Nick Mudge Ignition Software Consulting & Development

I started a new job as a junior programmer at Minnick Web Services.

Interviewed top officials on camera.

Steve Towns, editor of Government Technology magazine, reports.

Betsy Kimak recently pointed me to the Greenprint Denver Blog, being authored by the Mayor's office staff. She also pointed me to the Library of Congress' blog, which looks like a great blog. These are in the Government Blogs Directory now.

Here's from Betsy's most recent blog entry:

Blogging at the municipal level is still mostly uncharted territory: there are a couple dozen elected officials across the nation who maintain blogs, but those are mostly geared toward their own political endeavors. To date, only a few cities have experimented with public blogs, which I think can be a very effective citizen engagement tool when deployed under the right circumstances.

I see a few more blogs from Betsy's post that I need to add.

I bought a new computer yesterday. Dell just started selling computers with Ubuntu pre-installed. It's really awesome. Check out http://dell.com/open.

Incidental to Dell's new release I wanted a new computer. I did some shopping and the ones Dell is shipping with Ubuntu look like good computers at a good price. I'm upgrading from a Compaq Presario with a 2.4 GHZ Intel CPU, 512 MB DDR SDRAM, to a Dell with an Intel Core 2 Duo Processor (2.13GHZ,1066FSB) with 4MB cache, 2GB DDR2 SDRAM at 667MHz for a little under $700 not including tax. I know I am going overboard, but hopefully I won't have to upgrade for a long time (I'm hoping 5 years.) The CPU runs at a slower speed than my current computer (2.4GHZ) but handles more instructions at once, so actually programs run faster. It has two processors on one chip; a Dell sales person described it to me as "Having one car with two engines." Here are some details about the efficiency of the CPU. Here's news and reviews about Intel's new Core 2 CPU.

Anyway, compared to what I have I feel like I'm getting a super computer.

Recently I was talking to Aaron Parecki about buying the new Dell computer with Ubuntu and I realized that I'm almost no longer dependent upon Windows.

I've been using Ubuntu for awhile now and the only things I find missing are support for online computer games, video capabilities, and Internet Explorer. Besides video capabilities and IE, I find Linux has all the software and applications that I need at no cost.

The technologies for some video/sound formats such as MPEG, MP3, DVD, WMV, Quicktime are proprietary, so don't come with Ubuntu. Can't watch DVDs. Per this blog post Dell is considering adding support for these.

I think I'll write my client-side javascript to work in Internet Explorer and from time to time use someone else's computer to check that it works in IE. Or find a better solution. IE is probably my biggest problem of not having Windows. I know there are ways to get IE running on Linux but I don't like it, and I know it is not the same thing as IE on Windows. As for online gaming, I don't play online games.

Another consideration is programming for Flash. I recently did a little research and I found that Adobe provides Flex (which has the components needed to build Flash applications — compiler and class library) for free and it runs on Linux, and I can use the editor of my own choice to program. Here's how to get Flex running on Ubuntu. Also, according to this webpage from Adobe Labs, Adobe plans to release Flex as open source software this summer.

You are COBOL. You are very business-oriented.  You make conversations longer than they should be, and people easily grow bored by you.
Which Programming Language are You?

Oh gosh, of all programming languages. I took a programming language test and it says I'm COBOL. (I think it is because I said I liked the GOTO command.) Well COBOL does sound kind of interesting.... But I really don't know anything about it except that white space matters like Python and it's used on old mainframe systems, and it is an old language, and I've heard about migrating away from it, and COBOL programmers can make some good money. I don't know, I think this whole test was randomly generated with a Perl script.

There's an interesting survey for programmers on programming.reddit.com.

Programmers are writing how much money they make per year, main technologies they use, where they live, and how old they are.

I don't even know Lisp, and I like Lisp. One day I wanted to learn Perl. I think it was when I came across these three definitions that are in the book Programming Perl, by Larry Wall, Tom Christiansen and Randal Schwartz. I don't think I want to learn Pearl so much as I want to read a book written by Larry Wall. But I do want to learn Pearl.

One day I wanted to learn Python. I really remember that, it was when I read Why Python, by Eric Raymond. And I did learn Python.

I remember when I decided that I wanted to learn Ruby. I was at Barnes and Nobles and I looked through the book Programming Ruby. It looked really well written, and I liked the forward/preface written by Yukihiro Matsumoto.

You get the point.

I was just reading the preface and the first few pages of the first chapter of Paul Graham's book On Lisp. You can download it freely from his website. So beautiful. I love it. So far it is a beautiful work of art.

Interesting quote from Wikipedia:

Many new Lisp programmers were inspired by writers such as Paul Graham and Eric S. Raymond to pursue a language others consider antiquated. New Lispers often describe the language as an eye-opening experience and claim to be substantially more productive than in other languages.

I know there are other good or great writings on Lisp out there too.

I think an important part of a language is the communication of it.

