Monday, April 24, 2006

Saturday I was at the county democratic convention and had the chance to try out one of the Diebold voting machines that will be used for the next election. I asked the person conducting the demo if the county clerk's office had heard anything about any memory card based hacks on the machines. She didn't.

Today I spent some time on google and found out that what I was thinking of has become known as the Harri Hursti hack. Now in reading about this I saw that it was for optical scan voting machines. However, I still find myself uneasy that any product from the vendor of our voting machines would have such vulnerabilities.

One test of robustness in a piece of software is how it detects handles invalid data. If we are to have confidence in a voting system it must be able to take a stream of data from /dev/random, return an appropriate error, and keep running or end in a controlled manner. Also, if the XBox 360 can only execute signed code then I think we should expect the same of a voting machine.

We talk about cryptographically signing for copyright protection and for secure banking transactions. Yet we loose sight of such security for the simple act of casting votes. Something's wrong here. I just know I think I want to vote absentee and not use these machines.

Sunday, April 23, 2006

Today I realized that it had been almost a year since I started learning dvorak. I think I'm a bit rusty based on how long it's taking me to write this post. Well at least I'm not completely lost, I'm still typing without a chart.

Wednesday, April 19, 2006

I feel like I finally "get" lisp. I can read it and follow it. I can sit down and start writing it. That's not to say I'm good, it just means I can do it. Now the only trouble is that I'm being lazy. For some reason I have been wanting to spend more time playing Frisbee golf or being with my friends. I can't say it's helping me become a great lisp hacker.

I guess this is where I get off my blog and start writing some more code. I'd hate for this to be just another thing I do instead of writing lisp.

Sunday, April 16, 2006

Ok, I just read one too many stories on wars on things that "kill" people. The most recent one was talking about a war on junk food. I'm not going to defend junk food as being reasonable, or even edible. What I have a problem with is the concept of looking at what's killing people and declaring war on it. What's next? The war on old age? That's just way too logan's run...

If we're going to go down this road then I say lets declare a war on life. As age increases the mortality rate of being alive approaches 100%. I think we can solve this whole mortality rate of life thing by just not producing any more. Just think about it. Every person that is not born doesn't have to die! We'll get planned parenthood onboard with this. It'll be great! If everyone stops reproducing it will also take care of this overpopulation thing I keep hearing about too. That solves even more problems. No birth means no death, and once we all finish this business of dying alone in our old age (no kids to take care of us) the environment will be able to go back to taking care of itself.

Now for the hard part... This requires a very passionate celibacy for all! Now, doesn't that sound exciting?

Now seriously, wars on things don't work. They just get funding. For some reason we equate a war with getting something done. Never mind if what you're doing is just hurting people by limiting their choices or by much more painful things like sending them to jail for doing something foolish in the first place. *cough* smoking pot *cough*.

Monday, April 10, 2006

I think I have a Lisp problem. It started out so innocently. Just a little poking around here, a little reading there. Then I bought a book. I got a copy of ANSI Common Lisp last year and looked at it on and off. Later I started applying some of the interesting things I learn about in lisp to other languages. Then, Friday night, I ordered a copy of Practical Common Lisp.

I just can't leave it alone now. I keep wanting to play with lisp code. Then I want to start writing programs in Lisp. Sure I've got the REPL figured out, but that's not enough. I even started writing an IDE that provides multiple tabbed edit windows and a CLisp REPL on the bottom. I'm writing software to make learning lisp easier.

It doesn't help that this is the way I learned C. Playing a little here and there. Editing example programs. Suddenly I just was able to write programs as I thought of them. Now I'm expecting the same thing to happen with lisp.

I guess what I'm trying to say is... My name is Shaun, and I am a Lispaholic.

Thursday, April 06, 2006

Have you ever been in a position where you might loose data and bits that are very important to you? When I was shutting down my Linux box for moving I found a kernel message saying there was an IDE bus reset due to a command timeout. I'm sure most people who read this will respond with something like "and your point is?". Basically, it's one of the warning signs that my disk might not want to be a disk anymore. It was thinking along the lines of paperweight...

