Blog

Coffee and pills

SQL Server
0

coffeePills.jpgI had a really crummy day yesterday. Things just weren’t going my way, and I had all kinds of stupid small programming problems at work. Just one unrelated thing after another. Sometime in the afternoon, I stumbled downstairs for yet another pot of coffee and some ibuprofen, but I wasn’t really paying attention. I was juggling all kinds of things I had to fix, things I had to look out for, things I wish had never happened, etc. I made the pot of coffee, then I couldn’t remember if I’d taken the pain pills or not. I remembered getting the bottle, opening it, and putting it back, but there was no water glass on the counter, so I didn’t understand what I’d done with the pills. (I rarely dry-swallow pills.)

This morning, I went to make coffee and figured out what happened to the pills. Wow. Evidently things were pretty bad yesterday. Thank goodness I don’t operate heavy machinery.


You’re lookin’ at Linux!

0

webcam.jpgWow, about time. The site’s finally moved over to Linux. Ended up using PHP just to get it to go live quicker & smoother – I can always play around with Java on other sites. Besides, I don’t edit the code on this one much now that I use MovableType.

Lots of things going on. I’m on the Communications Committee for the neighborhood homeowners association, and I slapped together a web site for us. ParkSquareHouston.com will be a place for the Park Square residents to post news, hang out in the forums, post photos, etc.

That was my first portal using Xoops, an open-source PHP portal. I gotta say I was impressed – very slick installation, great modules, easy to administer. Had the whole thing up and running in less than an hour, and spent the next few hours tweaking it.

I’m pooped. Time for bed.


I give – no more Linux on the desktop

1 Comment

OK, I give up.

This morning I figured I’d take another shot at setting up a VPN client, this time using SSH like a guy at my company uses. I got started, got about an hour into it, and it doesn’t work on Xandros because the kernel doesn’t have the PPP module built in. Sure, I can recompile the kernel, but there are dire warnings on the Xandros forums about how you lose support when you do that. Grrrreat.

Disappointed, I decided to read back through my blog to see how the experience of moving to Linux has gone over the last month and a half. I sat here staring at the original blog entry and thought to myself, “Man, has it really been that long? Have I really spent a month and a half just trying to get a desktop configured?”

Take a basic desktop application: instant messaging. There are two main clients, Kopete and Gaim. Gaim crashes like a drunken Exxon ship captain, and I can’t even get it to reliably log in. Kopete works great, never crashes, but whenever someone sends me a web link over Yahoo, it gives me an error saying the XML document could not be parsed. I’ve gone through forums trying to find out what’s going on, and the solution is to tell your friends, “Please turn off your extended text stuff like colors when you’re chatting with me.” That’s the SOLUTION? Please.

I still haven’t gotten many of my peripherals working – like my scanner, my fax modem with caller ID, my USB FM radio, and my webcam. My DVD burner will burn CD’s, but not DVD’s.

After a month and a half, I feel like I’ve given it a real shot. I feel like I’ve put as much time and effort in as I can possibly put in. I’m not ashamed to say that I couldn’t figure out a lot of the basics, like VPN connectivity, and despite what people are going to say, it’s not because I’m dumb or inexperienced. The stuff’s just not ready for mass desktop use yet.

That’s not to say I haven’t learned anything useful. I think Linux is the right way to go on the server side, and I’m still switching my sites over. EvilBunny and I went in on a dedicated Linux server from EV1servers here in Houston, so over the course of the next week or so, I won’t even need a static IP address here at the house.

Believe it or not, I think the decision was affected by the fact that I own a house now. Everything really does change when you buy a house: your priorities just shift. On the weekends, I don’t want to sit in front of this box and play network admin: I want to build deck furniture for the backyard, grill out, hang out with the neighbors, and relax. Two years ago, I might have embraced the work involved with running Linux on the desktop. Now, though, I just don’t feel motivated enough to bother. I want something that just works on the desktop, and in 2004, that’s Windows XP.


