soledad penadés
repeat 4[fd 100 rt 90]

Archive for August, 2006

20060813 Playing with ipodlinux, podfather and mikmodpodzilla

ipod linux's penguin

Yesterday I decided to have a look at ipodlinux; in fact I already had looked at it one year ago but it was so scary that I opted for waiting a bit more until they advanced it a bit.

Podfather

podfather screenshot

The main thing I wanted to do with ipodlinux was to run podfather, but it has to be recompiled because the ipod mini has less resolution than the "big ones" (see the resolution chart) and the demo was compiled to use more pixels which are really available. Given that gasman had released the demo sources and they are available for anyone which wanted to join the porting madness, I only had to install ipodlinux and then find out an arm compiler for generating code for my little ipod. How optimistic I was…

So I got the Mac OS X installer and ran it. It scared me a bit when it shows the different steps and there are such things as "making a copy of the firmware", "replacing firmware", etc… I know that the ipod is programmable and updatable and that's how apple's updates work for adding new features but I couldn't help feeling this chilly sensation :-o In any case that part is absolutely needed, otherwise there's no way of allowing a different operating system to be loaded when booting the ipod.

Once it is installed successfully (and it did!), you can choose between ipodlinux or the normal interface by pressing rewind when the usual "loading apple" appears on the display. If you press rewind, the ipodlinux penguin with headphones will appear and after that you get a weird linux-style booting sequence: a series of rapidly scrolling text with cryptic appearance and unknown meaning.

So it was ok, my ipod was able to run ipodlinux, I wandered a bit around the new interface, testing the new available games (there's even a chess!), and then went for trying to run podfather. I followed the instructions, which basically consist in copying the podfather folder to the ipod root, and then edit the start script for forcing it to execute the demo instead of podzilla, which is the interface program which is ran by default. Another reboot and … there was music but the screen appeared such as if it was a minimalanimal version of the demo, with random pixels everywhere, all kind of displaced because the display size problems I commented before.

Then I went for an arm compiler for os x powerpc. I found a suitable link to a binary on this page dedicated to install ipodlinux in ipod Nano's. After installing the arm compiler (it gets installed in /usr/local/arm-elf/ just in case you feel curious), I went to podfather's source folder from a terminal and wrote make IPOD=1. Surprisingly, given my previous disastrous experience compiling other people's sources, it compiled and I had a new podfather exe waiting to be copied to the ipod. But it didn't work either - it kept outputting pixels at random locations. Seems like it needs more work than simply changing the maximum framebuffer size as gasman suggested in pouet's comments:

You can *probably* get a working ipod mini build just by changing the two lines in podfather.h that it tells you to change. Unfortunately this screws up the SDL version of the framebuffer code (because it naughtily assumes that the horizontal resolution is a multiple of 4, I think) so without a real mini to test on, I can't say how crap (or not) it will look.

I did a make clean and changed the framebuffer horizontal size to be multiple of 4, just in case it could be the solution, and compiled again, rebooted, etc, but no luck :-(

So that's why the screenshots are from the mac port and not from a working ipod mini version. Although they would have looked quite crappy I suppose :D

mikmodpodzilla

After my main goal had failed, I tried to get a module player for the ipod before I felt too miserable and depressed :D. Rumour has that ipod mini can just play mods with 12 channels without getting a too crappy sound quality, but it could be fun anyway to have a module player here. There is supposedly a modified version of podzilla which included mikmod capabilities, called mikmodpodzilla, so I went for it too. But guess what? it didn't work :((

Remembering the already existing (and working) mikmod implementations on gp32, and envying trace for being able to play rohformat modules on his gp32, I even decided that I had to create a new module player for podzilla! Behold me! But then my euphoria left as soon as it came, and I thought that I would just leave ipodlinux here on my mini for the time being and will enjoy the new games and all of that until I get bored. And then… only then… maybe I'll consider again that Sole's modplayer for ipod, also known as smpi in command line flavours, to follow the general acronyms style ;-)

In any case, it was quite interesting to see how it works anyway. We should keep an eye on the project as it can surprise us in the future, and because it's always good to know what can you do with your hardware devices even if it's outside the mainstream way :-)

20060812 Open source: from unstable to unstoppable

Some years ago I somehow ridiculised the radical efforts of the linux fanatics everywhere we discussed any topic, specially when they tried to introduce their love for their operating system on every single occassion - even if it was not a suitable one. It really got on my nerves, and was a kind of "Ok, just don't get near linux, you'll be scared of those freaking nerds". And it was actually true… each time you tried to get any information on linux you got a cascade of non-argued reasons, which didn't help at all; in fact they just served the opposite purpose, to make me avoid open source as much as possible, and just rely on commercial products, while increasing my general confusion about all things linux.

