Progress report

Well, things have been moving fast! First of all, a huge thank you to everyone who's donated so far. Your kindness is really incredible. Some people have suggested I add some kind of donation-ometer to measure donations, but I'm not quite sure on the mechanics of how to do that yet - I think I'll wait on it for a bit. But thank you all so much for your generosity.

Today I caught up with the forums since New Year's Eve, and did some more refinements to the site. I've also done some packaging work, all a result of requests or issues posted to the forums:

  • I added a package for TuxMath, the counterpart to TuxType - an educational maths game for kids. This is now available in the /contrib/backports repository for 2008 Spring and 2009: the package name is tuxmath.
  • I added a package for gl860, a driver for a couple of specific webcam chips found in some Acer laptops, USB IDs 05e3:0503 and 05e3:f191. This is available in /contrib/backports for 2009, not 2008 Spring yet as I haven't tested that it builds on the older kernel. The package name is dkms-gl860. There's an important note on usage that gets printed when you install it, please read it.
  • I fixed Bug #46536 in nufw, a now-incorrect module loaded during initialization stopped it loading properly. Thanks to Glen Ogilvie for identifying the problem and solution there. The update is now available in /contrib/updates for 2009.

Tomorrow I'm planning to do some more work on the Python 2.6 transition in Cooker, and maybe write up an article or two for this site.

Project Sellout proceeds apace

Well, as you can see if you're reading this, I was clearly lying when I said I wouldn't change much about the site for a couple of days. :)

Edit: you'll notice the site also now has a donate button (and page). I figured some of you guys might be nice enough to just give me some money for being so generally damn handsome and marginally useful. If you like me working on Mandriva and on this site and you'd like me to be able to carry on devoting all of my working hours to it in future - please consider making a donation. Thanks!

The AdSense approval came through faster than I expected, and I did a site re-design. I liked the previous theme, but it's been dead for a long time (so doesn't support newer WordPress features like Widgets), and it's a bit slow. This new theme is a modified version of the Revolution theme Elements (that's an affiliate link, if you click on it and buy a support pack, I get a cut), so big thanks to their designers. Despite the fact I know absolutely nothing about CSS, I decided to forego any paid or unpaid support and just hack the damn thing up myself - removing the background images and thumbnails for each post, changing the colors, and shoehorning ads into it. As the theme is GPL I'll stick my modified version up for download soon - not yet as it's probably still a bit buggy, I still need to change a few colours and check it with all browsers. If you'd really like a copy of my modifications RIGHT NOW, just drop me a line. It's not as pretty as the original, but it's not ugly (I don't think), it won't look exactly like anyone else's site, and it's quite easy to read, so I'm good with it. If you have any comments or complaints about the appearance do let me know.

And yes, the ads are here now. If you have NoScript or AdBlock you're probably not seeing them - the site should just look like a site that doesn't have any ads. If you want to see what it looks like with ads, turn off NoScript and AdBlock for this domain. There's one graphical banner ad space in the header next to the blog title, and a box of text ads at the bottom of each post. That's the lot.

To continue Project Sellout, I'm going for affiliate programs. I tend to mention bits of hardware, books, CDs and the like occasionally on here; from now on, these will be (when I remember, and when possible) done as affiliate links, so that you can go buy one easily and I get a bit of money for it. I'll use NewEgg (as I know it's a good site) for U.S. hardware stuff and NCIX (as it's where I shop) for Canadian, and probably Amazon for the other stuff.

Farewell, dignity! You were nice while you lasted.

Early warning: AdamW sells out

Well, that's it - I'm now officially not working for Mandriva any more. My contract expired last night (I was, of course, busy working right up to the last second, and not in any way at all on my eighth beer at a banquet hall on Kingsway. Definitely working.)

I haven't yet got another job (though there's a few things ongoing). I also can now have a lot of time to devote to trying to make money some other way.

