A good definition for annoying

When the bug doesn’t appear with debug logging enabled.

a followup on “Don’t buy MSI”

I’m still waiting to get my box back. I’m meant to be getting a call back from the shop where I bought it later today (I called them, again, this morning).

i want my mythtv box dammit.

Don’t Buy MSI

Not yesterday sunday, but the sunday before that (i.e. now 8 days ago) I bought an MSI Mega 180 case to use as a mythtv box. Not only was it DOA, I still do not have it. It’s expected to come in the day after tomorrow. That is TEN DAYS since i bought the thing.

What seemed to be a well priced and suitable box (PCI slot and mini-pci, so i can use the mini pci for wireless – yay. also space for two HDs) is proving a pain in the arse – and I haven’t even used it yet.

I am very close to getting very annoyed.

organisational structure and being sustainable

Michael Davies made a very astute comment on Saturday night (while at the “Everyone from the South Australia Linux community (e.g. LinuxSA) is welcome to join the Linux Australia committee for dinner and discussion dinner” – Michael showed up, and he’s really cool – so that’s good. SA – we were there to hear your voice! in person! as always though, you can post to linux-aus and discuss there – but it would have been nice to see more of you!).

We had been discussing during the day (at our face-to-face meeting) the sustainability of the way Linux Australia is run. Michael made the comment that currently we are taking the risk of being sustainable only through, by sequentially burning out really good people.

One of the reasons Andrew Cowie and myself wished to continue on the LA board this year was to ensure the future operation of the organisation by making sure it was being organised and run in a way that made it sustainable and be the biggest success possible. Both of us have been involved in organisations in the past (as have many other people in the broader community) that have suffered from individual burnout, poor policy, top heavy (insert word i’m thinking of here) and a bunch of other non-useful things.

