Archive for December, 2009
Midnight of the Decade!
Dec 31st
So that’s it then. 2009 is over and with it, the first decade of the naughties (you know, from 00 to 09). That’s apparently what they are called. I’d rather call them the ‘two-thousands’ or ‘millennials’. If you are reading this, you should be grateful. You were actually there at the turn of the Millennium. That happens once every one thousand years, so.
Does it not feel weird to you to say ‘man, the year 2000 – that was 10 years ago’ ?
Anyone still remember the Year 2000 Problem – or Y2K – where we all thought that computers would go crazy because of only two digits in the year (99 instead of 1999, therefore 00 and 1900) ? Turns out computer manufacturers knew about this a while earlier and built computers that could do 4 digits in the year instead of two. They started to make those around 1990 or so.

Remember Me? This edition of Windows is today a mere afterthought of a not too distant past – just like the Y2K problem
Well seems as if we evaded the end that time… phew! But seems as if the new Year 2000 Problem is now simply called 2012, and no, I don’t mean the movie. That flick is loosely based around the fact that the Maya calendar ends in 2012, on December 21, 2012, to be exact. What does that mean exactly, like, for real now? Okay. We know their calendar ends on that date. What we do not know is the meaning of it. However it is also true that some of the predictions the Maya made in their writings and calendars have been quite accurate. So logically the majority of people believes in some sort of major shift in society happening on or after that date. Others say they just ran out of space… A calendar has to end somewhere – some time. For this one, there is no way of knowing the meaning other than actually waiting until that day comes. Who knows, maybe it’s just another revival of the Y2K bug. Maybe it isn’t. We don’t know.
“It is the best of times, it is the worst of times. In the year 2015 people have access to a breadth and depth of information, unimaginable in an earlier age. Everyone contributes in some way: participating to create a living, breathing media scape. However the press as you know it, has ceased to exist.”
Be warned.
What can I say for me… I sure have seen a lot of things happening in those ten years, probably the most important ones in my life. Without a doubt the mother of all my decisions I ever made was to come to Ireland. Back in 2001, I was looking for a job after I bailed out of an apprenticeship… Xerox was interested in me at the time, and what do ya know? On May 21 2001 I started to work for them and did so for four and a half years. Not even in my wildest dreams did fate choose that kind of path for me. Yet here I am. I have worked for some big companies ever since then: Xerox, HP, Microsoft, DoubleClick, and Google. Not only did that have a tremendous positive effect on my CV, it also gave me work and life experience I could not have gotten anywhere else. All the things that happened in that time from then until now is simply too much to put into this article, so I’ll be really brief.
Ah, yes… not everyone gets fired by Google eh? And if they fire you, you KNOW the recession is bad!
Let’s just say that so far, these have been the most extraordinary years of my life, I promise you that much. But like Bill Hicks used to say: ‘Life’s like a ride in an amusement park and if you choose to go on it, you think it’s real – because that’s how powerful our minds are’. He sure figured it out. I start to understand what he meant I think.
Right now I don’t know what I’m gonna do tonight, so… Well what ever you’ll do, have fun tonight – remembers it’s the end of a very important time. First 10 years in the new Millennium and 21st century.
Yeah so anyways. Every year I kinda make some music covers for actual CDs I make for myself. It’s sort of my own tradition, I think I mentioned it here before a long while ago. The theme changes every year to something that had the most effect on me. This year it’s anime I suppose… If I ever watch TV, it’s TV-on-demand and it’s anime. So here are the covers for this year.

