2007-09-22

Politics, sources of information and reliability network

Every day you can hear what government is doing, so you are informed, aren't you? How many people understand what is between lines of prepared and crafted by PR people speech or statement. Do you know what exactly those people are doing? Do you believe politics words?

During election campaign I want to know what are past achievements of candidates, an have a context to evaluate current plans and promises. Idea of democracy is that everyone should be able to do that.

There come government monitoring programs backed up by governmental or by independent NGOV organizations like Transparency International. On the other end we have press and media coverage of government actions. Everyday we are bombarded by vast amount of fragmented, incomplete and untrusted information. Our brains treat it as a noise.
Internet gave voice to independent single journalists. They are trying to consolidate their efforts, to be more visible and trusted source of information. You can find many sources like CyberPolitics blog tracking how the media uses the Internet and technology to cover the US presidential campaign. But for the most of citizens they are unknown and untrusted.

So I see two main problems. One is quality of information and second is reliability. I like the idea of wikipedia. Wikipedia contributors are huge companies, single persons and other organizations. They are building base of knowledge that is improved over the time. Good information quality needs processing so here pays joined contributors effort. What about reliability? The UCSC associate professor Luca de Alfaro project aim is to automatically estimate the trustworthiness of each page based on article and user edits history. It's an interesting approach by analysis of huge scale publishing. It's not perfect but better than nothing.

We have one tool, invent another and maybe something like reliability network may be established. Imagine every person or organizations acting as source of information having place in reliability network, that keeps statistics about reputation and reliability. It's not easy to make secure and hard to exploit framework but I believe it's possible. Just keep that kind of information in structured framework and run evaluation algorithms to improve information quality. So maybe next time I will be able to get consolidated information and verify it's source, for example at politics-gov-wiki site.

2007-09-17

Broken mobo and OS

At last, I have new replacement mobo for my desktop PC. It's budget GA-M61P-S3. The old one was hanging occasionally and causing hardisk data corruption. It was older GA model M55Plus, still having warranty. So far so good.

I booted my Ubuntu linux and then came first insight- both mobos look similar but have different onboard gfx, ethernet and audio chips. And that caused that my nvidia driver is hanging at boot time. I switched temporarily to generic vesa driver, and tried to fix OS. Then I've realized that ethernet and audio isn't working either. I used available ubuntu stricted driver packages with previous mobo and it just worked. That was good experience- no time waste, desktop linux for the people etc.

I've tried to use nothing more than that existing Ubuntu packages. After day of searching and trying to find working solution, I gave up.

So here comes plan B. I downloaded drivers from nvidia and realtek site. After checking prerequisities I started instalation scripts. It worked like charm. But I still don't have sound. I had to download the newest alsa sources and install it manually too. Now everything works fine except onboard ethernet port. I've used old PCI card in that place. Maybe new forcedeth driver will fix that in future.

I have to admit it took me some time, but it was good time. Everyone who sometimes hacks linux system knows that feeling. Linux newbies or just usual desktop users may have other opinion. Let's think about alternative situation- how much time would I spend fixing windows system. Probably it would require windows reinstalation or repair action, then calling microsoft rep to get new activation code, then installing new drivers from mobo packet cd. It's slightly easier and faster way. There is still a little work to do to make linux desktop more user friendly. I believe that linux instalation and upgrade will be easier than now in near future.

The sign on the mobo box says: "Vista ready". But I'm not vista ready yet- It's still not solution for home use. But milions of early adopters will test it and maybe next release will be better. I'm happy that I can choose OS that suits my needs. Do only nerds think in that way?

2007-09-13

Happy programmer's day!

Today (September 13th) is the 256th day of the year celebrated as unnoficial "programer's day" holiday.
It looks like IT community is developing its own culture and holidays. We have system specific internal calendars based on "epoch day", important historical events like y2k, and many more that probably you can find.
So if you are programmer or just like the idea, celebrate it and have a fun!

2007-09-09

The best programming language - choose the right tool for the job.

Is there the only one ultimate programming language, what is the best match for every application?

Some of folks may say- "Yes, It's L**. I've used it for X years in production environments and there is nothing in the world better than that". But it's not yet another thread about java vs c++ vs python vs ruby vs php [vs pick_your_language]...

Look at the current situation of existing programming languages. There are probably more programming languages than ever before and they are still evolving, what is IMHO good thing. An evolutionary criterion here is mainly market demand. It regulates need for that kind of tools and the most obsolete ones are vanishing.

