Category Archives: Linux

Linux

Adventures at OSCON

I spent the week of July 25th in the Oregon Convention Center. No, it wasn’t a secret SQL Server event; I was at OSCON. OSCON is the Open Source Convention hosted by O’Reilly (you may know them as the publisher with animals on most of their books). The best part is that I wasn’t just attending – this year I was one of the small number of speakers who were selected to speak at OSCON (only 1 in 7 were selected).

Speaking: Refactoring SQL

I spoke about Refactoring SQL (PDF slides). I’ve given this talk a few times in the past and this was by far the most comfortable I’ve been with the material as well as the most nervous I’ve ever been. The room I was in seemed like a cavern, but could probably hold around 300 people. By the time I started talking, it was around 40% full.

I’ve received 3.33 stars out of 5 over 9 ratings. I’m secretly hoping more people will pop in and rate me a 5, but I’m not holding my breath. A few people didn’t learn anything in the talk – I’m sorry. A few people learned a lot – WOOHOO! A lot of people said they loved my slides – hell yeah!

To everyone who attended my talk: thank you. I appreciate it. The slides are online, so download them and take a look. A few people stuck around to ask questions, offer suggestions, and just say “thanks for presenting.” A double thanks to you folks.

Attending

OSCON was split into three separate conferences this year – the main OSCON track (Wednesday through Friday) and then two new mini-conferences on Monday and Tuesday (OSCON: Data and OSCON: Java). As a speaker, I got access to the entire week, so I went hog wild and attended every session that I could.

Instead of writing up every session that I attended, I think it’s better to run over the themes that I noticed as I went from presentation to presentation.

The First Theme: Technology Doesn’t Matter

You might think that speakers would be pushing their favorite technology, language, or library through a technology conference. In this case, you’d be wrong. Throughout keynotes one message was clear: technology doesn’t matter. There was a focus from Microsoft, Google, and a host of other companies that the technology stack wasn’t as important as choosing the right tool for the job and making your data available through well-documented APIs, protocols, and standards.

That message continued outside of the keynotes. Very few presenters gave overviews of their favorite language, library, or feature. Almost every talk I attended was about how to solve a problem.

The Second Theme: Never Stop Exploring

One of O’Reilly’s biggest pushes is that we never stop exploring. The keynotes were full of speakers who challenged what they knew and what they were told. Ariel Waldman’s talk on Hacking Space Exploration gave examples of how we could involve ourselves in space exploration every day – from teaching kids about science, putting your own astronauts into orbit, to getting a job at NASA. Many regular sessions covered how companies solved problems, or came up with new products, by continually exploring the world of software, hardware, and human interaction.

The Third Theme: Simple is Good

Simple is good.

Simplicity doesn’t always sit well with people. We want more features, more bells, more whistles, and more fins. Complexity leads to software that’s difficult to maintain, difficult to operate, and difficult to get people to use.

Etsy are famous for releasing code frequently. One of the ways that they’re able to do this (apart from being crazy) is by releasing the simplest code possible. By deploying simple solutions, Etsy are able to carefully monitor their releases and make sure that things are still going well by only shipping simple changes. By focusing on the smallest unit of code possible, they can isolate bugs and roll out changes 30 or more times a day.

The Fourth Theme: Monitor Everything

Humans generate huge amounts of data. But it’s our interactions with hardware and software that generates even more data. Every time you hit a web page, tens or hundreds of requests are made to load images, read from external web sites, and do who knows what else. All of those interactions are logged somewhere. The only way to know when anything is going wrong is to monitor everything.

There are a lot of frameworks that we can use to monitor software in the application tier, and there are a lot tools out there to let DBAs monitor the database as well. In order to have an accurate view of a complex application, it’s necessary to instrument everything. SQL Server has hundreds of instrumentation points, Windows has even more. OS X alone has around 60,000 instrumentation points. Shouldn’t we be adding them to our application as well?

Bonus Round