Elda Taluta – The Words Of Awakening.
Well until next year then. Be good, be human. Party well and enjoy.
This is not Leopard
Dec 30th
So I updated to Ubuntu 9.10 and decided to do some desktop pimping again, because I am not necessarily the greatest fan of the standard GNOME interface. So all you really need is a good looking Leopard GTK theme (there are some), good Metacity theme (again, there are some), Cairo Dock, and Global Menu Bar.
Boom!
Noir AMV: Nightwish – She Is My Sin
Dec 28th
Cosmos. Widgets now also in laststep
Dec 13th
As you might have gathered, I pick up on speed with my little project. Now that many components are written and in place, I can pretty much add anything I want, really.
The next thing I decided to add after virtual desktops is a little widget engine that allows you to add little bits of information on the desktop, like you would expect it nowadays from a modern operating system. The widgets can have any shape and form, can even be completely translucent.
To make this possible I had to create a parser for the files that contain the information for the widgets… sorry, Cosmoids. Those are CML files, and are in a very simple format, I explain in a second.
Seeing is believing eh?
This is the little testing and demo Cosmoid. As you can see it has a text label, an image, and two buttons. When you click the “Rain!” button, the image changes. No wai!!
Nothing spectacular, but it demonstrates that it works.
This is the corresponding cosmoid.cml file which is read in the beginning and makes up this particular Cosmoid. First entirely:
[Information]
Name = Demo Cosmoid
Background = Resources/csm_back.png
Active = YES[Dimensions]
Width = 300
Height = 200
Position = 827.000000, 764.000000[Content]
TextLabel = helloLabel, Hello Cosmos!, 250, 20, 25, 150, white, bold, 16
Image = sunImage, Resources/sunny.png, 90, 20
Button = sunChanger, Sun!, sunImage, setMyImage:, Resources/sunny.png, 100, 20
Button = rainChanger, Rain!, sunImage, setMyImage:, Resources/rainy.png, 200, 20
That’s it! Isn’t that simple? Let me explain some things.
[Information]
Name = Demo Cosmoid
Background = Resources/csm_back.png
Active = YES
This block should be obvious.
[Dimensions]
Width = 300
Height = 200
Position = 827.000000, 764.000000
This defines the width and height of the Cosmoid, as well as its location. You can either define a position from left and from bottom of the screen – or use “Center” on one or both to center it on the screen when loaded. The “Position” parameter is updated in real time when the user drags it to a different location on the desktop – and this is how it remembers its position after a reboot or re-logon.
Now for the elements. Right now, for starters, I support text labels, images, and buttons. Gotta start somewhere right?
[Content]
TextLabel = helloLabel, Hello Cosmos!, 250, 20, 25, 150, white, bold, 16
The syntax is as follows:
ID, string to display, width, height, from left border, from bottom border, text color, text weight (“bold” or “normal”), text size
Next is:
Image = sunImage, Resources/sunny.png, 90, 20
Syntax:
ID, image to display, from left border, from bottom border
Now with buttons it gets slightly more interesting as they do something or manipulate elements. They look like:
Button = sunChanger, Sun!, sunImage, setMyImage:, Resources/sunny.png, 100, 20
Button = rainChanger, Rain!, sunImage, setMyImage:, Resources/rainy.png, 200, 20
Syntax:
ID, text to display, ID of element to manipulate, action, parameter (or if none, put ‘nil’), from left border, from bottom border
So as you can see – you quite literally construct your Cosmoid line by line in a single file – it cannot be easier than that!
And I call it CML – Cosmos Markup Language.
Cosmoids have to be places in either: /Users/YOUR_USERNAME/Library/Cosmoids (for personal use only) or /Library/Cosmoids (system wide availability). The file that builds a Cosmoid is always called ‘cosmoid.cml’.
Obviously there’s gonna be a graphical construction tool for this, so don’t worry! Also Cosmoids can be configured via the Settings tool.
Quick demo on Grids
Dec 11th
Are We Human, Or Are We Dancers?
Dec 11th
Grids. Virtual desktops come to laststep.
Dec 9th
In the last few days I have begun working on a solution for virtual desktops in my one-man-OS-project laststep. Tonight I have finished implementing important milestones for this feature.
Implementing this required extending the existing window class, it also required for both to be able to communicate with each other, the Desktop and Grids. It doesn’t do much other than displaying previews of open windows on its corresponding desktop, but that’s a start. The desktop the mouse hovers over is highlighted and slightly brighter than the others.
It is however possible to assign an application to a certain desktop. Right now this works with a cryptic command – but hey, the Settings tool comes eventually
What also works right now is movement between desktops. You open the overview, click on a desktop, you are taken there.
Ultimately I want to implement the functionality to drag windows from one Grid to another. This is the next challenge.
This service is fully integrated into the user interface and is completely automatic. You will be able to choose whether to use it or not.
Also, you can choose between 4, 9, and 16 desktops (2×2, 3×3, 4×4 grids).

Doesn’t look like much, but it can display open windows of each desktop, and lets you travel between desktops. Moving windows between them per drag and drop is coming.
Not very pretty yet, but hey – it’s just development.
Veni, Vidi, Codi.
P.S.: I designed the icon =)
FAIL #21
Dec 8th






