Archive for the ‘Linux’ Category

Going to the LinuxFest 2008

Thursday, September 25th, 2008

This will be my 4th year going to Ohio LinuxFest. It’s really blown up in popularity over the past few years and is always a good time. This year will be bigger and better than ever.

I actually got a room and will be heading up Friday night this year so I can go to the pre-party. Everyone is busy the day of the show so I hope to be able to meet more people on Friday night. I still have a free bed Friday night (I got a double room at the Drury), so if you’re interested, let me know. I made a post on the TLLTS forums so you can get ahold of me there or E-mail directly.

I registered late so if you’re not registered now, you’re REALLY late. Do it now!  :)

Click the picture to go to the site.

Got to OLF!

Wisdom from Rock Stars ™

Thursday, March 6th, 2008

“It’s not just about grep” - Jono Bacon (Lugradio Season 5 Episode 12)

In other news, I really should blog more. I’ve got interesting stuff going on.

I’ve been programming BASH script and Perl lately (for a project for my home server), and am learning C. I’ve always wanted to really learn C, and it seems like it’s sticking this time. I’ve even got some VBA code (however small) in production at work!

More later… (hopefully).

I’m Down with OLF!

Friday, September 28th, 2007

It’s that time of year again! Tomorrow I’m going to Ohio LinuxFest. The last 2 years have been great, and this one looks like it will be better than ever. Check out their site here.

I’ve also got a picture of me at last year’s Fest. Me and Linc!That’s me on the left and Linc from the Tech Show on the right. If you’re anywhere near Columbus, show up and say Hi!

Maybe after this show I can edit the hour of video and 10 pages of notes from last year’s show! :)

OHIO LinuxFest is teh ROCK!!

Thursday, September 21st, 2006

OK, if you know me and you don’t know about Linuxfest, then crawl out from under your rock, click the link and check it out.

 The Fest takes place Saturday October 30, in Columbus Ohio at the Convention Center.

I went last year and really enjoyed it, and this year it looks like it’s grown considerably. IBM and Digium had a big presence at the show last year and are sponsoring again this year. IBM’s keynote on virtualization and the company’s commitment to Linux was pretty cool.

One sponsor I did not appreciate was Astaro. They sent a speaker who’s talk was nothing more than an advertisement for their products with no actual content. I left 20 minutes into the talk after half the people walked out.

This year Jeff Waugh is giving the opening keynote. Jon “maddog” Hall is giving closing remarks. Ted Haeger and Chris DiBona  will be there. Red Hat, Fedora, Linspire, NetBSD/FreeBSD, Novell and GNOME (among others) will have booths. The Linux Link Tech Show guys will be there. And best of all there will be Live penguins!

They’ve got a blog if you want to follow the news. If you’ll be there, by all means look me up. I’ll be around.

New Documentation site for Jokosher!

Monday, September 11th, 2006

The Jokosher project has a development site using Trac. It’s a good setup for software developers because it combines a source code repository with a wiki, allowing code, bug-tracking and documentation all to happen in the same place. We did most of the documentation for Jokosher 0.1 there on that site.

Before the next release, though, Jono wanted to have a separate documentation site. This minimizes the number of people who need accounts and SVN access on the developer site. It also gave me the opportunity to look into a setup better tuned to documentation, rather than software development.

We settled on using MoinMoin, mostly because it supports DocBook/XML natively, is written in Python, has great theming support and seems to be actively developed. We used two wikis, one at http://doc.jokosher.org that has been themed to look almost exactly like Jokosher.org, and a second at http://userdocs.jokosher.org that looks more like a wiki.

The first site appears to the “casual observer” as just another page on jokosher.org, but it can easily be updated by me without giving me FTP access to the server. It also lets me post documentation in DocBook/XML, which we couldn’t do with Wordpress.

The second site will be open to anyone who wants to edit, and will give us an easy to use place for documenters to collaborate. As new documentation is finished it can be moved to the main docs site for users to access.

Eventually this will all be integrated to look like one congruent web site, even though it’s 3 sites (jokosher.org, doc.jokosher.org and userdocs.jokosher.org) on 2 different pieces of software (Wordpress and MoinMoin).

Server rebuild - with Gentoo

Friday, September 8th, 2006

