23 December 2007

The mysterious tiny hole in Nokia 770

I did something very dumb today. Actually I started acting dumb yesterday. I installed the newest 2007HE OS and screwed a library by installing a newer version (3.3.8 instead of 3.3.5) but for 2006 OS. This screwed the media player. So this morning I was angry that I couldn't even listen to music, and I really don't know what got into me, but I pressed the bower button while it was deleting a file! I really should know how dangerous and forbidden it is... But well... So the tablet hung while shutting down for the entire day.
Well, what a great opportunity to learn more!
The Tablet has a tiny hole on the bottom. Many devices of the kind have one and it's a reset hole. This time, I deiced not to rely on my intelligence and google first. Half of the sources stated it was a reset hole indeed, and half that it was the microphone! I finally choose to believe this one:

Trust me it's not a hardware reset, I learned that the hard way.
...it's a mic.

I learned enough the hard way these days, so I played it safe. After removing the battery the device booted well.
Who designs a microphone that looks like a reset button and says "pluck me!" anyway?

22 December 2007

Christmas is coming

Christmas is coming! And I noticed just now! Why? Pobably because I don't watch TV, don't go out much, and these weeks, if I ever went out, it was to school, and I didn't get to see many christmas lights on my way.
I started my gift shopping last wednesday. It was quite a challenge: a boyfriend and three brothers, two of wich I hadn't brought birthday presents during the last two months! However, I am lucky only to have one lecture on wednesdays, so I went shopping at 10 a.m., when the shops aren't crowded yet (and you gotta know it's tough this year, every shop lacks employees, after so many people emigrated to the United Kindgom), and brought almost everything I needed. Well, it was sweets in most cases, but I just couldn't really go for personalized gifts when this operating systems lab got me tortured untill the last minute (it was due on 9:30 a.m. and i stayed up untill 7 and typed!).
My shopping went on the next day, as my friend needed to hit the mall. This shopping session was more selfish, and I left the mall with the new Amy MacDonald album, coloured tights and two new ribbons for myself, as well as lots of medecines for my family, who is generously sharing all the viruses avaliable out there.
Anyway, I got my gifts, it's wrapping time. LifeHacker (again!) lead me to a site with great wrapping ideas: WrapArt.
One of my favourite ideas from the site are drawn ribons:
Why don't real-life bows ever look that impressive?
Next, marker strokes: so easy and simple, yet really elegant:


And last, collages. The site features lots of collages and most of them don't look impressive, but these do:


Isn't it a great way to use wrapping paper leftovers?
Okay, gotta go and wrap my own presents now.

Back to basics: read books people!

I love good motivational stuff. It's amazing how a simple string can make your life better sometimes. So I'm gonna post some good stuff here, I hope the blog doesn't get like a copy-cat of LifeHacker.org.

So, motivational article of the day: The 26 Major Advantages to Reading More Books and Why 3 in 4 People Are Being Shut Out of Success by Brad Isaac.

It's a shame to admit, but I almost don't read any books. I read a lot of magazines and professional blogs, though. I guess I didn't realize what I was missing until I read the article above. It lists vocabulary, discipline and concentration improvement, self-esteem raise, skill building, creativity improvement (wow!), money saving and many more advantages - who on Earth, when offered all those things for free or almost, would refuse??? Well, looks like many people do, starting with me.

Well, the books about hacking I borrowed from my boyfriend last week (after the meeting with the ABW, I realized that my security knowledge was way too theoretical and decided to do something with it) have drastically increased their chances of being opened during the Christmas break, and the poetry books I asked for for my birthday should be reopened soon!

By the way, LifeHacker just posted about an Amazon Discount Finder. I'll check it out and go improve my vocabulary, discipline, concentration, creativity, skills and everything.

20 December 2007

Major news: the new IE

A little quote from http://channel9.msdn.com/showpost.aspx?postid=367207:

The IE team has been very hard at work on IE 8 for the past several months and they hit a huge milestone last Friday evening. The IE dev team checked in a bunch of code that included several new features implemented in the core rendering engine that enable IE to pass the ACID 2 test! This is great news for web developers: IE 8 is going to be our most standards compliant browser to date.
Wow. Better late than never. However, I still am waiting for the days when us web develeopers won't have to work with N browsers open at once and do CSS hacks for IE6. It's not even that much fun, when you think you've got way more work to do just because someone screwed his part.

18 December 2007

Ribbons in webdesign

I suffer of an unexplainable ribbon obsession. See the pic on the side: what's in my hair?
(Well, to be honest, I haven't worn ribbons in my hair for quite a while, as I don't really care what I look like while coding, and last week was all about coding... but I love ribbons, the more colorful the better. )



So naturally, I incorporated ribbons into the design of my personal website. Today, I ran across another website with ribbons in the design: www.splittheatom.co.uk (it was featured on SmashingMagazine, which the geek used to read on a regular basis). I really like how colorful ribbons have been used for the navigation and frankly, I am a bit surprised that I don't see ribbons on websites more often (contrary to pieces of paper). Well, there's an area to explore. If
you're interested, here's a nice tutorial about creating ribbons in a graphic editor.

13 December 2007

How is my module going

Like a handicapped snail nailed to a wall.
Hmm, 'snail' and 'nail' rhyme in English... Sounds like song material to me!

11 December 2007

Busy geek.

Not much to read for you guys this week, sorry. I'm working hard on my kernel module, at the moment I'm reading chapter 3 from this book and adjusting the code to my needs.
Besides that, I wrote a song, which I hadn't done for a few months, and it went smoothly. (Well, I was supposed to be writing documentation for the team project... but I did both in the end.) How good can a song called "Every day is headache day" be? Well, it's not the most brilliant song ever, still I am happy with it.

09 December 2007

Givin'up on UML

The last week was a nightmare. Well, no one ever said it was gonna be easy. On the contrary, the operating systems lab is a legend. Anyway...
I spent quite a few days setting-up User Mode Linux. Compiled it, ran it, made and even better filesystem with a fresh and Ubuntu-suited script. The network didn't work. I spent a day trying to set it up. Nothing. I said "okay, I can live without mc, althrough I really like the built-in text editor as I don't have much experience with Vim or Emachs". Fine. Then make didn't work. One more day setting up the network, as successful as the previous one. I said "okay, I can live without make, I can compile on Linux1 (my machine on VmWare) then copy it onto Linux4" (the third attepmt to UML - don't ask wether I count from 0 or from 1). Fine. Modules didn't work.
This was time for a good lets'-burst-into-tears crisis. One week to deadline and I don't know how much trouble is UML gonna cause. So my boyfriend and I decided to give it up - I would mess with Linux1's kernel. He gave me access to the VmWare console so I could take snapshots and clean my mess.
Fine. Donwloaded a vanilla kernel. Compiled it (you gotta edit the Makefile a bit to compile 2.6.17-13 under Ubuntu, easy to find). Edited Grub and tried to run it. Once. Once again. And again. And again. And again.
And let's burts into tears again.
My boyfriend changes the hard drive on VmWare from SCSI to IDE. I reinstalled Ubuntu. He came over. Half an hour and it worked!
Man, when I think we could have just started off that way... One week to deadline and I haven't started writing the module. I just wasted an entire week.
Okay, gotta be strong now and type as hard as I can.

How geeks behave

My father was recently at a conference when one of the scientists, a great speaker, said he always began his lectures with a joke. So I'm gonna start this post with a geek joke. It doesn't translate really well into English, but you should get my point.

Some geeks are having a party and are only talking about computers. Finally one of them says:
"Guys, let's talk about something else for a bit.
-Like what?
-I don't know... bitches!"
A minute of akward silence. Then a geek finally speaks out:
"You know, my graphic card is a bitch!"
So the other day, I was at school, talking about you-know-what. Some guys were talking about how hard it is to pick up the girls at the dorm when every conversation ends the way it does (see above). So I joined their conversation and reminded them the joke. (You don't tell geeks geek jokes, cause they know them already, you just remind them.) And then I said:
"But you know what? Mine really is! Finding the drivers took me sooo long..."
Everyone laughed and I walked away. I went to have lunch with two girlfriends of mine. Another of our girls was there with her boyfriend, talking about virtualisation. This was pointed out: "My, having lunch with her boyfriend and talking about vitualisation...". Ten minutes later, we were talking about virtualisation ourselves.

04 December 2007

Meeting with the ABW (NSA equivalent)

I just came back from a meeting with the ABW (Internal Security Agency). I'm enchated and excited as every little kid when he discovers his vocation at the early age of eight and says "I wanna be a agent!" (as well as fireman, policeman, austronaut,... I was gonna be a teacher and a writer, never an agent.). I'm seriously considering applying there. But not today.
The pros: the meeting was with people specializing in cryptology, internet security,... And what do they do? EVERYTHING! Cryptography, cryptoanalysis, testing network protocoles,... just make a wish and do it! The have access to all the newest software! And Arabic teachers! I think ths is a place where I could do exactly what I want and I would be able to change it easily as I change my mind. I'm afraid that companies can't provide so many possibilities.
The con: the giant responsability. I wouldn't exactly want to have the weight of the world on my back, and that's what this kinda work is about. I'm scared!
Scared... But that reminds me of one thing: the only good definition of "courage" I ever heard was in a Disney movie (Princess Diaries). I was: "courage is not the lack of fear, but the conviction that something else is more important than fear". Well, isn't the country's security more important than my fear?
This reminds me of another thing: the movie "Thirteen days", when the guys wish there were some great smart guys that would come and solve the issue... but there are no such guys! Or more precisely, they are those guys! All they can do is do their best. So maybe I am one of the guys? With a solid crypto knowledge and being only able to do my best?
That's how I see working at the ABW: as a vocation. You can't do that for the money (they won't hire you). You can't do that for your own satisfaction (allthrough you get it). You can only do it for the country and doing it means assuming a huge responsability, not going "yahoo! I got a great job!".
Now a more pragmatic point of view. It's a work full time, wich means I won't be able to do it for the next 2,5 years (still in school!). So there's no point in applying now. However, it's something that I am really going to consider in two years. I need time to find that vocation in me (or its lack!) and to consider everything. Meanwhile, it's school, hopefully Google Summer of Code this summer, a part-time job next year, and we'll see the rest in its time.

03 December 2007

User Mode Linux

I just got it working. Took me longer than it should, but the important thing is, it works.
So, if you wanna avoid my mistakes, here's what to do:

  1. Before compiling the kernel, konfigure it properly, as outlined on http://cosi.clarkson.edu/docs/kernel/setup/uml/uml.html
  2. If you encounter compiling problems, believe there's a way and google for it (see my previous post for 2.6.17-related issues).
  3. Don't waste time on creating and configuring your own filesystem on Ubuntu 7.10, because the one for 7.04 works.
I'm really gaining a lot of experience here.

01 December 2007

User Mode Linux with kernel 2.6.17.13

I DID IT!!! I compiled the 2.6.17.13 kernel for UML (make ARCH=um), on Ubuntu 7.10 Server (I think), vanilla style (no patches). "make ARCH=um" is not as simple as it seems, I had some errors, but finally managed to compile it (I didn't say "run it"). Here's what went bad:

arch/um/sys-i386/user-offsets.c:19: warning: implicit declaration of function offsetof
arch/um/sys-i386/user-offsets.c error: expected expression before struct
Solution:
http://www.mail-archive.com/.../msg225786.html

I don't remember the second mistake, but such a simple thing helped:
In arch/um/sys-i386/user-offsets.c, change #include <linux/stddef.h> to #include <stddef.h>
It was said on:
http://courses.ece.uiuc.edu/ece435/Labs/lab2a.pdf
http://readlist.com/lists/vger.kernel.org/linux-kernel/54/273734.html

arch/um/include/kern_util.h:9:27: error: linux/threads.h: No such file or directory
Solution:
http://readlist.com/lists/vger.kernel.org/linux-kernel/54/274755.html

arch/um/os-Linux/aio.c:83: error: unknown field aio_reserved3 specified in initializer
Solution:
https://bugs.launchpad.net/ubuntu/+source/.../+bug/163011

arch/um/os-Linux/process.c:275: error: expected =, ,, ;, asm or __attribute__ before { token
arch/um/os-Linux/process.c:144: error: parameter name omitted
arch/um/os-Linux/process.c:285: error: expected { at end of input
Solution:
http://www.uwsg.iu.edu/hypermail/linux/kernel/0609.2/1113.html
or (not tested, but they say it also works)
http://www.uwsg.iu.edu/hypermail/linux/kernel/0609.2/1061.html

arch/um/os-Linux/sys-i386/registers.c:139: error: JB_BP undeclared (first use in this function)
Apply this patch: http://user-mode-linux.sourceforge.net/.../2.6.17/patches/jmpbuf

You know you do it too much when...

I was going to bed yesterday. My other cat, Linux, was lying on the bed. And I said to myself:

"This is Linux in guest mode and I am the host."

Adventures in kernel hacking

My operating systems class is a real pain in the brain. I spent the entire day yesterday trynig to compile anything. My dream goal was to add the "Hello, World'" module to the Linux kernel. It's still a pretty remote goal.
I had already spent a few days tryinhg to compile the 2.6.17.13 kernel on Ubuntu 7.10 on my VmWare. First, there was a bug. Fixed it. Then it couldn't finish because the drive was full (and i started off with 5 gigs free!). Gave up.
Moved on to a VmWare on my boyfriend's server. Debian. Compiled kernel. Didn't boot (probably cause I screwed the disk drivers). BF fixed but told me to get UML because of all the screwing opportunities. 2.6.17.13 won't compile with "ARCH=um".
Went to bed at 23h.
I started this day a lot nicer. An episode of "Project Runway". Talking to my parents. Tea, tea, tea, and more tea (my throat is always dry). Yoga and abs training. Then I did what women do best: spent half an hour in the bathroom using a dozen of different products.
Now it's time for one more cup of tea (or maybe coffee? no one sane compiles the linux kernel without coffee!) and googling about that 2.6.17.13-based UML.