Amarok: Project Neon

06 mayo 2008 at 20:27

Fecha Filed in Computers
Tags Tags: , ,

Project Neon Amarok

Ladies and gentlemen, the doors are opened on the Neon project. Neon is no more than a new service by Amarok, which offers nightly builds to the users who want to try the lastest available version. It should be noted that is not a stable version, but it’s intended to be used by everyone who wants to help find bugs or to join development for Amarok.

If you are using Kubuntu Hardy Heron and you are interested on installing it, just add this line to /etc/apt/source.list and install the amarok-nightly package:

deb http://ppa.launchpad.net/project-neon/ubuntu hardy main

More information | Official Amarok site

Non-free SF on free systems

04 mayo 2008 at 22:17

Fecha Filed in Society, Computers
Tags Tags: , , ,

GNU
People are ignorant, but we already know that. As usual, I’ve read something really stupid on Twitter this morning. It said: I hope Apple will develop for everyone [every OS]. I think it would be one of the worst things to ever happen. Why do people want to install non-free software on free systems? If we want a truly free system, we cannot accept non-free software in our system. If people keep installing, running or developing non-free components, GNU/Linux will be turned into a fuzzy combination of free and non-free software. And we also could find free software which depends on non-free packages. The freedom movement would have failed if this happens.

People wants to install non-free software on free systems because they have not idea. They have not been educated using the free software principles. They don’t understand why the software should be free. They are confused between the free software and the open source movement. The universities doesn’t teach anything about the free software principles, even many teachers don’t know anything about free software. People wants to install non-free software on free systems because they don’t know what the free software is.

The insistence of running Adobe Photoshop on GNU/Linux is a good example of this. I’m not going to talk about the Photoshop/The Gimp challenge, although I manage well myself using The Gimp. Each user should know that Adobe Photoshop has a horrible license which it doesn’t allow the freedom to run, modify and redistribute it. The Gimp (GNU Image Manipulation Program) is available under the terms of the GNU General Public License (GPL), so we have the freedom to run, copy, change, study, distribute, improve the software and release our improvements. That’s how the community gets benefits. The Gimp, like free software, contributes to human knowledge, whilst Adobe Photoshop, like non-free software does not.

I read a message in a mailing list that could not have shocked me more. It said: Google also sponsored some work by Codeweavers to improve [Wine] support for Photoshop (’cause so many people want it) What a bad news for the free software! That’s not what people want, that’s not what GNU/Linux was made for. Why don’t Google support The Gimp instead of a Wine support for Adobe Photoshop?

Ubuntu on lettuces

06 abril 2008 at 12:59

Fecha Filed in Curiosities, Computers
Tags Tags: , ,

I’ve seen on Entre tuxes y pepinos a curious lettuce with the Ubuntu Logo! The company is called El corral de los niños (The children’s farmyard) and it has been seen in Badajoz. And from what I have read, I would like to advise that it can contain bugs :)

Lettuce

Lettuce

The Mythical Man-Month

28 marzo 2008 at 22:16

Fecha Filed in Computers
Tags Tags: , ,

It’s obvious that a woman can create a baby in 9 months, but 9 women cannot create a baby in 1 month. This is the idea which The Mythical Man-Month wants to explain. If a job can be done by 5 men in 1 month, it’s said that this job requires 5 man-months. So applying simple arithmetic, would this project be completed in half the time if 10 men work on it? In the software development world, this thought is an outright fallacy. It’s not possible to multiply people by hours. The cost of a project is proportional to the man/months, but the progress is not.

Sometimes, assigning more people to a project to speed up the development is not the best idea, due to the time required to explain, learn, understand, mets, … about the project. Also we can find non-divisible tasks, so only one person can to do it. If we want to reduce the time, the way to do this is not by adding developers but discarding functionalities not implemented yet. For example, in DSDM we have the time and the resources fixed and the functionalities are variable (they depends on the fixed stuff).

DSDM

The Mythical Man-Month is a chapter of a book called The Mythical Man-Month: Essays on Software Engineering written by Fred Brooks. This book was written 32 years ago, and it’s been one of the most transcendental books about software project management. It was republished as an anniversary edition in 1995 with the essay No Silver Bullet, where the author maintains the idea that there isn’t single development, in either technology or in management technique, that by itself promises even one order-of-magnitude improvement in productivity, in reliability or in simplicity. The main question is: Is it possible to develop without developers?

Xinc. Continuous Integration

22 marzo 2008 at 13:52

Fecha Filed in Computers
Tags Tags: ,

Continuous integration is a software engineering practice, which helps to integrate changes frequently in a project. It speeds up the delivery of software by decreasing integration times. It’s very important when the project is being developed by more than one person. CruiseControl is a free CI server and probably the most used. Xinc (Xinc Is Not Cruisecontrol) is an alternative free CI server made specially for PHP. The Xinc development is led by Arno Schneider, a german developer currently living in Barcelona. Arno made a wonderful presentation at the Barcelona PHP Conference celebrated last month:


We can install Xinc easily with PEAR.

sudo pear channel-discover pear.xinc.eu
sudo pear install --alldeps xinc/Xinc
sudo pear run-scripts xinc/Xinc

