Recent blog entries for mishan

It's been long enough that it's time for another of my status updates here on Advogato.

I've been working for Tagged, Inc. ( since November 2009. Tagged is a social networking company with a twist -- we're aimed much more at what we refer to as "social discovery." We enable anyone to socialize and meet with new people. It's a great network for making friends online and offline. We've also got a rapidly growing games department with our own in-house game designers and developers that create high-quality games that are well integrated into the site -- a lot of people on the site are there just for games, a lot are there for making friends and perhaps life-long lasting friendships or even relationships.

Since Tagged is aimed at allowing people to more easily connect with essentially strangers, it doesn't take a large stretch of imagination to realize that spam can be a much bigger issue to deal with than on some sites.

Spam is an issue that's always annoyed me and peaked my curiosity as far as trying to stop it, so I volunteered to join the Anti-Spam/Site Security team over there. We've been quite successful thus far in eliminating most of the site's spam and are working hard on improving account security, overall user experience, all while trying to reduce spam levels even further. Some of our systems are so good at figuring out a spammer that it can predict a spammer before I can even judge an account personally.

This year has been going phenomenally for us and we are rapidly growing and looking for talented people who are interested in working at an awesome startup and facing new, interesting challenges and problems. If you are interested, check out to see what positions we have open!

Free Software
Unfortunately I haven't had much time to work on FOSS projects. I've worked on a bunch of little personal projects that could potentially be useful to others but as is are probably of limited use for the moment.

I've been really getting into the whole Android scene. I started off with an Android Dev Phone 1 (G1) and have since bought a G2 and Asus EEE Pad Transformer (TF101). These devices are awesome once rooted/fully unlocked. I've been trying really hard to come up with an idea for a neat app to write but so far the well of my imagination has been dry of ideas. It will be interesting once Android 3.5 drops as right now there appears to be a huge split between Android 2.3.4 and Android 3.1. It will be interesting to see how Google will marry the differences between these systems and how open source projects like CyanogenMod will adopt the new Android OS and what new features/changes will come along.

It's funny -- several years ago if you were in some meeting you might find a lot of people with laptops. Now I find for many the smart phone has replaced the need to have a laptop at meetings -- in some ways it even seems like less of a distraction with its smaller form-factor. I never imagined how these smart phones would change the world. I can't imagine life without my trusty Android phone these days.

The last few years I've really gotten into working on my car. It started off with doing basic maintenance and tune-up and quickly progressed into looking for ways to boost performance both engine and handling-wise. Soon I found myself going to autocrosses with my car and seeking lessons with experienced race car drivers.

I also got into the moped craze for a while, owned eight mopeds at some point and modded a lot of them to go pretty fast before realizing those things are death machines with their weak frames, shoddy suspensions, and underspec'd brakes. So, I got a motorcycle that was quite a bit of a fixer-upper but is a pretty good ride now.

