Woodworking 101

In the world of computer programming, there’s a sort of tradition which dictates that the first program you ever write in a new language does nothing but print out “Hello World!”. Usually, the program can be written in seconds, in only a couple of lines of code. Even this small a program is encouraging to new programmers, because once they run it, it’s an indication that everything is working properly, so that nothing stands in the way of programming greatness.

In woodworking, the “Hello World!” appears to be making sawhorses. Completing this project gets the new builder familiar with the tools and techniques needed to go further, like clamping, drilling, and making cross cuts and angled cuts. It gets them more comfortable with their tools in the process. What’s great about a project like this is that you don’t get too stressed out over screw ups, because it’s all just 2×4 lumber from a home center – not $50/bf Cocaboca! Also, it’s just a shop project, for use in the shop only, so nobody is likely to ever see it.

Unfortunately, I had a somewhat incomplete set of directions that failed to mention measurements for a couple of the parts. No big deal, I fudged it and things are fine with my first sawhorse, and I’ll make corrections on the second one. But it was frustrating, to be sure, not to have complete instructions.

The most annoying part, however, wasn’t the missing measurements. There was a part where you had to clamp two opposing legs together to a subtop that was sandwiched between them. The legs were cut 15 degrees on the floor side, and then 15 degrees leading to the top, so that when the legs were flat on the floor, the top part of the leg tapered to be perpendicular to the floor, and that part screwed into the subtop. Well, they tell you “just clamp it up”, like it’s no big deal. What they don’t tell you is that it’s just about impossible to do.

Clamps really like things to be square. Needless to say, that makes it challenging to clamp together things that are at an angle. So you make a little block to put on the leg to fool the clamps. But when pressure is applied, the blocks slide all over the place, and nothing gets done. I’m pretty sure it took me the same amount of time to get the legs clamped as it did to do the rest of the measuring and cutting and such. In the end, I do admit, I have a pretty solid sawhorse, and I also admit I’m now a bit more comfortable with my bevel gauge, combination square, and my shop in general.

Flock looks sweeeeeeet

Instead of firing up firefox, going to blogger.com, logging in, choosing “create new post” and all that stuff, I thought I give this new thing a try that I’ve been hearing about. It’s called “Flock”, and it really just makes a whole crapload of sense if you live half your life in the digital realm. If you have a blog, an online photo-sharing account (like Flickr), a del.icio.us account to share (and tag!) bookmarks online, and you mess with news feed aggregators and the like, you really *should* be using Flock, or some other flock-like thing.

Check out some of the stuff you can do with Flock here

It’s really cool. Instead of bookmarking a site at work and then not being able to get to the bookmark at home, Flock just consults your del.icio.us account and uses that as your bookmark collection. If you’re not familiar with del.icio.us, you should really go there and check out the goodness that awaits you.

On the blogging front, Flock supports posting to a few different blogs, Blogger being one of them, so I’m editing this post in Flock’s built-in editor. I can tag and categorize the post as well, which I have never done before, but maybe I’ll try it now!

Well, that’s about it. Keep in mind that Flock is a beta piece of software right now, but I’ve only found some little “rough around the edges” bugs, not machine-locking, app-crashing type stuff. Enjoy!

technorati tags:

Degree Status

I went to speak to my advisor at the community college where I’m pursuing an associates degree in computer science. Some good news came out of this meeting:

1. Two humanities classes transferred from the classes I took in, like, 1992. Together with the two that I’ve taken recently (this past summer), the entire humanities portion of my degree requirements is done.

2. In addition, the Eng. Comp I class also transfered, which leaves just Eng Comp II. Turns out, though, that if I pass the CLEP exam for English with the essay portion, english is also completely out of the way.

3. I was able to get approval to skip pre-calculus and head straight to Calc I. This is a little scary, but my College Algebra professor is extremely confident that I’ll do fine there. I’m taking the chance because I don’t get *any* math credit toward my degree until I hit Calc I. I have to eventually take Calc I, II, and III, in addition to Discrete Math.

4. I skipped Comp Sci 101 last spring, and I have to make up the credit somehow because it’s a degree requirement, but I’m allowed to sub in another “technical course”. I just have to clear the course with my advisor first.

