Friday, November 7, 2008

Jack of all trades, master of none

Pau pra toda obra (Brazilian Portuguese)

Aprendiz de todo, maestro de nada (Spanish)

devyni amatai – dešimtas badas (Lithuanian language)

Well, that is what reminds me some of so called portable/platform independent software we have around Linux environments. It sounds amazing specially in Brazilian Portuguese (literally, "wood for every construction") doesn't it? Just as in as it can be used in many platform a thing not even Office could do, so you can edit proprietary formats in many platforms including on the very own proprietary ones, really exciting don't you think?

When it comes to cross-platform everybody is interested, like recently from Linux userspace key Developers Aaron Seigo and Christian Schaller there was even a dispute between Phonon and Gstreamer where multi-platform shines like a popstar. Great so I can use Phonon with some proprietary framework on Windows or even better use Gstreamer as even it does work on windows too.

Oh, lets not forget Mono, the rockstar of the cross platform, wood for every construction even for those constructions that doesn't need wood, just a snake.

Sunday, September 21, 2008

plumbers conference

LPC was amazing, I might say it was the best conference I've attended so far. Im not a kernel hacker as someone may thought but even a userspace developer can say that we need more conferences like that. Let me summarize some talks/bofs I've been present at:


Lennart handled the audio miniconf which turns out to show how some alsa limitations, especially in its API documentation. The conclusion was that there are far too many project trying to solve but none offer a good pcm API which application could rely on. The audio bof was basically Lennart making sure Takashi know his alsa issues list. In addition to Lennart's list we also told Takashi we would like to have support for 'virtual' devices such as bluetooth headsets.


Video miniconf was very interesting too, most about v4l2. In the driver area it seems that some common code is being duplicated so there is a plan to create an API to be used as core of new drivers. But for me the most interesting was the idea of user space daemon very similar to Pulse but for video which should solve most of the problem when trying to use a webcam on user space.


WOW I must say this miniconf was the big show of the conference, at least for me, the very first thing was a netbook booting on 5 sec. If there is something that can grab the attention more than a fancy ui demonstration that is a very amazing boot time. Im pretty sure that this presentation might change what most distros are doing nowadays, especially when the super read ahead (sReadAhead for short) code was released.

Power Management

Another pretty good minconf, olpc guys showing how they handled power managment on their device. Basically XO doesn't have an acpi so all is handled directly, sometimes they even turn off some chips to gain more hours of usage. In another presentation it was discussed that the more drivers support power management the more we salve power, although this may sound very obvious the real idea is to make more drivers power aware instead of just quality of a few.


Ok, that is my area, and as all the other it went pretty well. It started with discussion how to improve desktop experiency. Basically how DBus is changing the daemons around the linux desktop offering a better support/service to applications. Then the presentation about upstart 1.0, it was pretty cool to see the API for jobs on upstart, this might be usefull for most application/daemons that do want to spawn processes. After a small interruption the presentation continue with Marcel Holtmann talking about DBus on kernel, the reception of the audience was very good with few concerns, the fact of upstart requiring DBus to be started early during boot process may make the idea even more compelling than before.

10/10 for LTC

Next, BlueZ meeting.

Monday, August 18, 2008

pulseaudio + bluetooth

It seems Joao Paulo have been pretty busy lately working on bluetooth audio support for pulseaudio, and here is a preview of his work:

So pulseaudio are now able to handle bluetooth audio devices (a2dp and hsp), there are still some missing features that we want to add, a proper wizard on BlueZ to pair/connect those devices and some bug which we should take care before releasing the code so don't expect it to work flawless.

kudos to Joao Paulo and lennart

Sunday, May 18, 2008

Stop bashing phenom