So - I'm selling out! This blog has never carried ads up till now (I always felt it was kind of tacky to run ads on what was really just a "what I'm doing today" site, and I didn't need the money). Assuming I get approved by AdSense, it'll start carrying ads soon. I intend to take the approach taken by Dan of Dan's Data, whom I respect hugely, to this nefarious system: it's utterly impossible to have any kind of real control over what ads AdSense runs on your site, so I'm not going to pretend I do. I don't and never will endorse the stuff that gets advertised by AdSense, and it may well turn out to be stuff that I would explictly not endorse if asked in person. So unless you see me saying how great something is in a real actual post typed by me, I don't endorse it. It's just advertising. Don't blame me if it sucks, I never said it wouldn't. And please don't tell me if they turn out to be ads for things that obviously I would never choose to promote, like Windows or SUSE or something. I can't control it. Just don't click on 'em.

I personally use AdBlock with a big strong filter list, so I'd be raging hypocrite if I started whining about how it was stopping me making money. So I won't. But if you want to be nice to me, consider turning it off on my site and clicking on the ads if they interest you. I won't hate you if you don't, though. Because then I'd be hating myself.

My vague general plan is to start writing a lot more, and a lot more 'real' articles that are fully fleshed out. I'll probably try and sell them to major sites and magazines at first, and if they don't sell, I'll post them here. Generally produce a lot more content, pimp it out outrageously, and hope to generate enough interest to at least make back my hosting costs. It's either that or spend even more time lying on the couch watching sports, so I ain't losing anything. I haven't tracked stats on this site for the longest time, because I don't really care about popularity for its own sake, but I stuck awffull on the server today (I know stat tracking apps are generally hilariously insecure but it's not accessible outside my private network, so don't bother trying to hack it...) and it turns out the site averages about 800 unique visits a day - maybe 700 real-people-looking-at-the-blog - which is a heck of a lot more than I imagined. From what I can tell from the experience of others that would translate to about sixpence a month in ad revenue, so this ain't going to make me rich overnight, but as I said, I'm not losing anything, so what the heck.

I'm not going to start doing all sorts of evil tricks solely to try and get advertising income, that would be evil. But I'll just generally write a lot more general interest stuff. If what you're mostly interested in is a) me (why, for the love of puppies?) and / or b) Mandriva, you might want to look at filtering based on category (though of course I'd love you if you read all the other posts and recommended them to all your friends). I'll try to set up a few more different categories to split out the stuff I post about more clearly, if this goes anywhere.

You'll notice that each post now includes a set of links to Digg-type sites at the bottom, which is all part of the promotion bit of the idea. The ads will probably start showing up in a couple of days - as soon as Google approves me. I may experiment a bit with ad types and placement at first. There'll definitely be no dynamic ads, that's just plain mean, and no pop-ups or anything like that. There'll be text ads, and possibly relatively small graphical ads if I can get them into the page in a way which doesn't make me want to die of shame. We'll see.

The new types of post will probably start showing up in a few days too. I have a few ideas. I may mess around with the layout / appearance of the site, but probably not at first, apart from some pretty minor changes you probably won't notice.

If anyone has comments, suggestions, ideas or questions, just post 'em. I'm new at all this and I don't really know where it's going, I'm just going to make it up as I go along. Like I always do. :)

Thanks for all your support over the years, everyone, it's been a great ride so far.

Finally, if anyone's interested in any kind of direct advertising on the site, let me know. If you sell something that I actually think is a neat valuable product / service, I'd be happy to advertise it with an actual recommendation (unlike the AdSense ads), and / or pimp it appropriately in posts, always with a clear notice that I get paid for doing it. Something like Dan (again) does with Aus PC Market. My readers are, I guess (not that I have extensive survey data...), generally Linux enthusiasts with a moderate level of technical expertise, so if you want to hawk a product or service that'd be of interest to that kind of user base, drop me a line (see the Contact page linked in the right hand side bar) and we can talk about it.

Activity

The last couple of days I've mostly just kept up with the forums. I've been having mirror problems (carroll is down), so it's been hard to work on anything else. I did take a quick look at packaging XBMC, but frankly, it's a giant ball of hair, I just...ew.

Tomorrow I'm planning to look at stuff that uses python-qt (3) and python-kde (3) and see if any can be moved to qt / kde 4.

Activity

Well, today was a yak-shaving day par excellence.

