Wednesday, December 10, 2008
Keyboard stuff..
version: http://www.youtube.com/watch?v=atAzfF0M44s
Not beginner's stuff :).
Monday, September 15, 2008
Learning something new.
I think the basic issues for me are around
- Getting out of the comfort zone. The existing mental pathways are easier to go along with.
- Trying to look for "productive output".
- A belief that any new field requires a huge amount of practice and dedication.
Due to this I always ended up spending my free time on the next "scripting language" or "programming model" :). So taking a different view point and approach, I am going to:
- Focus on the joy of learning/exploring something new.
- Commit a fixed time (say 30hours) to a given field and see where it goes.
At the end of it if I can enjoy/appreciate music or photography more, it would be more than worth it. RK's tip is a very practical fallback :)
Friday, September 12, 2008
Windows workflow
Luckily someone pointed me to this book: "Essential Workflow" and I must say that it is one well written book. It explains the "concepts" behind it instead of dealing with some vague design surface or cooked up examples. Basically WWF is a 'programming model' for long running resumable programs.
With fundas in mind it is much easier to make a call on whether WF is a fit for a given context.
You can find a sample chapter here: Sample Chapter
Wednesday, August 27, 2008
Uri quirks..
(http://www.xyz.com/p1/p2, c1) => http://www.xyz.com/p1/c1
(http://www.xyz.com/p1/p2/, c1) => http://www.xyz.com/p1/p2/c1
(http://www.xyz.com/p1/p2, /c1) => http://www.xyz.com/c1
(http://www.xyz.com/p1/p2/, /c1) => http://www.xyz.com/c1
(http://www.xyz.com/p1/p2, ./c1) => http://www.xyz.com/p1/c1
(http://www.xyz.com/p1/p2/, ./c1) => http://www.xyz.com/p1/p2/c1
The gory details of the combination algorithm can be found at http://www.apps.ietf.org/rfc/rfc3986.html#sec-5.2.
Thursday, July 31, 2008
Understanding legacy code.
- Talk to the someone who already knows the codebase and walk through the main components on the board
- Play with the final product to get an idea of its features (becomes easy to correlate when you go through the code)
- Figure out how logging works in that product. Enable verbose logging (if available :)) and keep watching the tail of log as you play with the product
- Attach a debugger and step through the code while you use the product
- Run the unit tests under a debugger
- Go through the tests for a feature
- Go through the bug database by feature. This quickly gives a sense of what you are going to run into :) and a lot more.
- <
>
Monday, June 09, 2008
Concurrency and coordination runtime
MSR has come up with a different programming model intended to make async i/o based programming dramatically simpler (almost feels like sequential code). It is a library on top of .net and ships as part of robotic studio. For any serious async work, this is worth investigation:
Thursday, June 05, 2008
Thread local storage leak in Compact CLR
This is a big issue as memory is short on devices and apps which use threadpool to process their work items (using TLS) will end up leaking a lot as thread pool keeps spawning/exiting threads based on load.
Update: this is an issue only with netcf 2.0, it has been fixed in netcf 3.5
Monday, June 02, 2008
Generators in python
Thursday, April 24, 2008
Archetype
Friday, April 18, 2008
Pangea day
The talk that started this: www.ted.com/index.php/talks/view/id/55 . I thought this was too fluffy till I watched the video.
Monday, March 03, 2008
Visual Studio Tip
Most people don't know that devenv can be made to play well with command line automation/test run debugging. Lets say you run your test suites using the following command:
E:\temp><testexe> <args> |
If a particular test fails one way out would be to open the project file corresponding to the failed test and then modify its Debug -> Launch properties and do an F5 after setting up the right paths and working directory. I usually find this tedious on big projects, so this shortcut comes in handy:
E:\temp><vsinstall-dir>\VC\vcvarsall.bat x86 Setting environment for using Microsoft Visual Studio 2005 x86 tools. E:\temp>devenv /debugexe <testexe> <args> |
I usually have a batch file for the first step. devenv setups a nice project with the right working directory and the launch exe etc. All you have to do is load the appropriate code file, put a break point, and F5 to debug your code!
Monday, February 11, 2008
Startups revisited.
New ones:
http://www.apunkadialogue.com - Amit was one of the most ambitious and talented fellows i have ever worked with. I could not make much out of the site, but what the heck, I don't understand any of the other Gen Y stuff either :)
http://www.s3edge.com - Started by a couple of my ex-colleagues Abhishek and Venkatesh. They were so thrilled by the by the product that we have built (Microsoft Biztalk RFID) that they left the company to build solutions on top of it :)!
Companies still running:
http://www.carwale.com - This is doing great and in fact BusinessWeek has recognized Arun as one of the top 25 entrepreneurs in the Asian continent (blog link) ! This is cool stuff !!
http://www.quillpad.com - Rampi and KS keep churning out something or the other and this turned out to be a huge hit for them. It is easily the best transliteration tool out there!
Companies no longer running:
Thursday, January 31, 2008
Trick question - 1
Answer: Do they actually log their errors to the logfiles or does the code just swallow them? :). This might seem funny, but i learnt it the hard way!
Tuesday, January 29, 2008
Seth books
They are a fascinating read (still reading the second one) and they deal with nature of religion, beliefs, nature of the conscious mind and how personal beliefs (not just the religious ones) affect individual reality in a very deep way.
If you are not too religious, and are open to considering view points different from yours about life (and death), you owe it to yourself to read these books!