It’s always fun phoning my mobile phone company. Firstly there is the infuriating menu system where even the “to talk about anything else option” goes to another set of options, none of which are “to talk about anything else”. Then there are the broken systems that lead all the operators to just go to a default “please call us back later”:
Me: “Hi, I’d like to know what the costs are for using data on my current plan.”
Him: “I’m sorry sir, our accounts system is down now can you call back in a few hours time?”
Me: “Well I’d rather not, I’m not sure why you need to access my account to just tell me the plan costs though.”
Him: “Well as I say we cannot access your account so I cannot tell what plan you are on.”
Me: “Oh that’s easy I’m on plan XXX, it says so on my bill.”
Him: “Well I’m sorry I still can’t tell you what data costs you on your plan without the accounts system.”
Me: “Can you tell me what the data rates are on a standard XXX plan?”
Him: “That plan isn’t designed for data.”
Me: “So I can’t use data on it at all? I’m pretty sure I have once or twice.”
Him: “Well you can use data, it will just cost ŁY per MB.”
Me: “There see, it wasn’t that hard to tell me what I wanted to know was it.” *click*
I’ve been trying to find a suitable video format for putting my fractal animations online for some time. Pretty much whatever format you choose you suffer because some platform or other doesn’t have a plugin for it by default. If all browsers are slowly getting ogg support though then that seems to be the ideal choice, so I have re-encoded all the animations as ogg files. Unfortunately it seems that my media gallery software (Gallery2) doesn’t support Ogg, and of course it doesn’t use the new video tag either. This is the world of open source though, so after a bit of tinkering I have it all working nicely. It can generate thumbnails for the animations using ffmpeg (which is already used for other video formats anyway) and will display the video using the video tag.
At some point I might try to push this upstream to the Gallery2 guys, but I after spending some time on their site and finding nothing helpful like a bug tracker or a way to pass patches to them I’m not sure when I’ll get round to it. Until then here are the rough instructions for applying the patch and some other changes I had to do. I’m sure there is some way to automate it all but for this one off case it wasn’t really worth my time.
- Apply the patch in your gallery install directory: “
patch -p0 <patchfile“
- Run the following sql in the gallery database: “
INSERT INTO g2_MimeTypeMap (g_extension, g_mimetype, g_viewable) VALUES ('ogg', 'video/ogg', 1);” (adjust for the table and column prefixes that you use).
- Deactivate the ffmpeg plugin (if it is enabled), and then activate it (assuming you want thumbnail generation to work).
- Delete the database cache in the maintenance section of the gallery admin.
Of course this means that now even fewer people can see the animations I guess. So if you want to see them then you’ll just have to try out the latest Firefox betas!
Oh, watch out for old versions of ffmpeg. The default version on my webhost (dreamhost) crashes when attempting to make a thumbnail of an ogg file. A build of the latest version of ffmpeg works though.
Flame fractals are even less “designed” than the more traditional fractals based on complex equations. There you tend to start with a fixed formula that you know looks good, and then find a nice region to render. With flames you normally just look through randomly generated starting points, sometimes ten, sometimes maybe even a hundred until you find one that looks good enough to investigate further. Then you tinker with the parameters, a nudge here, a colour change there, iteratively making it “better”. Sometimes of course one of the random images looks absolutely great and no amount of changing will improve it.
A friend asked the other days what was up with all the fractals on my site and it reminded me that I’ve neither mentioned them in my blog or even sat down and created any for a while, so I thought I’d remedy that, especially since I now have the personal section so I don’t have to bother planet readers with this stuff.
Fractals fascinate me for a couple of reasons. The first is obvious, they are in general strikingly beautiful. Even the most basic fractals with simple colouring choices look stunning and because of how they are created can be generated at any size with no loss of detail.
The second reason is due to how they are generated. Like most developers I’m a pretty mathematical sort of guy, equations and algorithms can actually interest me (sad I know). It amazes me that such images can be created from essentially simple equations. Take the most well known fractal, the Mandelbrot set. This is generated using the following iterative equation
zn+1 = zn2 + c
That’s it. Well that and understanding how to apply the formula, using complex numbers and using a suitable colour palette. But still, such a simple looking formula generating something that looks beautiful and repeats infinitely at many zoom levels seems awesome to me.
The final reason is because I can actually generate my own images. I’m not what you’d call much of an artist. I like to think I can generally recognise what looks good, but creating something from scratch is beyond me. Fractals let me do this because really I’m not creating anything from scratch. I’m starting with some formula that is known to work well, choosing colouring methods, choosing colour palettes and tweaking parameters until I am happy with the results. Obviously that means I’m still no artist, but I like to think that many of my creations look good. All of the fractals in my media gallery were created by me, using a few different fractal generating programs.
That’s probably enough talking so here is my latest creation. I’m going to try to blog about my fractals when I make a new one from now on, if there is anything particularly interesting to say at least. This one took a long time to create. It is fairly easy to create good looking fractals at random, but trying to design one around a particular goal is much harder.
I thought it would be amusing to look at some of the numbers associated with my travel home from San Francisco. This is taking into account the time between leaving the place I was staying in America to getting back to my house:
- 63 hours total travel time
- 29 hours in hotel rooms
- 16 hours sleeping
- 15 hours in the air
- 4 plane flights (on 3 different planes)
- 8 hours sat in planes that weren’t flying
- 3 hours in a car
Apparently I’ve been talking a little too much about interfaces lately
I’m normally pretty happy to be getting home after a trip to the States. Not because I don’t enjoy being out there of course, but you know home is where you’re most comfortable and living out of a bag in a hotel gets tiring after a time. Today is the first time that that has really changed.
I really didn’t spend as much time in San Francisco as I would have liked. A mere 4 days meant I totally failed to hang out with some of the friends I wanted to and didn’t have enough time with even those that I did get to see. I’m really grateful to those that put me up and took special efforts to catch up with me.
My flights home have pretty much been my worst air travel experience ever. First Houston has some rain so my first flight gets diverted to Austin to refuel and then continue on to Houston (after 2 hours on the tarmac), landing well after my connection to the UK was long gone. Then the guy trying to get me onto a later direct flight walks off to help someone else and when he comes back decides it is then too late to make is. So I have to stay in a hotel and take a non-direct flight the next morning, the nice guys at Continental send me to one of the dingiest hotels I’ve ever stayed in, of course without my luggage so no clothes and no wash bag.
Needless to say my flight the next morning is delayed. Thankfully it still lands in time for me to make the connection. Just as things seem to be going well the cargo doors on the plane to the UK break and we have to sit on the tarmac for 3 hours waiting for maintenance to fix it. Then we start moving and just as things seem to be going well we stop. After a quarter of an hour we pull back up to the gate. Apparently we ran over something and two of the tyres got punctured and have to be replaced. 2 hours later (after the in-flight meal has been served) we finally take off. That’s a nice 5 hour delay on what was only a just under 6 hour flight. I was frankly amazed to find that we did finally land in London and my checked luggage was there too.
I’m sure others have worse tales to tell, but this is on top of me being disappointed at having to leave so soon. When someone had suggested that I could just rearrange my flights to stay longer I had decided it was too much hassle since I would have to rearrange my hotel and car parking in London too, which of course I ended up doing anyway.
Plus of course I want to move out there anyway. There are becoming less and less things to interest me here and it’s getting disconcerting to see all the cool stuff my friends out there are getting up to and I’m missing out on.
So now I’m sat in a hotel room in London, trying to force myself to stay awake a bit longer to ease myself back into UK time. Still a 3 hour drive to go when I wake up but at least that will be under my own steam and on quiet roads. Well assuming nothing happens to my car overnight that is…
I’ve just rolled out a small update to the interface cross reference, nothing major, just fixing a few bugs and I’ve put up what looks like the final set of interfaces for 1.9.1b2.
I’ve now figured out the best way to gather the interface lists and so the cross reference now includes all interfaces used in all 3 major platforms of Firefox. It is relatively simple for me to add the interfaces for other applications now but this got me thinking about what kind of uses people are making of this and how the multi-OS, multi-app interfaces should be presented. A few ideas came to mind:
- App developers probably just want to see the interfaces in their app, either only those that appear for all operating systems or those for a specific OS in some cases.
- Add-on developers probably want to see some kind of shared set of interfaces (what you might call gecko/toolkit) that appear for all apps they are targeting, unfortunately this changes depending on the set of apps. Again they probably want for all OS or for a specific OS.
- Maybe I shouldn’t even bother doing anything and just include a note in the interface display about where the interface actually exists.
I’m sure other people have other ideas of how it might work, any suggestions?