I took swift action and thought about it for a month. I then ordered a 3ware RAID card and 2 120GB IDE drives and I will live in the happy land of RAID 1 Mirroring. This means that if one of my drives decides to go paperweight on me I'll still have my data.

The disk that I'm worried about has my CVS archive of all my interesting work I've done in the past. I don't know if I'll ever reuse the code, but I would like the option... It begs the question: How much do you care about your data?

Monday, April 03, 2006

It's been 6 weeks since I lifted my moratorium on dating. The funny thing about that is that I haven't asked anyone out. I've been developing a bad habit. Since I've been enjoying the company of many of my friends I have become too worried to ask any of them out. I can think of a handful in my singles ward that I've kept from asking out on dates. I'm tired of not being able to enjoy someone's company anymore. Friends I have previously laughed with become distant after going on or even requesting a date.

There's a part of me that wishes everyone could just grow up. I mean this also for the other guys in the world that have trained the women I know to avoid the problem of not being interested. They become distant rather than just saying they're not interested. It would work if both parties could move on at that point. Our (everyone involved) inability to move on in the face of a declaration of non-interest is highly dysfunctional.

So, why is it that I really don't go on dates? It's not like I'm lacking the money; I just dropped more than I should have on RAID hardware for my personal server. I even have time for dates. There is something to be said about me being a goofball and an acquired taste. Some people just can't take undiluted doses of shaun.

I think I'm on to something with that last statement. There are many people I know who I will never be able to share a laugh with. There is usually a small courtesy laugh when they catch on that I'm trying to be funny, but they don't see what really is funny about what I'm saying. They will never appreciate that the nerdy shaun that they are acquainted with is part of a package that includes much more than odd quips and fits of giggling. Something that doesn't help is the fact that I meet many people when I'm on my goofball "A" game. They see me participating in advanced nonsense and don't ever see more than that.

I guess it comes down to me liking being liked. Though I'm not afraid to invoke the words of Cartman, "Screw you guys, I'm going home!". I still prefer to surround myself with people who welcome weird, nerdy, dorky, goofy shaun.

How does this relate to my dating problem? When I find friends who accept me I hate to risk creating a void between myself and them by inviting them to go on a date. This relates to a pre-existing difficulty in relating to people in general.

What I'm saying here is that if I had a way to find out interest without loosing the friends I enjoy I would be trying more. I've tried going the route of asking a lot of the women I know out and letting the odd gap form. I found myself alone and unhappy.

Here I am, no longer willing to risk enjoyable friendships with the possibility of enjoying more fulfilling relationships. The real kicker is that I know my current non-risking status is the WRONG answer. It's just that I value the people in my life so much that I hate to see them leave.

Saturday, April 01, 2006

A week ago I finished a software project I had worked on for the last 18 months. In my project I think the biggest things I learned were (in order):

Using database triggers/functions in PostgreSQL

Finding what I need in Microsoft documentation

The proper use of transactions

I know for some people these things are all pretty basic or assumed. They are for me now. The really fun part for me is that I can now say I have completed a full software project all by myself.

I consider this to be somewhat of a professional milestone. Back when I was at century software I knew a little bit about writing code, but I wasn't nearly as good as the others I worked with. I pretty much learned how much of a programmer I wasn't. A couple of years later I was writing an internet filtering program for someone. I was able to get good portions of the code done, but ran into a problem when feature creep headed in the direction of advanced windows programming. I still have the DNS proxy/packet mangling code I wrote for that.

Now I stand at the end of a project for the first time. I can look back and enjoy seeing what I have made. What's even better is that I have developed into the kind of programmer that can just sit down and hack a utility together. If used properly that could be a pretty good metric for capability. What can you throw together with only a moments notice? Isn't that what coding contests are about?

Lets hope I can do more of these in the future. Though, I think working on a team would be nice. The later portions of my project really benefited from what I learned in the earlier parts. Being in a team would have helped me have access to people who could suggest different ways of doing things. In some cases I didn't figure out how to use some features until I stumbled across them in the docs while looking for something else. Using collections and lists comes to mind...

So what's the point? Coding is fun, realizing you're good enough to finish things is even better.