Road Warrior Collaboration - Ed Taekema's Blog |
Best Replacement Shell for CMD on Windows XP?
I’m looking for a replacement shell, preferably free, for Windows XP’s cmd.exe. I have considered cygwin, but am really looking for something that is still windows-ish … Google turns up a few options that are for pay … Any recommendations out there? If it could be extended with Python, that would be perfect …
Launchy Available on Linux
Super charge your linux environment with Launchy the best program launcher for Windows .. now available for linux. If you are running Ubuntu-eee download and install the deb file. Works like a charm!
Turn your Asus eee into an XBMC Media Center
Since I am running Ubuntu-eee on my Asus eee 900, I figured I would try out media players. The eee works nicely as a video player for those long flights from the west coast. VLC works pretty well, but my personal favourite is the Xbox Media Center. It installs fine onto Ubuntu-eee and playback and sounds work great. Here is the link for the instructions I followed to get it working. You’ll need some space to install it (I think it was around 2 gig total …) but definitely worth it.
What Makes Managing Component Based Development Hard?
I’m looking for input on where the management problems are for building large scale applications with reusable components.
Reusable software components are a pretty established development pattern and are used across the software development language landscape. Lately, this area has experienced a boon of growth as component development became married with service oriented architecture and web services. At the same time, components seem to be getting larger and are used more widely … think Pinax as a great Python pattern. What I don’t think has grown at a sufficient pace is the management thinking and tools to control changes to components across a large scale of interdependent components, particularly from the point of view of the “component consumer“.
I`ve noticed a couple of related patterns.
- Its hard for an individual consumer developer to bring a new version of a component into their application stack, test it and make whatever changes are necessary to the consuming side, and then promote their changes along with the new version of the component to the rest of their consuming side team.
- Its hard for a technical lead or build engineer to manage the component revision level that a large consuming application team is going to use. Often different software engineers use different versions of components resulting in code integration problems. This gets especially tricky if the components have lots of dependencies between them, or if they are assembled in a layered architecture.
I`m looking for additional feedback. Please let me know what you think of these problem areas and point me at any difficulties I`ve missed.
What is software development? Lets be Poets!
I’ve been saying for a while now that software engineering is a social activity … and now Mark Ramm picks up a similar bone and points out that software development is really building a product to be understood by both a computer and other human participants. These days we are beginning to understand that the humans that need to understand our work are in some ways more important in the medium to long term than the computer targets that run our software.
Mark suggests that we abandon titles like software engineer or software architect (these terms focus on the machine that reads the code) and switch to something like software writer (emphasizes the human reader).
I think this is really a good point. In the comments to his post, someone suggests Software Poet. I think that is my favourite… after all code that is beautiful is easy to understand. Perhaps all the fights around coding standards, curly brace placements, whitespace in python, etc come from our sense of the beautiful and artistic we put into our software code.
Never Check Your Luggage … especially at large airports
Ok, this is likely advice that seasoned travellers don’t need to hear, but, in the past we didn’t check luggage so it wouldn’t get lost. It also made for a faster exit at the other end. Now, though, there is another reason. Thanks to all the TSA security for checked luggage, there are many more opportunities for thieves to find valuables in luggage (thanks Mr. XRay) and then quickly coordinate via cell phone / text message for their removal. Here is the story:
…there are organized rings of thieves, who identify valuables in your checked luggage by looking at the TSA x-ray screens, then communicate with baggage handlers by text or cell phone, telling them exactly what to look for.
Checked bags apparently are safer because of TSA security … and also lighter ….
Netbeans Python Edition
An early access edition of Netbeans with Python support is available here. Current features in Netbeans for Python include:
- Folding Code
- Semantic Code Highlighting
- Renaming / refactoring
- Code Completion
- Smart Indent /Outdent
- Debugger
- Includes Jython 2.5 Beta 3, but can use any Python on your system.
There is lots more to come, including support for DJango and Turbogears style projects.
Use Rsync to backup your Ubuntu Linux Asus eee
Here is a good rsync tutorial for all the new Asus ubuntu users that have taken my advice and switched to eee-ubuntu.
The End of Ignorance
While the title of this blog post is over-reaching, the book by the same name is likely not and a is certainly a very important read. I’m not sure if this is available outside of Canada, but The End of Ignorance is a not to be missed book for everyone interested in how we learn. Its focus is on mathematics as taught in late elementary school through to high school. The author, John Mighton, the founder of the very successful math program called Jump, a Mathematician and Playwright, has some pretty interesting things to say about how kids really learn and some stunning indictments of math programs in the US and Canada. Underlying the book, are the following premises:
- The brain, a complex system, is emergent … that is it is capable of remarkable insight and growth after a series of seemingly trivial and small learning exercises. The exercises come first but then new, often astonishing intellectual abilities emerge.
- The art of teaching is the careful and intentional guiding of a student from one success to another. In the end, a student’s interest in a subject is almost entirely driven by how successful they feel. And interest ultimately determines what a student learns.
Success drives interest and interest drives learning which leads to insight and intellectual growth. The book argues pretty convincingly that aptitudes in one subject or another are related to a student’s early experience of success which led to interest. If the author is right, it is likely the case that there aren’t students pre-disposed to success in math or art but rather that, given the remarkable plasticity of the human brain, students can be successful in both, provided they have good experiences as they are taught. The author is a good example of this, having become an award winning playwright and mathematician himself later in life.
This kind of thinking has enormous significance for how we learn even smaller domains like software, programming, management, etc. We need to be far more generous in assessing the ability our students have to learn new and complicated topics and far more ciritical of our own delivery, training materials and teaching. More on this anon.
Install Ubuntu 8.10 - Asus Edition
If you just can’t wait to upgrade to the latest ubuntu (8.10), here is a handy guide from tombuntu. If you can wait a bit, there should be a version of ubuntu-eee available based on 8.10 … that is my plan … patience patience …
Mondays are for Duarte
Well its cold and wintery this Monday. So what better way to warm up the brain than by reviewing some great Duarte content. Nancy recently appeared at the Apple Store in San Franscisco and let the word out of the apearance through twitter. Sounds like the event was a success. Here are some good Duarte Vids to get things moving on a Monday:
Dan Roam - BOTN Blog
Just found Dan Roam’s blog, Back of the Napkin. First post I find points out that The Back of the Napkin: Solving Problems and Selling Ideas with Pictures is in Amazon’s Top 5 business books of the year. Congratulations Dan … I guess I have to buy it now.
The 10 1/2 Commandments of Visual Thinking
Dan Roam day continues with a PDF summary of his approach to Visual Thinking. You can downloda the PDF from Change This. Here are the 10 and a half rules of Visual Thinking:
- Any problem can be solved with a picture.
- Everyone starts by saying “I can’t draw, but …”
- Avoid drawing on the linen (BYOP - Bring your own paper).
- To start, draw a circle and give it a name.
- Select the best picture type from the basic six (Who/What, How Much, Where, When, How, Why).
- Anthropomorphize everything.
- Take advantage of every mental trigger you can.
- Doodle aloud … and erase even louder.
- Don’t draw what’s out there … draw what’s in here.
- Draw a conclusion.
The last rule? Don’t lie … not to yourself, not to your audience, and most of all not to your picture.
Book Brief - Back of the Napkin Dan Roam
Dan Roam’s Back of the Napkin is the book that seems to be floating to the top of my to read list. Here is a You Tube Book Brief by the author to wet your appetite.
I haven’t read this yet, so if you have any feedback on this book or have tips on any other visual thinking books, please add to this post in the coments!
Flickr and the President Elect
How do you know things have changed? When the American president elect posts a series of candid election night photos to Flickr. Yes, things have changed indeed.
Time for a New Vehicle - Worried About Detroit
So our lease is ending and coincides with the Detroit automaker’s meltdown and Canadian currency woes. This is leaving us with a difficult decision. We’ve driven Dodge Grand Caravans for the last two vehicles, but their 2008/2009 quality woes have really scared us away. Further cost cutting would be a real problem and that seems likely for all the Detroit automotive manufacturers. So our eyes have shifted to Toyota and Mazda mini-vans (still need a kid hauler). In our research I ran across a report on what one of the Toyota plants was like that really impressed me. Only manufacturing steps that are dangerous like welding are automated. Everything else is done by human power … because people can notice and creatively come up with improvements to the process. As a vehicle purchaser, this kind of commitment to people centered quality feels good. I was also impressed with Toyota’s CEO and his philosophy of leadership:
lead as if you have no power.
Maybe this time we will by a vehicle that we can feel good about.
Python - Swiss Army Knife Web Server
I use the following instant python test webserver in so many places… its quick to setup and makes sharing files a snap. I first saw a mention of it by Gary Robbins. Here it is:
python -c "import SimpleHTTPServer;SimpleHTTPServer.test()"The Goal Is Not The Path - Software Training Thoughts
I’ve been reading an interesting book that I’ll post more details on later, but it has me rethinking how I teach adults. A big part of what pays my mortgage is teaching software engineers how to really use configuration management tools well. Along the way we have to cover some pretty abstract ideas, and some complicated tools.
Big Picture
I’ve always thought that I was a big picture person, who needed to see the larger scheme of things before going down to the details. This seemed pretty logical to me and as a consequence I often design training classes around a similar approach. We start with an overview of what we hope to accomplish with the software and then train on individual pieces of that view throughout the class and fill in the details.
What I am coming to appreciate though, is that this is not really how I learn, rather it reflects the level of understanding I have once I have learned. My approach has confused the goal (understanding) with the path of learning. I think a better approach is to slowly build up in small steps to the big picture that we then are able to finally understand once the class reaches the end. The danger of starting with the big picture is that students will tune out because they don’t have the necessary knowledge to fully comprehend what that big picture is really about.
How Kids Learn
What led me to think this way was some reading I’ve been doing about how kids learn. It turns out that their ability to repeat mundane tasks without falling into boredom, allows them to gain in small steps the necessary understanding that can lead to sudden large leaps in understanding. Essentially, growth in understanding in children is non-linear and emerges out of their small steps in learning. The brain is pretty amazing.
Standing back and looking at my experience teaching adults, I think I see this same pattern. When ever I have been forced by lack of materials, or insufficient time to prepare, to fall back on just teaching basic capabilities in a hands on way with a large about of repitition, I am constantly surprised by what the students are able to produce at the end.
Learning Python
I think this is also how I learn. Take python as an example. I didn’t learn python by looking at a grand overview of the language, appreciating its approach to object oriented programming or functional programming or whatever. But rather I had simple problem I needed to solve and I was able to be successful solving it with Python. That small success led to me to use python in a similar way to solve a bunch of similar problems and I gradually began to understand what I could do with it. Once I had done this for a while, I was then in a position to look at the some of bigger picture and appreciate python’s consistency and elegance. But I couldn’t have done that until I had first learned from the ground up.
Training and Music
So for now, I am working hard to not confuse the goal for learning (mastery of the big picture and the details) with the learning steps that students have to follow to get there. The steps are quite different from the final goal. I’ll close with a music anology because I think the pattern is really obvious there. In order for someone to master a piano concerto, they don’t start by studying the concerto and attempting to play it. Rather, they spend endless hours doing scales and exercises that will enable tthem one day to play the concerto with ease. If they attach the concerto first, they will only end up failing, and likely quiting. I think that this is a better metaphor for training.

Recent comments
1 week 1 day ago
1 week 4 days ago
1 week 4 days ago
1 week 4 days ago
3 weeks 6 days ago
4 weeks 2 days ago
4 weeks 2 days ago
6 weeks 1 day ago
7 weeks 1 day ago
7 weeks 1 day ago