Since phenom was introduced I thought it would be a great processor, not only because I like AMD products, but because 4(or 3) is better than 2 (or 2+2). Things got a little complicated to AMD when phenom got delayed and Intel had made a wonderful work on core architecture as benchmarks specialized sites doesn't stop to show us. It is impressive that things like power consumption and performance per watt just happen to be in all reviews since core got launched, and I wonder why. Hardware specialized sites never stop to surprise me, back when phenom got launched (6 months late) they start bashing it because of its low frequency and poor results on games. The exactly same thing happen over and over until I read this article on anandtech. Despite the article itself, which cover server market, the comments is what really worth reading:
"In fact for typical HPC codes Barcelona annihilates the Intel chips. We have just ordered a new HPC machine at my university and I had all the fun of running the benchmarks. For a single thread Intel was up to 50% faster, but for anything with a large memory footprint the Intel chips (even 45nm ones) with the FSB just fall over. For problems using 8GB RAM (8 threads) the K10's were twice as fast comparing 2.2 GHz Barcelona vs 3 GHz Harpertown chips. I just wish we could have had 3GHz Barcelonas..." by highlandmoose
I wonder why there is no tests on server area? This comment also worth quoting:

"The Northwood being a good chip is a fallacy that people try to advance to show how much better they understand the market, and how overly simple most people are. The latter is true, but also saying the Northwood was so good is also an oversimplification. It was a huge, power hungry chip that was generally more powerful than the other company's much older design, but not always. It's the same argument I would use against the Athlon though, it used a lot more power, and was much bigger, but the performance advantage was more substantial since it could match the P III clock for clock (and greatly surpassed it in FP), and could also run at much higher clock speeds. The Northwood was enormous, and had miserable IPC, and didn't outperform the Athlon by very much.

In the end, the Pentium III design as it moved along the mobile route proved to be an excellent and balanced design, and is finally the dominant processor again in the current iteration of Penryn. The Athlon and Athlon 64 only looked good against the grotesque Pentium 4 line, which combined the twin virtues miserable IPC with huge size/power use. Why Intel ever used this chip, after seeing how good the Pentium Ms were, is a mystery to me." by TA152H
It is also a mystery that few sites comment about how power hog were Northwood, Prescot and Pentium D(ouble). Now check this out:

"Intel's Core2 architecture is based on the Core and thus P6 architecture, so what wrong with AMD leveraging the strengths of their previous architectures. If it isn't broke, don't fix it. (Not saying they can't fix other areas of the processor)

Atom is somewhat innovative, but is mostly based on older designs using newer processes with an extremely low power overall design goal. It's a very good design, but the innovation is more in creating a market where one didn't really exist before.

Intel didn't innovate quad core, they innovated double dual core. This was really an innovation that they made with the double core Pentium Ds. While not a long term performance enhancing innovation, it should not be shrugged off either. It allowed Intel to offer two cores when they couldn't have otherwise. They also maintained higher margins this way as the yields were much higher than they would have been if they tried to get two cores on a single die. And guess what, AMD is following suit.

Penryn wasn't all that innovative as an architecture. However, the new process is a huge innovation. It's not a simple refinement in lithography technology. They had to change the way transistors were made. You can only deny that it is innovative if you call it inventive.

To be fair, AMD has been innovative as well. AMD's HT interconnect technology is routed like a crossbar switch. Effectively, this means that core 0 and core 2 can talk while core 1 and core 3 talk (or any other mutually exclusive combo) with no penalties. I don't know what Intels variation on HT will do, but if they design it like time division multiplexing (TDM) switches, they will have additional latency in some cases. More importantly, the processors will get extremely hot if they run the link fast enough to allow all processor simultaneous communications using TDM." by JPForums
Now that is a good comment.
Also recently both Tom's Hardware and guru3d published articles about how gpus and multi core cpus scale, read don't scale, on games. Note that both sites conclude that a faster cpu with less cores might perform better on games, how clever they are, but a faster gpu brings more for gaming experiency. They complete ignored the fact that a core doing nothing can still be used on tasks such as downloading, playing mp3 and any other trivial yet frequent task, but no they had decided to show how a multi core scale on single threaded game. Good job!

Last but not least, a priceless comment from guru3d article, page 6:

"Whoever stated that a 60 USD processor (X2 4850) wouldn't be sufficient for today's gaming ?"
Now try to alt+tab.

Tuesday, May 13, 2008

DLINK DSL-G604T firmware

