Archive for the ‘Computers’ Category

Problems with old Java applications

Sunday, March 14th, 2010

The main selling points of Java is that it can actually be used on any computer. All that the computer needs is an interpreter for Java bytecode. Such an interpreter simulates the Java virtual machine in the same way that Virtual PC simulates a PC computer. Theoretically if you write a Java program well, it should work on any computer, and for many years to come.

In practice there have been too many times where a certain Java program cannot be used on the computer you want to use it, even the computer has Java support in it. I have seen too many cases where a device configuration tool or user interface written with Java has become unuseable very soon, and you just can’t use that on modern computers. A typical case is that Java application has run nicely on some old Java version, but refuses to run on some newer Java version. And when you have a newer PC, you can’t get the needed very old Java version to that PC in any practical way. And the manyfacturer does not provide any updated softwere. So the somewhat old still well working hardware or software system too soon becomes unuseable, because the Java based user interface just don’t work.

Java is supposed to run on any PC, but in practice many Java application just don’t work. Why does many Windows program seem take better time (even very old version runs nicely on modern Windows version or Windows emulator on Linux system)? Is the problem that Java keeps changing too much too often (problem to compatibility) or are the Java applications just so baddly written (in incompatible way)?

Researchers find weakness in RSA

Wednesday, March 10th, 2010

Nothing is perfect. The most common digital security technique used to protect both media copyright and Internet communications has a major weakness. RSA authentication is a popular encryption method. he RSA algorithm gives security under the assumption that as long as the private key is private, you can’t break in unless you guess it. Researchers find weakness in common digital security system tells that University of Michigan computer scientists have found they could foil the security system by varying the voltage supply to the holder of the “private key”.