We had a discussion amongst ctte where some of the following were raised (intermixed with my personal opinion and whatever – it’s my blog dammit! :)

  • it is a volunteer organisation – the people putting in their time are not employees. The situation of calling someone into a meeting and asking “why haven’t you done this” with a “it’s your job dammit” tone, just isn’t what you can do.
  • The burden of doing accounts is an unreasonable one. The treasurers job is one of supervising, not dealing with every single expense and account keeping. It’s a lot of work. We have two treasurers as well (one specifically looks after LCA stuff, and the elected one, Mark, takes care of fitting it all together, and all the LA stuff that goes on. Talk about a large amount of work – and I think my taxes and finances are a lot and annoying. This, I think (and expressed) is currently one of our biggest problems. We have been lucky with people, and Mark does deserve a rich life outside of work and LA treasury. It is my opinion that hiring help to do a lot of the financial work is something that is not only a good idea, but easily justifiable as an expense and something we should seek to make happen. I hope this will move forward over the next few months. Remember folks, if the finances are stuffed up, we don’t have an LA, and hence we do not have an LCA.
  • We need to run at least cost neutral – positive cash flow is a good thing as it means we have money we can spend on other projects and initiatives (there have been many great ideas that simply require too much volunteer effort and/or cash to do properly). It would also be very nice if our running costs were covered purely by interest on existing funds. Being in a strong financial position is a good thing. Being Free Software is not being pov and cheap. It’s about being successful and free.
  • The committee has limited time. They are busy, active people (at work, at life, in the FOSS world). They also deserve time to spend with partners, friends and sipping large alcoholic drinks from coconut shells on tropical islands. It is my strong beleif that the committee taking on the role of the Board and of the Executive is unsustainable and will lead to burnout of all the enthusiasm and see the best people stop doing things for the organisation. Eventually, the org will collapse. This is bad.
  • I guess this is probably no longer being short dot points (which i am such a fan of).
  • There is a distinct difference between Board and Executive. The Board is responsible for ensuring the continuation of the organisation. Primarily, this means ensuring that we don’t go broke. Approving budgets, the treasurer overseeing financial goings on and setting the organisation in the right direction for prosperity (e.g. deciding that having an LCA is the right thing to do and sending random people off the street to tropical islands is not)
  • The executive is the people who go out and do work. Task oriented kind of approach. This has worked really well for LCA organisation. Everything is task based (e.g. “We need to get a venue”, “we need to have a CFP”).
  • A simple way to look at it would be the LA board deciding “this organisation should have a LCA” and then finding people to EXECUTE this decision – i.e. the LCA organisers. We approve their budget and act as check-and-balances and other such responsible things. Remember, failed LCAs loosing big bucks translates into either much lower key future LCAs or no more LCA.
  • It is my view that very few people have a solid understanding of organisational structure, problems, safeguards and making an organisation sustainable. The fact that we have spent many, many hours discussing such things (and all learning a lot from each other in the process) – with the specific goal of making LA better – is something that our membership does not have. They have decided that it’s us who should spend the time worrying about such things. I have never been to a business school and nor do I have any desire to go to one (and, my bet is, nor does a lot of
  • One day we are going to get sued (or audited, or something where we need to prove we are not a pack of fools). We need to have due diligence. This stuff is boring. It is not what people spend their weekends doing for fun. Accountants go skiing too remember, they don’t spend their spare time with spreadsheets and using GNUmeric for fun! There is paperwork (govt stuff, tax stuff, formal minutes of formal meetings, documentation of decisions, policies, finances etc).

There was also a interesting discussion (with several different viewpoints) about how to ensure that the board is made up of the best people possible. This includes having people on there with knowledge of the organisation. There is no doubt that the new members this year will testify to the fact that there is a lot they don’t know. They are getting used to the roles. Just as those of us who have been on it before did when we joined.

It would be really bad if, when someone is getting used to their role (for example, someone with a high up position of great importance – e.g. president, treasurer) and there suddenly is an election. It takes more than 6 months to get into a role. An election is yearly. Members have not had a chance to see these people in their roles – they have seen them get used to them. As a real-world example, if Mark had not continued in his role as treasurer (and then some!) we could, quite potentially, have been fucked. He has been setting up a lot of infrastructure. It’s not there yet – but it’s getting there. Personally, I am quite partial to the idea of having only half the committee stand for election each year. This will ensure continuity between boards and allow people enough time to get into their role and actually be in it.

“To facilitate the enthusiasms of the linux community”

It’s a phrase we came up with in the first ctte meeting I was at. It may, on the surface, to some, sound like marketing doublespeak. Think about it, it’s not. It’s actaully really accurate. If we facilitate, we win (we facilitate – i.e. oversee and fund – linux.conf.au. It works really well). If we were to run it each year, we’d loose. If we facilitate enthusiasm for a project, we provide a bunch of admin stuff (and possibly funds), leaving the people with the enthusiasms to get on with the enthusiasm.

Anyway, sorry I don’t have time to make it shorter. I hope this helps people understand some stuff of where I’m coming from and I hope people will correct me where I’ve written crack.

comments welcome!

Heading to Adelaide

this evening i’m heading to Adelaide for a Linux Australia Committee meeting.

We’re having a open-to-anyone-who-wants-to-come-from-the-local-linux-community dinner on saturday night. There’s a message on the LinuxSA list, so check there.

Come along, should be fun.

Speaking tonight

Tonight, I’m giving a talk to the Melbourne Novell Users Group (MNUG) about MySQL.

OpenOffice

/me hits the developer who made AutoSave ask if you want to save.

Honestly, what the fuck is up with that?

Productivity

Do not under any circumstances apt-get install wesnoth!

It’s quite addictive and very good.

Currently worried about getting anything done for the next… errrr… year?

It’s been ages since I’ve really gotten into a game. I think this may actually be one I’ll get pretty into. Rock on Wesnoth developers!

GDB bugs

Well, there’s a GDB bug (in the known-problems list) that I am regularly hitting. It makes it go “gdb internal error, would you like a core of GDB”.

I’m running 6.3, what comes with Ubuntu. However, I’m now rebuilding gdb 6.1.1 in the hope that this will be more stable for me.

6.3 is proving to be not very useful when I need it most (i.e. when strange things are happenning).

Aparrently this only happens because my distro and architecture still uses LinuxThreads instead of NPTL.

Oh how I wish for the day of NPTL on ppc.

blog spam

Mikal laments about the evils of blog spam – stillhq.com – Blog spam continued.

Let me let all of you non-wordpress using people (who have comments enabled) know that you have been living in sin!

Yes, there is an answer to all your problems. I’ve been running the HashCash extenstion to wordpress for about a week. In that time, I have received no comment spam. Only real comments.

How freakin awesome is that?

Helgrind

To try and help in debugging, I’ve been playing with some of the extra tools that come with Valgrind.

Everybody knows that if you aren’t using Valgrind you are living in sin.

I’ve recently tried to have a go at using Helgrind. It’s suppossed to be able to help you in finding race conditions in multithreaded applications.

Well, mysql is multithreaded, and so is NDB (cluster), so, this could be rather useful (especially since, with some new work being done, i’ve found race conditions, i just need to find out where).

From the manual:

Basically what Helgrind does is to look for memory locations which are accessed by more than one thread. For each such location, Helgrind records which of the program’s (pthread_mutex_)locks were held by the accessing thread at the time of the access. The hope is to discover that there is indeed at least one lock which is used by all threads to protect that location. If no such lock can be found, then there is (apparently) no consistent locking strategy being applied for that location, and so a possible data race might result.

sounds reasonable enough.
Now I’m actually chasing up one of it’s possible data races and seeing if it is, in fact, a race.

Has anybody else had any experience with Helgrind? Thoughts?

Slashdot | Nokia’s Linux Handheld

Slashdot | Nokia’s Linux Handheld

This device shows a lot of promise.

I carry a mobile phone nearly everywhere. it’s nice, small, makes phone calls, receives phone calls, has a rudimentary (and, of course, rather broken) calendar and todo. it’s phone book is mostly pretty good and the ‘mobile internet’ that we were told was going to change the world, didn’t.

I have a laptop. it’s great, i spend *heaps* of time on it. in fact, it’s a primary workhorse for a lot of things. But, it can be a bit big, and i don’t take it everywhere.

I have a Newton (that I don’t use anymore, it’s only a 120, and getting it to sync with evolution would be, well, interesting). I love the newton UI, handwriting recognition and *size*.

Yes, the Newton was large, bigger than a palm, but tihs made it useful. you could see a fair bit at once, and it was easy to read.

I do not want a big mobile phone with a big screen and all the bells and whistles (decent cpu, free software, full net access, bluetooth, 802.11 etc). I wouldn’t carry it everywhere (which is the point of a mobile) – it would be too bulky.

having two complementary devices (as this seems to be) would be great for me. I wouldn’t take it when i went out on the town, but would when i jumped in the car going somewhere i hadn’t been before.

now, if only evolution didn’t leak memory like, well, something that leaks a lot – and it’d run on this baby.. then we’d be in business.

great promise though. all the right technologies – linux, X, gtk.

one thing it is missing though is a hard drive. i reckon this would be an ipod-killer if it had a nice HD in there and some sweet looking software to play tunes (ogg, of course).

they’ve also got the dev stuff up already. with a ‘howto port your app’ featuring gaim. very cool.

so, here’s to another possibly great ARM based handheld. Now, if only it was available in australia now, and there was a phone running free software to go with it.

CC has seen the light

revenge/therapy � rant: web standards

she’s full-on joined thoes of us who are enlightened.

well, to web standards anyway – and is now spreading the love (or becoming dominating standards overlord who kills at the sight of invalid XHTML*) around the office.

Yes, it also surprises me how little of the importance of standards compliance is taught to graduates. Same with coding. I think it would be a great reqirement for CS courses that you code something (that is then accepted into the main source tree) of an open source project (preferably a generally well known one with decent standards about what goes into the tree) How you would mark something like this i have no idea… maybe some form of peer-review/marking thing.

* Yes, I have been watching too much Alias since I got back

comment spam protection

hopefully this will help stop comment spam.

using HashCash

makes the client do a md5 of a string for each comment submitted.

okay, so now you need javascript to comment on my blog.

but frankly, that’s better than me fighting urges to kill, torture and maime guilty people. (spammers, not comment leavers)

Don’t you just love being compatible?

/* Force server down. kill all connections and threads and exit */

#if defined(OS2) || defined(__NETWARE__)
extern "C" void kill_server(int sig_ptr)
#define RETURN_FROM_KILL_SERVER DBUG_VOID_RETURN
#elif !defined(__WIN__)
static void *kill_server(void *sig_ptr)
#define RETURN_FROM_KILL_SERVER DBUG_RETURN(0)
#else
static void __cdecl kill_server(int sig_ptr)
#define RETURN_FROM_KILL_SERVER DBUG_VOID_RETURN
#endif
{
DBUG_ENTER("kill_server");

(from sql/mysqld.cc)

There just has to be a better way to do this….

maybe we need a kill_server which is platform defined (e.g. in a mythical win32.cc, netware.cc or generic_sane_unix.cc) and the generic _kill_server in mysqld.cc? possibly some variation of… some platforms seem to do strange things.

i don’t know. it just doesn’t look that clean to me…. maybe i need more coffee.

Why – o – Why does this happen to me?

/build/buildd/gdb-6.3/gdb/linux-nat.c:1208: internal-error: wait_lwp: Assertion `pid == GET_LWP (lp->ptid)’ failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n)
/build/buildd/gdb-6.3/gdb/linux-nat.c:1208: internal-error: wait_lwp: Assertion `pid == GET_LWP (lp->ptid)’ failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Create a core file of GDB? (y or n)

Eurovision

It’s like watching a train wreck.

Boobs are in this year. last year it was taking various items of clothing off. this year, it’s having boobs.

Moldova was a pretty interesting entry. I think I’m hoping they win (writing this as watching the voting).

Although, the advert half way through for the “CD” of Eurovision 2005. Although there is no such thing – there is a copy protected disc that just happens to be partly compatible with some CD players. This stuff irritates me. I’m tempted to write to the ACCC about it. Really, people should not be lied to like this.

log based file system

I think this can be done – with gaurenteed consistency – fairly efficiently.

would love to do some experiments and see what performance i could get.

write performance could be spectacular…

there’s some ideas floating in my head for read performance optimisation – i wonder if any of them make any sense.

getting back on the mat

due to travelling, i haven’t been to jiu jitsu for about a month. longest time i haven’t been since i started. missing doing it – esp while away. maybe should have found some local club or something.

anyway, aparrently there could be a qualification tourdament for grading tomorrow. so tonight i’m going to try to get to a class (before going to see Star Wars). I’ll probably be quite worn out by the end of it.

Two trips away and eating too much has probably done nothing for my fitness.

looking forward to feeling the pain.

okay, maybe not.

but getting on the mat will be great.

Interview with Sybase CEO where MySQL is mentioned

(insert disclaimer about this being my own ramblings and nothing to do with my employer)

Try and Buy, or Buy and Buy? :: AO

So, the Sybase CEO doesn’t get it.

The Sybase ‘free’ offering is in no way free. It is proprietary software that owns you.

Yes, Stallman was right – you do not own proprietary software, it owns you.

By giving the user the first hit for ‘free’ and placing an arbitrary limit on when they have to start to pay (and only pay you, so they have no real freedom of choice) ties the user in chains. It is not ‘express’, it is a demo – a cinema preview and nothing more.

This is nothing like the free copies of free software. It is merely a proprietary product packaged for a free software platform. Letting people live in a partial freedom. It’s an improvement, but is a gift to your customers (of partial freedom), not the free software community.

John Chen even says something that is totally misleading.

“You download it and develop it and use it…”

DEVELOP? What the? How can I download anything that lets me develop sybase? hrrmm.. they have the source up there? I don’t think so. I’m sure he meant ‘develop on top of it’. In other words, for a database, use it.

The MySQL way of “you can download it, develop it and use it” is just that. Download it, the source, actually hack the database, write a new storage engine, change the parser, the optimiser – hey, even go make it something that isn’t SQL (for example Fred’s Query Language or something). Or, if you’re just going to use it for your web site, just do that. You have the freedom.

MySQL AB (the company) makes money of being the most knowledgeable and well qualified group to provide knowledge, support, training and development of the MySQL database. We don’t hold our users hostage – they are free (all the freedoms granted to them under the GPL) to go support themselves, or get somebody else to, or even to go and develop the database themselves.

So, here’s to not holding your users hostage!

(this isn’t an attack on Sybase being a good database or not – i have never used it, i don’t think – and don’t really have an interest to. It’s an attack on proprietry software, and especially proprietary software throwing around the term ‘open source’ to try and look good. Proprietary software is what it is, and people should know what that is.)