Byebye Skype for Linxu and Android
Is the Linux Desktop getting slower and more bloated?
Why Not Scale the CPU on Schedule?
The Second Biggest Android Market Problem
1. Improve the platform robustness: APIs should whenever possible work exactly the same on all devices so programmers need not reprogram their software for each device. That's the whole purpose basing them on Java in the first place.
2. Provide a testing platform: App developers should have access to a means of seeing how their apps work on different phones. One way would be a technical solution that runs the devices' firmwares in a Virtual Machine. Many bugs should be fixable this way. Another way would be the open source way: A group could be created where people with the same phone join groups and developers can post new applications. Then each group tests them and reports how they work on the real devices.
What do you think:
Understanding the Necessity of Wayland
In 1984 the MIT started X11.
In 1991, XFree86 started out of the X386 server based on the X11 platform.
In 2003, Xorg took over from XFree86 after a license dispute.
In 2008, Wayland was started to overhaul the entire system and keep only what's necessary for the desktop today, using only today's modern infrastructure in a leightweight architecture.
Learning with Android
If you liked this article, you might want to subscribe for more.
What Linux means for the Consumer - Drivers, Open Source and Support
Drivers
Linux is not yet as far spread as Operating Systems like Windows or Mac OS X. This means that hardware corporations which have little money or skilled staff usually don't publish their own Linux driver and ship it along with the hardware when you buy it. In short: There currently is usually no driver disk for Linux.
But that's not really as a big a problem as it seems at first. One point is that - especially if the poor or skill lacking company is smart and publishes detailed product specifications - drivers are often written by the community. This has the disadvantage that it takes longer and when a device is first release, there is not usually no driver ready yet.
But it also has several advantages: Once drivers are written, they are usually open source. For the advantages, see below in my next point. And the drivers eventually are often better and more extensive than the drivers delivered by the hardware manufacturer. E.g. the bttv drivers of my TV card worked much better and longer than their Windows counterparts. And there was even an additional driver not present in Windows for a sound chip on the TV card to digitalize TV and line input sound up to a rate of 192 Khz -- for a TV card produced in 199X! My current sound card - using the snd-hda-intel driver - for some reason has a significantly better sound in Linux than in Windows, where it pretty much lacks any bass.
A huge advantage is the common API of drivers. In Windows every manufacturer writes his own drivers with their own API, and their own software to use the API. E.g. A DVB-T digital TV card has a Windows driver, and a special decoding and recording software for each and every single card. Sometimes the main chip and driver comes from the same manufacturer for several cards. But it's still often difficult if possible at all to use another software than the one supplied by the manufacturer.
In Linux, there is a common DVB interface. This means you can not only use the same software for all DVB-T receivers, you can even often use the same for DVB-T(errestrial), DVB-S(atellite), and DVB-C(abel). And it makes perfect sense that instead of tens of quickly written (and often buggy) different applications for different cards, you have a selection of a few really good programs. (E.g. Tvtime and others for analog, Kaffeine and others for digital reception -- and I mean for all supported ones).
In Windows, if there is a new group of popular hardware, like WIFI or Digital TV adapters, you need to wait for Microsoft to release a common API and hope they do. That's likely to happen only in the next Windows Version (e.g. XP, Vista). And then everything must be backwards compatible. This means that a better API might not be introduced for Windows XP ever, and advantages for new APIs are restricted by the requirement that all old APIs have to still work exactly the way they did. With open source drivers in the kernel tree, you can just modify the drivers along with the API. It's all in the same place and some changes are simply a matter of "search and replace".
Once a good open source driver exists, and especially if it gets integrated into one of the main driver projects, it usually works out of the box. This means you start Linux, even from a Live CD, and the hardware, e.g. a sound card, scanner or TV card just immediatelly works without any fuss like driver installation or configuration. It's not like installing Windows and then downloading the drivers for all your software, but if the driver is well supported, it just all works after installing the sytem. That's why Live CDs are so useful to test the Linux compatibility of a computer's hardware. And another great thing is that these integrated drivers are automatically updated for you - for Ubuntu even without the need to reboot (for other distributions you need to pay for this feature). This prevents security risks, which are much more rare in Linux, anyway.
Open Source
Open Source is a guarantee that a good product can have a long life-time. Drivers are one excellent example. If you have an open source driver, and it's of good quality and integrated into the Linux kernel or one of the main user land driver projects (SANE, CUPS, ALSA), you will have a driver for a very, very long time. This means that unlike with Microsoft and Mac OS X systems, you will not need to buy a new scanner, because you can't find a driver for Windows 7 or the "Snow Leopard", but quite the contrary the driver usually gets better and better and you often have no problems whatsoever with using a 10 years or older scanner, printer, sound card, TV card, etc with the newest Windows version.
My DVB-T adapter has lots of features it lacks in Windows, including recording up to 4 channels in one bouquet at once, 50 fps deinterlacing, hardware accelerated video decoding, automatic scheduled recording, etc. I just got a new sound card, which uses a lot less CPU and doesn't have a few of the Windows issues like skipping and beeping during playback. Even the pretty new Intel poulsbo chipset already works better for me in Linux now than in Windows (lower battery consumption, better video scaling and hardware accelerated video playback, much faster resume from suspend (feels like 1 second max, dmesg says 2.5 seconds; Windows takes a felt 4-15 seconds), ...). Thanks to Linux my Netbook is now a full featured surround sound FullHD video center and it consumes even less battery than in Windows.
But open source also means that things are customizable. This would of course also mean that if you can program yourself you can potentially modify and fix as many issues with software and drivers as your skills permit. And this is one of the main driving forces of Open Source. But it also means that if there is a problem, the fix can be applied where it makes the most sense. Let's make another example in comparison to Windows.
In Windows if there is a bug in the suspend to ram mechanism, which causes problems for a certain hardware, this is quite hard to figure out in the first place. Because you don't know how the Windows mechanism works. If it was publicly known, Linux would have a much easier way with ensuring suspend to ram compatibility for more hardware. Once you figure out where the problem is in Windows, you still have no way of fixing the problem where it occurs.
Because you can't modify any Windows components. That's completely different in Linux - here anyone can modify anything. I once wrote a small Linux kernel patch myself, and I'm really not that much of a programmer. But with the help of some kernel developers I fixed my own problem and then posted my first Linux kernel patch.
Another great example is powertop. It's a tool to check what decreases your battery time in Linux by looking into which applications wake up your CPU from power saving modes and how often. For this to work the kernel had to be modified. Once this was done you could find out which programs are the main cause. And then, because they are also usually open source, you could modify them as well so they don't wake up the processor as often. And that's how my netbook now consumes less power - in some scenarious a lot less - in Linux than in Windows. All this would not be possible in a closed source world. The same is now done for latency with latencytop btw.
Support
The disadvantage with support in Linux and Open Source is that if you don't pay for it, you won't get people who will treat you like you paid for it. This means it's very un-wise to contact driver or other software developers and say: "You've got to fix this!" Because they really, really don't have to. They are in no way obligated to you. You should always remember that. Only some people get paid for their work for open source at all. Many start a project and keep working it to scrach and itch (see here, and here). And I think it's how Linus started the Linux kernel project sometime long ago. If you want support that treats you like you've paid for it - get paid support!
But the big advantage in Linux support is that if you have a clue, you have access to incredibly smart people. You can talk directly to the developers and they usually know their stuff really, really well. Yes it can be a problem to get an answer sometimes, but if you've read the manual, you really know what you're doing, keep in mind that you didn't pay them and appropriately contact them very politely, you will be amazed how much is possible.
I still remember how helpful, friendly and patient the KDE plasma developers were when I wrote my first plasma-applet. I remember how the Linux kernel developers take every issue seriously and try to help you find the problem, especially with regressions.
And in my view it's so incredibly much better than most hardware manufacturers who you pay with buying their products to get support. You usually first get stuck with incompetent telephone support and are really lucky if you ever get to contact the driver developers or someone anywhere near them. And then those driver developers usually get their money for writing bleeding edge new drivers for new hardware, or they need to write a driver that's compatible with the newest Windows release (without really knowing how everything works on the Windows side).
They usually have little patience and understanding for a not working driver in some system and say that your supplier should fix the issues. (E.g. NVIDIA would say the graphics card manufacturer should fix the problem and Intel would say your Notebook manufacturer should deal with the problems.) But open source developers will usually understand you well, because that's often why they wrote the driver in the first place, so as many people can use it without problems as possible. Here the problem is usually not the lack of will, but of your politeness, your and their time and other resources.
Conclusion
You have to ensure that hardware is Linux compatible before you buy it. If you're lucky and you find open source driver integrated into the Linux kernel or one of the main driver projects, you are most likely to be able to really enjoy your hardware in Linux for a very, very, very long time and there will be no need miss out on the newest features and software coming for free with the newest release of your favorite distribution. If something doesn't work you're expected to do your part and google and try everything you can to fix it, including postings in a forum and on a user mailing list before contacting the developers. This way they have more time for and fun with actually fixing the problem.
But it also means that for not paying for Windows and the drivers, you can't expect the same support. If you want the same level of support, try offering money to the developers you want the support from (paypal helps) or buy a support service. I'm sure they're much more likely to help you in a way similar or better than Windows then.
I'm happy about your thoughts and comments. And remember I don't get paid for writing this either - as you can't even see ads on this page.
All trademarks belong to their respective owners, not to me.
(Windows, Windows XP and Windows Vista->Microsoft, Mac OS X -> Apple, Linux to Linus Torvalds etc.).
Refreshing Linux Group Rights
But that' wrong! You can work around the problem with newgrp. The program updates the environment variables so you can immediately use the group, at least in the shell started via newgrp.
The Essence of Open Source
That's exactly how closed source software works. And that's exactly why you should prefer open source software. The more important the software, the more important that it's open source.
Mpeg Artifacts
The other, more difficult option would seem to be to try to find a block that would match the crc and replace the bad block with it.
At least the current situation seems to be less that optimal.
It seems a similar idea has already been patented: "(WO/2004/028160) DETECTION AND REPAIR OF MPEG-2 CHROMA UPCONVERSION ARTIFACTS"
Amazon MP3
The Infallible Ticket Machine - When Machines Do Make Mistakes
I have had similar thoughts. What people may forget is the problems you may get into with machines and that they do make mistakes. But let me tell you what happened to me.
I went to buy train tickets. They were non-refundable day tickets valid for one day only (not 24 hours).
I went to the machine. I chose the type of ticket. Then I chose a date. Then I chose to take two of them. Then I paid and left. A few hours later I looked closely at my tickets and found out that it did not apply the choice of date to both tickets. One of them was valid only for yesterday. I had bought them at about 11.45 pm. And yesterday was now already past.
Okay, there were several problems: The machine should have warned before selling you a day ticket that would be valid only for 15 minutes. It should actually automatically select the next day then. But the very least it must of course apply your choice of day to the tickets when in the last step it asks you for the number of tickets.
Okay, I thought, no problem. Luckily there are still humans. I went to a service person. The date and time of purchase were printed on the ticket, so it was an obvious situation. I told them about it and was quite surprised about their reaction.
The tickets are non-refundable they told me. That I aleady knew. I said again that I told two tickets and that the date was not applied. They told me I must have made a mistake when ordering them, so it was my fault. That kind of remark is hard to deal with, especially if you're earning money with IT services. I tried to explain this to them and they informed me that machines don't make mistakes.
Ah. That was new to me. I gave up with her and went to another service person somewhere else:
I: Hi, I've gotten the wrong ticket from the ticket machine.
S: Well, the tickets are non-refundable.
I: Oh yes, I know. But I didn't choose that ticket.
S: Then it wouldn't have printed it - you must have made the wrong choices.
I: Aha. (explaining the choices). Could the problem be with the machine?
S: No, there is no problem with the machines. You should simply buy the tickets one by one.
I: And now?
S: You're too late to exchange it now. Try writing a letter to the central custumer service department.
By now I had no time to buy new tickets and had to run to catch my train. It turned out that the train personell didn't even notice the difference in dates when checking my tickets. So luckily in the end a human error helped me avoid problems after the machine's error.
In the end I quite agree with his critic view on technology: One should always keep in mind that machines do make mistakes. And when they do, it can be extremely hard to impossible to convince people of it.
Customized Linux Message Notification, I Wish I Had
A. Why the information is not all going through syslog (almost is, but not e.g. the users errors).
B. And more importantly: Why isn't there a nice interface to syslog that shows me what I want to know, e.g. as a plasma applet for kde4, configurable but with low resource consumption nice&pretty on my wallpaper?
That'd be nice, wouldn' it? Maybe I'll write that myself one day...
TV International?
But they don't broadcast their channels. At first they always claimed it would not be feasible technically, until Zattoo came along and proved what was clear before: Where there is a will, there is a way.
Now the TV stations claim they don't own the rights. Or they go online for some regions like hulu.com. And I still think: Where there's a will, there's a way. How long do we have to wait, until the Internet tears down the borders of TV stations?
How long until it will be possible to legally and comfortably watch your favorite TV series when it first aired.
Automatic Monitor Brightness Control
Javascript innovations - How will Opera react?
Until now it seemed Opera was the most innovative Browser out there: Tabs, Browser Sync, "Magic" Input bar, ... Opera had it first, or did it better.
Now Firefox came with their JIT Javascript engine and Chrome added a multi-threaded approach to that and I ask myself: How will Opera react?
In my experience Opera has been pretty good with most webpages and was faster, especially with many web pages at the same time. But it does get laggy then. And especially (Google's) web applications such as Gmail and Google Reader respond pretty slowly in Opera.
I've set up the email account, because I was bothered how long things took in Gmail. And using Firefox was not better, using both is really annoying.
I wish Opera was available with Chrome's innovative new features... Hopefully they're already working on it. And Opera Browser for the Web 2.0.
Midori
At least in the meantime I will stay with Opera, and hope they incorporate some of those Chrome features. That might make Chrome entirely unnecessary, which would be good. Google is probably too big already. No need for them to dominate the browser market. If their products just weren't so good and innovative...
Arjan van de Ven Interview
I think that will change. At some point voice detection has to come around and get better than the keyboard and we will finally start talking again - as nature wants us to - instead of quietly sitting in front of our computer.
And at some point there will be developments to directly transfer sentences from your brain to the computer without the need to talk - though I'm not sure if that's really an improvement, language is just too cool an invention imo.
Well, for now I really look forward to improvements in booting time and on latency issues. That's another point were Windows has a really hard time to compete. The drivers' and applications' code is mostly proprietary and hidden somewhere behind closed doors and servers.
It's simply a great technical advantage to be immediately able to look at all the code, see how it works and find out where's the best point to fix a certain problem. And then being able to fix the actual root cause of the problem. That's one of the neatest things about open source.
Registration Hell
Now more and more I notice myself not bothering to register somewhere to add a comment to a bug, or file a new bug if it doesn't really matter that much to me. I've got probably a hundred or more accounts at different places by now and it's so bothersome. I really hope something's going to eliminate that problem at some point...
The actual page that made me write this was a pidgin bug ticket, which is related to pidgin using fsync way too often and causing very bad latency in the process. (~300+ms on my system). I found it using latencytop after reading this interesting interview. And I was wondering if something has been done about the problem. It doesn't look like it...