9/26/2007

Note Studio Ceased

I was catching up on some blog reading today and came across the announcement that Dogmelon will no longer produce Note Studio. This really bums me out. Note Studio has been my tool of choice for GtD kung fu for the last few years. I try others, but the personal wiki draws me back. I've loved that I can sync it with my Palm and have everything with me. I've even done my weekly review on an airplane before.

I understand their reasons. I'm sure it's tough balancing products, financial considerations, and personal interests as a small (micro?) ISV. I don't fault them for their decision at all. I think they handled the announcement reasonably well too.

So, as a final send off I have to say thanks to the Dogmelon team. Their tool along with Volker Kurz's GtD templates helped me find my personal GtD style. Thanks a million, guys!

8/05/2007

Squeak

My latest programming fetish is turning out to be Squeak. Squeak is a Smalltalk environment that provides a unique UI interface called Morphic. Although there are many educational uses for Squeak, it's a full-fledged, grown-up Smalltalk environment.

What drew me to Squeak? I had been hearing about Squeak for years. Occasionally I'd download it, click around, and say things like, "Wow, this is weird." or "This looks like a cartoon." or "This must be for kids." Every time I looked at it, my curiosity would grow. Finally, the last time I downloaded it, I felt like I was being led to learn why everyone thought it was so great.

One of the first things that slaps you in the face is how different it is to interact with Morphic. It is an interface that is immediately usable, but it takes a bit to get used to it. Everything that is visual in Morphic is a Morph, which means you can interact with it, inspect it, embed it in other Morphs, etc. Although this gives the entire system a very layered and consistent feeling, it was something that I didn't know if I really liked. I mean, I'm the kind of programmer that prefers Emacs!

I decided I needed to dedicate some time to it and not blow it off as I had so many times before. Boy, am I glad I did. It's been 3 weeks or so now, and I'm growing extremely fond of Squeak. I have worked through some of the tutorials on Morphic programming. I've also played around with some of the Morphic direct programming using Viewers and scripts. I've been studying code and extended FileList2 to allow tagging files and storing the results with SPrevayler. I've been having lots of fun.

That brings me to what is continuing to pull me into Squeakland. I'm having fun. Squeak is just fun to use and hack around in. It makes me feel creative because not only can I code up things easily, but, thanks to Morphic, I can decorate my projects and workspaces with pictures, text, drawings, etc. In fact, I could use those same elements in my Morphic applications. It just makes me feel like anything is possible and that I'm some mad, creative inventor in my little virtual lab.

Thank you Squeak team.

7/22/2007

Vacation!

I'm on a much needed vacation this week. It should be fun. We're going
to Tennessee for a family reunion. My wife's family is getting together
in Gatlinburg next weekend. Leading up to that, we'll be in Cleveland,
TN staying with my in-laws.

I'm anxious to leave the flat urban area of Dallas and see some hills
and trees again. It's fun going back to TN and seeing everything we
used to take for granted. It's like we're looking at it with a fresh
set of eyes.

We're all getting excited. My daughter is anxious to see Nana and
Gran. So are my wife and I.

7/11/2007

20/20: Top 20 Programming Lessons

I just came across "20/20: Top 20 Programming Lessons I've Learned in 20 Years" by Jonathan Danylko. This is a great list and very timely as I've been having the DesignPatternsConsideredHarmful discussion with my friend Jon. Also, as a reminder:


Updated 07/16/2007: Had the wrong link for the article. Thanks for the update Jonathan!

12/12/2006

A letter to a friend

Dear Internet,

I hope you've been well. It's been 5 months since my last correspondence. Wow. I guess I'm now officially in the super-infrequent blogging category. It's not as unpleasant nor as lonely as I imagined. Hmmm...

There's been alot that has happened. The absolutely biggest and best thing has been the birth of my son. He's now 4 months old and an absolute joy - like his older sister. We're trying to spend plenty of time together. In fact, he's proofreading this post right now.

I hope everyone on the Internet is doing well. It seems like yesterday that we were all talking and laughing about who knows what. Maybe we'll be back there someday soon. Until then, I remain...

Respectfully yours,
Tom

7/13/2006

Intranet Trends to Watch for in 2006 - Part I


Intranet Trends to Watch for in 2006 - Part I



Over at Patrick Dodd's weblog, Shadowbox Studios, he has just shared an interesting weblog post taken from the recent CIO article by Shiv Singh on Intranet Trends to Watch for in 2006



Things that really caught my eye in this article:



  • User Experience is starting to matter


  • AJAX is coming to an Intranet near you

How to Manage a Supersized Architecture


How to Manage a Supersized Architecture


I don't know whether it has surfaced during any of my previous posts, but I don't really like "Architects" who speak about Enterprise Architecture in theory. There are many reasons for this fact, but today I'll focus on one that is burning me at the moment: Scalability.