But there was a new actor which was appeared in the scenario, and it was called Firebird - later renamed to Firefox. First time I heard of it, it was the usual dabbadabba from ultralinux fanatics: oh yeah there's a new browser which is open source and it's free and it's supercool because it has tabs and well, it actually is open source and based on netscape's source code…! I felt a chill in my spine. Based in netscape… URGH. I already had had to develop a couple of relatively big websites and I it was kind of a nightmare to have a decent styling on the then omnipresent Netscape 3/4. CSS? WTF? who needs css when you can have inline font declarations?

So I just kept avoiding firefox for a while, until they started their reasonable and human campaign: Take back the web. And they did it well! Why advertise things which are so surreal and ethereal such as open source, ability to access the intimacies of the browser and so on, when what people wanted was to browse any page without playing a hit-or-miss game against the pop ups?

Then it gained value for me. A browser which removed the annoyances and dangers, and could be customised at your will, and even more - which was reliable: you put some standard css and it worked. End of the story: it works. Somehow one can think it is the same idea that was used for advertising macs: they simply work.

Moral implications come later, just by the sole fact of being remotely involved with the community. Any open source software community will do, even a very small one. Using the software, getting in touch with developers, submitting bug reports, suggestions, even contributing with more code or documentation… makes you feel like you're kind of giving back something of what you have received for free (Note: I know there are also stupid coders which won't care about how many bugs you submit and won't accept any suggestion or fix anyway. Yes there are idiots everywhere - I suppose it's inherent to human nature).

It also makes you aware of the implications of closed software. What if that program which you absolutely need gets discontinued and there's a hidden bug which appears next year, and there's no one which can fix it, and you don't have a way of migrating your data to a new program? Cry.

With open source, it is different. Not in the sense that even your six year old niece could fix the funky, although buggy, Tux-goes-to-snowland game, but it means that maybe someone which is interested enough can do it. Or maybe you can pay him/her for doing it. But at least there's one way out; you're not trapped.

And that is my point: if you/we want people to move to opensource products, we have to use real reasons. Do not talk about religious like premises, they won't work. People want value, not airy sentences without any immediate effect on their pockets or timetables. Show them Firefox, Thunderbird, Ubuntu, Open Office, Gaim, Blender, Python, PHP, Apache, Ruby, Rails, MySQL, gcc, wordpress… and then they will get convinced.
Now about giving back to the community… I have been thinking about it thoroughly: there are thousands of companies making money of open source software without donating a single dollar back for it. But I came to one conclusion: if they don't give a buck for free software, they won't give it either for commercial, non-free software. They will copy it illegally as well… amoral people are not stopped by laws however.

It's quite funny how they try to protect themselves from the GPL implications. I have seen quite a lot of project managers and company directors feverishly studying the GPL to find out how can they avoid to distribute the source code of their applications based on GPL software, while not having to adhere to a commercial license (and hence having to pay).

For example, they are particularly obsessed with MySQL licensing. MySQL comes in two license flavours, one is the GPL which makes you distribute the sources of the application you build using MySQL, and the commercial one, which allows you to not to distribute anything, if you pay. So there are those avaricious and greedy executives which are going to save the value of an Oracle or MSSQL server license (which is not little amount) and don't even want to donate a ridiculous amount for allowing the coders to have some beers. They will justify that they do not distribute the application - but install it in their private servers, hence it is not distributing anything. Miserable wankers! Sometimes I really would like the judges to take more seriously the GPL and give all these people a good lesson.

Even though, I'm very optimistic about all of this open source scene. Now that we have learnt the lesson, more useful products are being developed with higher quality standards than commercial software. A simple comparison ridiculises commercial software: compare bloated internet explorer 7, after more than 5 years of what they call "development" and still can't support main CSS features which other open source browsers such as Firefox or Safari do support since more than one year ago. Want more? Compare Ubuntu with Windows, for instance.

Also, it's not only about individuals, companies seem to have changed their approach too. See macromedia/adobe with their new Flash 9 open source compilers and IDEs, for example. All of this looks very promising. Maybe it's just that open source is getting really mature and it's ready for invading every single electronic device on Earth. Maybe it's just us becoming adults and aware of what we do with computers.

But there's still quite a lot of work to do: lots of these programs need a good rework on interfacing and documentation, otherwise they are unusable and obscure. Lots more are ego-pumping projects for their developers, which didn't work as they expected and so are abandoned. Same occurs for the projects which just duplicate the functionalities of another one, but do not add anything new - for example, CMS software. Do not misunderstand me: I'm all for people writing whatever code they want, but it's stupid to start yet-another-CMS-for-LAMP when there are lots of them which are not even finished. What those projects need is a bit of collaboration between individuals so as to conquer more than one small sandhill, and reach the peak of a big mountain instead.

And we all can contribute to it! Long life open source!

20060806 Wrong location of mysql.sock?

