Showing posts with label Linux. Show all posts
Showing posts with label Linux. Show all posts

03 July 2009

Silverlight vs. CSS

I'm back to Silverlight blogging! I've been super busy these last months with school, getting married and swithing to Python at work and I haven't had time to look deeper into Silverlight 3 nor get my hands dirty digging in some code. But, summer is here, and here I come! Let's start with some philo: Silverlight vs. CSS.

But why not Silverlight vs. Flash?

First, because it's done greatly at Shine Draw (congratulations on becoming a Silverlight MVP!) . By the way, Smashing Magazine, which is the best webdesign resource ever (and anyone working on a user interface should read that kind of stuff ) has recently had a really in-depth technical article about that subject too (which kinda concludes that Flash is better as it supports more stuff, but I'd just say older, anyway, I'm just saying I'm not writing about Flash).

Second: Flash and Silverlight are two different tools. You usually know one or the other. You usually have to choose one or the other as your area of expertise and once your choice is made, you won't go back, no matter how I praise one and critiscize the other. Silverlight and CSS, however, are tools lying side by side in the same toolbox. Okay, lots of generalizing here, some people are pure C# programmers and don't need to worry about webdesign. I am the girl who uses SL more for websites than for applications and that's what happens: I need to embed SL elements in a webpage done in HTML (thus my interest for HTML Overlay) so a question arises:

Which elements do I do in Silverlight, and which in DHTML?

Here's an excellent example: the Fish Eye menu.

n.design studio did it in CSS/JS:


PageBrooks did it in Silverlight:



Shine Draw did it his style: both Silverlight and Flash, for comparaison:

Now say you need a Fish Eye menu on your site - which do you use?

First thing: ask yourself about your target. Some of my best friends use Linux and well, not everyone has Silverlight. But some people block all of their Flash and some turn JavaScript off - you can't please everyone. I think I'd go with JS here, but the topic is broad.

Second: is it ready? Is it free? For commercial purposes too? Because if it isn't and you have to do it yourself, I'd say one hour for Silverlight, a few days for debugging JavaScript in all possible browsers - absolutely incomparable times.

Still don't know? Don't worry, neither do I, the topic is way too broad. A lot depends on your goal: is it learning a technology? Pleasing a customer? Building an impressive portfolio? If the latter, one important word of advice: don't overdo it. I've seen a site with two moving Silverlight controls that were getting really annoying after a bit of time. Modern at first sight, but cheap at the second: "Mm, yeah, a rotating banner, how hard is that in Silverlight?" It's easy and it's great that it is, but let's use our tools wisely.

02 August 2008

Two days offline ("offline" as in "without internet connection")

Two days offline - can you believe it? We've switched operators so for almost two entire days we've been to Hades... erm, offline. So how did we survive?

Dad was at work. Mom's not addicted. Brother was gaming the whole time. Other Brother delivered some good quotes in response to "watcha doing while you're offline?":

I'm programming in C++ without documentation.

And later:
I'm trying every game that came with my Linux distribution.