This is an interesting article about Enterprise Architecture tools and what happens when the repositories get really large.  I'm a consultant, and I haven't had any experience with maintaining these systems.  However, I can easily see this scenario playing out in large organizations.  In fact, I suspect that at some organizations the repository stops being used because it becomes cumbersome to architects.

6/02/2006

Identity 2.0 Presentation

A friend of mine told me a few weeks ago to check out the recording of the Identity 2.0 keynote given by Dick Hardt at OSCON. If you haven't seen this presentation, it's well worth a look even if you aren't interested at all in digital identity. Dick's presentation style is very engaging and makes the information very consumable to techies and non-techies alike.

Mark recently turned me on to Beyond Bullet Points by Cliff Atkinson. I really liked Cliff's ideas. Dick Hardt's technique seems very similar to BBP.

I have long hated presentation software, but given this methodology, I'm slowly changing my mind. Both of these things prove that it's not the tool, it's how you use it.

5/30/2006

Conkeror: They're only encouraging me

As many people close to me know, I'm an Emacs freak. I try to use Emacs for all of my editing needs even when I have to jump through hoops to do so. I've only recently caved in to Eclipse for my Java work because my edit-compile-test cycle seems shorter in Eclipse.

This weekend, I read Bill Clementson's post titled "Firefox for Emacs users". Bill talks about a new Firefox extension called Conkeror. Conkeror's stated mission is:
Conkeror is a mozilla based web browser designed to be completely keyboard driven, no compromises. It also strives to behave as much like Emacs as possible. This means all the key bindings and to-die-for features of Emacs that can be imitated by a javascript/XUL web browser Just Work.

Of course, I about jammed a finger trying to get to the Conkeror install site at warp speed. The install was typical - just an XPI file that installs itself like any other extension. However, it doesn't just show up like any other extension. You have to type a special command line to get Conkeror to fire up the first time (this is on the Conkeror "install" page):
firefox -chrome chrome://conkeror/content

Once you start it up, you see the Conkeror help page. You can't resize the window - pretty annoying. However, if you go down the page and hit the button that says "Set Chrome", restart Firefox normally, then you'll be in full time Conkeror mode and you can resize the window any way you wish.

Aside from the bizarre start-up, Conkeror rocks! It's sure to tickle your Emacs fancy because it binds many of the common Emacs keys to browser functions. They've also made it easy to "click" links on a page by numbering each link; you simply type the number of the link and BLAMO - you're navigating.

The only drawback I've seen on Windows is that Conkeror interferes with some AJAX/DHTML sites like... Blogger! But, as little as I interact with some of those hardcore sites, I can fire up IE as a work-around.

Give Conkeror a try and experience the beauty of mouse-less browsing. It really is quite cool.

Update 05-30-2006 10:38:26 CST:
It seems that Gmail attachments are causing problems for me in Conkeror. Yikes! This draw back may really cramp my style.

5/26/2006

Courage

I've recently fallen in love with this quote:
Courage is not the absence of fear, but rather the judgment that something else is more important than fear.
-- Ambrose Redmoon


5/17/2006

Google Notebook - More proof of attempted world dominance

Lifehacker on Google Notebook - Further proof that Google is going for world dominance through rendering the desktop irrelevant.

5/16/2006

Cygwin Ruby on Rails MySQL problem

I've started playing around with Ruby on Rails on one of my Windows machines. I was trying to connect to my local MySQL installation and I kept getting the error:

No such file or directory - /tmp/mysql.sock

It turns out it's an issue with the Cygwin environment trying to use Unix sockets when you use "localhost". I read the excellent notes posted at
Labnotes » Blog Archive » Setting up Ruby + Gems on CygWin
. It turns out the fix is very simple. Just change localhost to its IP address, 127.0.0.1, and you're in business!

4/12/2006

GrayBit: Accessibility is a Gray Area

I found GrayBit from a blog post on unCLog by Gary King. GrayBit is an accessibility tool that will convert a web page into gray scale. This allows you to make sure your site has contrast in the absense of color. Nifty idea!

4/04/2006

Color Schemes

I'm terrible at picking out color schemes (just ask my wife!). But fortunately for me there's lots of help on the web. Things like Color Schemer - Online Color Scheme Generator are a boon to me. These guys make it easy to pick out a color scheme based on a starting color. Also, they have a full blown app that looks really cool. Finally, they have an online scheme gallery that allows you to see schemes other people have picked out. NIFTY!

3/31/2006

Reveal: The Best Firefox Extension Ever

If you're like me, you're not a real Firefox extension hound. I have about 15 or so, but I don't go out hunting them down. I usually just wait for word of mouth to point out the ones that are really neato.

Well, today I came across Reveal. I think it's the best Firefox extension I've ever seen. It's not just its function. The extension works extremely well and the fit and finish are superb. There's even a tour that allows you to quickly learn how to use the extension once you install it. Brilliant!

