Jul 162012
 
photo

Raspberry Pi, Mele A1000, MK802, and … . the market is getting filled with these low price geek toys. I personally see a lot of potential here. These “devicelets” can do to hardware what apps did to software. Some readers may remember that I posted a tutorial to create a simple evaluation board out of a iPhone 3GS last year. Back then, Pandaboard was the only choice to get an ARM computer in the market and it was never available. Now there are so many vendors and sellers that it has become difficult to chose. This post is just a concise summary of all the available choices I have come across so far.

Continue reading “Which little PC should I buy? Raspberry Pi? Mele A1000? or …” »

Jul 132012
 
photo

After I downloaded  iOS6 on my iPhone last week, the first icon I clicked on was Passbook only to find that Apple had not put any example passes in there. Since Passbook was the primary reason I had downloaded iOS6, I dug into the API and learned how to create a pass myself. It was a great learning experience that I want to share with others. I also provide a shell script to automate the pass generation process and also present to you, iPass.pk, a user-friendly GUI-based service to create passes.

Continue reading “Generating passes for iOS6′s Passbook” »

Aug 072011
 

The purpose of this post is two fold. First, I want to raise awareness about the transformations a problem goes through before it can be solved by the electrons running around  in the hardware. It is common knowledge for many of you but listing this can be useful for the younger readers. Second, I want to share Prezi, a web-based tool to make presentations. This is my first experience with Prezi and I liked the interface and options better than Powerpoint. I figured I will convey some useful information with the demo.

Continue reading “Quick Post: Levels of Transformation in Computer Programs (+Prezi)” »

Aug 052011
 
Source: http://smartincomeblog.com/what-i-learned-from-creating-an-iphone-app

In a weak moment last July, I paid $99 for an Apple Developer Account with the intent to learn iPhone app development. However, I didn’t use it for 11.5 months. When I learned two weeks ago that I was about to lose my investment, I decided to salvage it. It has actually been a great experience and I don’t regret spending the week playing with iPhone apps. I have not become an expert by any means but I think I have learned enough to have some opinions. I am writing this article to share what I learned as it may interest some other “traditional” computer scientists to explore iOS.

Continue reading “iPhone App Development (for Old School Coders)” »

Jul 222011
 

I feel very excited writing this 51st post on Future Chips blog today. I started this blog 2 months ago knowing very little about how blogs work and I must admit that the results have far exceeded my expectations (thanks to all the readers). I just want to share some stats to (1) show how its been a very encouraging start, and (2) inspire other computer scientists in academia and industry to to share their thoughts on the net more freely. I will keep it very brief.

Continue reading “50 posts and …” »

Jul 112011
 

I am sorry for the hiatus. I had some business to take care of and that is why I was unable to write for a few days. I will be writing regularly again. As a come back post, I decided to create a small quiz  on the microrpcoessor industry. It has a few questions about the recent history of microprocessors. I am hoping that you will enjoy the questions and learn from them at the same time. Let us know how you did through your comment!

Continue reading “Quiz: How well do you know CPUs? (Fixed)” »

Jul 022011
 

A comment on Hacker News is arguing that our self-assessment quiz for computer scientists is in fact a self-assessment for computer engineers since computer science is about computation complexity and not programming. At the same time, a popular article at the Elegant Code blog is arguing that software development and traditional engineering are fundamentally different. Now I am confused because apparently programming is neither a science and nor an engineering. Then what is it? It has to be an art. Continue reading “Is Programming an Art or a Science?” »

Jun 292011
 
Loop control flow

I got into a debate with a computer science professor a few months ago when I made a controversial blanket statement that “the code inside loop bodies is the only code that matters for performance.” I should provide some context: I was discussing how multi-threading is about speeding up loops and I don’t care about straight line code which is only gonna execute once (or just a few times). My argument is that programmers do not write billions of lines of straight line code. Its the repetition of code (via loops or recursion) that makes the code “slow.” In fact, I can argue that any time we wait on a computer program to do something useful, we are in fact waiting on a loop (e.g., grep, loading emails, spell checking, photo editing, database transactions, HTML rendering, you name it). It is a rather silly argument but I would like to see some counter arguments/examples. Question: Is parallel programming all about loops/recursions or are there cases where code that executes only once is worth optimizing?

Please note that if the code executing once has a function call which has a loop in it then that counts as a loop, not straight line code. Comments would be great but at least take the time to indicate your vote below.

Are loops the only code that matters for performance?

View Results

Loading ... Loading ...

 

 

Jun 282011
 

When talking to, Owais Khan, a friend studying communication systems, I mentioned that multicore systems are becoming memory bandwidth limited even though the bandwidth of latest chips exceeds several GB/second. He was puzzled and then corrected my terminology, thereby pointing me to a common mistake made by computer scientists . I decided to write about it and collect opinions from computer scientists here.

Continue reading “Quick Post: Memory Bandwidth? (or data rate)” »