My DSL-G604T always suffered from slowdowns, connection drop and sometimes even got completely unusable, though I normally associated to upnp being enabled. The 2.0 firmware really improved the web administration, but the instability was still there, adsl signal got out of sync frequently and so on. Then on this past weekend I decided to investigate a little further what hell was going on, well the bad news is that I just discovered that the router is really a crap in terms of hardware:

# cat /proc/cpuinfo
processor : 0
cpu model : MIPS 4KEc V4.8
BogoMIPS : 149.91
wait instruction : no
microsecond timers : yes
extra interrupt vector : yes
hardware watchpoint : yes
VCED exceptions : not available
VCEI exceptions : not available

Not only it, but almost all DSL- xxxT family comes with Texas Instrument cpu TNETD7300GDU AR7W MIPS, I wonder if that chip can really manages up to 64 wi-fi clients + 4 switch ports and the adsl connection itself. It must be quite a waste for using this fantastic cpu on DSL-502T since it doesn't need to manage wifi or do qos its amazing power will not really be used there, cmon give me a break.

Now the good news, at least from the software side, it is possible to flash the router with version 3.0 of the firmware which was supposed to only work on DSL-G624T, but guess what, it has almost the same piece of shit hardware so it works flawless on DSL-G604T. DSL-G624T 3.x firmware

After one week using the new firmware it seems much more stable than the previous, it happens to improved adsl signal so no disconnection or modem getting out of sync, much faster wi-fi assossiation and no single thing to complain up to now.

Friday, May 9, 2008

Doom days are back?

Not for me, even tough I fell tempted by the recent announcement of Doom 4, my "green" days of marine are over. Doom was the reason I became so interested by computers, since I just came to have a PC (486 dx2 66Mhz) only on 1994 when doom had just been released by id.
Doom not only mark my days as a gamer but as a programmer too as it had some heavy requirements (for that time) in terms of memory I started to hack on config.bat and autoexec.bat and latter I even manage to create/setup a network just to play doom. Doom multiplayer is the reason why I've previosly state it as my "green" days, I always was the green marine on my neighbors screens since it was a caracteristic of doom, probably it was because my network card/mac address as I've once swapped with one of my neighbors and I end up with his color and vice-versa.

Wednesday, April 23, 2008

BlueZ 4.0

During the next BlueZ developers meeting that will be held in Helsink from 28th to 30th of May the so called 4.0 version should be released. As suggested by the bump of major version it will bring some major changes:
  • eglib will no longer be maintained, meaning glib will became mandatory.
  • D-Bus API changes including: property and dict usage, significantly simplified adapter object, remote devices objects and path architecture.
  • Profiles support will change from services process to plugins modules.
  • Duplicated code from services that managed L2CAP/RFCOMM/SCO connections will be moved to libbluetooth-glib along with convenient SDP queries functions.
  • Drop of internal libhelper in favor of libgdus.

Tuesday, April 22, 2008

BlueZ GSoC projects

First time participant as organization BlueZ got 5 slots in GSoC 2008:

Integration of the Bluetooth Audio service with PulseAudio
mentor: me
student: João Paulo Rechi Vita

Joao Paulo and I will be working on it to bring a transparent support to
PulseAudio of both stereo (a2dp) and mono(hsp/hfp) bluetooth headsets.

PBAP - The Phonebook Client (PCE)
mentor: Claudio Takahasi
student: Larry de Oliveira Lira Junior

Larry and Claudio will be adding the client support of pbap to BlueZ.

mentor: Eduardo de Barros Lima
student: Li Dongyang
Eduardo and Li will be creating a hi-level/convenient python component
on top of dbus-python.

HFP Emulation
mentor: Vinicius Costa Gomes
student: Firas Omar Assaad
Vinicius and Firas will be working on making your computer look as a Bluetooth
Hands-Free device.

Extend obex-data-server with BIP support
mentor: Claudio Takahasi
Tadas Dailyda

Tadas is already know by BlueZ comunity for his work in last year summer of code,
this year he will be mentored by Claudio to extent obex-data-server.