The bad news is that, with all the cheesy stuff out of the way, all I have left really are really hard classes. I’m part time, so I can really only take 2 classes per semester, and here’s the list of what’s left:

University Physics I
University Physics II
Calc I
Calc II
Calc III
Discrete Math
Computer Arch. w/ Assembly Programming
Object Oriented Programming
Data Structures

What a bear. Plus I still have the COS 101 class to make up for somewhere. I’m taking Calc I and Object Oriented Programming in the upcoming spring semester. I could potentially take Calc II in the summer, but we’ll see how it goes. I don’t wanna rush through Calc of all things. Now I’m really anxious to see the catalog for the summer and fall ’06 semesters!

I stand corrected

Well, you’re never too old to become even more geeky. I was informed yesterday by coworkers that my 32nd birthday is, indeed, significant, because it will take another 32 years before I am again at an age that is a power of 2. Another email said “Happy 2x2x2x2x2nd birthday”.

For my non-geek family members, most numbers used or reported by computers are a power of two. For example, 1MB = 1024 bytes, and 1024 is 2^10. The reason for this is because computers process binary, or “base 2″, which is a way of representing numbers using only digits 0 and 1. There’s more to it than that, but not much :)

I Turn 32 Today

It’s my 32nd birthday today. I had a great weekend with family and friends, but it’s time to get back to work. I did no work whatsoever all weekend, but I actually have a lot of it to do. Not only at the office, but at home as well. Our trees are just about bare now, so next weekend it’ll be time to do something about our yard, and I also decided on a plan of attack for the baseboard trim in my living and dining room areas, so I need to order some stuff and get to work on that before the holidays.

I also have a meeting today with a professor for the Applied Sciences program at college. I may switch from Comp Sci to Applied Science. Not sure yet. Their applied science program is really just a foundational curriculum in Electrical Engineering. I like both areas, though. Applied Science is certainly the easier degree it would seem (one semester of Calc as opposed to three), but I’m not sure it’s as useful in terms of transfering to a four-year school. We’ll see.

Anyway, I’m 32. It’s not an age that triggers a whole lot of reflection, really. It’s not like “THIRTY”, or “FIFTY”, which seem like landmark years for most people. 32 is really just a boring, not-much-doin’ age. That’s probably a good thing.

LAMP CMS Systems frustration

I’m never happy with whatever site I’m running or involved with. Evolution of a site is never fast enough for me, never fresh enough for me, and never easy enough to work with. Over the years, I’ve run test versions of my sites using Mambo, PostNuke, PHP-Nuke, PHP-X, Drupal, ezPublish, and many other LAMP-based CMS systems. My experience has been that they suffer from one of two major downfalls:

1) They were conceived to handle a very specific task, and every other task was an afterthought.

2) They were conceived to handle large, team-based publishing of multiple content types, and so they have things like “workflows” that a single-user site never uses, so there’s a learning curve involved in just getting a simple content model together.

The Nuke-like CMS systems suffer from problem 1. They were conceived as news portals, not full-fledged content management solutions. You could get “plugins” for everything else you wanted, but since the API was originally designed to handle a very simple set of tasks, integration of plugins to do completely unrelated stuff has always been horrible, and everything was always shot to hell upon an upgrade.

The Mambo and ezPublish models of content management put walls up between the authors, editors and publishers of content, so a single user has to put on three different hats to get things out the door. With Mambo, I tried two different times to figure out how to create what I thought was a very simple hierarchical menu for the front page of a documentation site. It was impossible. There was jargon involved in Mambo that was so convoluted that is clearly just wasn’t aimed at getting a site up and running quickly that did anything useful.

With ezPublish, the first thing it does is try to force you down the path of creating a particular *kind* of site. A news site, corporate site, blog… I believe there were, like, 8 choices. Well, I don’t want any *one* kind of site.

What I really want is an application that doesn’t make assumptions about the content of the site. Sound a lot like I want a Wiki, right?

Well, they have their own issues. First, they need to be thoroughly locked down. Wikis are designed with the intention that it is driven somewhat by the spectators. I do not want that. Second, I haven’t found a very easy way to link one article across multiple categories. What I guess I want is a Wiki that understands the del.icio.us notion of “tags” or something, so I can categorize the content however I please, but still define a relationship between articles or documents in other completely remote sections of the site without a lot of heavy lifting.