Moving my site to Linux

0

I’ve been running Linux on the desktop for a little over a month. I’m using it as my mail server and DNS server, and now it’s time to start migrating my web sites over from ASP to JSP. Most of the translation should be pretty straightforward – there’s hardly any dynamic code in brentozar.com, for example. At the same time, I’m also going to upgrade my MovableType blogging system from 2.6 to the new beta 3.0. I may not have a blog entry again until this weekend, depending on how much time the site conversion takes. Wish me luck.


I got Slashdotted – and made $13.20

0

A few days ago, the RIAA announced that they were suing another 477 people who shared MP3’s. I had a fake Yahoo press release rigged up so that people could put in a friend’s name, and it would generate an official-looking link that they could send to their unwitting friend. The friend would read the article, see their own name, and presumably wet their pants, thinking they were one of the 477 defendants in the lawsuits. I posted this little gem to Slashdot, a popular geek news site, and braced for the worst.

For those of you unfamiliar with Slashdot, there’s a phenomenon known as the Slashdot Effect: when Slashdot readers see the article, they all click on your link more or less simultaneously, and the huge amount of new traffic brings your site to its knees. It’s a great test to see how stable your web server is, how efficient your code is, and most importantly, whether you have the bandwidth to accommodate the huge number of visitors. With my home DSL line, the last factor there was obviously the weak link in the chain. Sure enough, within a matter of minutes my DSL was dead slow. The server held up fine, of course, because it just wasn’t that much bandwidth to worry about.

Seeing the sudden influx of visitors made me think – hey, I should put Google ads on the fake Yahoo press release. Who knows, maybe I’d earn a buck or two? Over the course of three days, the pages involved got 46,092 hits – a very respectable number given the puny bandwidth of my DSL line.

Out of those 46,092 hits, only 28 people clicked on the ads, earning me a whopping total of $13.20.

I’d heard from other sources that Slashdot readers are extremely web-savvy, and unlikely to click on banner ads. I would agree with that simply because I’m a Slashdot reader myself, and I don’t even see banner ads anymore. My mind just completely bypasses anything that looks like a banner ad. My click-through rate of .06% bears that out. Look at it another way: out of every 1,646 visitors, only 1 person clicked on a banner ad. Wow. That’s some pretty low numbers.

Part of that has to do with the types of ads Google was showing. On the press release, Google displayed ads for lawyers (because the page was about lawsuits, I guess.) On the sign-up-a-friend links, Google displayed ads for web templates, presumably because I have templates for ServersAlive elsewhere in the site. Interesting.

That little experiment really sobered me up as to how difficult it is to make money off banner ads. I’ve never tried it before, and I certainly wouldn’t want to try to make a living doing it. I’ve got friends who run sites with Google ads, and they do quite well in revenue, but again, not nearly enough to pay the mortgage.


Still struggling with Linux

1 Comment

After what can only be described as a struggle, I now have smtp mail working – meaning, I can receive mail. I can’t send it yet, though, because it keeps saying my passwords aren’t right, even though I know they’re right and I can log in correctly. At least the mail is coming in, though, so I went ahead and cut over to Linux as my mail server.

The biggest part of the struggle is the “documentation” involved with open source products. There are apparently far more people willing to code programs than there are people willing to write good, intuitive documentation. Makes sense: most programmers I know hate to write documentation, and when there isn’t any money involved, the documentation is going to suck.

Fixing setup problems with Courier, the email program I picked, meant surfing through countless forums looking for people who experienced the same problems I had. There was absolutely nothing enjoyable about this process whatsoever. Usability hell. I literally grimace when I walk up to this computer now because there’s so much work to do, and the work just isn’t any fun at all. It’s not the joyous discovery of new possibilities anymore: it’s the grim acknowledgement that when you pick Linux software, the first thing to look at isn’t the feature set, the project’s vitality, or the project’s history. The first thing to look at is the documentation, and that will tell you if the installation will be a ten-minute thing or a two day, caffeine-fueled grumble-fest.

