RSS

Author Archive

New project: Uplifter

Monday, July 6th, 2009

I have started a new project (a relatively simple program to upload files to a server). I thought it would be fun to develop this in the open and talk about design decisions I made.

One thing I want to try is to compare and contrast some different ways to develop the same program. I originally wrote some pieces in Python using wxPython. I separated most of the control definition for the one window (essentially a glorified dialog box) in the program. This information now resides in a separate xrc resource file.

There is a hefty amount of runtime files needed with this method. Python and wxPython each require their own software install. I decided it might be fun to write the interface using Runtime Revolution as well. This isn’t free like the Python route, but I already own a copy and any source code I write for this can certainly be free. I think that the compiled end product will be significantly smaller than a binary distribution using Python. It will also be mostly self-contained. I say mostly, because there are still dependencies, but I think they will already be loaded on the OS.

I plan on writing this program for Windows. Both of the preceding two methods should be cross-platform with little if any changes needed to change between Linux, Mac OSX, or Windows. However, I’m thinking of trying a third method, writing the program using AutoHotkey. This would be limited to Windows as far as I know. From my experience though, these types of programs can be compiled into a relatively tiny binary, that I think only depends on the MSVC runtime.

The next step after arthroscopy, rebuilding knees

Tuesday, October 7th, 2008

I need this, or at least I think I will in about 20 years. I never liked the concept of scraping cartilage out of my knees. Doesn’t that leave me with less cartilage? Scientists are working on a procedure which goes far beyond just scraping the piece out. In fact, this even goes beyond microfacture surgery. This still isn’t true cartilage replacement from what I can tell, but considering that bone marrow can actually contain stem cells, and what microfracture surgery does, it kind of makes sense. Hopefully, they can continue along this line until the gel can contain extra stem cells when injected.

Bacteria are our friends

Sunday, July 6th, 2008

Not only have scientists found new evidence of the Panspermia hypothesis, but they are now discovering that life may have the possibility to exist on a really small scale. In addition, scientists are learning how to harness this small life to do amazing stuff, like turning waste into hydrocarbon chains that look like petroleum.

Hierarchical Temporal Memory

Friday, June 20th, 2008

Jeff Hawkins can do more than revolutionary PDA’s. He has published a paper on a model of memory built up from very small pieces. I read a blog article on how this can relate to current systems such as a Bayesian network. The talk from TED is very interesting, and after hearing it I happened across a couple different articles that talk about the “tip of the tongue” phenomenon. They situations make a lot of sense when considered in light of this memory model. I read Marvin Minsky’s Society of Mind many years ago, and I think Hawkins has gone more in depth on one specific piece of this. The two works are self-reinforcing, in my opinion.

More Vim Tips

Sunday, June 1st, 2008

I found a tutorial on mapping keys in Vim. The same techniques work for Vimperator if you create your own configuration file. If you don’t like Vimperator though, you can search Firefox from within Vim.

Python SSH made easy

Thursday, May 29th, 2008

Robey Pointer has made programming with SSH attainable for several years now. However, if you are slow to pick things up like me, the demos only get you about halfway there. I needed a little extra boost to understand how to use Paramiko. I just happened to run across the Command Line Warriors blog today which has this little tidbit. Not only is it brain dead simple to create a little ssh script with this, but looking inside ssh.py has given me a great demo that shows how to use the Paramiko suite for different things that I wanted to try. I just wrote a file transfer program in four lines. I’m sure the jokes on me for being a little dense, but I’m excited because this has given me the extra help I needed to start using Paramiko.

Loading Firefox Extensions without the Restart

Wednesday, May 28th, 2008

Steve Yegge talked about programs that you don’t have to restart in his blog post on the Pinocchio Problem. Firefox is stable enough now, that the biggest need for restarts is messing with extensions (installing, enabling, uninstalling, disabling, updating).
You can do your own Firefox Extension Development after first setting up the environment. This gives you some ability to rework extensions without the Firefox restart. There is also a nifty extension boilerplate generator tool that can bootstrap that first extension in less than a minute.

More exciting is GreaseMonkey, where you can do a lot of damage without restarting. Greasemonkey scripts can then be turned into extensions after you have perfected them.

Self-Hosted Python

Wednesday, May 28th, 2008
Python continues to impress me with things like a C compiler written with Python. Building special purpose machines with tools like LLVM is beyond me. It’s one of those subjects that I seem to doze off reading. However, I have built a couple grammars with ANTLR. I just went to see what’s new with ANTLR and saw the ANTLRWorks GUI Development Environment. This would be a pretty good thing for PLY to have.

One could use Parrot to build a Python interpreter, or embed an interpreter in PHP, but I think I prefer RPython for my alternate implementation.

The Guinness Button

Tuesday, May 27th, 2008

While having lunch with one of my brothers, we discussed the best way to find places that served Guinness. I had read about Beer Menus, but I figure it will be a while before something like this comes to town. So, I decided to make my own map. Google Maps work OK. How can I get the push pins populated? I assumed I could hook some sort of GPS module up to my iPhone. Then I could have a button on the phone that would send GPS coordinates to a remote server when I pressed a button on the phone. However, I don’t really want to pay the fees for SMS messages. Geotagging of photos is becoming more popular. After reading about yet another geotagging device (the Sellgino GS-200), I decided that pictures of each place could be really cool as well. I could just take a picture of each place with the iPhone while carrying the geotagger around with me. At some point, I could offload the pictures, sync them with GPS info matching the EXIF data, and push each bar up to a map. In theory the software would be easier to write when used in batch mode like this as well. I could just write a simple client that runs on a local machine. OK, so I don’t end up with a Guinness button, but I might end up with something easier to build, which always improves the chances that this will get done. In addition, I can leave myself with another challenge to finish the tighter integration at some later date.

More OpenID and Yubikey

Tuesday, May 27th, 2008

Stefan Brands has quite a list of issues with OpenID. I would think that the nature of Yubikey could solve some of the phishing issues. Since the password changes every time, capturing the password gives the bad guy one free login, but doesn’t hand off the keys to the kingdom. The privacy and web activity tracking issues won’t be solved this way. Running your own OpenID server on an SSL protected domain would help a lot, but not everybody can afford (financially or technically) to do that. Stefan points out a lot more issues that have made me reconsider OpenID and whether it is the right idea.