Most of the programming languages start existence as a project of small group of enthusiasts or scientists. One person driven projects are quite usual. When it gains wider audience as good candidate for programming environment there is a moment when market influence kicks in.
From business point of view software production process must be optimized to get needed set of features, using possibly smallest resources and time to get final product of desired quality.
So there is economical pressure to keep (man time cost)/(product quality) ratio low.

What is programming environment? The main element is of course programming language concept with its constructs, and a set of basic framework libraries. It must be implemented, so it goes with tools like compilers, interpreters, virtual machines, debuggers and other preparing software to run and monitor software in target system. On the other end there are Integrated Development Environments boosting programmers’ productivity. All of these elements are used during software production process which has strategic impact on software cost and quality. The total cost and quality depends on the combination of lower level facilities of programming environments (I am excluding people skills).

All programming environments have some sweet points there and sometimes hard to reach or lack of other features somewhere else. So there is no one simple and effective tool for creating software.

So how to choose best one for your needs? Productivity depends on domain and size of application, architecture, speed of elementary analyze-write-compile-test cycle, easiness to create small and clean code, good debug information, matching tools power to programmer skills and other minor factors. These factors should be evaluated during short "evaluation runs" to get the complete picture.

How to collect such valuable metrics? We need productivity measuring features seamlessly hooked up into existing tools used during software development and maintenance. Having recorded software feature production time metrics and process structure can give us very valuable information. It gives possibility to look back, find weak points of process and try to improve it. Or, you would try to compare metrics in context of features and application character for different programming languages and choose the best for your needs. But we need tools to acquire those metrics. Some of commercial tools are going into that direction, and I think it's time to incorporate that into platforms supporting creation of open source software and sharing information with wider audience.

There is a very long way (if any exists) to one leading programming environment with simple but powerful programming language and well designed set of libraries etc. We have different competing programming environments find their market niches today. Evaluating and selection of best solution isn't trivial task. But if you can - think about it and choose the right tool for the job.

Maybe one day there will be one ideal small and complete programming language with good framework library, with scripting for small programs and support for big enterprise application features, with changeable features and many sets of well designed libraries and frameworks. Sounds like utopia for me, but who knows?

2007-09-04

Chaos Communication Camp 2007 impressions


I've just finished preparing my video and photos from Chaos Communication Camp 2007 in Finowfurt near Berlin. The event took place between 8 and 12 of August.

I had few days off booked for summer vacation so I packed my stuff and arrived at place at the first day morning. I've met there my friends and camped near their tents at nice shaded place under forest trees.

It was real open air event, not counting aircraft shelters adapted for hackcenter, art&beauty place, 2 lecture halls and other buildings used by organizers.
The location was really awesome- an old eastern Germany air base full of migs, yaks and ils aircrafts. Even Lenin statue was still watching over the place.
There were people from over whole of the world, with strongest representation of Europeans. Most of the people at CCC were young Germans (surprising huh? we were in Germany). People came there mainly for fun or just to camp with a laptop. Not all of them were just browsing the web or coding next pac-man clone. Yes, it was place for hackers and people interested in computers and tech world. You could met there interesting people making or promoting their projects on site, specialists from various IT fields and friendly folks ready to share their point of view and knowledge with you.

Almost all people were kind and helpful, respected all other privacy and right to rest and camping without disturbance. With a just a new met friendly stranger you could talk about operating systems, software architecture, databases, security issues, political an social issues, theories of beginning of the universe all that while drinking your favourite beverages.
I've seen cool tech projects, talks, soldering, vehicles like electric bikes and carts, quadrocopter drones, people chatting in various languages. And of course people with computers everywhere. Laptops, desktops, networking gear, electric and patch cables all over the ground between tents. There were computers in tents, in the shadow of airplane wings, under trees, on hammocks, in shelters and at lectures.

It was really mind stimulating environment. Open minded crowd around constantly kept me opened for any innovative idea (even crazy ones :) ).

Organizers weren't too obtrusive - just kept order needed for safety and to run event smoothly.

There were few places where you could hear music almost all the time, eat something and buy cold beverage.

Talks schedule was really tight and started every day at about 11 am and finished sometimes after midnight. I'm waiting for publication of recorded material I couldn't attend.
Nights were full of light effects and partying people. Guys from visual effects (Visual Berlin and other) and DJs made really good job. So nights were very loooong, and I had a problem to catch up good sleep after coming back home.

I really enjoyed that event, and hope to keep contact with all interesting people I met there.

Here is video I assembled from my recordings and pictures taken at the place. It wasn't my main goal to take really good pictures, so quality isn't as good as I expected.


Check also "high" quality CCC2007 Trip video link or lower quality CCC2007 Trip video , and my pictures.

More information you can find at CCC 2007 main page events.ccc.de/camp/2007/Home