Sunday, June 14, 2009

Linux format frees cover art

Due to the ammount of people asking for it, the Linux Format magazine has decided to release it's cover art as Wallpaper. This wallpapers are freed under a Creative Commons licence, similar to the one that protects and frees this blog contents.

This licences are copyleft type, quite similar to the GNU licence, which means that as long as some simple conditions are respected, the content is completely free. So, if you respect them, you'll receive respect and confidence in return. This is what Copyleft means (which make it's opposed to copyright)

I've already downloaded and have one of this wallpapers installed. It's the wallpaper number 4 that rotates every 16 hours (this is a feature of KDE4.x, which is default in my Kubuntu). This wallpapers where you can see great artwork, with an attention to detail that adds to form the whole picture.

I highly recomend them, so visit the page where this wallpapers are released, and remember to ask for the ones you want that are still not featured, as they will add them when asked for.

Monday, December 15, 2008

New in Linux? Coming from Windows? Please read this.

Greetings. You are coming into a new territory. But contrary to the space you used to inhabit, that didn't belong to you, this new territory has a piece of free land with your name on it.

It sounds a little too good to be true, but it is true. There are some things we must make clear, though. This piece of land, your piece of land, is inside a really big terrain of millions of free pieces of land, each one with it's owner.

That's why now that you are moving into our neighborhood, ours, of every one of us, yourselves included, I want to tell you to pay a little attention to the way we tend to act, because if you adapt you'll have a really good time here. And we will be adapting too, you are not the only ones supposed to do so. We will also learn from your habits, and if we find some we like, we'll make it our own.

This is a weird neighborhood, in it we share our tools, and build together. It's something we do freely, without obligation, and that has a lot of benefits. We also like to teach how to use the tools, though you might want to forgive us because we sometimes use a technical language, it's what suits us more. The manuals that come with the tools are sometimes written too technically, but don't worry, there are some neighbors that are able to translate things to more human languages, you'll only have to find them.

This is a really special neighborhood, where the better builders are listened to, a sort of meritocracy. As we have one mouth and two ears, we believe it's common sense to hear twice as much as we speak, because that benefits us. We just have to remember that sometimes they don't want to talk, and that they talk for people that understand them. Once more, please don't complain. Instead, search for the neighbors that are capable of lowering that information to a more human language. That's the best for us all, this way everyone has it's own.

Please, don't demand. Nobody here owes something to you. Just ask nicely for help and you'll receive. We tend to consider important that you tried yourself to build the bed, even when now it seems no mattress will fit it's weird triangular shape. This is important, because by showing you tried and made an effort, you just climbed a few steps in this meritocracy ladder, and you helped establish some common ground to start talking, and talking leads to helping. And helping leads to a good bed to dream on.

Please, help us help you. Let's make this territory a place where every one of us can live in peace and liking it.

Sunday, December 14, 2008

Python: Programming made easy

A pair of years ago I tested this programming language called Python, in honor of Monty Python. It's an easy to learn language, in fact the easiness is part of the design, but in this case easy doesn't mean lack of power. Some months ago I developed a little program for a friend, and decided to give Python another go. It didn't let me down.

It's not a compilable language, it's interpreted, but now days, with the amount of power we have under the hood in our computers, this distinction looses sense, at least in most cases. The advantage of a compiled language is it's compact size and it's speed, but in most cases, for programs made for ourselves, that distinction loses it's effect.

Interpreted languages advantages are mostly concentrated in one point: development speed. There are other advantages, but this one is usually the selling point. Of course, it doesn't hurt that they are usually easier to port to other operating systems.

To modify a compiled program, we need to modify the source code, recompile it (complete or partial recompile) and then execute it. If we need to test it step by step, we'll need to recompile it to add the necessary debugger links, which generates a heavier program, and then run the debugger. Once the problem is found, we need to correct the source code and recompile. Even if we notice the problem was in the dataset used for testing, we need to recompile it to get an unbloated executable.

In an interpreted program, the source code is the program, and the interpreting is handled at runtime. If there's some error, we modify the source code and execute again. Debugging is usually done with the same interpreter and the same program, executing the source code step by step. This results in really smaller times between modification and modification, speeding development times a lot.

To this general advantages of interpreted languages Python adds an interactive command interpreter, where we can test commands and see the results instantly, which is really helpful to learn the language. Python can be used to make procedural, functional or object oriented code.A nice perk is that everything in the language is an object, so we get a lot of predefined function like methods with every variable we create.

Python syntax is really clear, and the fact that we have to indent the code for it to use loops and conditions adds even more legibility. Contrary to popular belief, indenting in Python is not burdensome, it comes naturally after as little as half an hour into the learning process.

Lastly, the language itself is open source, meaning that those with the knowledge can modify it, and that you don't need to pay any license to use it. Even more, the programs we develop with it can have any license we want.

With the new Python 3.0 out there, it's a good time to jump on and learn, as a lot of people are doing it right now to see if it suits them so there'll be a lot of people you can ask for guidance.

Saturday, December 13, 2008

A pair of news and laughter attack

Yesterday at the office one coworker showed me a news, and suddenly I started laughing. It wasn't a simple laughter. It was a laugh attack, the kind that leaves us breathless, like the ones that puts tears on our eyes.

To explain why this happened I need to fill you with some background information. Without it, this isn't funny at all. Some time ago Nvidia purchased the Ageia Physx technology that allows to develop hardware specialized in calculating physics model data. It used that technology to bulti it in their video cards.

While this technology was developed to assist in the processing of game data, soon it became clear that there was another area where it could help a lot. So Nvidia developed a new series of drivers called CUDA, allowing people to use that technology and the massive paralel processing power of modern video cards to process scientific information. This added a lot of power to the distributed computing systems.

The news my coworker showed me yesterday commented that they were developing a technology to use the extra processors of multiple core chips to process graphics.

Think about it. Let it sink in. Why would a processor need to process the graphical data? Because the video card is executing the processor processes. When I thought that, I just couldn't stop myself from laughing.

Of course, that's not the real reason why this technology is being developed. Some talk with my friends and some later thinking showed me at least two other reasons why this could be useful.

One: lower power video cards, as the ones found in office computers and some laptops. In this case, an alternative to this card using one of the cores of multiple core processors some of this machines are equiped with might prove interesting.

Two: even more interesting. Windows XP doesn't have DX10, but if one can emulate DX10 in one of the cores and let the video card use that DX10, it might be that the speed advantage of Windows XP over Vista could help to run DX10 games at a decent speed in a XP box.

Of course, a part of me is still laughing while I write this, and another part insists in making me say that this type of trickery wouldn't be necessary if DX10 were open source technology. In this case one would be able to simply port the packages from one Operating System to another.