Saturday, June 21, 2014

Insecure coding talk by Olve Maudal

I was introduced to Olve Maudal by a friend who used work in a company called Tandberg (which finally got acquired by Cisco). This guy is a real expert, one who can explain things nicely as well. I just finished watching his talk at this year's NDC. It is titled 'Insecure coding in C and C++'. I think it is a must watch for all C programmers. The concept of 'Return-Oriented Programming' just blew me away.

Insecure coding in C and C++ from NDC Conferences on Vimeo.

Tuesday, June 17, 2014

MIT's take on web development

Yesterday I was reading the introduction to a book written in 2006 by some MIT professors titled 'Software Engineering for Internet Applications'. I was thrilled at the level of ideas they proposed, many of which are a reality now. For example, here is an excerpt:

"...Speaking of mobile browsers, their small screens raise the issues of multi-modal user interfaces and personalization. With the General Packet Radio Service or "GPRS", rolled out across the world in late 2001, it became possible for a mobile user to simultaneously speak and listen in a voice connection while using text screens delivered via a Web connection. As an engineer, you'll have to decide when it makes sense to talk to the user, listen to the user, print out a screen of options to the user, and ask the user to highlight and click to choose from that screen of options. For example, when booking an airline flight it is much more convenient to speak the departure and arrival cities than to choose from a menu of thousands of airports worldwide. But if there are ten options for making the connection you don't want to wait for the computer to read out those ten and you don't want to have to hold all the facts about those ten options in your mind. It would be more convenient for the travel service to send you a Web page with the ten options printed and scrollable...."

What is being proposed has already been partly achieved in the 'responsive' web design trend going on for the last two years!

The best  part I liked was about how web applications could fulfill the unmet goals of humanity:

"...What are the enduring unmet human goals? To connect with other people and to learn. Email and "reference library" were the two universally appealing applications of the Internet, according to a December 1999 survey conducted by Norman Nie and Lutz Erbring and reported in "Internet and Society", a January 2000 report of theStanford Institute for the Quantitative Study of Society. Entertainment and business-to-consumer e-commerce were far down the list...."

Saturday, June 7, 2014

A tool to solve any problem

Last year I developed an itch for learning functional programming (so much so that I signed up on a functional programming contest!), and that led me to Brian Harvey's course in UCB (search for CS61A on youtube). I enjoyed that immensely and watched more than 10 lectures from the series. A few days ago when I mentioned this to my friend Sayamindu, he suggested I watch the SICP lectures by Sussman and Abelson. And so I started watching them as well, and I now like these even better. Compared to Brian Harvey's course this one is faster and much more intense. Of course I might have felt that this was too abstract if I hadn't watched the previous one.
So far it feels any big or complicated problem can be solved programmatically using lisp. Since I have been working only on big and complicated software systems for most of my career, I am really looking forward to use it fruitfully.