Courier was a grumble-fest. It’s over-documented in a bad way: there are hundreds of pages about obscure setup options, but not a straightforward howto guide that shows a basic, simple one-domain installation. I found a few third-party ones with bad syntax that referred to outdated options, and threw my hands in the air.

Sure, I could sit down and write my own. But after two days of arm-wrestling command line syntax, I’m ready for a break.


Working with Solaris

1 Comment

I’m in the second round of Java training this week. When I walked in on Monday, I headed straight for the Solaris workstation: I figured now that I’m migrating to Linux, I could take this knowledge and sit down to any Unix box and start work. Sure enough, I’ve been able to do everything I needed to do pretty easily. While I’m not growing a beard and wearing suspenders, I am definitely starting to assume the holier-than-thou attitude of a Linux user. This operating system rocks – well, when it works. Ten years from now it’ll be ready for every desktop – but it’s definitely going to take that long.

I mentioned that to somebody and they noted, “Haven’t those Unix-style operating systems been around a lot longer than Windows? Why did Windows get so polished, so fast?” Because it aimed for the desktop first, going for easy usability rather than stability and security. Windows beat *nix to the usability milestone, but *nix beat Windows to the stability milestone. Now it’s a race for each to overcome the part they were missing.

You can’t add stability back in, but you can add usability back in. The *nix operating systems are going to win this one, but will it be enough to actually get into every desktop? Can *nix overcome Windows’ market share? Linux is technically better than Windows, but Betamax was technically better than VHS, and we know how that one went.

Am I qualified to be asking any of these questions? Of course not, but I finished with my lab exercise early. Back to work.


Installing JavaHMO on Xandros

0

I’ve got a Tivo with the Home Media Option, which lets your Tivo play music from your computer’s MP3 collection. JavaHMO is a third-party server program that is a vast improvement over Tivo’s software, which lets your Tivo do things like show the local weather forecast, the movie schedules at your local cineplex, show internet webcams, and even listen to Shoutcast radio streams.

After installing JavaHMO 1.2 on the Xandros Desktop 2.0, I didn’t get any errors, but JavaHMO didn’t start and didn’t write a log file. Every time JavaHMO starts, it’s supposed to write its logs to /var/log/javaHMO.log. You can start it manually by going to a command line and typing “jhmo start”, and if it doesn’t create the log file, you need to do some work to your system.

According to the JavaHMO FAQ, you have to do a few special steps to get JavaHMO running on Debian, but some people may not be aware that Xandros is based on Debian. Even if you know that, what needs to happen after the JavaHMO installation isn’t exactly intuitive.

First, install the “equivs” package in Xandros Networks. Then, logged in as the administrator (that’s what Xandros calls root), follow the directions at http://www.debian.org/doc/manuals/debian-java-faq/ch11.html#s11.2 to build the Java dummy control packages. After building the packages, they tell you to use the “update-alternatives” command, but the syntax they give is wrong, and there’s an easier way anyway. Instead, just open Xandros File Manager and double-click on each of the .deb files, choose Launch Xandros Networks, install. The dummy packages have dependencies, so do the java1-runtime-dummy, then java2-runtime-dummy, then the java-virtual-machine-dummy and the rest in any order.

While still logged in as root, start the terminal and type “jhmo start”. Nothing spectacular will happen, but look in /var/log for a file named javaHMO.log, and if it’s there, at least you got it to start.

Wasn’t that fun? And who says Linux isn’t ready for the desktop, eh?


Building a workbench

1 Comment

Workshop.jpgI built a workbench using a kit from Simpson Strong-Tie this weekend, and I’m quite proud of it. Simpson’s directions were easy to follow, and I built the work bench in a few hours of pleasant labor. It’s solid, it doesn’t wobble, and I can’t say enough good things about their self-drilling Strong Drive screws. Those things are great – very quick, very strong.