So I'm now officially a hobbyist gear-head. I'm always thinking of ways to marry my passion for computers and open source software with my gear-head hobby. On my track Integra I run a full piggy-back Engine Control Unit that is completely configurable/tunable via USB and has great real-time data display but unfortunately the software is proprietary and requires an installation of Windows to use =\ Short of converting my car over to MegaSquirt (which I don't really want to get into with this car due to it needing to pass smog), I'm stuck with the Hondata s300, which I admit is a wonderful piece of hardware and some great software to match. I just wish they made the software free (as in speech.)

27 Jun 2009 (updated 27 Jun 2009 at 22:52 UTC) »

Wow, it's been over 5 years since my last blog entry..


I'm done with school now and have a B.S. in Computer Science (BSCS). It's refreshing to not have to go to school and take exams anymore!


Life has been quite hectic lately.. Last year, I had several surgeries and broke my wrist which required several orthopedic surgeries. I ended up being on disability leave from work for a while =\

The tail end of last year was great as Diana, my love, and I got married on October 9th, 2008.

Right now I'm looking for a software engineering gig, so if you're an employer and need a Linux specialist who is a C/C++ software engineer, maybe you should email me and I'll get you my resume =)


Throughout my time at UCSC, I worked at Packet Design during the summers and part-time all school year. I had a good 4 years there working on their software in C++ as well as writing serial console and web GUIs in Perl for their appliances until a Google recruiter eyed me open for an SRE (Site Reliability Engineering) position which I foolishly took when it was finally offered after the interview process. The job had little to do with software engineering, was more of a bunch of administrative number crunching/planning and IT/SysOps work. After nearly two years I said enough is enough and am now seeking a better career path.


Haven't had any time throughout college to really hack on any free software projects. We abandoned thinksynth sometime in 2004 or so. I got to write a lot of cool code in some of my college classes but nothing too exciting/new in the free software world.

17 Feb 2004 (updated 17 Feb 2004 at 00:19 UTC) »
Santa Cruz has been really great so far. I took an accelerated introductory computer science course last quarter to test the proverbial waters and get into the frame of mind of university CS classes. This quarter I am taking "Introduction to Computer Organization" which covers computer architectures and involves MIPS and HC11 assembly programming. The class is not too difficult, but the labs take many hours to complete.

thinksynth is going really well. We have it using ALSA MIDI now and one can actually hook up MIDI devices such as keyboards, as well as software MIDI sequenceres, to it and get it to play notes. The synthesizer portion has been split into a library and current efforts are concentrated on fixing current bugs and optimization.

Someone finally offered to take over GtkHx, so I handed off admin access on the Sourceforge site.

So I graduated high school almost two months ago and turned 18 less than a month ago. I've been really busy lately working for this startup as a summer job. This fall I will begin my education at UC Santa Cruz.

I haven't really been working much on thinksynth lately, with all the coding I have to do at work. We have the synthesizer parsing its language and making cool sounds, but the current plan is to make it into a library so that frontends will be convenient to write.

I've been playing a lot of NetHack lately; it's such an addictive game.

Boy I haven't written in ages.

Computer Science
I finished the AI course at my school. Scheme was our primary language of programming and we had an Othello tournament in which our Othello AIs competed in. I'm currently taking a class in Computational Geometry and it is quite interesting. I've decided to take a break from Scheme and code in C++. I've written a lot of stuff in Scheme lately.. Functional programming is quite interesting.

A lot of work done on the software synthesizer my friend and I are writing. We had it working and producing some music (no graphical frontend though) at one point, but we decided to rewrite the engine completely in C++ so that it would be a lot easier to design and maintain in the future. The current engine in C++, although much cleaner, isn't working yet. I've also completely halted development on GtkHx as Hotline is a dead-end and I no longer wish to spend my time working on this dead-end project. Although I've received an offer for it to be taken over, no one has stepped up to the plate yet.

Well I haven't updated this diary in ages.

Life has been really great lately; I'm no longer depressed, I've got a lot more friends, and I'm happy. School is still stressful as usual, but I'm managing. I'm hoping to have an internship this summer, but so far I haven't had any job opportunities. I should start actively looking for a job. I still have a job at Euclid Computers, but they don't really have me do much, so as a result I'm not really getting paid. They're going to have me set up a new server soon, though, so that will be cool.

Computer Science
I took compiler design last semester at school. We were writing a Pascal compiler in C, but I never finished, since it was merely a one semester course. I already had it generating parse trees using my own parser/tokenizer, and it was just a matter of code generation .. Right now I'm taking programming language design, which is a pretty interesting course. We've studied all sorts of languages, language principles, and different programming paradigms. I'm currently learning functional programming with Scheme.

I made a really cool new friend at Linux10 and he and I basically meet every weekend now. We were working on a language for this synth we were writing using my compiler/language design knowledge, but then we stopped and were working on a "War on Afghanistan" game which is still unfinished. (I'll post screenshots later.) Last weekend, we resumed work on the synth, but with greater ambitions. The synth is going to be part of a music sequencer we're writing . We're probably going to have it use SDL and GTK+. GtkHx is still going, but with less committment. I have threaded news completely done and I'm mainly working on some minor feature requests/bug stomping right now.

Well, I haven't written in a long time..My last entry talks about AP Computer Science (APCS) final project. Well asusual we didn't quite finish it. We worked on it seriously the day before it wasdue and decided that we were out of time and dropped the SDL frontend. We had it working where 8 people could connect and move snakes around and decided to stop there. It was late and we were sleep deprived so we decided not to implement game functionality. I also had the AP test for Comp Sci, it was quite easy..I just got the results back recently and I got a 5 (the highest grade) =)

So school is out now..Having quite a boring summer as usual. I have a job working at Euclid Computers, I'm writing Perl stuff for them like graphing orders/clicks and fun stuff like that ... My grandfather passed away yesterday.. I didn't know him too well; he came to the US when I was 5 and lived with us for a short while until he started living alone and his health was continously degrading. Last I saw him, he was a complete vegetable ..

Well, I finally got through the Debian NM process and I'm a Debian developer now. Yay..

I visited Europe a few weeks ago. We took a plane to Paris and immediately rented a car and took off to Waterloo, Belgium. We stayed there a night and visited nearby Brussels. We then went to Brugge, Belgium and stayed there a couple of nights. Afterwards, we stayed in Delft, Netherlands for a night and then we stayed in Amsterdam for three nights. Then we travelled to Koln, Germany and stayed a night there. After that, we went to Frankfurt and stayed there two nights. We then went to Munich and rested a night there. Then we stopped in Bazel, Switzerland for a night. Afterwards, we drove to an airport (forgot which) by Paris and stayed in a hotel there for a night and then we flew back to San Jose, CA. It was a pretty cool vacation..

GtkHx is now up to version 0.8.13 and a kind person has redesigned the GtkHx website. I haven't worked on it recently but I've got some cool ideas for it. Just need to overcome my unwillingness to work..

My workstation recently started randomly locking up in X. I thought that my GeForce II MX finally decided to start dying on me so I bought a Radeon VE to replace it but it didn't fix the problem. When I was upgrading packages, my machine just restarted and it would restart everytime I ran apt-get dist-upgrade, each time damaging files. Someone on #debian-devel pointed out that the files might be damaged because I was using ReiserFS with kernel 2.4.4. Sure enough, that was the problem. I upgraded my kernel by sticking the drive into the server and building it there and then installing it on my machine. But X still locked up randomly with either card. I thought that perhaps my RAM was bad again (I've had experience where my RAM decided to stop functioning.) I bought replacement RAM, but it didn't solve the problem. So then, I thought it must either be my motherboard or CPU. Now my workstation has a Slot A AMD Athlon. Fry's no longer carries any Slot A boards/CPUs, so I had to get myself a completely new motherboard and CPU (1GHz AMD Thunderbird =) ) and now everything works well.