It turned out that a few people I know from Basho were at the conference. Kendra and I met up with them before things started and I got to make a few new friends at Basho. It’s always fun to get together with geeks and talk about whatever comes to mind. Throughout the week, I met a lot of great people, both from the Portland area and from around the world. One of the best things about conferences is that you get to rub elbows with luminaries in your field and make friends with people like you, who are just trying to do their job from one day to the next.

Jeremiah Peschka

Jeremiah Peschka has worked as a database and emerging technology expert at Quest Software where he researched new trends and technologies in the world of data storage. Over the course of his career he’s worked with companies across many industries as a system administrator, developer, and DBA. He’s been involved with all aspects of application development and deployment. He likes cheesecake, coffee, and ice cream.

Website - Twitter - Facebook - More Posts

Ah-ha! I’m not the only one who struggled with Linux copy/paste

Turns out I’m not the only one who struggled with the copy/paste functionality in Linux. Someone posted an Ask Slashdot question about that same topic, and the answers are telling. There’s not a fix, per se, but a ton of viewpoints on how people need to try to adapt to the operating system – instead of how the operating system just flat out needs to work. Copy/paste isn’t rocket science, and if Linux is going to win desktop users away from Windows, that’s a basic piece of functionality that needs to be in place first.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts

Linux article feedback

My Linux on the Desktop article for HAL-PC hit this month, and already it’s generated more feedback than any of my prior articles. Everybody emails me the same basic questions, so here goes:

What video card did you use? You should have used ___. Read back through my Linux blog category to read my troubles with video cards. The short story: I tried a GeForce2, a GeForce4, and a Radeon. Half of the readers say I should have bought an NVidia because ATI sucks, and the other half says NVidia sucks and ATI is the only way to go. That’s precisely why I didn’t mention the video card by name in the story, because I wanted to see what my readership would say.

What distribution did you try? You should have tried ___. I tried RedHat, Fedora Core 1, Mandrake 9, Mandrake 10, Knoppix, and Xandros Business. (Yes, I shelled out $90 for Xandros.) I didn’t try Lindows or Lycoris because they hadn’t been updated in over a year, and I knew my hardware wasn’t going to work out of the box. None of the distributions listed were able to install on both my Dell Dimension 4600 (P4, 1gb ram, ATI Radeon) and my IBM Thinkpad T21 (P3, 384mb ram, onboard 3com Hurricane chipset). Linux had problems with the onboard 3com Hurricane ethernet chipset and the 1400×1050 display in the laptop, and with the Dell’s setup of two flat panels hooked up to a single ATI Radeon. Xandros came the closest on both, so I went with that.

The only distro to successfully work with everything on the Thinkpad T21 was…(drumroll)…FreeBSD! Odd. I stuck with that on the laptop for a while just for kicks.

Were you dual booting? No, I was trying to quit cold turkey.

Are you still running Linux? Not on the desktop (associated blog entry) but I’m sticking with Linux on my servers. I wouldn’t go back to Exchange and Active Directory for anything, and Linux is simply outstanding on the server side. I’m an old-school DOS user, and I love being able to configure my mail server and web server in simple text files instead of convoluted registry entries.

You sounded a little biased. More than that – I was heavily biased – but heavily biased against Microsoft! I was ready to do anything to get out from under running my own Active Directory and Exchange servers. I wanted something that just flat out worked, worked all the time, worked without setup hassles. I was willing to spend money (and I did, on video cards and Xandros) to get away from MS. In fact, I spent as much money during my Linux migration as I did buying my most recent desktop computer from Dell.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts

You’re lookin’ at Linux!

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.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts

I give – no more Linux on the desktop

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.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts

Moving my site to Linux

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.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts

Hallelujah – I’ve got mail

Three solid days of work have given me the ability to both send and receive email using Courier under Linux. Something that takes literally ten minutes under Windows (well, and a pirated copy of various software programs) finally works under Linux.

I succeeded in getting SpamAssassin working to filter my email, too, thanks to these instructions on installing Courier and SpamAssassin. Many praises to this fella.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts

Still struggling with Linux

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.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts

Working with Solaris

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.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts

Installing JavaHMO on Xandros

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?

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts