Apple’s PowerBook and MacBook Pro keyboards

Posted by steve | Apple Software and Hardware | Friday 31 October 2008 12:15 pm

One of the features I’ve always admired in Apple’s Pro notebook line is the lighted keyboard.  Actually, the 12″ model has never had this feature, but here’s how it looks and works.

There’s a fiber optic lighting system built-in to the keyboard and there’s an ambient light sensor hidden behind one of the speaker grills.  When the light sensor detects that there’s not much light in the room it does two things automatically.  It dims the display brightness to make it less overpowering and it ramps up the backlighting behind each key so you can see them even in a dark room.  And it’s constantly monitored by the system as lighting conditions change.  For example, as the room brightness increases the display brightness increases and the keys brightness decreases.

So if you wake up early in the morning and think of something you need to type on your computer, you just wake it up and begin working without having to turn on any lights in the room.  Very handy if you’re inclined to not wake anyone else.

Here’s a tip I learned by accident.  I keep my Mac OS X system secure by having it configured to require a password whenever it awakes from sleep.  So for example, when I awoke this morning and wanted to use my Mac, it required me to enter in the correct password to access the system.  Something I’ve been annoyed about is that when the password dialog window pops up on the display when you first awaken the computer, if the room is dark, the keyboard lighting system does not kick-in.  So I usually tip the display inwards a bit so that I can see the keys until I get the password typed.  Then the system properly activates the keyboard.  Well what I learned is that if you wait and let the security password dialog time-out it closes and the screen goes dark.  And if you then type any key it wakes back up.  However this time it turns on the keyboard backlighting.  Very cool.


New blog software

Posted by steve | Blogging | Friday 31 October 2008 1:28 am

Well, I’ve thinking about it for a while now and here it is. I’ve replaced iBlog software for writing and started using Word Press, hosted from Lunar Pages (my web host), and I can now post text and pictures directly from my iPhone.


I also customized the theme I’m using by changing the graphic on the main page. I used Gimp and added in an image of the Smallktalk balloon on the TV screen. That was fun and it adds a little personal touch.


Our cat Moses

Posted by steve | General Commentary | Wednesday 29 October 2008 2:48 am

We have cat named Moses. He has lived with us for more than 10 years. He is by far the best cat I have ever known and is loved by our family.

There are some odd behaviors for this cat.  He does what my wife calls “silent meows”. Oh he can talk, meow. But sometimes when you look at him he will open his mouth slightly, not a yawn, and mimic a meow. No sound. It’s cute to see.

Or have you ever heard of a cat that likes a shower? Seriously. Our shower has a sliding glass door. When you are in the shower in the morning he likes to come “visit”. He’ll take a paw and work the sliding door ajar and then slide it open. Then he sticks his face inside and tries to get the spray from the shower onto his head. It’s the darndest thing. His fur has that protective pelt so the water dropplets kind of lay about his fur.

He also sleeps under the bed covers. And likes to lay his head on the pillow right next to my wife.

I think he thinks he is human.


Repeat Post: Smalltalk Jobs

Posted by steve | Smalltalk | Wednesday 29 October 2008 2:41 am

There are choices when it comes to finding Smalltalk development work in today’s world.  What is an appropriate choice for a grey-bearded seasoned Smalltalk professional?

I was thinking about the Smalltalk jobs market again recently.  And it occurred to me that I may have the wrong perspective.  Consider that there are only a few real options.

The first option that comes to mind is to find a team that is already developing or has developed a Smalltalk application.  Another option is to join a development team at one of the Smalltalk vendors — improving the product for everyone else to use.  You could also do this by contributing to open source efforts such as Squeak, but I did say this was about work that pays bills.

The trade offs are stark.  In many cases the existing Smalltalk teams are merely “treading water”.  They develop valuable software for their employers, but are often faced with the constant pressure to move to something “more modern”.  Remember when everyone was moving to Java?  Still goes on in some places. Maybe it’s now .Net and C#, or Ruby or something else that’s “this decade’s Hoola-Hoop.”  If you choose this path you have found useful work applying your skills.  But is it the best choice?

If you join one of the Smalltalk development teams, a rare opportunity when it happens, you rub shoulders with other accomplished Smalltalk leaders and make the products better for all of us.  However, they have their own unique pressures and conflicts.  And in a way, that’s reducing the number of Smalltalk developers out there in the real world.  Kind of the opposite of what a Smalltalk Evangelist should be doing.  (Although one of the best jobs I ever had was when I was developing Internet Banking Frameworks with Rebecca, Alan, Dilip and Chris at Digitalk).

But here’s the thing.  These options don’t grow the market.  If you’re a long time software evangelist seeking to increase the market visibility for Smalltalk everywhere, there’s another much more difficult option.  Create something new using Smalltalk, and do it where it’s never been done.

It’s a lot like “inventing the future”.

So I’ve been wondering how to accomplish this.  And the truth is I’ve done that before and it was remarkably successful.  Maybe a little revisit to how that happened will help chart out a path for an equally successful future.  I don’t have an answer other than to say out loud, “The right thing to do is create the jobs.”  At least right this moment.

I’ve been writing Smalltalk for 20 years now, in lots of interesting situations.  Here’s the story as best I remember it for one of those cases where Smalltalk was applied for the first time and led to a big success.  Forgive my little journey into the past here.  I’m hoping something comes out of writing this and sharing it.  Maybe something all of us can use.

It was in 1990.  At that time I was employed in the Engineering Department of a small manufacturing company in Ohio.  We were developing software for embedded process control systems.  It was all assembler and some PL/M stuff and a development product from DEC called MicroPower Pascal which could be ROM’d.  A since it was PROM-based, it wasn’t easy to change the software.  

I’d already been with the company 10 years and was writing software and managing a small team of 5 other developers.  In those days The Wall Street Journal was occasionally publishing articles about the next perceived wave of software development using Object Oriented Programming and something relatively new called C++.  The President of our company and my boss, the Vice President of Engineering, were reading these articles (and probably some others).  At that time we were all feeling the pain of high software maintenance costs and long development cycles, with the often missed project deadlines.  So I was asked to look into the new C++.

After playing around with it some and reading what other development teams had tried, I discovered that the biggest “trick” was to get the developers to “think” OO.  Not just use C++ to write C code.  This issue may sound familiar for companies that foolishly thought they could adopt Java and get OO development, since Java was a lot like C and easy to learn.  Little rant there.

I concluded that we should prototype our next product using Smalltalk.  We’d end up with better models and we could then rewrite in C++ when we needed the speed and professional quality that this “C-like” language was supposed to have.  And at that time I really believed that we would “port” to C++ when we needed the speed.  What made the choice of Smalltalk work was a number of factors.

First, we were already expected to be using some kind of OO tools.  And Smalltalk was at least heard of.  Second, I’d already been using Smalltalk/V Mac on my desktop computer at work for odds-n-end tasks and was quite familiar with how productive the environment was.  And third, the VP trusted me.  So we embarked on a project to create something totally new, in the process control industry too, using inexpensive 386 Intel machines running OS/2 and Smalltalk.  We had a mechanical engineering team work on enclosures to make this hardware feasible and my little software team embarked on a totally new idea.  To be fair about it, it helped that I already had Smalltalk exposure and I was able to develop some core frameworks the new application would be structured around, as well as the fundamental designs for user interface and communications.  So when the team got ramped up on Smalltalk, enough pieces were in place that made it easier for everyone to see where they could help.

The remarkable thing we did was develop a totally new product for the market in record time.  We went from concept to working demo, which was unveiled at a trade show, in 4 months.  We had software delivered and running on factory-floor systems 3 to 4 months later.  And the really awesome feat was that the development team started to roll out unheard of powerful new features for our product very quickly.  We took the market by surprise.  And the interesting thing was that we never had to “port” to C++.  Smalltalk was fast enough and very stable.  We did get one lucky break.  Intel had made the 486 processors available just a few months before we went to production and any lagging performance issues we were seeing were improved.  I remember the President coming to see me one afternoon to share how he could see everything had changed.  We used to take weeks to respond to problems, and he was amazed by how the folks on the assembly like were telling him how we made updates sometimes daily.

From a product success point-of-view, the previous product we had developed using Pascal and PROM based deployment, sold and shipped maybe 2 or 3 systems per month.  It was enough business for our small company.  The new product, with lower cost and real high-end displays and capability (all developed using Smalltalk) sold like crazy.  They started producing 2 or 3 systems per week.  When I left the company, a few years later, they were producing 2 or more systems per day and the product was the most successful in it’s market.

That’s the trick that needs repeating.  It needs to be done in several places.  And, as tough as this seems to do, I think the experienced Smalltalk developers out there need to promote and initiate this sort of activity whenever we can.  I’m not sure how to do that right now.  Truth is I’ve had my head down coding a lot of interesting projects for my existing employer, and so my tendency to see marketing is not what it used to be.

It’s just speculation.  But I still have a lot of optimism about ways we can leverage the excellent Smalltalk development world to make new and exciting products.  We can create Smalltalk jobs both for ourselves and others.  Maybe that’s our best purpose.



Posted by steve | Politics | Wednesday 29 October 2008 2:33 am

 This doesn’t tell the whole story but does provide a wonderful example.  Kevin Nguyen, an economist you may have heard of, explains the country’s economic woes to his younger sister using Pokeman.  It works.  Read it.


I have an opinion to share about all this as well but this isn’t the time.  I’ve too tired to type straight, let alone think, so I’ll save my opinions for later.



Posted by steve | Blogging | Wednesday 29 October 2008 1:59 am

First test post from iPhone.