I modified their plans to build a 6′ long version instead of a 4′ one, because I wanted it to span the width of our one-car garage less my two garbage cans. I wish they’d have supplied the dimensions necessary for the optional 6′ and 8′ versions. After some careful calculations, I figured out the optimal cuts to build a 6′ workbench with only 6 2×4’s, but I bet most people wouldn’t be so careful.

Now I’ve got my tools displayed up on the pegboard (not visible in this photo, taken before I put up all the pegboard hooks) and I can park the injured Volvo in the garage. We’ve got three cars at the moment while we wait on the Geico crew to do an estimate on the damage.

I’m loving this woodworking thing. After building virtual stuff all week, it’s entirely pleasant to build structural things that you can actually put your hands on.


Forgot to mention – I was wrong about the VPN

0

A couple of days ago, I thought I’d managed to get the pptp vpn client working under Linux. No luck. The next morning, I found out that it would let ping packets pass through, but wouldn’t the Watchguard firewall at our office wouldn’t send back any other packets. Great. Lovely.


Day 6? 7? Who cares, Linux doesn’t work yet

1 Comment

birdfeeder.jpgSo I’m several days into working on my VPN connection, and I just flat out gave up last night. I’m doign my work inside a VMware window, which lets me run Windows XP inside of Linux. I have my easy VPN connection in the Windows session – it takes just a few mouse clicks to set up – and I can take my time getting things like VPN and multiple displays running under Linux.

The most frustrating part is the finger-pointing: when you ask for help, it’s like talking to a level 1 tech support person at AOL. People seem to actively look for reasons why your stuff would’t work. I started with a $200 NVidia dual head video card I already owned, but several distros crashed during installation, and people kept telling me how bad NVidia drivers were, so I figured I should replace it. I asked around, nobody had any serious opinions but people agreed that a single dual head card is more stable than a pair of cards, so I grabbed a $100 ATI dual-head card. All of the distros successfully detected it, but none activated the second head. So I manually shuffle around through text files making manual changes per various faqs, since there’s no one definitive correct faq. The closest I came was a Xinerama howto, and it got me close enough to activate the second display, but it’s just a simple clone of the first one. The howto doesn’t mention anything about cloning versus spanning.

So then people started pointing fingers at the card: they say well, maybe a single card won’t actually work – your best bet is probably two cards. Wha?

This will be the fourth trip I’ve made to Fry’s trying to get a working machine for Linux. Every time, people say my hardware is the problem, or I’m using the wrong distro, or I must be dumb. Or maybe it’s all three. Who knows. Who cares. I’ve got birds and squirrels.


Must….get….sleep….

0

I started working on getting PPTP VPN working at 5:30 this morning. I was determined to be able to VPN into our office Watchguard Firebox from my Linux desktop, because I can’t get work done without it. I struggled and struggled, and finally got it via an obscure command line switch. Pptp wasn’t returning an error, but the first solution under http://pptpclient.sourceforge.net/howto-diagnosis.phtml#running_pppd_after_connection troubleshooting tips turned out to be right. I added the nopcomp switch, and bam, I’m in business.

Tomorrow, it’s back to my regularly scheduled development. I’ve already got the Java SDK, NetBeans, and the basics going. It’d be nice to have Outlook running under Wine, but I’m not going to get greedy. Yet.


Holy moly, I made a workbench

0

workbench.jpgThis afternoon I took a few hours out of the Linux install mess to build a workbench. I’d purchased a $250 miter saw a few weeks ago in an attempt to put crown molding in the house, but the saw was sitting on the garage floor. Working on my hands and knees isn’t my idea of fun – no, really – and so I decided to give the miter saw a little throne.

HammerZone.com has a great tutorial on building a workbench that’s easy and inexpensive. For the top and shelf, I sawed up a leftover Ikea table we had lying around, and it turned out to be the perfect size. My workbench was smaller than the one pictured in the tutorial – I scaled it down to about 21″ by 25″, more of a workstand, just for the saw. I wanted something portable since the saw couldn’t just st in the back of our one-car garage – I wouldn’t have enough room to saw anything longer than about six feet. The directions in the tutorial are perfect, and produce a great result.