I have an old machine I’ve been using as a server for the past few years. It serves my mail, CVS, MySQL; acts as a home webserver (for internal use and testing) and MoinMoin wiki. I built it mostly for fun, but I seem to be relying on it more and more.

I’m currently running Fedora Core 4 on this machine. It’s actually been running Fedora for over 2 years now and has been continuously upgraded since Core 1. Aside from power outages and moving to a different home, this machine has only been down to boot into a new kernel.

Since Fedora Core 4 is end of life I now have the option of upgrading yet again or switching distributions. I love Fedora on the desktop but I’d like something more stable (as in “doesn’t change much”) on this server as I just don’t feel like messing with it.

So here I will relate the process I went through to pick a new distro. Maybe someone will find it interesting.

The Victim

  • Processor       AMD K6-3, 400MHz
  • Motherboard  ASUS P5A Socket 7, circa 1998
  • RAM               384 megs PC 133
  • Hard Drive   Samsung 40 gig (jumpered to 32 gigs per BIOS limitations)

This system is crusty and old, but it works. This motherboard has been in near constant service since 1999. The original CPU fan died so I wedged an Athlon cooler in there. It barely ever gets above ambient temperature!

The Criteria

Here are the criteria I used, mostly in order of importance.

  1. Stable - don’t make me upgrade every 6 months. Updates more oriented to bug fixes and security.
  2. Easy - basically this means Red Hat based. I won’t have to learn anything new.
  3. Fast - optimized for i586 or preferably K6-3 would be a plus.
  4. Minimal - smallest install possible, with few packages installed by default.
  5. Apache 2 - I’m used to apache 2, and would prefer it over 1.3.
  6. Different - This conflicts with “Easy” above, but it would be nice to learn a non-Red Hat based distro if there are enough other incentives.
  7. Up-to-date - I don’t want bleeding edge, but I think the 2.6 kernel by default is reasonable.
  8. Big package selection - my requirements aren’t huge, but I’d like to do everything I want without having to go outside the package management system and standard repositories.
  9. Python 2.4 - MoinMoin likes the latest Python it can get, but this isn’t a huge factor.

The Distributions

I compiled my ratings in a spreadsheet. Each distro could get up to 1 point per category. I gave the top 2 categories - stability and ease - up to 2 points.

(Sorry about the crappy table. I blame Wordpress.)

Distro Stabl Easy Fast Mini apache2 Diffrnt UTD Packgs Py2.4 Total
Gentoo

 

 

1

1

1

1

1

1

1

7

Arch

 

 

1

1

1

1

1

 

1

6

Slackware

2

 

1

1

 

1

 

 

1

6

CentOS

2

2

 

 

1

 

 

 

 

5

FC5

 

1

 

 

1

 

1

1

1

5

FC4

 

2

 

 

1

 

 

1

1

5

Ubuntu

 

 

 

 

1

1

1

1

1

5

Debian

2

 

 

 

 

1

 

1

 

4

Gentoo
As you may have guessed, this is the one I chose. I’ve tried Gentoo before and always got fed up. This time I’m going to go for it. It loses on my 2 top categories - stability and ease - but the other pluses won out. It can be optimized for my CPU. It is as minimal as I want. It has the packages I want in versions I want. It’s definitely different and will teach me some new stuff. It has as big a package selection as I could want. Since I can control everything I can overcome the stability issue as well with a little research. I think this shows one of the virtues of Gentoo: it can be bent to fit many niche applications.
Arch
The only point Arch looses to Gentoo is on package selection. I found the installation to be needlessly complex and the instructions unclear. It’s also i686 specific, which means it’s not for me.
Slackware
Slack is very stable, fast and minimal, but a bit too behind the times for me. I’ve been running 2.6 kernels for years, and would like a distro that has as well. I also like package management that involves dependency resolution. A computer can figure out what depends on what. I shouldn’t have to.
CentOS
This was initially my top choice. It would be easy to move to CentOS and keep all the familiar Red Hat goodness, but gain stability and long support cycles. In the end, though, a thirst for the new and the need for a fast, minimal distro won out.
Fedora Core 5
It would also be easy to do an upgrade or an install of the latest Fedora on this machine. I know I’d be doing it again in 6 months, though. A ‘minimal’ install these days is getting to be about 1 gig, which is a bit much. I’m running into some SELinux problems on my other FC5 machine (the way I have MoinMoin configured it does some things that are unusual and insecure ). I know how to write my own policy to get around the problems, but I’m tired of dealing with it. FC6 is supposed to have easier SELinux tools. For a home server I don’t need the security.
Fedora Core 4
It’s end of life. I could get updates through the Fedora Legacy project, but I’m already running into packages that are older than I’d like (like MoinMoin and MySQL). There’s also the hunger for something new which is really the reason I thought about changing in the first place.
Ubuntu
I’d really like to run Ubuntu, but I don’t think it’s to be. They’ve got a server version now, but it’s not attractive enough in enough areas to make me leave Red Hat land. People who like Debian love Ubuntu, but I’m not one of them. I may put it on a desktop some day but I’m not going with another rapid-release-cycle distro on the server.
Debian
I’m just not a Debian person, it seems. It’s known for being stable, but more stable than I can deal with. Even ‘Etch,’ the ‘testing’ version is a bit crusty for me. I’d have to lose some newer packages I really want (although it seems to be an excellent platform for MoinMoin). I’ve also seen Debian stable servers crash more than I like.