I’m also tired of single-topic sites. I’ve grown to hate linuxlaboratory.org, because the domain pretty much dictates what the content should probably be. I have a wide array of interests, and I’d like to write about all of them, because I like to write, and because writing helps me to remember the things I’ve learned about whatever my interest is this week. One day, I might want to write about issues with my Radio Shack bread board electronics kit. The next day, I might want to post a video of my high run in straight pool. On the weekend, I want to post some “finger tips” about how *not* to slice a finger off while using a router. Maybe I want to have a “home improvement” section with notes for others about how to avoid the pain involved in working with fiberglass insulation. Maybe I want to videotape a tech support call and accompany that with notes.

I want an application that will let me host all of this stuff, and maybe have some friends pitch in and help, and I *DO NOT* want to be writing code – I want to be writing content.

If anyone out there understands what I’m looking for and knows of a solution, I’m all ears!

More home improvements

Well, last week a crew finished up putting a new roof on the house. All’s well with that, and that same crew will be back in the next week or so to replace the gutters and soffits (sp?). As it turned out, the gutters were really the biggest cause of roof issues. Due to the poor design of the original installation, age, and a few other factors, water from the gutters actually wound up backing up onto the roof, and the plywood had to be replaced in a couple of areas as a result.

Lucky for me, the guy didn’t charge me for the plywood, because his guys cut my cable tv and internet lines!!! It was really a pretty innocent mistake. They were taking down the old-ass aerial antenna, and I guess the guys walking around on the roof came across cables, figured they went to the antenna, and cut them. Anyway, Comcast came out and fixed me back up the next day at no charge, so it wasn’t really all that big of a deal, but not having internet access is No Bueno(tm).

Next up is the boiler. My boiler is over 40 years old now. It’s working, and it’s not showing signs of wanting to die per se, but the colder it gets outside, the more my basement feels like a sauna, because the more my boiler works, the more heat it kicks off either through the atmospheric-style vent thingie, or through sheer inefficiency. *sigh*. Looks like the new boiler will probably be one of those newer style ones that intakes from outside and throws exhaust out something like a dryer vent. We might wait until the spring or summer to undertake that project, since it’ll likely leave the house without heat for one night, and so we can take some time to recover financially from the other exterior improvements going on.

Linux as Stock

I think people relate to money a lot better than they do technology. Money has been around much longer, and knowledge (or perceived knowledge) has been passed down about money for generations, and truthfully, it hasn’t changed a whole heckuva lot.

Most people know the basics of the stock market. “Buy low sell high”, undervalued vs. overvalued, and that sort of thing. Though people don’t always make monetary decisions for the right reasons, they are applying some logic to the decision, at least, which is more than we can say for their technology decisions. So maybe it makes some sense to draw an analogy here.

First of all, I’m going to limit the term “technology” to “operating systems”, just like you might limit the term “stocks” to “airline stocks”. I’m most familiar with operating systems, which is a small subset of this huge thing we call “technology”, just as airline stocks are within the “stock” realm.

Microsoft Windows is an operating system. Apple OS X is an operating system. Linux is an operating system. It’s the thing that has to be installed before anything else on your computer, because it’s the thing in charge of running everything else you install. The buck stops at the operating system. Outlook is not an operating system – it’s an application you install on top of the operating system. Same goes for anything that you click an icon to launch. You don’t click an icon to launch an operating system — you just turn on the power. The operating system is the thing you have to log into in order to see your icons. If you don’t have a login on your machine, then its the thing that starts up first when you turn the power on to present you with your working environment. Got it? OK, on to the analogy.

If you look at these systems like you would stock, then you would have a lot of comparisons to make. You’d be shocked at how some people compare stock in different companies (oh yeah, I used to be a stockbroker, so I have some familiarity with this). For example, some vegetarians refuse to buy stock in McDonald’s. Some religious folks won’t buy “sin stocks”, like casinos or even tobacco companies. They take stock purchases very personally, and the way they compare stocks is skewed in that way.

