broken bookshelves

mareike gast…BROKENSHELVES

Why do these actually look practical?

Serenity

Spotted in a review:
“The major difference between Lucas’ movies and Whedon’s movies is the superb dialogue.”

The next day after seeing Serenity I was with friends watching Firefly on DVD and at the end of ever episode (okay, part way through it – and generally more than once) someone would ask “why the hell was this cancelled? they must be stupid or something”.

Hey, ACPI buttons work!

rockin. The buttons at the top left of my keyboard work on ubuntu!

what looks like running away makes the screensaver come on (password protected). Useful. Replaces that shortcut i’d set.

The bluetooth button always has. plugs/unplugs the internal bluetooth adapter.

The world with a ring on it doesn’t do anything.

But the little wireless button works! Rockin. no more ifup/ifdown foo!

VGA Out and presentations

I can now give presentations from my laptop – yay.

It requires running the ATI binary drivers instead of the open source ones.

Then VGA out works without being squiggly. (that’s on my Asus V6V laptop with a Radeon X600 running Ubuntu Breezy) – there’ that should be enough google juice.

However, as if being binary only wasn’t crappy enough – suspend doesn’t work. So it’s open source drivers for all other times! I don’t use GL, so that doesn’t worry me. Of course, it may start to worry me what with all the neat cairo stuff and other accelleration coming… but not yet.

This should come in handy for the Melbourne MySQL Users Group meeting tomorrow night!

I know famous people

Tim McCoy’s Homepage

The caption perhaps should read “Success begins with an arm the size of your finger”

GNU/Linux and the K750i Bluetooth Remote

GNU/Linux and the K750i Bluetooth Remote

Works with my K700i too. Useful to know that the remote control stuff works. will be great for presentations :)

mouse gestures

I once thought mouse gestures were weird and crackful. A good way to hide away functionality and make things difficult.

Well… I’ve started using them. Currently I’m using Epiphany as my web broswer (although there’s enough nice firefox things out there that I may switch at some point… if i can get my saved passwords across). The mouse gestures here (naturally) use a different bloody button than the package I’m using on firefox (right button is more logical as laptops generally only have two. or one).

But talk about useful and fast. even just back and forward. maybe integrating this with a pop-up display of what actions you can do (for learning them) would really seal the deal.

weird search strings

At a recent LUV thing, I mentioned that for some inexplicable reason, people got to my blog by searching for “nipple pokies”.

Well, last month, 11 people got to my web site because of it.

seriously, what the?

do i really have people reading this drivel?

According to my web stats for last month there were 25778 hits on /blog/ and 6531 on /blog/wp-rss2.php. Since there were 1894 hits on /blog/wp-comments-post.php, that probably means that a bit of that is just spammers.

The weird metric of “visits” is 7860 for /blog.

Do I really have anything like this number of people reading what I write here?.

Please, somebody publically smack my ego back to where it belongs!

(err… maybe not, my ego isn’t into bondage).

a funky thing done last week…

still have to talk to people about standards for this sort of thing and all that. But as a first checkin – funkyness++!

mysql> select * from INFORMATION_SCHEMA.DATAFILES;  select * 
from INFORMATION_SCHEMA.TABLESPACES;
Empty set (0.03 sec)

Empty set (0.00 sec)

mysql> CREATE TABLESPACE ts1 ADD DATAFILE 'datafile.dat' USE 
LOGFILE GROUP lg1 INITIAL_SIZE = 12M ENGINE NDB;
Query OK, 0 rows affected (2.35 sec)

mysql> select * from INFORMATION_SCHEMA.DATAFILES;  select * 
from INFORMATION_SCHEMA.TABLESPACES;
+--------------+--------+--------------+----------+------+------------+
| NAME         | ENGINE | PATH         | SIZE     | FREE | TABLESPACE |
+--------------+--------+--------------+----------+------+------------+
| datafile.dat | NDB    | datafile.dat | 12582912 |   11 |            |
+--------------+--------+--------------+----------+------+------------+
1 row in set (0.00 sec)

+------+--------+---------+-------------+-----------------------+
| NAME | ENGINE | VERSION | EXTENT_SIZE | DEFAULT_LOGFILE_GROUP |
+------+--------+---------+-------------+-----------------------+
| ts1  | NDB    |       1 |     1048576 |                     0 |
+------+--------+---------+-------------+-----------------------+
1 row in set (0.00 sec)

mysql> CREATE TABLE t1 
(pk1 int not null primary key auto_increment,
 b int not null, 
c int not null) 
tablespace ts1 storage disk engine ndb; 
Query OK, 0 rows affected (0.62 sec)