Next weekend, I’d like to build a similar workbench but stretching the width of the garage, so that I’ve got a place to put my growing tool collection.

I think I’ve found a new hobby. I like woodworking – especially simple stuff like this, things I can do in a couple of hours including the trip to the nearby Lowe’s or Home Depot.


Still installing Linux apps

0

It’s Sunday morning, and I’ve already been plugging away at this for more than two hours. My only goal this morning was to get VMware up and running. Sounds simple – it’s literally a two minute process under Windows. You run the installer, and you’re done. Should be straightforward, right? After all, this is a pretty expensive application – it ain’t OpenOffice, and if OpenOffice can manage a simple install, then this should, right?

Wrong. At the moment, the installation program is telling me: “The path “/usr/src/linux/include” is a kernel header file directory, but it does not contain the file “linux/version.h” as expected. This can happen if the kernel has never been built, or if you have invoked the “make mrproper” command in your kernel directory. In any case, you may want to rebuild your kernel.”

Yeah, right. I may just wanna spend my Sunday morning doing that. Then again, Mr. VMware, I may ***NOT***, because I shelled out $90 to Xandros so that I wouldn’t have to bother with stuff like that, and your installation program should be able to get by. After all, I’ve already had to go download the source code, lay it out in a way that VMware prefers (because it didn’t recognize a lot of the directory names), and go back and forth with the install program.

When they say Linux isn’t ready for the desktop, this is the kind of thing they’re talking about. And come to think of it, “they” includes ME. I’m not giving up, though: I still get the feeling the payoff is coming. Three or four years from now, I’ll be glad I did this, because the OS will be mainstream, and I’ll have the same ground-up knowledge that I gained by walking Windows from the DOS/Win3 days til now.


Basic setup in progress

0

I’m back at home after a week in Dallas, and I’m in the process of setting up my basic development tools under Linux. At first I thought it’d be easy, but it quickly became so overwhelming that I’ve had to create a text file with all of my to-doos.

The first line in the text file, “VPN connection to work,” is turning into a mess. We have a PPTP VPN at work using hardware firewalls. Xandros, based on the Debian distribution of Linux, doesn’t ship with support for the particular type of VPN encryption we use, MPPE128. If I want to VPN into the office, I have a few options, none of them particularly enjoyable. I can recompile the kernel with MPPE support (thereby losing Xandros’ proprietary enhancements), pick a different flavor of Linux with MPPE support, take a stab at IPsec VPN, or get my SMC Barricade firewall to act as a PPTP VPN client. I’ve struggled with the last one before, and I just spent another twenty minutes on it without any luck.


I’m lovin’ Linux

0

Day two, and everything’s cool so far. I’m in the process of tracking down applications to replace the ones I’m used to. For the last few years, I’ve used Nero to burn CD’s and more recently, DVD’s – but it’s a Windows program, so now I have to find the best equivalent in Linux. Sites like Freshmeat are great places to search for Linux applications, but the key word there is search. Lots of searching. If Freshmeat added user reviews like CNet’s Download.com, then it’d be easier to see a program’s weak spots at a glance. A program might have a hundred user reviews on Download.com, but I just read the negatives and look for serious problems that would affect my own use. With Freshmeat, I’m forced to hunt around through each program’s site looking at the features, the wish list, the bugs, etc., trying to gauge how far down the development road a program is. Freshmeat’s Vitality and Popularity statistics are a good start, but not accurate enough.

And so I’ve got a lot of apps to replace: my webcam, my FTP client, my CVS client, and so on. Nothing too tough, just a matter of research.


First photo upload

0

dove.jpgMoving right along – I have a bunch of tools set up, and figured I’d take a chance on the digital camera. Plugged in my USB flash card reader, and sat there like a dummy waiting for Xandros to do something. Uhhh, news flash, Brent, Linux doesn’t quite have the automated tools available in Windows XP, where the operating system instantly recognizes that you plugged in a card from a camera. XP is so gracious about this sort of thing, immediately offering to save the photos for you in your My Documents folder and delete them from the flash card.

