$ aptitude install regionset
(and then run it)
also,
$ rm -rf ~/.dvdcss
now it all works. Without doing regionset, I was getting read errors from the drive.
$ aptitude install regionset
(and then run it)
also,
$ rm -rf ~/.dvdcss
now it all works. Without doing regionset, I was getting read errors from the drive.
Rik van Riel calls for a boycott of Lexmark – I’m joining him on this call. The behaviour of Lexmark with this is just crack-smoking crazy talk.
I have never bought a Lexmark and never will. I will also strongly recommend against anyone I know every buying one.
Screw you Lexmark – you suck.
(insert disclaimer about this being my own views – no that of MySQL AB)
Slashdot | MySQL and SCO Join Forces
Some people seem to think that porting your application to a newer version of an OS, having a trial version of your subscribtion-based support shipping with every copy of that OS and access through that OS vendors reseller channel is a bad thing.
Granted, a lot of people think that certain actions of said OS vendor are just plain retarded. Myself included – it would be much better if they actually focused on products. That being said, there’s more than one OS vendor that does just plain dumb stuff – or, to use the more emotive “evil” word.
Of course, there’s part of the /. crowd that seem to think we must be evil for porting to a SCO platform – but by their silence (and sometimes “screw you guys, I’m going to X RDBMS”) it must be okay for others to do it (note that X RDBMS already supports SCO platforms)?
Besides, anybody who’s really used MySQL will know how easy it is to move your database from one platform to another – really empowering you to make sure you OS vendor gives you the best deal possible – because you can easily move to where the grass is greener.
spent a while looking for this on friday/saturday – I knew I had one. Guess what? Couldn’t find it. Anywhere.
Moved some things on my desk today, it was hiding.
Teaches me for expecting myself to keep cables in the same place.
So I picked up my new laptop on friday. It’s an ASUS V6V – nice and fast, light, good resolution screen and lots of disk and RAM (it came with 1GB, I’ve got 2GB).
Anyway, the transfer of data from my PowerBook went fine. I waited for xfsdump to dump /home from the powerbook to a firewire drive (and for “waiting” I do mean going out and seeing Charlie and the Chocolate Factory – which was very good).
Installing Ubuntu on the ASUS went like a dream. Everything, and i do mean everything worked out-of-the-box with only one tweak. That was uncommented the ACPI sleep configuration option do-dad in /etc/default/acpi-something-foo to get suspend to ram working.
The WEP didn’t work in the installer, so I initially just used the GigE adapter until the first reboot.
The firewire drivers don’t really behave with this laptop atm… that dreaded “aborted sbp2 command” error too often – so abandoned that and futzed around with a private net and NFS to xfsrestore /home.
Go to bed, awake later to find /home on new laptop (with an extra 23GB of free space!). I had to, of course – rebuild those essential packages for x86 instead of ppc – namely wesnoth.
oh, and cleaning out the ppc binaries from my mysql bk trees and doing a x86 build (I also had to change my CC from ‘ccache distcc powerpc-linux-gcc’ to ‘ccache distcc i386-linux-gcc’). One thing is for certain, it’s quicker at building things – even if the fan ramps up a bit when doing so :)
MySQL builds pretty quickly when you have a 2.8Ghz P4 and a 2.13Ghz Pentium M building it.
Anyway, set up all the apache foo for hacking on the LA website and MemberDB today. A load of the elections-result page on digital (the LA server – dual PIII 1.133Ghz) takes about fourteen or fifteen seconds using PostgreSQL as the database.
I previously reported that using MySQL (InnoDB tables) I got about twice the performance on my old laptop (1Ghz G4).
Well, on this one (2.13Ghz Pentium M) I’m getting the page loading in under three seconds. Sweet. Maybe I won’t go ahead and try to optimise some of the queries :)
(the query cache is probably coming into this – but i did do the query several times – so it’s not as if there’s any unfair advantage anywhere).
I’m using the 5.0.12-max-beta gcc dynamic build as downloaded from mysql.com for these runs. All other packages (apache2, php) are as shipped in Ubuntu. The my.ini file is as-shipped (err.. i think so: no query log, no binlog, slow query log enabled and some paths changed)
davyd: request for help asks what other university computer clubs there are out there. I know there is the Monash IT Society (formerly the CSSE Student Club – where CSSE is Computer Science and Software Engineering).
hey, if we’re lucky – Monash will still actually have a Computer Science degree in a few years. If we’re even luckier, we’ll have people left to teach it.
I sincerely hope that actual Computer Science (and the staff who teach it) are treated better elsewhere in Australia.
Hey, if UCC is going to maintain this list, it’s probably worth having a relatively prominent pointer to it on the LA website.
stillhq.com – Let the Apple service ranting continue
(with link to APC mag)
These seem to be more extreme than what I’ve experienced.
I should say, that when I have had service done (when there’s not parts coming from sydney or general slowness) it’s been a seemless 1-day affair with the service people not panicing when I say “It doesn’t run MacOS X” when they ask for a password.
Although why anybody would hand over their password to joe-random is beyond me.
There’s these great things called Boot CDs – it seems as if most apple service technicians know how to use them at least.
I would much prefer it though if the HD was easy to pop out so I didn’t have to wipe important data before taking it into service (luckily I’ve never had a totally dead machine with important confidential data stuck on it).
stillhq.com – Did I mention that Apple service sucks?
I totally empathise with Mikal on this one. My adventures with Apple service has been interesting. Although I’ve usually gotten better result out of being persistent and a giant pain in the arse (I honestly feel sorry for anyone who gets me on the other end of the phone or across the desk at a service center).
I refuse to buy a Dell due to the general crappiness of their laptop hardware – although their service seems to be pretty good, which almost makes up for it…. almost…
The problem I have with the IBMs is that it seems difficult to get a high resolution screen while staying afordable and not weighing a ton (this goes for most PC laptop manufacturers).
At the moment I’m looking at an Asus. I just want to find somewhere that’ll sell it to me with enough (1.5GB+) RAM without me having to dispose of a 512MB stick that I didn’t want in the first place. Ideally, it’d come with a 1GB stick and a free slot (and take the same memory as my current PowerBook so i could swap my existing 1GB stick in).
Oh, and avoiding the MS tax would be nice.
Anyone have any experience with Asus service?
Oh, and Mikal – ring them every day (at least) to check out how it’s going and complain at them. Be annoying. Make them hate you – point out that the easy way to make you happy is to swap it for a functioning one. Ring Apple as well. Oh, and only ever talk to the manager – or the highest person available at the time.
good luck.
Trent has been blogging quite often about Avahi. It does look like a good project to watch. Promises ease of use (for the coder who really doesn’t care about Rendezvous/Bonjour/ZeroConf/whatever-they-call-it-this-week internals and just wants Cool Functionality(tm) in their app).
Maybe integrating this would be cool for mysqld and the gui tools. (i’ve toyed with the thoughts of using it in cluster… but do we relaly want another thing that can possibly fail in a HA environment… probably not – considering using DNS is usually a bad idea).
Sandra Mansell talks about the (not so joy) of ant bites but the real joy of cheap icey poles.
They are good – like, really. Why is it that the ones you buy in a huge box for next to nothing are the best ones? Maybe it’s because they are just sugar and water – a winning combination by any standards.
Now I can’t wait for summer, where there’s an excuse to have icey poles. Melbourne winter (still winter in my book – it’s cold) just doesn’t put you in the icey pole mood.
LKML: Linus Torvalds: Re: [OT]Linus trademarks Linux?!!
thoughts on the trademark and notes about slashdot being a big public wanking session (which is, if nothing else – quite accurrate and quite funny)
The OSDC CFP site is the most annoying CFP in the entire world. So bloody complicated to go through – really makes you examine if you really wanted to do a talk in the first place.
Flying Spaghetti Monster – Wikipedia, the free encyclopedia
You should also check out http://www.venganza.org/ for the letter.
We’re now having to put up with people pressing for the teaching of religion in the Science classroom in .au as well.
Honestly – religion in a religion class and science class. Is it that hard for people to get that into their heads?
Although the 15 Answers to Creationist Nonsense should probably be examined by students.
If people don’t come out of school having learnt how to think then there really was no point to them going there in the first place. We will not progress as a species without understanding and thought.
(this isn’t to say that many core ideals of at least several religions are not a good thing. The idea of being nice to each other for a change is an old one that’s preached by many a religion. I just wish people followed it instead of pretending to.)
It just looks stupid and is dumb. That is all.
Did the switch of the election-results page from postgresql to mysql today. It’s about twice as fast (crappy statistics there, but it’s an approximation).
This is using InnoDB tables.
With prepared statements we should be able to increase performance even further. I enabled the query log for a load of the page – we’re doing about 3,500 queries. Hrrm…. not so good. But using prepared statements should give us maybe another decent boost (a fair bit IIRC the parser overhead)
(16:08:05) afcowie@jabber.org: http://www.theonion.com/news/index.php?issue=4133&n=2
(16:09:16) MacPlusG3: my theory is that it must be because god already has enough stuff.
(a general note on what’s good practice)
In C, 0 is false and !0 is true.
In the dim past there was an elsewhere where 0 was true and !0 was false. Why? Because there can be more than one error state and this is usually more interesting than how many ways success could have been acheived.
Well, that sucks too – there’s information on success that could be useful (e.g. we succeeded, but only n bytes worth instead of the m you asked for).
So, the way of <0 on failure and else success came about for packing the maximum amount of information into the int that we commonly return from functions (and usually fits nicely in a register and it all leads to hugs, puppies and a warm feeling inside).
So what do most people do on error? Return -1.
Hrrmm… this casually (if not totally) defeats the point. In any function that does any real work, there’s going to be more than one place where failure could occur (even if it’s an error path that should never really happen… it will, but never to you… always to a guy somewhere in a country that you didn’t know existed and knows less $native_language than you have digits).
So if you get a bug report in with a log message (because you do print log messages when errors occur! – especially non-totally-fatal ones!) about a failure, and you go to look at that function and go “aha! this function must have returned -1!” Well, it just so happens that there are five places that could return -1. Where did your program fail? Without a core dump or something, you will never know.
So, what if these five places returned different error codes (which, of course, you wrote to the log)? Then you’d be able to narrow down the search for buggy code!
It doesn’t have to be a unique number, or even user understandable (especially when these are places that shouldn’t fail – or so you think) but it makes your job a hell of a lot easier if you can quickly jump to the bit of code you should look at.
In cluster, we have this great system where when really bad stuff happens, we get these nice trace logs of what signals have been cruising around the cluster recently. This greatly helps with debugging. It sort of makes you go “wow” when you first see a crash reported, trace file follows, and then a patch a few hrs later that fixes the problem. This is because it’s an aid in tracking down exactly where to look for the problem.
“It crashed” is never a useful bug report. But only having the facilities in your software for only being able to say “it crashed” unless you’re a developer guru dude isn’t very useful either.
The various backtrace reporting tools do a bit to help. As always, the more information the better. This is certainly the case when you look at the backtrace and go “how on earth did we ever get there?” or the stack is just completely hosed and you have no hope of finding your arse from your elbow (although these days valgrind will help you here).
Here endith the lesson.
When a comment above a function says “returns -1 on error” and the code does the exact oposite (returns -1 anyway except if there was out of memory error, which may be #defined to -1 anyway) it’s a bit annoying when you first look at it.
Remember kids, comments in code are evil. They are wrong – or misleading at best. They only ever say what one person at some point in the past thought they beleived the code did. The definitive record is the code itself.
(there are possible exceptions to this rule… maybe… internals can be good to document – but arguably it should be *away* from the code so that you don’t start thinking the documentation is accurate and up to date – because it’s not).
way back when even the first touchpads were hammered into powerbooks (500 series, back probably close to 10 years ago now – if not a bit more) you could tap one corner, then another (quickly) and the cursor would jump from one side of the screen to the other (diagonally!).
I miss that. It’s useful.
Anyone know how to get X to do that?
One of the things I’m working on is adding the ability to use ndb_mgm to issue a restart command to ndb_mgmd (i.e. from a management client, get management servers to restart). At the moment, you have to go and shut it down then start it yourself.
So why would you ever want to restart a management server? Well, bugs aren’t really a reason – I’ve never heard of anyone having to restart the management server “just to get something to work again”.
The reason is online configuration upgrades.
There are a bunch of parameters you can change without having to restart your cluster. We call it a “rolling upgrade” as it’s the same procedure as upgrading one compatible version to another.
The whole procedure would be really easy if we only ever had one management server (which is what a lot of people have anyway – you only ever need a mgm server to have a node join the cluster).
It’s also tricky because you don’t want management servers up and serving different configurations. This would tend to be bad and never lead to hugs and puppies.
For supporting more dramatic configuration changes (e.g. add/drop node) we’ll be needing configuration locks and enforcing that everyone agrees on the config they’re serving out.
There exists some code from a previous effort a few years ago. So I’m having a look through it and trying to work out the state of everything. There seems to be a bit of bitrot and I’m trying to work ouf if anything is worth using.
The approach that I’ve come up with is to have a “single user mode” for the mgm server – i.e. nobody but one connection can do anything. This is where we’d do updates and changes before unlocking.
I wasn’t really caring about notifying ndbd about changes as the way you do things atm is to restart each ndbd and they then pick up the changes.
Otherwise, we really want a “this parameter changed” rather than “there’s a new configuration”.
So, the ‘mgm restart’ thing is really going to be implemented as “config reload” – getting the mgmds to stop and restart in the right order and so there is never more than one version of the configuration is being served at a time.
hrrm… back to the code to figure out what’s going on with this older stuff.