Skip to main content

Posts

Showing posts from 2007
Battle of Wesnoth Been on the lookout for a free turn based strategy game and chanced upon the Battle of Wesnoth . Despite it being an open source game (meaning, you get the source), it was incredibly polished akin to any of the other turn based strategy game (Alpha Centauri), be it the background score or the graphics or the tutorials. The game itself is set in a period similar to the D&D or nethack era. For the film buffs, if you have read or seen the Lord of the Rings, you would probably be able to relate to the clans that populate the game world. The game play, as with any turn based strategy game requires background information on each of the units that you own, their strengths and weaknesses and a lot of planning (a kin to chess, but with a lot more parameters) where factors like day - night cycles are taken into account (e.g, humans fight well during the day, but the orcs are better during the night). It is encouraged to keep your older units as they gain experience and beco
Call me an old timer With new fangled ASP.NET, high end IDEs, wizards and code generators, the learning curve is high compared to the older times where a simple web based application can be created in a matter of minutes with PHP and MySQL. VS2005 takes web development to a new paradigm, where you follow the model of a regular GUI application development. You add event handers to the various 'controls' in your ASP.NET project. It is usually not very visible on what happens then. Some times, your validation logic that you had attached executes on the client side, and sometimes on the sever side based on the browser capabilities. This results in complication. At-least this is what I gather on my first attempt to learn ASP.NET. This is in addition to evaluating Ruby on rails, PHP, Perl from which I will be deciding on one to suite my needs. How I wish for the older days where a plain old server side script just simply executed on only the, well, server!
Going forward... Happy Diwali to anyone who has managed to reach this site! With this being a long weekend, by next novel that I recently read was NEXT by Michael Crichton, based on the new advances that are being made in the world of genetic engineering and the implications of their effects in the social world. Good read which changes the perspective of the darker side of generic engineering in the ever changing world.
The time machine Managed to get a copy of the King Solomon's Mines by Henry Rider Haggard. The book was originally published at 1855, more than 150 years since I am reading it. I'm sure that it would transport me back in time revealing how people lived and the problems that they faced. Of course, you can get the text in an electronic form from the Project Gutenberg for free, but I prefer the traditional form of reading where you can 'shutdown' any time and 'restore' in a jiffy. The other book that I have in reserve is The Journey to the Center of the Earth by Jules Verne (1864). There are so many classics that you can get access to for free if you do not mind staring at your display or PDA. But don't miss them out.
MaxMileage Been some time since I've posted. Had been busy reading the final volume of the Harry Potter series which I managed to acquire on the day of the release at the Central Railway station. Putting things aside, I had also managed to learn a little bit of DotNet programming and created a simple project @ SourceForge. With my interest in fuel economy, I had created a simple application to keep track of your progress and view the data as charts. It's not a complete application yet! I know a few hundred similar apps exists, but this I felt was more apt for my needs and I get a chance to program too.
XEmacs - Still resisting the dark side The other day, I had been contemplating changing to a fancier text editor. Though I do little programming now, I still find a need for a programmer's editor as I will be frequently writing simple scripts or processing csv files created by Microsoft Excel or log files. The other editor that I am familiar with is JEdit , which I had used for a brief period and have even contributed a macro . It had a good GUI, syntax highlighting for numerous programming languages and scripts, searching capability, plugin support, extensibility and so on. But, the one point it faltered was on the memory usage side. Just opening the editor took away a good 40MB of my scarce RAM. I guess it needed the memory to display those fancy icons and GUI controls. XEmacs in comparison, ends up using less than 10MB and is way faster too. Some indispensable commands Over the course of time, I have started relying on a few commands, so useful that I use them almost daily. You
XEmacs init.el It's been almost eleven years since when I was introduced to GNU EMACS. It came in as a DOS based editor which failed to load files that were over 640k. This was followed by DPMI support which provided flaky support to open files larger than than and unreliable under Windows 3.1. I then migrated to GNU EMACS on win32 and finally settled down with XEmacs on XP. Over the years, my (X)EMACS config file has and still undergoing changes and here is the latest configuration that I maintain. Note: I am not a lisp hacker, but have basically accumulated a list of handy configuration options and snippets that were indispensable during the course of my programming career. ;; ;; Shoban's XEmacs init.el ;; ;; ---------------------------------------------------------------------- ;; load paths ;(pushnew "~/.xemacs/xemacs-packages/dmacro" load-path :test 'equal) (pushnew "~/.xemacs/xemacs-packages" load-path :test 'equal) (setq Info-directory-list
del.icio.us A social bookmarking site which popularized tagging, where you assign keywords against bookmarks so that you can later retrieve them by the same keywords you are searching for. A dynamic bookmarking site where I maintain most of my favorite URLs
Hypermilers... One of my earlier post glanced upon the techniques to achieve better fuel economy while driving. And I chanced to stumble upon an article that has expert advise and a group obsessed with saving fuel. Some of their techniques match mine, but most seems specific to highway driving and/or driving a hybrid. But with a little effort, these can be applied to city-driving too and you may be able to reap some benefits while driving through the traffic laden routes at Chennai! A point to note: Safety comes first, fuel economy next. In the mean time, I am trying to layout a traffic simulation application, where you can try out different kinds on signals (the regular contdown style, more intelligent ones that can sense the traffic buildup) and to find the right timing and location to ensure your car / bike keeps running. Will post the architecture / design of this system when it is done...
Helmet and seat-belt mandated at TN Today morning, I was pleasantly surprised to see most bikers (along with pillion riders) traveling with their helmets on as TN geared itself from the 1st of June to make it mandatory to wear helmets for bikers and seat belts (for the front seat passengers) for car commuters. The FM radio RJs had been conducting on-the-road commentaries, catching helmet-less riders seeking justification on why they had not yet acquired one (the helmet) yet. The shamed few who got caught eventually were presented with a helmet. One the way (near Tirumangalam), I couldn't help notice people flocking near put-up helmet shops on the sidewalks, trying to acquire the license to ride a bike! Let's hope the momentum carries on...
Of Hollywood, frameworks, APIs and inversion of control I recently chanced to learn about a pattern called the 'Inversion of Control'. This is primarily used to abstract out the creational part of dependent components from a class is question. In simple terms, a class need not create dependent objects. This independence of the creational logic allows such classes to be more loosely coupled to dependent objects, thus resulting in easy replacement of the dependent objects during run-time. This technique is used by unit-tests to isolate a particular class from its dependencies so that the class / object in question can be tested alone. We usually resort to using creational patterns like the singleton or the factories to decouple the creator from the logic of creation. What we essentially do is, we just add one more level of indirection to the actual creation logic. Earlier, we used to manually use new to create an object. With the singleton, our class uses the singleton, which in
Learnings on software development http://www.taylor.se/reddit.html and Digg posted an article on the learnings from ten years of software development. May I add: 2. The difficult part of software development is communication Primarily, this boils down to both verbal and written communication. Both are used at different combinations at different scenarios. When you are discussing features or effort or schedule with your customer, it makes sense if these are written as it allows you to archive the information and refer to it at a later point of time. Who knows, six months down the lane, it would be you who would be scrambling down your e-mail chain trying to figure out why a feature has to be implemented the way it is. Even if you have a verbal discussion, it is a good idea to follow up with the minutes or a gist along with a set of action items. On the other hand, when it comes to appraisals, evaluation or goal setting sessions, it is primarily verbal communication followed with the a
Just googling about! It was search at first, and followed be web-mail with extra-ordinary storage. Then came the google blogger and now picasa, to show your photography skills online. So, checkout what I have now ...
Dot Net development the free way There is a new trend catching up... More mainstream application targeted towards the x86-architecture tend to move towards the Dot Net platform as compared to Java since a few years back. With majority of the users holding their roots to Windows, Dot Net seems to be better in terms of performance as well as integration with the OS. That's why I decided to learn Dot Net programming. With learning to programming using the Dot Net framework, comes the question of getting a compiler, editor or an IDE. Microsoft has provided the framework SDK for free for anyone to install. But unfortunately this comes along with command-line tools like the raw compiler or the console based debugger. Agreed, Visual Studio 2005 is there. But, it does not justify the cost to just learn a new programming model. The alternatives? A few exists. SharpDevelop , an open source IDE is available for those who are interested in a true blue open sourced IDE. But it has many kinks th
Beyond STL The Standard Template Library has made its way into the standards, being shipped as an indispensable object oriented core low-level library. Known to most C++ developers fondly as the STL, it provides standard object oriented reusable components that allow developers to focus on the problem in hand rather than think in terms of storing, retrieving and sorting data-structures. The most common classes that you might have encountered would be the string, the vector and the list. There is more than just these in STL and plenty of books and articles have been devoted to the innards of STL and how to use them effectively. STL liberates the developers from constructing custom linked lists and hash tables by using templates thereby aiding them in focusing at more higher level goals of the software. My aim in the article is to focus at the next level of software development. Though not focused at topics like architecture and design patterns, we will be looking at a public domain C++
Yahoo! Pipes – News nuggets served piping hot A news feed aggregator recently released by Yahoo is not just an aggregator. It allows users to configure your various news feeds, consolidate them, filter them by specific keywords, cull out redundant news items and present a single feed. Not much? They provide basic building blocks to perform all these operations and allow users to program by plug in the blocks very much like Lego in a graphical manner! Check out http://pipes.yahoo.com to create your own. Yahoo Pipes is named after the Unix Pipes where the output of one application is 'piped' to another application for further processing. A simple consolidator for a few sites that I frequent is here
Space sims / shooters and true 3D Recently, I had a craving for space sims and shooters and a tendency to blast off a few aliens. As the system I own is no gaming rig, I look for older games that are cheaper or requirements and on the purse as well. Nowadays, most publishers are keener in releasing games that fall into the FPS or MMORPG categories. After rummaging through the bargain bins at Landmark, I acquired Freelancer , a space shooter from Microsoft. You play a freelancer who takes odd jobs, make money so that you can retrofit your ship or weapons. One key differentiator of Freelancer is its open-endedness. Though the game features a central theme and a plot, the player is free to do whatever he / she chooses, like accepting odd jobs that are randomly generated, thus enhancing the playability. An oddity of Freelancer and most space shooters are, though the action takes place in deep space, all items and objects of interest are located in the same plane. Compare t
Is the future the web OS? With more capable and feature complete browsers, it becomes easy to develop newer things that were never imagined before. To the extent of building an operating system using Flash or AJAX. Quite a few have cropped up recently. Check out http://en.wikipedia.org/wiki/Web_desktop for a list of in-development WebOSes. So, what do I get out of a web OS? Location independence , information is stored in a central location can can be accessed over the web from anywhere. This is very much down the drain if you own a portable device or computer as you have all the info you need. But, there are instances where you may not be allowed to carry your portables, where as you might have access to the Internet where you can quickly pull out the information you need. This could be an advantage as well as a dis-advantage, the latter being, a single point of failure render non-availability / loss / leakage of your documents. But, some OSes do allow you to save your data locally a
Paradigm shift while driving... While the preference for most while going for a car is towards performance and economy, most stop after their purchase and do not follow up in honing their skills to practice safe and economical driving... Most reviews of automobiles state the raw power and how fast the vehicle can go. Granted, a speed of 175+kmph is high for Indian roads, I do not see anyone doing this during their normal day-to-day ride which would represent more than 98% of us, commuters. The recent Ford Fiesta Max Marathon drive had helped in changing the way people drive their cars. This is a different race, not focused on speed and time, but on economy and mileage. A few do's and dont's that worked out for me: Plan to use the brakes less . Fuel is spent in keeping the vehicle running. Brakes reduces the efficiency by introducing friction and thus limiting the speed. Which means that you start planning ahead to avoid the brake. You then tend to leave ample space betw