mysql> insert into t1 (b,c) values (1,2),(2,3),(3,4),(1,2),(2,3),(3,4),(1,2),(2,3),(3,4),
(1,2),(2,3),(3,4),(1,2),(2,3),(3,4),(1,2),(2,3),(3,4),(1,2),(2,3),(3,4),(1,2),
(2,3),(3,4),(1,2),(2,3),(3,4),(1,2),(2,3),(3,4),(1,2),(2,3),(3,4),(1,2),(2,3),(3,4);
Query OK, 36 rows affected (0.11 sec)
Records: 36  Duplicates: 0  Warnings: 0

mysql> select * from INFORMATION_SCHEMA.DATAFILES;  select * 
from INFORMATION_SCHEMA.TABLESPACES; 
+--------------+--------+--------------+----------+------+------------+ 
| NAME         | ENGINE | PATH         | SIZE     | FREE | TABLESPACE |
+--------------+--------+--------------+----------+------+------------+
| datafile.dat | NDB    | datafile.dat | 12582912 |    9 |            |
+--------------+--------+--------------+----------+------+------------+
1 row in set (0.02 sec)

+------+--------+---------+-------------+-----------------------+
| NAME | ENGINE | VERSION | EXTENT_SIZE | DEFAULT_LOGFILE_GROUP |
+------+--------+---------+-------------+-----------------------+
| ts1  | NDB    |       1 |     1048576 |                     0 |
+------+--------+---------+-------------+-----------------------+
1 row in set (0.00 sec)

mysql> CREATE TABLESPACE ts2 ADD DATAFILE 'datafile2.dat' 
USE LOGFILE GROUP lg1 INITIAL_SIZE = 12M ENGINE NDB;
Query OK, 0 rows affected (2.18 sec)

mysql> select * from INFORMATION_SCHEMA.DATAFILES;  select * 
from INFORMATION_SCHEMA.TABLESPACES;
+---------------+--------+---------------+----------+------+------------+
| NAME          | ENGINE | PATH          | SIZE     | FREE | TABLESPACE |
+---------------+--------+---------------+----------+------+------------+
| datafile2.dat | NDB    | datafile2.dat | 12582912 |   11 |            |
| datafile.dat  | NDB    | datafile.dat  | 12582912 |    9 |            |
+---------------+--------+---------------+----------+------+------------+
2 rows in set (0.02 sec)

+------+--------+---------+-------------+-----------------------+
| NAME | ENGINE | VERSION | EXTENT_SIZE | DEFAULT_LOGFILE_GROUP |
+------+--------+---------+-------------+-----------------------+
| ts1  | NDB    |       1 |     1048576 |                     0 |
| ts2  | NDB    |       1 |     1048576 |                     0 |
+------+--------+---------+-------------+-----------------------+
2 rows in set (0.00 sec)

mysql> ALTER TABLESPACE ts1 ADD DATAFILE 'datafile3.dat' 
INITIAL_SIZE=12M ENGINE NDB;
Query OK, 0 rows affected (1.85 sec)

mysql> select * from INFORMATION_SCHEMA.DATAFILES;  select *
 from INFORMATION_SCHEMA.TABLESPACES;
+---------------+--------+---------------+----------+------+------------+
| NAME          | ENGINE | PATH          | SIZE     | FREE | TABLESPACE |
+---------------+--------+---------------+----------+------+------------+
| datafile2.dat | NDB    | datafile2.dat | 12582912 |   11 |            |
| datafile3.dat | NDB    | datafile3.dat | 12582912 |   11 |            |
| datafile.dat  | NDB    | datafile.dat  | 12582912 |    9 |            |
+---------------+--------+---------------+----------+------+------------+
3 rows in set (0.02 sec)

+------+--------+---------+-------------+-----------------------+
| NAME | ENGINE | VERSION | EXTENT_SIZE | DEFAULT_LOGFILE_GROUP |
+------+--------+---------+-------------+-----------------------+
| ts1  | NDB    |       1 |     1048576 |                     0 |
| ts2  | NDB    |       1 |     1048576 |                     0 |
+------+--------+---------+-------------+-----------------------+
2 rows in set (0.00 sec)

the ‘free’ column is really the number of free extents. Not exactly ideal… maybe… but since that’s the unit of allocation in the data files, it sort of makes sense. The other option is to list number of extents * extent size. Maybe that’s clearer for people… there is the option of denormalising the tables and have extent size in the DATAFILES table too. There is something in my brain that makes that a hard leap though.

Although…. if you’re going to be querying the tables directly and not just using a pretty gui on top of it all, you should probably know what you’re doing anyway.