(Yak shaving, if you didn't know, is a term used to describe the situation where one perfectly normal thing leads you to do another perfectly normal thing, and so on and so on, until you find yourself shaving a yak).

I started off still working on the Python 2.6 rebuild. When I couldn't get wxpython 2.6 to build because of some crappy annoying error, I decided instead of working too hard on fixing it to see how many things we have left that depend on wxpython 2.6. I figured it couldn't be many, and I was right. For those who don't know, wxWidgets / wxGTK is a widely-used GUI-building library; version 2.8 came out quite a while ago, now, but most distros keep a copy of 2.6 around alongside it because some things wouldn't build with 2.8. Fedora's the only distro that's gone to 2.8-only so far. wxpython is the Python bindings for wxWidgets - if you want to write an app in Python using wxWidgets as your interface library, wxpython's the lump of code for you.

Turned out the only things left that depended on wxpython 2.6 were tovid, icepodder, python-hachoir-wx (popular software, that!) and a couple of BitTorrent clients - bittornado (which has been abandoned since 2006) and the official 'bittorrent-gui'.

I fixed tovid, icepodder and python-hachoir-wx to work with wxpython 2.8. Then I decided to just kill BitTornado and bittorrent-gui, because there's really no freakin' reason to use them any more. So if for some crazy reason you still have them installed - when 2009 Spring comes out, they'll be silently replaced by Transmission. Just so ya know.

So, ding dong, wxpython 2.6 is dead. Fun stuff! Emboldened by this success, I decided to have a shot at killing off wxGTK 2.6 itself, not just the Python bindings. So I generated a list of everything that uses it (anything that requires libwxgtk2.6 or libwxgtku2.6, basically) and started working through.

So far I've fixed up bacula, beid, freqtweak, iaxclient (via its subsidiary iaxcomm) and sffview. Tomorrow I'll tackle libwxhaskell and xchm, and if I can do those, we can go to wx 2.8 exclusively.

The yak shaving comes in in terms of actually fixing the stuff. Fr'instance, I had to patch various bits of beid to make it work with wx 2.8, but even after doing that, it wouldn't build on the buildsystem because of some batshit weird interaction between python 2.6 and scons 1.1.0 which caused it to add a space between every letter (l i k e t h i s) when scons added some CFLAGS. So I had to update scons to 1.2.0, which fixed that, but triggered another problem in part of beid's crappy buildsystem (which is basically something called bksys that died years ago, nothing else uses it any more). So I had to track down the guy who wrote bksys on IRC (at 4 a.m. in France, no less...), who helped me sort that one out.

Then there's iaxclient, which required packaging an entirely new library it depends on, and also required rebuilding one of its dependencies, kiax, which in TURN required another new library and a lot of poking around at its entirely-not-yet-ready-for-public-consumption build system (which assumes you're building it as a giant static binary, linked against a big set of static libraries which it assumes are present in the source tree but aren't actually shipped with it...) Actually I haven't uploaded it yet because it doesn't run properly, I'm waiting for some input from upstream on that one. I think it's a threading problem.

Of course, you might wonder why bother doing all this in the first place. After all, most of this stuff probably worked okay when it was built against wx 2.6.

Well, it's what developers and maintainers refer to as 'cruft', and we don't like it for good reasons. People generally don't like working with cruft. No-one actually wants to maintain wx 2.6 packages, because upstream doesn't maintain it any more and isn't interested in fixing any bugs you find, so you have to do all the work yourself, and it becomes a teetering pile of patches which have to be re-examined and fixed and updated for every new library major and GCC revision. It means that if you come across some kind of general bug in wx, you have to fix it twice, or - more likely - it won't get fixed in the old version at all because no-one loves it enough. Basically, old code doesn't get enough attention, and eventually the stuff that uses it will break. So to keep things floating along properly, you really have to clean out the cruft when you can.

So, that took up all day, in the end. Hopefully I can finish it up tomorrow and move on to something else. Whee...

Activity

Well, hope everyone's enjoying the season.

Over Christmas Eve and Christmas Day, I was mostly working on the great Python rebuild: misc has bumped Python in Cooker to version 2.6, which requires rebuilding just about every Python-related package in the distribution, of which there's several hundred. So I've been working on that, along with misc and Funda Wang.

I also tried (without much success, sigh) to get some word out about the Gdium One Laptop Per Hacker program (send a good development proposal, get an early release, reduced price Gdium). Worked with the upstream Tcl community to fix some code problems in amsn exposed by Tcl 8.6b1 (thanks to Michael Schlenker for the help there). Did some testing of Alpha 1 and filed several bugs on the KDE 4 out-of-the-box experience. Tested VDPAU support in the NVIDIA driver, for Anssi.

Today I'm catching up with the forums from yesterday, and will be carrying on with the Python stuff (it's hard to work on anything else in Cooker until that's cleaned up). And at 4:30pm I hang it up, because it's the start of the world juniors (Canada vs. Czech Republic), followed by the Canucks game. Yaay.

Activity

Trying to get back to writing down what I'm doing a bit more often, so...

Today I handled the 2009 Spring Alpha 1 release. Wrote the Wiki page for the release, then wrote initial versions of the Release Notes and Errata for 2009 Spring. Sent out announcements of the release to various places (OS News, Linux Today, Tuxmachines, Distrowatch, Digg, FSDaily, Linux.com, LWN.net, LXer.com, Slashdot).

Cleaned up a mistake in the tuxtype update I pushed last night which stopped it building. Updated kdar to 2.1.0 final and moved it to the KDE 3 paths since it's a KDE 3 app. Updated meta-task to fix bug #46552 (trackpads not working in Alpha 1 as x11-driver-input-synaptics isn't installed) for future releases. Updated Tcl/Tk to 8.6b1. Updated NVIDIA to 180.18, and added the latest NVIDIA and ATI card IDs to ldetect-lst (this is what's needed so your graphics card gets auto-detected by the Mandriva tools). Updated Barry to latest CVS. Sent a rebuild of Miro to /backports for 2009.0 so it gets rebuilt with the updated xulrunner that just shipped in /updates.

Helped a frustrated Powerpack customer (who was referred to me by the support team) to get his Broadcom wireless working. Did a private build of latest SVN openchrome driver for a couple of HP MiniNote users (the MiniNote needs the latest openchrome SVN to work properly, with 0.2.903 it gets stuck in 640x480 mode; if you're here from Google looking to get a MiniNote working right with 2009, EDIT 2013: here's a nickel, kid, for the love of Pete, go buy a better computer).

Explained politely to some people at OSNews who think they have the ultimate answer to package management that they don't know what the heck they're talking about. Commented on MeandUbuntu's review of Mandriva 2009 One, and swapped a few emails with him to see if I could figure out why Ubuntu gets his resolution right out of the box but MDV doesn't (it's because Ubuntu uses radeon while MDV One uses fglrx).

Various misc email correspondence (how to deal with tdbc within Tcl, asking Romain to add a link to the new Turkish community forums from our forums, reporting missing deps in the new Online function...), and going through the forums as usual.

Aaaand now I'm off to finish watching the Sharks pound the crap out of the Canucks. Sigh. At least this game will hopefully shut up the Schneider fans. I don't like the guy. All about Sanford here.

Student. Teacher.

As one who has dabbled in the art of the controversial blog post myself, I must bow down before a master when I recognize one:

Exhibit A.

I was particularly tickled by the line:

"You don’t get to come late to the party a decade later, buy up a couple of small companies, and then declare that you are one of the most signficant contributors ever. What you are is a johnny-come-lately that found a product to save your failing business. Your contributions may be welcome and signficant, but you don’t get to lord them over the community like you are King Shit astride Turd Mountain."

Man, I'd better try harder next time!

How I Spent My Weekend

...well, I watched two hockey games and a lot of football. But other than that...

The official Mandriva Tcl packaging policy is now live. It's basically the Fedora one with a couple of changes. Thanks, Mysterious Fedora Tcl Policy Writing Guy, whoever you are.

Kompozer - the HTML editor formerly known as nvu - now actually works, in Cooker, and in 2009 if you grab the package from /main/testing (it should show up as an official update soon). Many who use it have discovered that the 2009 package would crash immediately on startup. This was because the code had a buffer overflow in it, and GCC's code fortification was protecting you from it. Willem van Engen was smart enough to provide a patch to fix the overflow, so thanks to him.

Pygame-based games now work again, in Cooker and 2009. There was a permissions bug stopping anything that used Pygame and relied on its default font from working, which includes at least childsplay.

You can use Portaudio-based applications - the most important of which is Audacity - with PulseAudio now, in Cooker, and in 2008 Spring if you use the packages from /main/testing. I can't get it into 2009's /testing because of a problem with the buildsystem. This is pretty neat for anyone who uses Audacity a lot, because previously, you had to either disable PulseAudio, or suspend it while running Audacity. Thanks to Fedora contributor Kevin Kofler for that patch.

Cooker and 2009 /contrib/backports now have a fully working and up to date set of Spring packages. Spring is the open source RTS game engine based on the popular old RTS game Total Annihilation. It's been around for a while, but has really got smooth in the last couple of years; the game works very well and the springlobby front end makes it very easy to set up online games. I worked with one of springlobby's authors - 'braindamage' on fixing several issues with it, so thanks to him for his invaluable help there. If you haven't tried Spring in a while, now's a good time.

Cooker has NVIDIA 180.16. This is utterly untested and may eat your babies. It probably won't show up in 2009, as the other 180 betas so far haven't; we're not keen on the idea of backporting beta releases.

Finally - I've been thinking what I'd do if Canonical offered me a job. They haven't, and I have no indication at all that they will, but I just got to thinking what I'd do if it did happen.

When I first found out I'd be leaving Mandriva I pretty much figured I'd dismiss it out of hand. But since then, a couple of things have happened to change my perspective a bit (won't go into that), and now I'm not sure. If Ubuntu is going to be the most significant pure desktop commercial distro, I'm not sure if refusing to work on it would be cutting off my nose to spite my face. I have a fairly deep skill set in a very specific area - basically, fixing, hacking around, or otherwise avoiding all sorts of issues with using Linux in a normal, home desktop system, and helping to develop a user community around that. It's not a skill set that's very transferable. I know I wouldn't work for Novell - I respect a lot of the work Novell do, but my objections to the Microsoft deal are a lot deeper than any problem I have with Canonical, I just couldn't see myself working in that situation. So with them out, the only other two companies really in a position to pay someone to do what I do are Red Hat and Canonical. So if Canonical offered me a job, and the only other option was going back to doing tech support for the local cable company, would turning it down really be the best thing to do, the way I could best contribute in my own small way to the Linux community in future? I'm really not sure. So I don't entirely know what I'd do. The problems I have with Canonical that I wrote about before haven't gone away at all, but I don't know if it would be the right thing to do to refuse on those grounds. It doesn't seem at all productive, in the end.

If any of you have any thoughts, do let me know. Probably academic anyway, but it's something that seems important to me personally, if nothing else.

Happy metrics on community growth

OK, the title makes sense if you read Planet Mandriva :)

This is in response to the outrageous FUD of that still-having-a-job bastard Vincent Danen ;), who is all doom and gloom about the Mandriva community.

Poppycock, says I!

Thanks to the incredibly useful WayBack Machine, I pulled out some interesting numbers on the Mandriva forums over the last few years. I just looked at the forum index page on approximately the same date each year - usefully, it cites the number of registered users, and the total number of posts. These numbers cover all the languages handled by the official forums, not just English. Practically speaking, they're probably almost entirely English and French, in a 50/50 split.

So, without further ado:

Graph of forum numbers

The blue line is users, and the purple line is posts. In December 2005, there were 26,771 registered users. During the year 2006, there were around 87,000 posts to the forums. In January 2007, there were 39,596 registered users, a rise of around 13,000. I believe this is partly because the forums were opened up to all users during this time - previously, some areas were restricted to Club members only.

During the year 2007, there were around 123,000 posts to the forums, and user numbers went up to 44,361, an increase of around 4,000. Finally, during the year 2008, there were around 188,000 posts to the forums, and user numbers went up to 56,115, an increase of around 12,000.

So, don't believe the hype! The community is great. You guys rock. Everyone tell Vincent what a goober he is. :)