(He's using Fedora, by the way.)

So, parents, if you're ever worrying that internet might be a bad influence for your kids, think how bad no internet is for them.

What about me? I didn't suffer that much. On the first day, I was at work and then with Boyfriend. On the second day, I went to my favorite mall to clear it off the final summer sales. I came back with 17 t-shirts, 5 sweaters, one skirt, cheap sunglasses, one necklace and one night gown. Oh, and a new "loyal customer" card from Top Secret thanks to the 17 t-shirts and 5 sweaters. That was cool, but now I'm on-line and that makes me happier than the biggest shopping trip.

13 May 2008

My cat got his ear pierced

Let me make this clear: I'd never do that to my cat. Having been bathed and taken to the vet several times, the poor animal has surely suffered enough. He most probably got this piercing from another cat while fighting for the territory.


It's interesting to see how much people and animals have in common: among many others, we all do yoga and get piercings apparently.

26 April 2008

Ubuntu 8.04 "Hardy Heron" is out

Ubuntu 8.04 "Hardy Heron" is out. Actually, it has been since Thursday, so I guess I'm a little late for the party.

Well, I visited the download page on Thursday, unuware of anything, because I had a fast connection at school, so it was a good time to get it just in case I ever felt like updating, and there was still 7.10. I must have been a few hours early. I got some beta instead.

Okay, you know when you're a geek when you're concerned about missing the new OS' premiere. If it makes you feel any better, I have a few other concerns, like not having been told that one of my friends is getting married today, but I don't feel like elaborating on these.

Back to Ubuntu. LifeHacker has a very enthousiastic review, and my friend just blogged about an interesting way to make the system use the memory in a more efficient way, claiming Hardy is the best OS he has ever had installed. Looking great, but in just a month after formatting my hard drive and reinstalling everything, I don't really feel like updating. And three weeks after completing the Operating Systems class, I'm not touching the system with a pole.

21 April 2008

Announcements

I have two major announcements for whoever tries to keep track of my life.

  1. I have completed the operating systems course. That's great news. Otherwise, I'd have to take it again and that would be another few months of hard work, and this time, I wouldn't learn much. Plus, that's the hardest course at this faculty. This means that if I could do it, I can do anything. Well, actually, that means I can get a bachelor's degree in CS at the end of this year (unless I screw something else up), and with all the classes I have done in advance, my master's degree will be only seven classes away.
  2. My Google Summer of Code application has been rejected. I'm a bit disappointed, but that was to be expected. Maybe next year... I'd love to work for OLPC a bit, so maybe the next GSoC would be a great opportunity. Maybe. We'll see what life brings.
Now, I can focus on completing the classes I have until June and start thinking about my next career move. And I'm learning Java.

25 March 2008

Installing, installing, installing....

Today is a pretty typical geek day. Basically, it means sitting at the computer all day long.

Having formatted my hard drive on Friday, I re-installed Windows XP from my recovery CD. Then I installed Ubuntu 7.10, only 34 days before Ubuntu 8.04 is out (you can get the beta if you can't wait, but I don't like the word "beta", or read a review here).

Sunday was Easter, so all I did was install The Sims 2, among with the expansion packs: Open For Business, Bon Voyage and Free Time. Then played a lot.

On Monday, I continued celebrating and installed Visual Studio C# and Visual Web Developer, both express editions of course. However, I didn't even have the time to run one of them.

Today, back to the serious stuff. Right now, getting the 204 important security updates Ubuntu has got for me. Then, installing Java and Eclipse. Then, Sugar, because One Laptop Per Child has been accepted for Google Summer of Code and I'd love to do something with them. Then, Thunderbird, which I'd love to see working under both Linux and Windows, using the same mail folders of course. Then, some SVN client, then, the libraries I need for my team project, namely Tuscany SDO and Apache Maven. Then, getting to work.

Ah, an entire day at the computer. I'm feeling so good right now.

21 March 2008

Adventures in disk formatting

Nothing is as cool as formatting your hard drives and installing operating systems. I decided that there was no better way to start my Easter break.

I decide to do so because after installing and uninstalling Linuxes, my partitions got pretty messy, with 24 GB of unusable disk space (not that I nedded them bad, but recovering them meant formatting disks anyway and who wouldn't want 24 GB). My Windows got messy after a year and a half of using it, my Ubuntu was unconfigured and I needed it, so it was a great time to clean everything up.

So, I copied all my files, of course, and tried a Windows recovery CD. Failed with "free space not found". How stupid is that?

Reloaded Windows, removed all partitions but "recovery" and C, and that was as stupid of me as the M-corporation is for not giving normal install CDs but some kinda working recoveries.

Retried the recovery, failed again.

Retried loading Windows, but removing the drives damaged Grub, so it failed.

Tried Super Fdisk. Didn't boot.

Tried Partition Logic. Wanted me to click on "OK" without any mouse. I failed.

Looked for Ubuntu 7.10 CD. It turned out a brother lent it to a friend a few months ago.

Added "downloading Ubuntu 7.10" to my to-do list. At least this one didn't fail.

Tried Suse 10.1 Install CD. Failed, or I didn't wait long enough. I'm usually patient, but not when it comes to watching black computer screens in hope for a change.

Tried Ubuntu 5.10 Install CD. Failed. Don't even remember how.

[EDIT] Linux has some problems with my graphic card. To run Ubuntu on an Asus A6RP-A069 or some similar stuff, add "hpet=disable" to the boot options.

Read the instructions again.


"Take your notebook PC to an authorized ASUS service center if you have problems with the recovery process."

Asked myself where the nearest authorized ASUS service center could be. There had to be one in Warsaw, so it was not that bad, but what if I didn't make it before closing time? A notebook-less Easter? Nightmare.

"Daddy, do you have a Win XP CD?
-Let me check... no.
-Do you have anything that installs something?"
He had a Windows 2000 Professional Install CD. Boyfriend told me to give it a try, remove all the partitions except for "recovery". Listened to Boyfriend and retried the recovery CD. Worked. I got those 24 GB I wanted back. Now just gotta install and configure my applications.

By the way, here's an article on how to fix your Windows MBR with an Ubuntu liveCD, looks interesting. Thumbs up for Ubuntu for having such functions.

14 March 2008

Back to kernel hacking

I'm back to kernel hacking. The module I was writing in December has finally been graded and got a well-deserved zero. Well, it wasn't finished, so it wasn't working, so no wonder it didn't get a positive amount of points. Luckily, I have no "big" mistakes, except for an ooops that need to be investigated, but nothing is to be redesigned. It should go smoothly.

If it doesn't, I just found an evil solution: File Destructor 2.0.You just upload a file and it gives it to you back, but corrupted (so unable to be opened). Too bad I have to send my stuff as tar.gz and this format is not supported... No, seriously, I wouldn't do that. But besides the evil potential of that script, I like the idea.

18 February 2008

First day of school

Hello from school on the first day of the new semester.

Don't be fooled - the old one isn't exactly over yet. I am still waiting for my scores of the operating systems lab. Once you get your score, you can fix your code and send it again and get 75% of the poins. We have time untill next monday. Sure, my group will have a bit longer, as we would have to fix two assignements in a week, wich would be cruel, still, I'm not happy. I can't wait to be done with it.

Anyway, as you can see from my schedule, today is Artificial Intelligence day. First, a lecture. I overslept (as planned, the lecture notes are avaliable on-line).

10a.m., a lab. Now here's something I love about my school:

"So, I assume everyone here knows Java."

Yeah. Let's take a look at our program. First, you have "introduction to programming" and "programming methods" in Pascal. Then "object oriented programming" in SmallTalk with a bit of C++. Then "concurrent programing" and then "operating systems", both in Ansi C. Anyone sees Java on the list? (Anyone sees something that I could use in real life or that could get me a job?)

I'm learning Java.

(In parallel, there's the team project we'll be writing this semester (during the first semester we just did the documentation), in Java. We're supposed to meet on Tuesdays but the teacher is trying to reschedule it on Thursday or Fridays, violating my holy right to a 4-day week-end. Gotta fight for my right!)

Back to my day. Right now, free time, which I used to get a lunch and now I'm back at the lab (gotta learn Java). Then AI class at 2 p.m. Then groceries shopping and studying home. I let my Brother use my laptop for a presentation and I'll have it back in the evening. I wonder how I'll survive my first afternoon without it.

Can anyone recommend a good Java tutorial?

16 February 2008

Wow, 2008 OS for Nokia 770!

The Nokia 770 was born with the 2005 OS. Then came the 2006 OS. Then came the Nokia n800 with its 2007 OS and soon, a 2007 OS Hacker Edition was released for the 770. Then n800 got a new OS, the 2008 one. Here's a picture. Nice, isn't it?

Okay, enough history, hot news coming: there is now a 2008 OS for the Nokia 770! That's like "hacker hacker edition". Announcement here.

Okay, looks cool, BUT:

Extra swap memory is required to get a decent performance, the device reboots from time to time... This release is definitely not recommended to end users and not even to users depending on this device alone. We are releasing it to show how far we have gone but for us this is a proof that the Hacker Edition has reached its limit.

Okay, I'm not reflashing. It's nice to see that the geeks made it work, but I need something stable at the moment. Right now, my rs-mmc card is screwed (the 1 GB one) and I have to use a 64 MB card, which doesn't even hold 10 mp3 files. Plus the browser crashes when I try to log in to the hotspot at school (how annoying!) and I don't know how to fix it without reflashing.

The 2007HE OS is slow enough as it is. I tried to post here from bed the other day. The browser had to be the only program running. The Opera browser couldn't handle the JS Blogger is based on. The Mozilla browser was slow as hell and when after 15 minutes a guest came over, I gave up. It really is pushing this hardware to the limits.

Someday, I'm gonna get a giant new card, install both 2006 OS and 2007HE OS, extend the swap to the card and everything is going to work so great...

07 February 2008

Paris Hilton receives Harvard award for her Linux distribution

Seriously, did you know that Paris Hilton was an accomplished Linux Developer? This picture cannot lie:
I've read that she has released her own Linux distribution!

She is so accomplished that she received an award at Harvard today!
(What has this world come to? Paris Hilton gets a 'Woman of the Year' award at Harvard's and the Pope can't give a speech at the Rome University? )
[Sources: truth, lies]

06 February 2008

What the geek is doing

You might be wondering what I'm doing when I'm not working on my operating systems lab projects. Well, I am studying for my operating systems exam. I set up a personal wiki for that purpose with Wiki on a Stick. By the way, I learned a bit of the wiki syntax, so I will most probably make a good use of it soon.

I am so looking forward for this semester to be over. The operating systems are a real pain-in-the-brain (and a legend in my school). All I wish for right now is pass. They're not my biggest passion, they don't inspire me to anything (ever wondered why there is no post here starting with "hey guys, did you know that the slab allocator..."?). How I long for some high-level programming... And some "code what you want" programming... I fortunately will have those next semester.

So the exam is tomorrow. On Friday, there's the correcting codes exam. I'll start studying revising after the OS. Today is Ash Wednesday. Fasting when you're supposed to study as hard as you can is not cool. (Okay, fasting is not supposed to be cool, by definition.) There's no milk and I can't stand coffee without it... poor little me studying computer science, forced by... er... wait... That's it! I can quit, not have to study OS and have time to buy milk! Still, there's a reason I'm much better off the way things are (better by far).

18 January 2008

Geek goes to school

I went to school yesterday. That's a big event now, last time I set foot there was 8 days earlier (and only for two hours). It was cool, I got a nice break from kernel hacking. Instead, I was chillin' with the guys (I had semantics and operating systems and I'm the only girl in both classes) and talking about partying and movies and games... Nah, I'm fooling you. What do you honestly think we were talking about?

I learned a few useful things at school, like the fact that the number of major page faults is indeed in the task_struct (click here for exclusive information!) and that the semantics teacher still doesn't want to teach us about program verification. Why would he? The verification assignement was due that day and everyone did it somehow. Oh yeah, and I learned how to do the verification assignement on a short trip to the computer lab and did it too. See kids how useful going to school is?

Going to school has also some major disadvantages. My coffee milk got kindly donated to Fifa. Two classes strategically planned can take the whole day (2-6p.m. but I had to get there two hours earlier to do some administrative stuff, getting there takes an hour...) and I'm still tired. Still, it was a nice break from kernel hacking, but now I'm back to it.

15 January 2008

You know you do it too much (again!) when...

These days, I'm only sitting at home, mainly browsing http://lxr.linux.no/linux+v2.6.17.13/ in order to find out how to write my prefetching kernel patch and typing a bit. Anyway, kernel hacking all the time.
All the time is too much. It's not right. It's not sane. And you know it when you feel the urge to try this:

/usr/bin/time halt
(The first command measures how long the second one is execuded, and the second one shuts the system down.)
Here's the result:
Broadcast message from root@ubuntu
(/dev/pts/0) at 14:29 ...

The system is going down for halt NOW!
0.00user 0.00system 0:00.05elapsed 16%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (2major+379minor)pagefaults 0swaps
Well, I guess this means /usr/bin/time behaves right when it gets a kill signal. But what does it say about my behaviour? (I don't think I wanna know...)

12 January 2008

Geek busy again

I'm really busy again and I'm afraid you won't see much relevant content anytime soon here.
This time, I'm working on a kernel patch that does some prefetching. I hope I'll finish this assignment in time and won't have to fix it in March. It's due next Monday and I'm already tired. It's no good when you find solitaire interesting. It's much worse when you wanna switch places with Britney Spears because she doesn't have the operating systems class. I know she's double-divorced, her kids have been taken from her, photographers follow her all the time, she's addicted to smoking, she has family issues, her mental health is questionable, but at the moment, I claim she doesn't know her luck.
Wait, didn't I say I was happy, I wanted this myself and stuff? I still do, but the end of the semester is coming and I'm really tired of it, and my health issues (which I didn't exactly ask for and don't make me as happy as compiling the Linux kernel) don't really help.

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.

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