Modern Device has a Arduino microcontroller kit originally designed by Paul Badger for his RISD students's art projects. It is very reasonably priced and easy to construct and program using Processing.
Picaxe is another microcontroller with lots of sensor accessories. Craig uses this in his instruments.
Squeak is a modern development of the SmallTalk (textual) programming language. The most significant development in this for kids is EToys. Squeak by Example is a good place to start learning Squeak.
EToys is a kid orientated (graphical) programming language. The One Laptop Per Child EToys site has a good collection of information about EToys beyond how to use it on the OLPC.
Logo was the first software language designed for children. I think this is still the language used in Lego Mindstorms. This is today overseen by the Logo Foundation.
NetLogo is a simulation orientated variation of Logo.
FIRST is an organization that promotes interest in the sciences. I know about them because at the last Providence Geeks gathering there was a presentation about RI's involvement with FIRST.
I have not yet experimented with Grails and so I do not know how much practice differs from preaching. I have a small project based on Galley that I would like to use to test out alternative frameworks. I had intended to build this first with Rails but I think I will use Grails instead.
"That covers at least part of the testing, other parts I cover with TestNG  for unit testing (have no idea how you can live with JUnit without the decent test classification TestNG provides) and with WebTst (still) for monitoring testing ...
"I also do continuous integration with cruise control , coverage reporting with Cobertura  (AgilePDF is up to 64% code coverage :-) ) ... all in all pretty cool (IMHO) ...
"I can no longer imagine development without all these tools/practices: system integration testing, UI testing, unit testing, monitoring testing, continuous integration and code coverage reporting.
"Hope this helps!"
Yes it does. And do I have a lot to learn!
The presentation also mentions the new Yahoo! Teachers "Gobbler." Gobbler is a tool panel that sits over web pages and allows you to clip content from the page for placing on a "project" page. Project are web pages that organizes web content for one or more lessons. I used it a little today and it does work. I need to use it more to see how it compares to the idea of "binders" that we tried to incorporate into AccessScience several years ago when it was built and hosted by Ingenta.
- Make fewer HTTP requests
- Use a CDN (Content Delivery Network)
- Add an Expires header
- Gzip components
- Put stylesheets at the top
- Move scripts to the bottom
- Avoid CSS expressions
- Make JHS and CSS external
- Reduce DNS lookups
- Minify JS
- Avoid redirects
- Remove duplicate scripts
- Configure ETags
- Make AJAX cacheable
One of the great advances of the desktop rich applications was the compound document. Mixing text, images, interactive charts, active diagrams, busy/free displays with a simple drag and drop. The machines of the time were a little underpowered for this task but that should not take away from the advance. The compound document frameworks were also very difficult to program to. Mostly the power software houses like IBM, Microsoft, Borland, Lotus, Claris, Taligent, etc did it. The underpowered houses could not and so created data and display islands.
Another of the great advances was the expandable shell. The first one was OS/2's Presentation Manager. Then came Windows 95's Explorer. Linux had Nautilus. It is a very compelling idea to have a single tool that integrates browsing and searching hierarchical collections of data. The shell frameworks were also very difficult to program to. Mostly the power software houses like IBM, Microsoft, Borland, Lotus, Claris, etc did it. The underpowered houses could not and instead presented other independent hierarchical displays.
We need to go back to these ideas and implement them now with the more powerful machines and high level languages and toolkits. I really don't want Thunderbird to be so deep so as to enclose these tools and data repositories. I want a lighter touch. I want Thunderbird to provide interactiveness that is not currently available via the browser. Thunderbird needs to be a super-browser. I want it to show the way to where browsers need to go.
A work needs to be reviewed. The customer needs to know that they are getting what they asked for. How do you review a working implementation -- a web site, a desktop application, or an infrastructure? How do you review a paper implementation? People have been developing the skills and using the tools necessary to review a linear presentation of a work since secondary school. A very rare few people have the skills or tools to review a working implementation. Not having the written specification is short changing both the customer and the supplier. The customer gets something they are not in the position to review and the supplier is in the position of not knowing if the implementation is what the customer wanted.
The weakness of the paper implementation is that it does not define the coded implementation. The construction industries have "as built" blueprints. These are the original blueprints with annotations detailing the differences from the design and the construction (i.e. implementation). Software needs these too. We just don't have them yet.
Unfortunately, I have supplied much software without initial or even afterward technical specifications. Hardly great moments in a software development career.
A really useful enhancement would be to be able to select one of the zone displays, enter a time, and have the other zone displays show me the time in each of their zones. For example, in this mockup I have ticked the "Peace Dale" time, entered "9 am", and FoxClocks would display the times for San Francisco and Oxford.
Perhaps this feature already exists in one of the many desktop widget sets available.
Update: The The World Clock Meeting Planner which allows you to display a timetable configured for serveral locations.
- Add person.
- Add company.
- People and companies have the attributes name, telephones, emails, addresses (time zone), and description.
- People and companies have tags (al del.icio.us)
- Associate person with company.
- Associate person with person.
- Associate company with company.
- Associations have tags.
- Associations have attributes (optional).
- People and companies have a chronological log of contacts (by phone, in person, by email, etc.).
- A summary view of activity over a period of time (people added, contacts made, association changes, etc.).
- Export data as XML.
My wife and I like Google Calendar a lot. That we use it everyday for every kind of event and planning tells me that it accommodates both the novice user and the experienced user. As you use GC more you will end up with lots of overlapping events. This is especially so if you use lots of calendars. (We have 6.) When this happens GC mostly only tells you that something is happening as most of the details are obscured. I would like GC to have three new features:
1. Use transparency when displaying events.
2. When displaying event to not be bound to the day's calendar column
3. Distinguish primary and secondary calendars. For example, the primary calendar's events always sit on top of the secondary calendar events. And I should also be able to quickly toggle on and off the visibility of the details of the secondary calendars.
Geoffrey Bilder asked what is the use of having the URLs listed as footnotes when you are online?
This is a good question. In (plain text) email having the URLs visible is the only means of "linking." Placing URLs in footnotes improves the readability of the email message -- no odd word-wrapping in the message and URLs are less likely to be wrapped. These features, linking and readability, however, are directly supported on web pages. So why bother?
One fact given by seeing the URL is you can see if the link takes you off the page and/or off the site. This orientation feature is useful to me. Using the URL itself for this is indirect: I have to know the URL of the page I am on and then make the mental comparison between the two URLs. A better approach would be to use a marker that directly indicates the kind of link it is. This would be more useful on the web page. (And add the table of links on the printed page.)
It was a little slow at "Andrew Gilmartin & Associates" yesterday morning and so I used the opportunity to learn a little more about Prototype. It is a very powerful tool. It makes manipulating a DOM almost intuitive. When I next have some free time I will work on the orientation markers.
I am turning off the table of links feature. It was an interesting idea but in the end I agree with Geoffrey.
Update: I have this working in this blog now.
Update Again: If you use an RSS reader to read this blog you will not see the table of links at the end of the posting.
Update Again & Again: I have discontinued the use of the table of links script on this blog. See next post.
A few weeks ago I discovered JADE and have since read the book Developing Multi-Agent Systems with JADE. I highly recommend the book [*]. It really looks like JADE is a good agent framework and implementation. I know, for example, that Raytheon is using it for at least one non-defense project and Raytheon has a very conservative software selection process. Now, I need to find a client that wants to use it too. Know anyone?
[*] I also highly recommend using your local library's inter-library loan service to read the book before buying it. Jessica Wilson, a librarian in the South Kingstown library system, seems to be able to get anything.
Update: I was at Border's yesterday (2 Dec 2007) and saw the new Sony book reader. While I am generally attracted to bright and shinny objects the reader and it's display looked scuffed and forlorn in the long shallow of the Kindle.
Update: I have now read and recommend Rails for Java Developers. The authors take you through the Rails stack and at each step compare Rails's tools with best-of-breed Java tools. For example, when the authors talk about ActiveRecord they compare it to Hibernate. Fortunately, you only need to have a reading understanding of Hibernate, Structs, and Spring for the book to be valuable.
The only thing you need to get started is a domain name and, ideally, the ability to create sub-domain names. If you are local and need help doing the same call me.
I just don't expect anything like this to come from Dirk Kempthorne, Secretary of the Interior or Samuel W. Bodman, Secretary of Energy. I can't even remember a time when I have heard either of their names in the news. Given the turmoil in US politics right now, perhaps this is good news.
The Summagraphics SummaSketch II Graphic tablet came today. I have a vague idea for a board game augmented by software with the only interaction being through detailed printed pages. Since I know next to nothing about board game design I am starting with the software and hardware. Hopefully, I will soon learn more about broad game design and embedded systems.
Update: I have no idea where the tablet has disappeared too. Sigh.
Henry & Owen have been helping me look for work. Their suggestions are sincerely given and show how equivalent all work is for children. The two suggestions I like most are waiter at Blue Bird (a local not-so-greasy greasy-spoon) and cashier at Belmont (our favorite local market).
I was a teenager in England during the 1970s and so saw the tail-end of Britain's efforts at socialism. The Labour government and the unions were at war with each other and the people of Britain suffered. The government held firm on wages (sometimes threatening de-nationalization) and the unions hit back with strikes and the hated "sympathy" strikes. So, while my experiences of socialism were not positive, I never blamed the movement but instead the poor execution of it by the new powerful elite, former blue collar works, occupying both government and unions. So, Henry's & Owen's suggestions reminded me of Marx's words "From each, according to his ability; to each, according to his need." Too bad it didn't work out.
MAPA is a system for mapping web sites. The mapped pages are hierarchically displayed using orthographic projection and presented using progressive disclosure. That is, MAPA does not try to show everything but instead shows mapped pages around a focal mapped page and you refocus the map by selecting any other focal mapped page. The orthographic projection's two and half dimensions reduce obscuring the map when further annotating or adorning the presentation of the map and mapped pages. This is the visual side of MAPA.
What was equally important to MAPA's success as a map was that it discovered the content's natural hierarchy using David Durand's "organizer". Where the discovery was not quite right, hints could be given to the organizer to re-arrange the hierarchy. What was truly magical was that often only a handful of hints were necessary to map sites as big as ibm.com and javasoft.com (aka java.sun.com). And this is where I think MAPA could really help the Wikipedia. Even if you don't believe knowledge can be strictly organized hierarchically, having some hierarchy would greatly aid anyone orienting themselves within the Wikipedia content after having just jumped there from a Google search result.
[*1] "MAPA: a system for inducing and visualizing hierarchy in websites" http://www.kahnplus.com/download/pdf/mapaht98.pdf
[*2] "Applications of Isometric Projection for Visualizing Web Sites" http://www.dynamicdiagrams.com/all_pdfs/idj_10_3.pdf
The reason I was drawn to it was that the bird's cycles are continuous and so the circle expresses this better than a time-line. It is also hemispheric neutral in that time-lines start in January and finish in December and so for Southern birds their breeding season, for example, might cross the December and January year boundary and so, for those birds you would not see a continuous line but a line in two segments
Jan Feb Mar Apr ... Oct Nov Dec
nesting ------- -------
It is also similar to the situation awareness visuals I have seen  and very much like.
Learning how to read this visual is not difficult and so a short audio training might be used. For example, this NPR story  is about the movie High Noon's title song and how its elements were repeated in the movie's score. Towards the end of the story there is a short segment of the score featured with overlaid commentary. It is a stunningly informative information presentation. At least to this musical klutz.
 "Visual Correlation for Situational Awareness" http://www.sci.utah.edu/publications/yarden05/VisAware.pdf
 "High Noon"