My friend Louis is making WEBbits, that randomizes the web. You can find a lot of fun websites with it.

Here's a button: WEBbits button

Louis is where I got the logo for my blog. He made it for me.

Last week I was an assistant video camera man at Government Technology Conference West. It was great, we videoed the keynotes and other things.

Keynotes were David Pogue, New York Times Personal Technology Columnist, Steve Wozniak, Co-Founder of Apple, and Shailesh Rao from Google. They were all great.

Wayne Hanson wrote an article on www.govtech.com about David Pogue's keynote, covering Pogue's five technology predictions.

I went through the government blog directory and took out all the blogs that haven't been written on for over 6 months. I also took out all the government blogs from the web-based government blog news reader (or aggregator) that haven't been written on for 6 months. So now these only have current blogs on them. But I am sure there are a bunch of other government bloggers out there that I don't know about, that should be added to the blog directory and RSS reader. New blogs can be submitted through this form, or emailed to me if you just want to let me know.

I also did some clean up of the blog directory in general, fixing links, changing Dave Fletcher's title to Chief Technology Officer etc.

I think the government blogs that haven't been written on for awhile are still useful and very interesting, so I've made another government blog directory, this one for past government blogs. I added the link "Past Blogs" to the current blogs directory that points to the past government blogs directory. But all of it is kind of like one blog directory, but the current blogs and past blogs are now separated.

Recently in this area I came across a few interesting things. Delaware Governor Ruth Ann Minner started blogging and stopped. But that she started blogging is extremely innovative. Is she the first U.S. Governor to blog? I can't think of any other governor that has. Kevin Sullivan blogged when he was Lt. Governor of Connecticut.

In Ruth Ann Minner's first post she says:

As Governor of the First State, I would like to welcome you to the newest addition to my Web site — the Governor’s Web log. Because embracing new technologies is so important in effective communications today, I have decided to embrace this growing trend to share more with you — whether you live, work or play in Delaware.

I wondered where Jerry Brown, Mayor of Oakland was. Then I found out he is now the Attorney General for California.

On Monday, President of the Utah Senate wrote a blog post about the blogging setup of the Utah Senate Site, which is a group blog from the Utah Senate Majority. Dave Fletcher wrote about this and said, "The Senate Site is an excellent example of how public officials can better communicate with their constituents."

A couple days ago I added Chris D. Jackson — who according to his blog is Tennessee's youngest elected official (he's 20) — to the government blogs directory. He's also Chair of the technology committee. Here's some bio information.

Interesting post on the Imran On Tech blog: Programming Knowledge versus Programming Ability.

Government Technology has launched a whole new redesigned website. It looks great. It has some awesome new things like GTtv (video!), which you can see on the homepage, and my briefcase — where you can customize information in govtech and from other places on the web. The domain name has been changed to www.govtech.com. www.govtech.net still works.

In the most recent Government Technology magazine Dennis Mckenna, CEO of eRepublic (the company Government Technology is part of), writes about the new website and some of its new features.

The title says it, I'm working on building an open source web-based graphics editor. It is in its beginning stages. Right now, currently called PhotoEditor, it can resize images and rotate images. But rotate and resize aren't currently working together yet, but that will change soon.

I think it is going to have some interesting capabilities and features. One interesting thing is that I think I am going to make it so that all image manipulation/processing gets done on original images uploaded. It currently works that way. When you copy and manipulate jpegs over and over again they degrade, that's what I've read. Well, in PhotoEditor, no matter how many manipulations and image changes you make the image won't degrade because all processing gets done on the original image no matter how much it looks like you're changing a picture that was changed before. I'm doing it by saving state in JavaScript (with AJAX this makes it feasible) and just doing single commands with Imagemagick.

I'm writing it with portability in mind. I'm writing it so it can be easily embedded into websites and web applications.

I'm writing it in PHP, Javascript (including AJAX), CSS, XHTML, Imagemagick, and bash scripting. Does anyone want it in Python?

Any comments or suggestions are welcome. But my comment system isn't working yet. (I haven't written it yet.) You can email me.

I decided to go with Firefox as my browser. I gave it an honest try. I added a few extensions, and it's really great having them, and in general I like Firefox. I'll definitely backup and support Firefox. In my opinion it's one of the best things to happen to browsers. But the problem I have with it is that sometimes things slow down, sometimes it freezes a little. It's really not a big deal, and it is probably comparatively a fast browser. But I am a very active web browser. I need a browser that can keep up with me. I'm fast. I like to jump around a lot like a lot of webpages do. Maybe Firefox is fast enough, and it's just the few extensions I added that are slowing it down. Maybe. There's Swiftfox, an optimized build of Firefox. I haven't tried it.

For a long time I was an Opera user. Primarily because Opera is so fast. It's rendering doesn't look that good to me. Firefox and Internet Explorer, probably other browsers Safari etc, render better and make webpages nicer than Opera. But on the web I really have a need for speed, and Opera in my experience has been the only thing quick enough and stable enough to deliver. After all when you are really just an information hound, what you are really looking for is information, and the speed with which you get, consume, handle and work with information has a lot to do with how much power you generate and much you get done.

