Since I’m in Boston, we have a lot of snow to deal with this winter. The other day I was clearing snow off my roof with a roof rake, and after about an hour for some reason it started pulling to the left when I pulled straight down. I started to compensate by pulling the roof rake more to the right to compensate, but that didn’t really help much. After finally getting frustrated enough to pull the roof rake down and look at it, I saw that one of the support brackets was no longer screwed to the rake, so the blade was unsupported on that side. That’s why the rake was pulling to the left. Had I looked at the rake as soon as I noticed the problem, I would have saved a lot of frustration, and possible permanent damage to the roof rake. I fee we do the same thing with our software tools a lot.
Very often I’ve seen software where the usual reaction to compilation warnings is to tell the compiler to ignore them. There are times when this is appropriate. My favorite example of this is with Java Generics, where it’s very hard to get around some of the warnings for things that you and I know are perfectly safe. Most of the time, though, compiler warnings are indicating a moderate to serious problem, or at least an area where the program might not be doing what you think it is. Eliminating those warnings is an excellent collaborative activity, because we all have experience with different software issues.
So the next time you feel tempted to “ignore the Check Engine” light, spend some time finding out if there’s a more elegant solution than putting tape over it.
Geeks and non-geeks alike should do their research when buying electronic devices to make sure they can actually do what they want, and don’t have unacceptable attributes. In this post I’ll give some examples, and some helpful guidelines.
I have to admit when I first experienced Adobe Flex, the successor to Adobe Flash for rich internet application development, I thought it was a fragile toy that wasn’t good for much more than pretty moving pictures. At my current day job, I had to not only learn it, but spend about half my time working in it (as opposed to my current favorite language, Java). One thing I’ve learned from the experience is that it wasn’t so much Flex that I had a problem with, as much as Flex Developers. The Flex developers I’ve worked with up until this job came to Flex from being Illustrators, Graphic Artists, or just kinda fell into it. They never learned the art of software development, never learned to appreciate best practices, and never learned to value code quality or readability. But as a long-time Software Engineer, I know you can create bad software in any language. But now I’ve spent about 10 months working in Flex, and feel I can opine fairly. Read on…
“Give Me Liberty And Give Me Bugs” is a quote by Martin Owens, leader of Ubuntu Massachusetts and fellow BLU (Boston Linux and UNIX Group) member. You see, it all started innocently enough with a thread on the BLU list about the iPad. The flames hadn’t actually reached the second floor yet, so I decided to squirt some napalm on it by mentioning that (1) I just bought an iPhone to replace my dead-end Windows Mobile phone, and (2) I have given up on trying to sync music and PDA data with Linux, and am now using an old beater Windows XP laptop just for syncing and backing up my phone. You see, I’m a PDA geek. I track lots of metadata about my calendar events, contact data, tasks, etc. Since the PDA as a separate device is pretty much dead at this point (s0b) I rely on finding third party software for my phone.
But back to the argument. There were two dominant camps.
- Those that see any vendor lock-in techniques, DRM, planned obsolescence, and anything that prevent you from doing whatever you want with something you own, as an affront to nature, and should be illegal. They would rather have Open Source/unencumbered products that didn’t quite work right than locked-down commercial products that work very well, but only in the One True Way as determined by the vendor.
- Those that see companies as entities that will generally focus on their own goals, charging as much as they can get away with for as little as they can get away with, targeting their products towards the target audience they choose. They feel to expect otherwise is being idealistic. One should act accordingly, and not act shocked when Apple releases a new version five months after you buy one.
This is an awesome article. I found the link from the Semantic Web group on LinkedIn. I haven’t spot-checked it for accuracy, but there’s a fair amount of dispute over the history of computers and the Internet anyway. But this article is very enjoyable, and includes many related historical points, like when certain companies formed, and the history of tangential technologies that made the Internet possible. It’s a good read for geeks, and a great primer for geeks-in-training.
No, alcohol isn’t involved this time. These are military robots. Lots of ’em. All different kinds. According to this article on Network World, the Marines are looking for, among other things, robots that weigh 10 pounds or less and can be litterally tossed into battle for reconnaissance or other support operations. They’re looking to other types of robots (some of which already exist as prototypes) to carry gear, assist with communications, and actually fight.