Although, both a great benefit (and curse) of commoditising the database market is the fact that you get all sorts as users. This is interesting in cluster as it is naturally a bit more complex than a simple client-server RDBMS.

we also need a NODE column as well. which will probably cause confusion for non-cluster users and the like :)

(for the unintiated, this is work being done in a branch off the 5.1 tree for NDB disk data. we’ll push it to the main 5.1 tree at some point). don’t go thinking this is production ready any time soon (in other words insert a standard disclaimer).

Melbourne MySQL User Group

I’m getting responses of people wanting to come to the next meeting. This is all good. Looks like we’ll have more people than last time (which is good). So growing it is.

Considering that a lot of people got information on the last one less than a week before the event, and this time it’s about two weeks – I feel good about it.

Full details at: http://mysql.meetup.com/93/

the bastedo blog – replication in mysql 5

the bastedo blog

(I did matching versions [5.x] don’t know how diff versions will work)

Setting up a slave with a newer version of MySQL is quite a common setup. It has a couple of advantages:
– it lests you test a new version before deploying on the master (to test that everything goes smoothly)
– it lets you test new major versions (e.g. 5.0) before they are released GA (helps find bugs that may affect your setup).

I know at least one customer generally has a slave runnin the latest BK tree – just to be sure that nothing is going to even potentially break for them. Kudos to them :)

Having a slave that you use for backups is a great idea. No extra load on the master (i.e. you can safely stop the db on the slave and back things up quickly – without having locks held on your master!).

Also, if your master suffers a meltdown, you have a recent live backup system ready to take its place!

Microsoft loses in Eolas patent ruling | CNET News.com

Microsoft loses in Eolas patent ruling | CNET News.com

Come on Microsoft – join us in the fight against software patents. This clearly hurts the entire industry – be it big vendors like yourself or small ones.

Let’s not all get royally screwed.

FIX: Network File System (NFS) client users that do not have the

FIX: Network File System (NFS) client users that do not have the “List Folder / Read Data” permission can still see the file list from an NFS share

Aparrently Linus himself is a NFS client.

(I’d report the bug to MS, but it seems impossible to do so).

portability note…

MacOS X 10.2 doesn’t have poll(2).

Why they don’t, who knows. It’s not as if it’s new or anything. At least they do in future versions. I think I recall reading somewher that the OS X 10.1 implementation was buggy, so I think they pulled it out of 10.2 – for some people….

oh fun.

tomboy

Since I’ve just upgraded to Ubuntu Breezy (the next release of Ubuntu, currently a preview release) I’ve installed tomboy. It’s like a Wiki for your desktop. Awesome. Seems to be pretty useful. Even more useful than the stickynotes applet. In fact, i think I’ll remove sticky notes.

The storage format for tomboy is a lot more resiliant as well. A file-per-note instead of one large XML file.

One day I’ll go through a bunch of GNOME apps and fix their file system code so that it becomes near impossible to loose data with unexpected reboots.

MySQL Melbourne Meetup

When:
Tuesday September 13th 7:00pm

Where:
Miro International Pty Ltd
Level 18, 31 Queen Street
Melbourne 3000, Australia

Thanks to Miro for offering their offices for the meeting.

What’s happening?
Stewart Smith will talk about:
– What’s new in MySQL land
– Introduction to MySQL AB the company
– what it does
– what it offers
– Graphical tools for MySQL
– MySQL Administrator
– MySQL Query Browser

RSVP
Please RSVP via our meetup.com site:
http://mysql.meetup.com/93/

After
We can head to a pub or out for curry.

all the best

all the best to the Waugh household having hit (as jdub describes it) crisis mode.

All the best with whatever the big badness is.

Alli’s Blog – Jet fuel and where it goes

Alli’s Blog
asks the question “Where does jet fuel go when it’s dumped?”

The answer is, downwards as gravity takes it. There’s fairly well documented cases of this landing in non-ideal places. Best efforts are (supposed) to be made to not to do this in non-ideal places (i.e. over where people are) but it does happen.

The idea is that fuel needs to be dumped in an emergency before a safe landing can be made. (see something like the Aircraft Incidents section on San Francisco airport wikipedia page)

The F-111 is nice as it dumps fuel at the rear of the aircraft between two jets. This has the rather spectacular effect of a “dump and burn”. Arguably a much better thing than spraying fuel onto (land|people|ocean).

I should also point out that yes, it’s a known carcinogen

Why I hate Flash?

Instead of writing my own entry, i’m just going to link to somebody elses. yes, that’s right kids, I’m lazy.

Why I hate Flash? – Diary of a CrazyFrench