After it set in that I’m on my own here, I went into File Manager, and sure enough, a few new removable drives showed up. Not bad, but there was no visual indication as to which drives had media – you had to click on each of them until you figured out which one had the card in it. Still, progress. I edited this picture with The GIMP and presto, we’ve got images.

I’ve gone through several other applications and had a similar level of success: the high polish I’m used to with Windows XP isn’t there, but the basics are in place. For example, I’ve got the Citrix client installed, but when I hit our Citrix web site, it says my client isn’t installed, and Mozilla doesn’t seem to know how to handle the ICA files. I’ve tried telling it to use the Citrix client manually, but the client errors out. I know I’m close, but there’s something missing. I haven’t bothered Googling for a solution yet.

Overall, I’d say that Xandros 2.0 is like the early days of Windows NT4: it works, but it’s not exactly intuitive yet, and it’s going to be a few years before you’d hand the CD to a novice and tell them to have a go at it. You can tell it’s a quantum leap forward under the hood, though, and it’s just a matter of time before the chrome is bolted on. In the meantime, user interfaces aren’t consistent from application to application, and most of the time, when I’ve got a question, the answer isn’t apparent from the documentation or the application.

I’m starving. Time to take a break.


I’m in Linux!

1 Comment

I’m typing this from Mozilla (as usual) via Xandros 2.0 (nowhere near usual.) After giving up on third-party video cards and making do with the onboard integrated Intel video, the installation went smoothly. I’ve done the security upgrades and basic application upgrades, and things seem to be going well so far. Much to my surprise, my ATI TV tuner card works flawlessly – I’m watching Dream Car Garage in a window. Plus, I’ve got Kompete set up with my instant messaging accounts.

Now on to the tougher stuff. By the end of the day, I want to have VPN, Citrix, and Crossover Office set up so that I can use Dreamweaver. Wish me luck.

The black, powered-down IBM flat panel next to me is aggravating me, though.


Still installing Linux

0

The second Xandros installation, using an ATI Radeon 9200SE, looked promising, but didn’t handle the flat panels correctly. It said it saw a Dell 1901FP (correct, hooked into the digital video port) but it rendered on the IBM T541 (hooked into the analog port). Said there weren’t two monitors.

So then I tried downloading all of the updates from Xandros Network, figuring maybe there was a newer X driver or a new X version even. There was – X 4.3 – so I gave that a shot. This is inside the Xandros Network utility, mind you, and it automatically installs all dependencies, so I figure it must be okay. Wrong. Upon the next reboot, the display simply disappeared and the keyboard froze.

I did more research in the Xandros forums, and whaddya know – they support all ATI cards EXCEPT the SE series. Seems there’s a problem with that particular model. Oh. Okay. I gave up in frustration – not with Linux, but with dual head video cards. I’ll go return the ATI to Fry’s this afternoon, and in the meantime I’m just installing using the onboard Intel video card. It’s crummy, it won’t have 3D acceleration, and I will be limited to one flat panel instead of two, but I’m figuring out that installing Linux involves a lot of hardware compromises.

I’m not upset with that: Windows NT4 was like that. Either your stuff was on the Hardware Qualification List, or it wasn’t, and it was black-and-white. If it wasn’t specifically listed on the HQL, it probably wasn’t going to come close to working. This is the same thing. While NT4 required a lot of compromise (and a lot of new gear to buy), it was worth it in terms of improved stability over Windows 95. I’m figuring this will be a similar upgrade.

Plus, I figure after I migrate my sites to Java and plain HTML, I’ll take the P4-3ghz machine that’s currently my server, and do a from-scratch Xandros install on there with an approved video card. This system will just be a temporary learning system.

Still installing…third time (with Xandros) is a charm, I’m hoping.