So, what does Reveal do? It shows you thumbnails of your sessions (and session history) and allows you to quickly navigate and manage them. You can use the mouse, keyboard, or even search! The thumbnails are also added to the tooltips for your forward and back buttons as well as the drop down menus. Finally, there is a magnifying glass that you can use to get a close up view of stuff on a web page.

This extension sets the bar for all other Firefox extensions in my humble opinion.

3/30/2006

Software Architecture Blues

I've been feeling down on Software Architecture lately. I just get so bummed out that:
  1. You still have to focus on low-level components after decades of Computer Science.
  2. I feel like I create the same software constructs over and over again with no leverage. No higher-level abstractions.
  3. Producing up front architectural models and documentation is tedious and hard to get right.
I was lamenting to my friend Glenn about this today. He pointed me toward an excellent Fowler article called "Who Needs An Architect?". Fowler describes two types of architects. The first type of architect sits on top of the development team making all the important decisions. The second type of architect is more collaborative and acts as a guide to the development team by working with them, mentoring them, and helping them through tough spots.

After reading the article, it dawned on me that it would be nice if the industry placed more emphasis and value on software architecture practiced in the "guide" style. The guide style of architecture is good for the development team because if they are less skilled, the architect can help them improve their skills, understand the system, and make better decisions. It's good for the architect because if he/she helps the other members of the development team make better decisions, the architect will be able to make a big impact through leverage.

I like that. I've always valued leverage. When folks used to ask me about why I liked to manage people, I would say something like "Because I like to facilitate a group of people coming together to solve a problem." To me, that's one of the best things about being a part of or leading a team. Working together and solving the problem.

But, the industry doesn't seem to value the guide style of architecture. Clients want up-front technical documentation and the comfort that someone "in the know" is leading the software development effort and making good decisions. You certainly can't blame them for that. If I were a client, I'd sure as heck want it.

It leaves me feeling like I need to be both. I want to be the guide style architect, but I need to be the up-front, decision making architect too. It seems to me if you are around for the entire project, you can start off the up-front guy and transition yourself into the guide guy. So, you suck it up and take on the tedium up-front so you can have the fun on the other side. Maybe that's the outlook that will save my sanity.

3/13/2006

Canvarticles Library

Canvarticles Library is one of the coolest JavaScript libraries I've ever seen. It's a particle effects library that allows you to create particle effects on your web pages. Simply awesome.

2/27/2006

The Latest Van Morrison Fan

For years I've resisted becoming a Van Morrison fan. Even I have no idea why I've been so resistant. I suppose it's because in college I got to hear "Brown Eyed Girl" so much I got sick of it. Further, I started to think "Brown Eyed Girl" was indicative of every Van Morrison song. I suppose it just came down to lack of exposure to the breadth of Van Morrison.

I'm happy to report that I've finally come to my senses. I've been hearing a variety of Van Morrison songs on various XM stations and I really liked them. So, I decided to take the plunge and purchase a Morrison album.

I actually just picked one at random that was relatively recent, seemed to get decent reviews, and had the right "feeling" based on samples. I purchased Magic Time and I love it. It's got some real groovy tunes like "They Sold Me Out" and "Celtic New Year".

In summary, I think I'm well on my way to becoming a genuine Van Morrison fan. I'm going to grab some of the essential Morrison albums and dive in. I'm glad that I'm finally able to recognize the genius.

2/18/2006

Lisp in 10 Bullets?!?!

Many people claim that Lisp is one of the simplest languages you can learn. I think that's true as well once you shift your paradigm. Vishnu Vyas created a post called Tiny Lisp course - Lisp in 10 bullets. that shows how simple the Lisp languages are (his post is meant to cover both Scheme and Common Lisp). The point that I disagree with is 10 because of he associates eval and macros.

2/13/2006

AutoHotkey Remaps Keys Too

The love just keeps on coming with AutoHotkey - it remaps keys, too! I was using a tool called KeyTweak that actually made registry entries and required a reboot. That's fine at work because I'm the only one using my computer. However, on our Windows machine at home I don't want to make my wife struggle to remember I've remapped the Control key.



This weekend I installed AutoHotkey at home and it dawned on me that I might be able to remap keys with it. I looked in the Help, and sure enough - there's a section on key remapping. (In fact, you can map mouse buttons to keys with AutoHotkey!) I edited my main script and added the following:



; Remap keys
CapsLock::Ctrl
RCtrl::CapsLock


This remaps the Caps Lock key to be the Control key. Then it remaps the right Control key to be Caps Lock. This works well for me because I rarely use the right control key. I'm considering making it the right Alt key because that is even more infrequently used.



The beauty of this set up is that it is per user and doesn't require any registry changes. So when my wife logs in to her profile, her keys have the default mapping. Love it.



Updated 2006-02-13: Someone tipped me off that the link to AutoHotkey was wrong. Thanks!