Some people are principled like this with their technology decisions, but it’s rare. There are people who will only use certain “100% free” software, which means free of cost, and unencumbered with regards to licensing. Very few open source advocates, myself included, can get by only on 100% free software. We have jobs to do, and we have people we have to interact with using technology, so we don’t always have a choice. Even if we did, I’m don’t think we’d all choose to go without Flash player in our browsers, or MP3 support in our audio players.

Others take a slightly more involved approach to stock comparison. They look at the companies, they look at the stock price range over the last 52 weeks, they look at the P/E ratio, insider holdings, and the company profile and maybe their competition, trying to get an idea of the growth prospects in the company. Is it fundamentally undervalued? Is it’s market cap less than the company could be liquidated for? Some slightly more technical folks might look at the beta for the stock to get an idea about the volatility you can expect to see on a day-to-day basis. I’m not saying these are necessarily the right ways to evaluate securities, but this is what people do.

There are relatively few people who would admit to being even this thorough about their technology decisions. If you took a look at Windows, Linux, and OS X and compared them this way, you’d likely find that Windows is greatly overvalued, OS X is somewhat undervalued, and Linux is also undervalued. Hold the flames ’til the end please.

The reason I say that Windows is overvalued is because it is (clearly, and painfully obviously) being used in areas it clearly isn’t well suited to run. I’m not going to go into specifics here, but I’ll refer you to any one of the various network security websites to do your own research. Aside from security issues, there is also a history of privacy concerns with Microsoft products. Furthermore, my own opinion is that Windows is just about the *least* user-friendly interface to a system that I’ve ever seen. Defrag is a Windows invention, to my knowledge. The need to reinstall Windows every several months because performance has degraded and there’s no way to tell why is a Windows thing. The need to reboot your system for some change to take affect or to run a newly installed application is a Windows thing. Registries and Defrag aren’t something you ever really think about on systems outside of Windows. I’ve never defragged a Mac or Linux host, and I’ve never reinstalled a Mac or Linux host because of inexplicable performance degradation. I’ve also never gotten a virus on any system but Windows.

I say that the Mac is *slightly* undervalued. I would’ve said “grossly undervalued” if it wasn’t for the fact that the price point for a Mac is some number of *times* more expensive than a PC. Apple has also not made much of a play for the server room, so its utility is pretty much limited to the general desktop and specialized applications like newspaper layout, graphics design and multimedia development. Perhaps the price point relief will come with Apple’s eventual move to Intel hardware, but I don’t know that I’d count on that.

Linux is also undervalued. I say this because there are a number of applications where Linux is “tried and true”, but it hasn’t penetrated the market to the extent that it could in those application areas. Mail servers, web servers, entry-level firewalls, proxy servers, and the like are all things that it’s hard to beat Linux at. What’s more, there are some really compeling developments in other server application areas. Put this together with various government certifications, and a growing commercial support and distribution presence, and Linux evolves from something IT managers “probably should” look at to something they “can’t not” look at.

Linux on the desktop is another animal altogether. The main issue here is that there doesn’t seem to be a holistic, end-to-end solution for desktop management. Novell is pitching a solution, and their purchase of Ximian is promising (Ximian has been working on this for years), but these things don’t have big name testimonials of any substance that I’ve seen. Certainly, there are distributions that do well on the desktop these days. In spite of my distaste for Debian, for example, Ubuntu has taken over my laptop and home workstation, because it’s just plain simple to use. I’m also a fan of Linspire, also Debian-based. However, I haven’t seen desktop management solutions that enable administrators to automate desktop management tasks, like installing new software, or keeping machines updated.

So, like stock, you have to compare based on your needs and your means. If you have the money and you do tons of multimedia or web development, or if you’re just loaded and want the best desktop experience money can buy, the Mac is probably for you. If you want a server, Linux wins, hands down. Linux might also win on the desktop if you’re the “typical home user”, who uses their machine to browse the web and check email 90% of the time. Basically, the only real reason I can see for using Windows is that you’re at the office and you have to, or your business depends on an application that only runs on Windows.

Of course, this doesn’t reflect well in actual stock prices. Microsoft stock continues to grow, while companies like RedHat and Novell are a bit more volatile and depressed, and Apple can barely be explained on a daily basis. This speaks more to factors not relating directly to the user experience, though, so I’m dodging that issue ;-)