I was trying to run bake script (for cakephp!) and it started complaining about not finding /var/mysql/mysql.sock - but why this path? I already had problems with mysql socket and ruby on rails. In that time, I was using xampp for apache, php and mysql, so the mysql socket was inside xampp folder and I could solve it thanks to ccm (see the post if you feel curious).

But past week I decided I was fed up with xampp and not knowing where are the things, and more specially, not having a working version of Apache with mod_rewrite, so I went for the hard way and compiled and installed all from scratch (apache, php, mysql). Then what happened is that mysql socket is now in /tmp/mysql.sock but for some reason cake (and obviously php) is looking for the socket in /var/mysql/mysql.sock. Why, I don't know - since the application I'm developing works perfectly (I presume that's because it's running in a virtual host and thus php doesn't try to connect with localhost but with http, as it believes that it's not localhost actually).

In any case, it's just bake which fails.

Well, it was just bake which failed, since I decided to solve it all quickly. Did it want a socket in /var/mysql/mysql.sock?

There you go! Open a terminal and…

cd /var
sudo mkdir mysql (if a mysql directory doesn't exist there)
sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock

bye bye error! now enjoy bake!

This trick is maybe dirty but I'm fed up of running ./configure and friends. If you know why it failed before, you can leave a comment… and I'll appreciate it much :)

Impressions on Fruitstock'06

We went yesterday evening to fruitstock'06. That is a music, fruits and innocence festival, but they also sold beer. Quite a lot of beer indeed! It is held in Regent's Park in London, quite near Baker Street, literary home of Sherlock Holmes!
I had misestimated the weather and arrived with my old sneakers, just in case the grass was wet or something like that but found that
a) there was not such green wet grass, after the extremely long heatwave we've had/suffered
b) it was extremely hot (even hotter because of the sneakers)

Luckily all my sufferings were payed when we went to the extremely long queue for buying drinks. There was a small counter for the thirsty people, and I'm going to do a little non-scientific estimation: the counter was about 6 metres long and there were like 4 people in a one-metre long row. 6×4 = 24 people in one row. There were approximately 6 row before reaching the counter, so that makes 144 people waiting to be served by just around 8 people (I can't tell that exactly since I never managed to see them all… but maybe they were less). That means that each barista had to serve 144/8 = 18 people.

And that explains the long time we spend there. It allowed us for missing almost all Nouvelle Vague live and the beginning of Norman Jay's one.

Once you got the drinks (at least they gave you like a carry-drinks thing) you had to find a way back to where your friends are, passing over hundreds of people sitting in the grass, picnic style. And I was feeling very sorry about having to spill beer over them, as we had to do all kinds of contortions, bends and twists for not stepping over the belongings (and feet) of the people, and obviously sometimes some beer went out of the glasses, and thus fell over the people. But I realised there was not any way of arriving without spilling beer over the people and sometimes stepping over their mats, so I had to do it. Next time maybe the organization could try to stablish some kind of paths so that everybody can walk over them without annoying anyone else, and without having to feel how people spills beer over your toes.
That last reason was the one which relieved me of having arrived with sneakers and not with flipflops - I hate the feeling of cold drink slipping between my little toes X(
Then the sound system was not as loud as it should have been, I think. It was complicated to listen to what they said from the stage - unless you're in the very first row but it was impossible to get there, and the artists weren't that interesting (although it was nice to listen to Gipsy Woman!).

I didn't enjoy the other activities which were proposed, mainly because I couldn't see/find them (so many people was there) but they looked interesting. Oh and another fact I liked was that when we left the place we noticed there were security men preventing people to enter until more people had left, for avoiding the crowd to grow too big. That is extremely good thinking!

On the other hand the ambient was quite relaxed, there was nice people as the organisation had described the festival, so it wasn't a bad evening. I like the idea of having festivals in parks in London (although I feel sorry for the grass as well), and to be able to just take a bus or a tube home when you feel tired - and be at home in 20 minutes.

Fruitstock is still on today so if you read this on Sunday the 6th you can still visit it! But bring your drinks from home and avoid long queues!

Spanish demoscene (temporarily) owns pouet!

Here's the screenshot of pouet's top of the month, right before the masses start pushing up the assembly'06 releases to the top.

pouet's spanish demoscene ownage!!

There's quite a lot of spanish productions here:

  • tokyo by xplsv (although I'm not really sure about labelling it as spanish, as the main code was made in USA, but the demo itself was baked near Seville, one of the paradigms of the international spanish image. So well…)
  • polarfield by fuzzion
  • envolvente by xplsv
  • katedra by collapse and necrostudios

And if you dig into the extended toplist (click on more… and select more productions, something like this link) you could find also nocturn's NooGenesis in the 18th position, which is also quite cool for a first-time production. Or holy guadalupe! by xplsv in 30th position and die anderung 2 by spontz in the 37th.
So come in and let's keep on releasing productions which make it to the top!