They carefully manipulated the operating voltage of the computer electronics (FPGA). This causes it to make small mistakes in its communications with other clients (if it would make big mistakes it would crash). These faults reveal small pieces of the private key, and enough faults allows the researchers reconstruct the key offline. It takes considerable amount of time (100 hours) and many servers (

For more details read the whole FaultBased Attack of RSA Authentication paper. It describes an end-to-end attack to a RSA authentication scheme on a complete FPGA-based SPARC computer system and demonstrates that a fault-based attack on the RSA algorithm is possible.

It is highly unlikely that a hacker could use this approach on a large institution, so the risk of this to you could be pretty low. The researches say that a common cryptographic technique called “salting” that changes the order of the digits in a random way every time the key is requested, can help to fix this problem. There could also be other solutions as well (maybe better hardware more immune to error).

rsa_attack

Image source: http://www.eecs.umich.edu/~valeria/research/publications/DATE10RSA.pdf

Acceleration of program execution

Sunday, March 7th, 2010

Current design methodologies, whether for software or hardware, are in constant pursuit of making applications faster. In the office PC environment there is more than enough power for typical business applications, and they can be written using tools that are not the most optimized for execution speed (for example Java, .NET, scripting languages, web application etc..). Usually accerelaring the application in modern PC enviroment consist typically of things like multithreading, parallel processing, or reconfiguration.

Embedded systems are a different story. In many SOC (system-on-chip) applications, signal processing consumes the majority of the execution time. Using normal mathematical libraries for processing data is expensive in terms of both CPU time and memory usage. Acceleration of program execution article gives you information how to speed up the program execution beyond what you get with normal libraries. The article is written from an electrical engineer’s POV (point of view) and focus on the implementation in a given processor and the tradeoffs in implementation methodologies.

One popular technology to speed up the mathematics is to use look-up tables. Lookup tables trade between processing resources and execution time to speed up execution of computational processing. There is always tradeoff between execution time versus design time, and accuracy verses memory usage. Acceleration of program execution contains useful discussion and practical case studies that show that the lookup table method does accelerate program-execution speed considerably. In embedded applications the accelaration of program execution usully means that you can use a cheaper microprocessor and/or use less power than what would be the case with non-optimized program.

PC is not irrelevant

Friday, March 5th, 2010

Google says desktop PC is three years from ‘irrelevance’. Google Europe boss John Herlihy told a “baffled” conference audience that very soon the smartphone will completely eclipse the desktop. “In three years time, desktops will be irrelevant,” he said. “In Japan, most research is done today on smart phones, not PCs.” Herlihy was trying to say that Google’s number one concern is now the mobile market.

For companies the number one concern is now the mobile market because mobile makes the world’s information universally accessible. This will create new opportunities for new entrepreneurs to create new business models – ubiquity first, revenue later. This is an interesting market.

PC will not be not irrelevant any time soon. At last month’s Mobile World Conference in Barcelona Eric Schmidt did not say that the desktop PC would be irrelevant in three years. The PC market might not be increasing at great rate, but is is not declining. I would expect that the PC will (in for or another) continue to be well for a long time. There has been many cases where PC has been said to be deaf because of different new things, and for some reason PC technology has survived almost 30 years on the market. PC will not go anytime soon. PC will be relevant for long time. PC will adapt over the time to form that is needed. PC is a flexible product that will live for long time.

How low can 32 bits processors go?

Thursday, March 4th, 2010

Moore’s Law observes that the number of transistors doubles for the same area every two years. Strange that this law has hold for a long time. This has made some people to predict that that 32-bit processors will replace 8-bit processors. The argument starts with the fact that the relative size difference between an 8- and a 32-bit-processor core approaches zero compared with the other resources on the chip as the transistor geometry continues to shrink. When the difference in the silicon area of 8- and 32-bit cores shrinks to nothing, 8-bit processors lose the price advantage that they once enjoyed.

How low can 32 bits processors go? article tells you this and the fact, but also that this is not the whole story. 8-bit controller have their advantages still in applications where their processing power is enough. It is true that 32-bit cores are pushing everywhere (more capabilities and easier to program), but there are still applications where there is good place for 8-bit processors.

pic12f675

One in Three Laptops Fail Within 3 Years

Tuesday, March 2nd, 2010

Shocking news: 1 in 3 laptops fail in the first three years of ownership! So run, don’t walk, to purchase your warranty if you believe the figures! Generally extra warranty the on electronics the shops try to sell are virtually never worth the price (according to almost ever consumer organization). Could the situation be different on laptops? If it is then I would expect the prices of such extra warranties to go up if the laptops keep falling very often as the study says.

One in Three Laptops Fail Within 3 Years article also has nice graph of malfunction rates by computer  manufacturer. It gives you nice idea how reliable different laptop brands are. If you are interested in more details read the full report. The study found that netbook malfunction rates to be trending 20% higher than more expensive laptops, the variance between manufacturer is far greater. Read the report if you plan to buy a laptop or netbook.

laptop-computer-clip-art
Image by Free-StockPhotos.com

Web technologies for mobile applications

Sunday, February 28th, 2010

I visited yeasterday Mobile Dev Camp. Mobile Dev Camp is a one day event devoted to developing mobile applications on the latest mobile platforms such as iPhone, Android, Maemo. It is held in Helsinki Finland. The end result waht I got from the presentations I followed that web techniologies are coming more and more into use in mobile application development in the next few years.

Web applications are cheaper to make than native applications and can nowadays do many many things (and in the future more). Especially web applications are cheaper when you need the same application to work obn many devices (porting web application to different device is much much cheaper than porting native device, and many web applications work on many platform already without any extra porting work ).

HTML5 web applications are the way to go. Web technologies are nowadays integral part of modern communications devices and the web runtime is fully fledged application platform. Location based web applications are already possible with Android and iPhone. URL is an easy distribution model.

Mobile web application will be big in 5 years. Great growth of mobile web is not cannibalizing the traditional web but can affect the business models of today’s app shop centric mobile application world.

Apple crated downloadable mobile applications markets with marketing (lots of money spent). Now almost everybody seem to be following that model and device manufacturers are betting on at the moment very heavily.  But is that limiting application shop model locked to single manufacturer the best for mobile application business? I think this model will face problems when open cross platform web applications will take on. Other possible future is that web applications will be in the future sold on those same shops in the same way as native applications nowadays, just some applications are web applications and some native applications, without end user knowing how the application is made. Let’s see what happens in few years.

mobiledevcamp2010

Walk and Code

Sunday, February 28th, 2010

Here is an interesting idea how you can walk and code at the same time. I just saw this at 8th light Walk and Code blog posting. The idea comes from WalkStation, an adjustable height desk with a treadmill underneath. The solution presented on the blog is cheaper is more DIY model based on treadmill and Ikea desk. Cool idea. I am just wondering how productive you can be on coding while you walk…

treaddesk1

Image source: http://blog.8thlight.com/articles/2010/2/25/walk-and-code

Olympics run on Windows XP

Friday, February 26th, 2010

According to cnet News article The Olympics run on Windows (XP) all the 6000 Acer PCs powering the Olympics are running Windows XP. Olympics tends to be conservative and they do not want to try out the latest in new technology. Technology to use should work and best if technology is kept out of the headlines.

XP is a proven platform. It runs well and its easy to tune so why wouldn’t you go with it if the newer features of Vista or Windows 7 are not critical. No enterprise in their right mind would make a complete shift to a new OS (Windows 7) in less than 6 months since its inception. There is too much testing involved. Too often in computer software products lots of (too much?) the testing is left to the end user…

In enterprise it’s a waste of time money and effort to fix something that isn’t broken. There are always more than enough things that are broken that need the focus. When XP can no longer do the job or the efficiency gain of an upgrade is more than the cost, then is it time to upgrade to something that works better in the given application. And that is not always a newer Windows version. For some people/applications that better solution could be Linux or Apple Mac OS X. Both of them are based on Unix technologies.

Most Dangerous Programming Errors

Thursday, February 25th, 2010

The 2010 CWE/SANS Top 25 Most Dangerous Programming Errors is a list of the most widespread and critical programming errors that can lead to serious software vulnerabilities. They are often easy to find, and easy to exploit. They are dangerous because they will frequently allow attackers to completely take over the software, steal data, or prevent the software from working at all.

The Top 25 list is a tool for education and awareness to help programmers to prevent the kinds of vulnerabilities that plague the software industry, by identifying and avoiding all-too-common mistakes that occur before software is even shipped. Software customers can use the same list to help them to ask for more secure software.  The list is the result of collaboration between the SANS Institute, MITRE, and many top software security experts in the US and Europe.

Cross-site Scripting, ‘SQL Injection and Classic Buffer Overflow are still on the top of the list.

bug_no_400

Image source: http://www.stevenbrown.ca/blog/archives/225