Conclusion

So the numbers have spoken, and I’m going to install Gentoo on my server. I’m actually kind of excited about it. I’ve experimented here and there and run nearly every major distro (including some BSDs). This is the first time I’ve decided to run a non Red Hat based OS on a vital machine for any length of time. I’ll post again once the install is done.

More on Writing Documentation

Thursday, August 24th, 2006

Jono has been writing lately about open source communities and how to make it easier for people to get involved. While I could quibble with the details, I agree with the principle. People contributing to open source projects shouldn’t have to deal with technical details. Art guys should know the intricacies of Inkscape, but not SVN and bugzilla. Coders should (just) deal with code, documentation people should deal with documentation.

From the documentation perspective, I don’t agree that documenters don’t need to know markup languages.

To me, writing documentation is a form of teaching. A documenter’s job is to instruct the user in how to do what they need to do. Documentation should make things clear, spur ideas, and empower. It should give the reader mastery of the software and enable them to integrate it into their brain as a tool. Documentation should do all this as quickly and clearly as possible.

To meet this end, document writers need to be as structured and organized as possible. We need a high level overview of the problem so we can break it down for the reader. We think in terms of the hierarchy and flow of a document. Just as an essay needs to have an opening paragraph, supporting points and a conclusion, a User’s Manaul needs a certain sructure that follows the way a user will look for help.

So a markup language of some type is essential. Be it HTML, wiki markup or DocBook/XML, we need to be able to structure documents. The problem is most markup languages suck. HTML works great for web pages but it makes sloppy documentation. Wiki markup is quick and easy, but it’s too limited. DocBook/XML forces the writer to use good structure and hierarchy, and takes care of a lot of the tiresome details (like table of contents, and nearly all presentation markup) but the learning curve is pretty rough. It is needlessly complex for most things.

The solution?

We need more accessible tools. For documentation we need a more usable subset of DocBook, or maybe a whole new XML application designed for software documentation. I hear something like this is in the works. We also need editors that can handle whatever format we settle on. I’ve tried various editors and in the end I’m more productive editing in Vim and doing all the markup manually.

If we’re actually going to solve these problems we need to do away with the edit-patch-submit cycle altogether. What we’re doing in Jokosher is a good example. We did almost all the documentation for 0.1 on the wiki, then generated our final docs from that. It still required a lot of manual work to get from wiki output to the final HTML, though. Now that we’re moving to DocBook/XML, the situation is worse. We’re building a new site that will support editing HTML and DocBook directly on the wiki, but the tools are still not there yet. We will need to modify existing tools to get what we want.

We need an infrastructure that supports contribution, but who builds this infrastructure? I’ve seen good projects suffer because there are people who would love to contribute, but just can’t get their foot in the door. Again, the Jokosher project has solved some of these problems. We’ve taken the time to write “Getting Involved” documents to give people step by step instructions to contribute. We’ve got forums and wikis and clear documentation for developers. All this stuff takes time away from development, but building a community that allows people to get involved means a better project in the long run.