Archive for June, 2009

USB3 and Linux

Friday, June 12th, 2009

Combining 5 Gbps with the convenience of USB sounds like a sure win. The idea is is simple. Just start with widely used, fast, and bulletproof USB 2.0 and put in the PHY (physical-layer) interface from another common and reliable standard, PCIe (peripheral-component-interconnect express) Generation 2. Put two extra differential pairs into the USB connector to carry the new high-speed serial signals. Getting this all to work well is not simple and there are still many issues that are hiding behind the premise. EDN magazine article USB 3.0: A simple idea full of challenges tells you those issues.

Besides getting the hardware working there is still long way until there are well working drivers for all operating system. It looks like Linux will be the first OS to support USB 3.0. Sarah Sharp has made xHCI (USB 3.0) host controller driver and initial support for USB 3.0 devices for Linux operating system. This makes Linux the first operating system to support the USB 3 standard.

Superspeed USB

PacMan In Real Life

Thursday, June 11th, 2009

Pac-Man is universally considered as one of the biggest classics of video game industry. Pac-Man is an icon of 1980s popular culture. Pac-Man is often credited with being a landmark in video game history, and is among the most famous arcade games of all time. PacMan In Real Life is a funny video of Pac-Man game emulated with people wearing game character costumes.

real life pac man

USB powered microwave oven

Tuesday, June 9th, 2009

I have seen all kinds of strange USB gadgets, but this might even be more useless than USB coffee cup warmer. World’s Smallest Microwave Is USB Powered article tells that there is now an USB powered microwave oven. Beanzawave is said to be the world’s smallest microwave.

Because of the limitations of the power available from USB port this can’t be very powerful.
USB port voltage is limited to 5.25V maximum and the available maximum current is normally 500 mA (900 mA on USB3). So the maximum power you get is 2.5W or 4.7W. A typical microwave oven is 500W to 1000W. When it takes for normal microwave around two minutes or so to heat up a cup of water or a piece of food, it would take ages for such small microwave oven with less than 1% of the power to heat up anything.

When reading some more articles it seems that this device could have some use after all. Beanzawave USB-Powered Beans Microwave is What USB Was Created For article tells that there is Lithium Ion batteries inside for on the go beans heating. So it looks like there is actually a small higher power microwave powered with Lithium Ion batteries and then there is USB charger for the built-in batteries. Measuring just 7.4 inches tall by 2.6 inches wide and 5.9 inches deep this would really be the world’s smallest microwave oven.

I think this product will lead to disaster eventually. A disaster that can be seen on-line afterwards. After seeing all of these Youtube videos of people putting anything they can to microwave ovens…

tiny USB microwave

Parallel programming challenges

Monday, June 8th, 2009

Multicore CPUs are mainstream nowadays. The number of CPU cores is quickly increasing. Getting the most from multicore processors is becoming an increasingly difficult task for programmers. Just adding more CPU cores will not make existing software to run faster. To get most out of the multicore CPUs you need to write your software in such way that it performs many tasks in parallel in different CPU cores. In this way you get the power from all CPU cores. The class of applications for which parallel processing is useful is growing rapidly.

Most computing intensive problems that a user will encounter at home are easily parallelizable, i.e. video encoding, gaming, photoshop filters, webbrowsing and so on. There exist whole classes of software that have been doing parallel execution, be it through threads, processes or messaging, for decades. Look at any high performance server software, look at apache, or database software.

You can read often how parallel programming is very complicated for programmers. Parallel programming can be simple and straightforward or very complicated depending what you are planning to do. Parallelism typically falls into two buckets: Data parallel and functional parallel. The first challenge is identifying what is what. The second challenge is synchronizing parallelism in as bug free way as possible while retaining the performance advantage of the parallelism.

Doing fine-grained parallelism will take long time to become mainstream because it is too abstract for most. Changing industry tool-chains to something entirely new takes many many years.

Short term solution for parallel programming problems will come in threaded/parallel frameworks that used with traditional programming languages.

The parallel programming support on popular programming languages is not up to date. C and C++ provide no assistance in keeping track of locks needed in parallel programs syncronization. In Java, the problem was at least thought about, but “synchronized” didn’t work out as well as expected.

Some programmers might even go on many years thinking that parallelism is an operating system feature, not a language issue. At the OS level, in most operating systems, the message passing primitives suck. What you usually want is a subroutine call; what the OS usually gives you is an I/O operation.

Does parallel processing require new languages? blog posting will give you some more information related to parallel programming.

HDMI 1.4

Saturday, June 6th, 2009

Today, HDMI is a home theater mainstay. Practically any piece of new HD capable A/V equipment has HDMI connector in it. HDMI Licensing group announced that a new HDMI 1.4 is being revealed.
Hothardware.com has a short news that tells the main features of the new coming HDMI 1.4 version. The new version will support 3D over HDMI and 4K x 2K resolution. The HDMI 1.4 specification will add an Ethernet data channel to the HDMI cable.

Best Programmer WebComic Strips

Wednesday, June 3rd, 2009

25 Best Programmer WebComic Strips is a list of 25 best programmers webcomics and all in one page! Enjoy.

bug and feature

World’s most pointless machine

Tuesday, June 2nd, 2009

All robot builders reading this, take a look at this video you can find at
http://wimp.com/pointlessmachine/. It shows a pretty useless but kind of funny robot in a box.

useless robot

HTML 5

Monday, June 1st, 2009

The new HTML 5 standard is gaining significant traction even though HTML 5 is still in the draft process and has not yet been ratified by W3C. Browser makers are already implementing key features of HTML 5 and bringing robust support for some of its most advanced capabilities to end users.

HTML 5 has many new features. HTML 5 specification is the description of a vocabulary that you can write to define a web page. HTML 5 can be written using two different syntaxe: html and XML. What is the syntax best for you depends on your developer needs, markets and applications. An HTML5 (text/html) browser will be flexible in handling incorrect syntax, while the XHTML variant of HTML 5 (XHTML5) will need correct markup to work.

Video is one of the most significant areas where HTML 5 has a major impact. It allows us to break free from the constraints imposed by proprietary browser plugins. It is an alternative to Adobe Systems’ very widely used Flash. HTML 5 video element integrates seamlessly with conventional HTML content and can be manipulated with JavaScript and CSS. The “video” tag in HTML already is available in various versions of Apple’s Safari, Firefox, and Opera, which at least in theory makes handling video on the Web as easy as handling images.

During the Google I/O conference last week, the search giant a YouTube mockup built with HTML 5. Mozilla’s Chris Blizzard has showed how to use JavaScript worker threads to programmatically detect and highlight motion in video as it is playing. The HTML 5 features required to implement these demos will all be available in the upcoming Firefox 3.5 release. Google has begun supporting a new HTML feature to show video in its Chrome browser.


Amerikan Pastası 1 Amerikan Pastası 2 Amerikan Pastası 3 Amerikan Pastası 6 Amerikan Pastası 8 Arabalar 1 Arabalar 2