I also recently upgraded my server's 400MHz PII to a 550MHz PIII. The motherboard in the server was built before PIIIs even existed, but it seems to work fine.

Some more work done on our AP Comp Sci final project. aaronl and I have split up the jobs so that he does server game logic (the game is handled on the server-side, of course), AI client, and portability issues, while I will do socket and I/O multiplexing stuff, curses client, and SDL client. I've started exploring SDL today and I find it extremely cool especially since it supports MacOS, Win32, and BeOS in addition to Linux. We have a basic server that handles all connections and a working event loop for it and curses/SDL clients with working event loops but we haven't really started on actual gameplay but this is pretty good progress.

I haven't posted anything here for quite a while. GtkHx development is progressing very well and I'll probably release GtkHx 0.8.10 sometime soon...aaronl and I are still working on the WordTris game and have made great progress but it is not quite ready for release yet...Currently we're working on a multiplayer networked snake game for AP Computer Science final project. I just took the exam for AP Computer Science recently and found it extremely easy; I just hope my score will be good...Life's been really turbulent and messy lately, but I don't have much to say about it here. At the moment, my server is down because Pacific Bell sucks, although they haven't given me trouble for like a year now.

Haven't posted a diary entry in a while...I'm working on a WordTris game with aaronl right now. I finally made a release of Tiger and I am discussing future cooperation with the author of TiLP (formerly GtkTiLink) and GtkTiEmu. I've also done some work on GtkHx and adding support for some stuff that Hotline 1.5+ servers support, such as threaded news. I added IPv6 support to hx/hxd, but I still need to make the tracker work with it as it stores server address in 4 bytes -- for IPv6 it will have to be 16 bytes. I still have to add IPv6 support to GtkHx <-- it isbeing a bit weird...Currently, I am reorganizing the code. Life is pretty good now.

99 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!