March 11, 2008
I’ve been working with a large project that has a lot of unmanaged MFC and C++ code, and new managed code using C#, C++/CLI with a many third-party libraries written in unmanaged code. Because of the complexity of the code, and sheer number of projects (>50 at the last count), I’ve been debating on using some scripting language to prototype and test code. I know Python, so I’ve started off with that. Unfortunately, Visual Studio 2005 does not have a good integration with the IronPython console. I tried getting the add-in sample to integrate with Visual Studio, but after wasting a few hours decided to use it without intellisense.
F# on the other hand has pretty good integration wit a REPL console, compiler and interpreter. Although, I know some functional programming, (doing some programming in Lisp, Haskell, and Boost.(Lambda|Bind|Spirit) in C++), F# seems to have an alien syntax. I’m pretty sure that after a few hours, I should get the hang of it. Probably, next weekend. Although its looking more and more likely that I’ll be at work this weekend again.
I do like this T-shirt though.

Brought to you via here.
sidenote:
I wish plain old C enums played nicely with CLS enums, or that I was smart enough to remember the nuances of how they differ.
Leave a Comment » |
C#, C++, F#, LISP, Programming, Python, Software |
Permalink
Posted by bybitsandbytes
February 26, 2007
All th blogging that I had done for the past two months seemed a excessive, so I decided that I was going to take a little breather, and let my thoughts gather. Unfortunately, any ideas for blogging topics that I have, are either incoherent or a victim of my procrastination.
So instead, I decided that I would simply write a bunch random notes, on things I saw today. just to let everybody, I’m still alive. I’m not kicking, but I am alive.
This is a blog post by a software engineering manager, about resume writing tips to getting past that 30 second look-over. I’ve read a lot of these resume tips over the past couple of years. The last time I updated my resume was about five months ago. In about a month or so, I’ll be updating my resume (something I do every six months or so). I’m not currently looking for a new job, but updating a resume every six months or so has allowed me to take an honest appraisal of where my career has been going.
My first cut of my resume is brutally honest. It’s so brutal, that I would call it resume self-flaggellation. This would not be a resume that I would send out, but a resume that would allow me to do a very honest self-appraisal of where my career is going. Depending on how I come out of that experience, I make a decision on what I need to do. My last experience, left me somewhat ambivalent about my career. I had some mixed feelings on where I wanted to be.I could’nt make up my mind whether I was happy or not. So I re-editted my resume into something that was more likely to get a second look and I looked around half-heartedly to see what was out there. Nothing came out of it. Landed a phone screen interview, but could’nt get past it. Dissappointed, I stopped trying.
Lesson learnt? In my opinion, that ambivalence really set me up for failure from the get go. Because, I had some mixed feelings, I was’nt really aggressive enough to go after what I wanted. I was’nt even sure what I wanted. Resume tips are all right, but if you really don’t have that drive for that something different, you’re job hunt is DOA.
End of March, I’m going to update my resume again in the same way. Let’s see where how that excercise ends.
…..
Leave a Comment » |
Blogging, Internet, Life |
Permalink
Posted by bybitsandbytes
January 18, 2007
Don’t have much to write. I might have an interview coming up, so I decided to brush my knowledge of data structures and algorithms. While I was working on link lists, I realized that a big change in how I approached to a data structure problem had come about. There was a time where I would always try to come up with a solution that was always iterative. I understood (or thought I understood) recursion and pointers, but didn’t dare to apply it in the problems I had to solve. I think the reason for that was that I always taught that in order to prove the correctness of a recursive algorithm, I should trace the series of recursive invocation of a recursive algorithm. Being somewhat inept at abstract thought, that was never a good experience.
Plus, the so-called rumor by some “experienced” people that recursion was bad, and that nobody used it in production code, left me biased against recursion.
My attitude towards recursion began to change when I begain to look at Haskell and Prolog. The best way of defining a recursive function was not to think of repeated invocations, but to define the various cases that the algorithm was supposed to cover. Suddenly the abstraction became easier to handle. The repeated invocation technique would actually decrease the abstraction, reducing “understandability”. Today, recursion tends to come to me more naturally than an iterative algorithm. When I looked over the link list excercises that I had coded, almost all of them where recursive. Now I have to convert them to an iterative form just to make sure I understand that bit too. Using recursion made me focus on the problem at hand, rather than coding intricate logic of if...else blocks for handling special conditions for handling the beginning and/or ending of link lists.
Leave a Comment » |
Computer science, Programming, Software |
Permalink
Posted by bybitsandbytes
April 15, 2006
Don Dodge had an interesting take on the recent acquisition of open-source based company JBoss by Red Hat. He compared the acquisition to the incident in "Tom Sawyer" when Tom suckers a bunch of kids to paint a fence.
Here's what I wrote in response.
I tend to think OSS contributers as amateur sports-men and women. People who play sports on an amateur level are play because they love the game. They know that they'll never have the same recognition like the people who play sports professionally. Just participating is good enough for us.I think OSS developers feel the same way. I think what drives them is the hunch that may be, just may be they can write that great algorithm, or routine, or application that's better than the one developed in a traditional development environment.
Leave a Comment » |
Internet, Linux, Technology |
Permalink
Posted by bybitsandbytes