So I'm switching back to Opera, using Opera 9, and I'll see how it goes. It's pretty quick. It doesn't have the flash plug in installed. I don't know if I am going to install it. But that's okay I'll use Firefox for that and other things like in Web development and/or Web design etc.

(22 May 2007) Comment from Matthew Bedford:

I agree with you about the speed thing. I use opera for myspace (I hate myspace, but I have a few friends there and I have a musician profile, something facebook doesn't have). But I like the power and ease of firefox. Firefox is a browser for the masses and as such puts more emphasis on usability than speed. Opera is too distinct, has a steep learning curve, and uses proprietary tools to accomplish common tasks (file management) which allow it to be faster, but come at the expense of usability.

BTW, I'm looking into writing a plugin for wordpress for creating a full subscription management tool that ties into the wordpress user system. All current WP subscription tools use a separate list for their user/subscription info. So I'll probably have questions about php and java and such...

I've been reading Anthony Thyssen's writing on Imagemagick, and material on imagemagick.org. Imagemagick is a group of command line tools for image manipulation.
The Imagemagick website says:

ImageMagick is a software suite to create, edit, and compose bitmap images. It can read, convert and write images in a variety of formats (about 100) including DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PhotoCD, PNG, Postscript, SVG, and TIFF. Use ImageMagick to translate, flip, mirror, rotate, scale, shear and transform images, adjust image colors, apply various special effects, or draw text, lines, polygons, ellipses and Bézier curves.

The functionality of ImageMagick is typically utilized from the command line or you can use the features from programs written in your favorite programming language.

Looks like there is a nice PHP API for this (others too), called MagickWand for PHP. I'm just starting to use it on the command line through PHP's exec and system functions.

One thing I found that I like, and which seems obvious but I never thought of before is using query strings in image source attributes to dynamically create images. Like: <img src="image.jpg?query=Some Text For Image">

Also been looking for some examples of web-based graphics editors (preferably open source) (I want to build one). Found an open source one by Pete Frueh. It uses the GD library. Here's a demo of it. Here's the article where I found out about it: Open source PHP-based Ajax image editor.

Gabriel Von Doscht showed me this really nice one called Wiredness (glowfoto). The client side looks all AJAX. Shows what you can do with graphics with AJAX/Javascript, some server-side scripts, and graphics manipulation software underneath.

And I came across a comparison from Anthony Thyssen's writing, which I found really interesting: Comparison of Povray and OpenGL.

Dave Fletcher writes about some of the things he's working on and looking at in Utah IT. Utah won third place in the last government Best of the Web contest. The Web 2.0 work in eGovernment is awesome. I thought this eGovernment "Swicki" (a cross between Wikipedia and a search engine) was pretty interesting.

I've recently been going through Douglas Crockford's writings and videos on Javascript. Really good stuff on Javascript.

One of the things I have done is make a directory of blogs by people in government. I really haven't kept it up to date, but I want to from now on. I just updated it with two government bloggers: Peter E. Auger, City Manager of Davison, Michigan, and Ian Coyle, Village Manager of Brockport, New York.

If you know of any people in government who are currently blogging please let me know so I can add them. I like to keep the directory up to date with government bloggers who are currently blogging.

I've got to go through the directory and take out the out-dated blogs. I think I'll make another webpage for the out-dated ones.

I just realized that I don't have an RSS feed for my blog here. I'm going to make one soon. I'm making this new blog from nothing, rolling my own. I'm writing it in Python. It's fun. I feel like I finally know my blog system. I'm not using a Database Management System (DBMS), MySQL, or anything else. I'm just using Python.

I'm writing a program right now using Javascript. Had an interesting bug where some code would work in Firefox sometimes and sometimes it wouldn't. I added a style property to a browser DOM object to store color information. The property was global. What happened was that every once in awhile it would seem that the property would disappear.

That was exactly what was happening. The property would disappear out of thin air. It was global though, so how could this be? Well there are two garbage collection mechanisms going on, from what I can tell. There's Javascript's garbage collection, garbaging up pure Javascript code. But the objects created with the DOM are garbage collected by the browser. And the browser doesn't clean up exactly the same way Javascript does. It appears that Firefox will sometimes garbage global DOM variables. I think that was what happening, Firefox was sometimes deleting the extra property I added to the DOM object.

The fix was instead of adding a property to a DOM object, I just created a normal Javascript global variable and used that. Actually it's a little more complicated than that. I was adding the property to many different DOM objects in a loop. So the solution I implemented was creating many normal Javascript global variables in a loop and using them.

I realized what was happening from reading A re-introduction to JavaScript. It says:

Browser hosts need to manage a large number of objects representing the HTML page being presented - the objects of the DOM. It is up to the browser to manage the allocation and recovery of these.