- Principle Engineer, Engineering Team, Providence, RI, USA, Narragansett Project, AlphaDog Project, BetaBand Project, Stewie Project, Java Specialty, Concurrency Specialty, User Interface Specialty, Data Model Specialty, Interface Specialty, Gardening Interest, Cooking Interest, Parenting Interest, Board Game Interest, Automata Interest, etc...
My instant message client user interface would then allow me to view staff by any set of tags. Either a small faceted search or a two-level hierarchy. Selecting an account name would start or join a conversation. Selecting a tag would start or join a conference.
When I worked at Ingenta I installed an instant message server and gave everyone in the company an account. I also automatically created everyone's "buddy lists". The buddy list contained everyone's account (in one list ordered by first name), it was fixed (no adding or removing accounts), and was updated with every staffing change.
The server was a great success -- over time. Even the COO logged in each day. Over the course of my work day in Providence, RI (US) I would see the Providence staff's full work cycle of starting their day, going to lunch and coming back, and ending their day. For the Oxford and Bath (UK) staff their day had already begun and so I would mostly see them return from lunch and end their day. For the lone California developer I saw him start his work day just before I headed out for lunch.
And it wasn't just me that saw this but everyone because everyone had the same buddy list.
Read Geoffrey Bilder's posting, "Backchannel" , about his experience at Ingenta.
Now replace location with team member names and you have a much better presence indicator.
While buying my morning Cafe Tobe from Coffee Exchange I picked up a post card for a new exhibit of Thomas Sgouros's paintings. His work is atmospheric and stunningly large. If you every get to see his work do so. The Gallery Agniel has some images of this work.
Looking for an interesting image to use here I discovered this information visual  about the molting, breeding, and migration periods of the Calliope Hummingbird. I have heard about the Cornell bird encyclopedia  but this is the first time I have seen content from it. I would like to see more; perhaps my library has access to it.
I wonder, do they let you overlay several birds year so you can compare the comings and goings of the population?
 http://content.ornith.cornell.edu/ UEWebApp/images/ calliope-hummer-fig-4_6.gif
Even if you are not looking for such a portal it is worth reading about Launchpad's features. I especially like the Blueprints and their rough dependency tracking.