When we run the scripts, we can configure some parameters like:

 1. Directory to keep the Xinc config files: /etc/xinc
 2. Directory to keep the Xinc Projects and Status information: /var/xinc
 3. Directory to keep the Xinc log files: /var/log
 4. Directory to install the Xinc start/stop daemon: /etc/init.d
 5. Do you want to install the SimpleProject example: yes
 6. Directory to install the Xinc web-application: /var/www/xinc
 7. IP of Xinc web-application: 127.0.0.1
 8. Port of Xinc web-application: 8080

Once the installation is complete, we need to include /etc/xinc/www.conf in our apache virtual hosts. We also have to have mod-rewrite enabled.

Replace using Perl

22 marzo 2008 at 11:51

Fecha Filed in Computers
Tags Tags: , ,

This tip probably seems a bit stupid, but I have always found very useful. If we want to replace a string in a file with another string, we can do it easily using Perl:

perl -p -i -e 's|old_string|new_string|' file.xml

Of course, if we need to apply it to several files we can use a wildcard character.

Ubuntu Hardy Heron Beta

21 marzo 2008 at 18:16

Fecha Filed in Computers
Tags Tags: , ,

The beta version of the latest Ubuntu, Hardy Heron 8.04, has been released. The official release will be on April 24th 2008.

Ubuntu

Link | Ubuntu releases

Lambda on logos

01 marzo 2008 at 16:38

Fecha Filed in Curiosities, Computers
Tags Tags: , ,

One use of the lower-case Greek letter λ is a branch of mathematical logic called Lambda Calculus. It’s a formal system designed to research function definition, function application and recursion. Throughout the years, λ has been seen on many logos related with the functional programming. For example, the MIT Scheme’s logo represents a recursive shield with lambda:

MIT Scheme's

We can see lambda on the functional programming language Haskell’s logo. Apart from lambda, we can see five other mathematical symbols, representing the Haskell’s functionality. These are their respective meanings:

-The right arrow (→): Transformation
-The universal quantification (∀): For all
-The double angle (≫): Free from disorder
-The double right arrow (⇒): Generality
-The double colon (::): Exactitude

Haskell Logo

A scheme-to-C compiler called Chicken has a logo that represents a lambda inside a hen silhouette.

Chicken Logo

CL-HTTP (Common Lisp Hypermedia Server) has a lambda symbol on its logo too.

CL-HTTP Logo

More information | Xahlee

Complaints to Pope, Cathedral Saint-Peter of Roma, Vatican

25 febrero 2008 at 13:55

Fecha Filed in Curiosities, Computers
Tags Tags: ,

The first century starts at 0001-01-01 00:00:00 AD, although they did not know it at the time. This definition applies to all Gregorian calendar countries. There is no century number 0, you go from -1 to 1. If you disagree with this, please write your complaint to: Pope, Cathedral Saint-Peter of Roma, Vatican.

Seen on PostgreSQL Documentation

Scalability in new startups

26 enero 2008 at 15:20

Fecha Filed in Internet, Computers, Bussiness 2.0
Tags Tags: , , ,

Since I started to build YouAre.com I knew that the scalability was an important matter to solve. Sometimes the scalability is more important for your pocket and for the success of your startup than originally thought. According to Google, a slow performance could cost you 20% of your revenue. If you are starting a new company, you ought to know that any savings in servers can accelerate the growth of your company. These costs include hardware, software, human resources and time (for many people the most appreciated resource). Apart from the monetary costs, it’s proved that half a second delay in page load time can kill a user’s satisfaction.

The scalability is a relative problem which depends on many things: the technology used, the fault tolerance and the availability of programming staff. Many people think that scalability=performance, and they are wrong as there are more aspects to be considered. For me, the scalability is to maintain the balance between the resources and the number of users, when the size of the problem increases. The size of the problem is the growth of the number of users and the resources. A graphic which represents a good scalability could be the following:

Scalability

We can appreciate how well the growth of users (n) have been solved. The amount of required resources grows logarithmically.

Some good points for scalability that should be considered:

  • Good database design: Normalize the database, select a suitable DBMS, consider the users’ necessities, …
  • Search engines: Use a search engine for your application. Lucene is a very high-performance text search engine library. You can also consider Nutch or Solr, both based in Lucene but oriented to web applications. If you are finding some engine more basic take a look at Sphinx.
  • The Keepalive problem: Enabling Keepalive for images and external files (such as CSS) is very good for clients, but bad for servers. Keeping Keepalive off we reduce a lot of the memory of the server. A good solution is to have separate images in a different server, getting the added benefit of higher browser concurrency with multiple hostnames (it will let you to load images in parallel). In YouAre, we are using Amazon Simple Storage Service to store our images.
  • Cache: Cache as much of your dynamic content as possible :) Memcache could be a great option.
  • Take care of your code: Take care of your code and it will take care of you ;)
  • Use GNU/Linux: GNU/Linux uses spare memory to cache files on disk. This means much faster I/O.

More information | Rico Mariani
More information | Shiflett
More information | No VC required