Software

Downloading All of Hacker News Posts and Comments

Introduction There are two files that contains all stories and comments posted at Hacker News from its start in 2006 to May 29, 2014 (exact dates are below). This was downloaded using simple program available I wrote Hacker News Downloader by making REST API calls to HN’s official APIs. The program used API parameters to paginate through created date of items to retrieve all posts and comments. The file contains entire sequence of JSON responses exactly as returned by API call in JSON array.

A quicker way to Twitter

Past weekend, I finally thought about giving Twitter a try and started looking for a client app that just allows me to very quickly update the status with a global keyboard shot cut. I’m not in to following anyone or replying anyone but wanted this very simple app with one text box. Apparently no such apps existed in Twitter Fan Wiki which actually turned out to be a good thing because I immediately started looking at Twitter’s API and any C# wrappers.

Two Small Utilities

These two small utilities I’d wrote about an year ago and since then they were sitting on my network share. Meanwhile lot of people in my team used it and found them useful. There is still a large list of features that I’d like to add but even without it, these are pretty usable at this point. So enjoy! SQL INSERT Script Genertor Disk Defuzzer

Introducing DSS

There are tons and tons of things to blog but here is a quick one. Last Thanksgiving (a 4 days of holidays in USA) I wanted to work on something really cool that is absolutely worth doing and something I can spend my entire 4 days continuosly. I looked over my list of pending projects to find something extraordinarily cool, kept thinking about new ideas flowing around, looked over to other idea websites and realized that my mind was just keept going blank all the while.

Groove Hacks

About a year and half ago, the new version of Groove had came out and it still didn’t had an ability export IMs. It drove me nuts so I started to write my own Groove tool that would do it in excuse to explore its infamous internals. Ah! What a ride that was! Groove APIs have extremely huge surface area (which means there are thousands and thousands of them sprinkled all over in hard to find places).

My New CodeProject Article On Equation Rendering

I just finished my new article on CodeProject. The mission on MimeTeX was started about couple of months ago when in a weekend I just got attracted to MimeTeX’s C code like a magnet ;). Now I’ve built ASP.Net handler, caching, admin etc on the top of it and its looking great! Enabling scientific content on web seems to be my new obsession. So if you take pride in delighting your users with every new release, here’s your brand new feature!

Some Cool .Net Nuggets

If type’s constructor (i.e. static constructor) throws an exception, entire type becomes unusable. Any attempt to call any member of that type would result in TypeInitializationException. Operator overloading should never be the only way to use the functionality if your code targets 1.x versions of frameworks because VB.Net can’t access it without resorting to ugly calls such as op_Addition . There is universal symbol for money (a generic version of $, £, ¥ etc) and it’s ¤ (U+00A4).

Integrating RSS And Calendar Essay Available Now

The idea of wrapping calendar information in to the RSS feed may sound very appealing. Almost every website owned by some kind of group or organization has their event calendar. The thought that you can aggregate them in to your “Calendar Aggregator” is just so geekily cool. What if people started putting up their weekend plans through some kind of RSS-Calendar and you can subscribe to them in your calendar program!

Updates - Spring 2005

I would be writing all New York City related stuff at Metblogs rather then my own blog. This makes sense because lot of people who aren’t in this region doesn’t need to get those NYC stories. On the other hand, my NYC related writing will now reach to much larger audience. Check out some of my entries there about cool New York events, restaurants and such stuff. On the other site news, you might have noticed new skin and more FireFox friendly design.

On Truly Managed Operating Systems

Anyone who have worked with .Net or Java would have certainly thought about this: Is there a way to extend these runtimes/VMs to build truly managed operating system? As it turns out Longhorn would be “mostly” managed OS but this is not the kind of “managed” OS stuff we are talking about. We are talking about truly managed OS, in theory and in imagination, that is. If you look at .

Algorithm Puzzle - Sync'ing Big Lists And Nodes

Here’s a mathematical algorithmic puzzle for all you bright challange-seeking minds: I’ve my own big business contact list and so does my friends. One day we decide to call up with each other on phone (only 2 people on one line), talk to each other and have our lists sync’ed up with each other. That is to say, we add any contacts we didn’t had already, update any outdated ones and delete anyone who has gone out of business.

Applications And Platforms, An Another Face Of Internet And Why I Hate Groove

Groove is perhaps one of the finest example of technology in recent times which has tons of potential and no vision. If you ask Groove what their product is, they will probably reply with something like this: “it’s a program that allows people to work together on files, projects, meetings and so on.“. And that underlines their severe lack of vision and plain immaturity which otherwise could have changed the face of the Internet.

Jeff Hawkins - On Intelligence

If all research papers were published the way Jeff Hawkins published his On Intelligence, the world would be a different place to live. I strongly feel that this is the most important work in the field which is otherwise so bloated with wasted directionless efforts. This book is nothing like any research paper you might have read so far. It’s written in very personal way. Instead of just spitting out end product, thoughts and algorithms, author also tells you what other directions he was thinking about and what made him to go for this one.

Using Windows Explorer Progress Dialog In Your Application

When you copy lot of files in Explorer, you see the standard Windows progress dialog with “flying papers” animation and the calculation of estimated time remaining. This dialog is accessible to any Windows application through IProgressDialog interface. This source code provides you a managed .Net wrapper to easily and intuitively integrate Windows Progress Dialog in your own applications. You can read more details in my original article on CodeProject. Also see the comments in that article.

Algorithms: Extract List Patterns, Word Clusters

This program demos two very interesting algorithms that I’d started designing during Fall 2004 and then got busy in other stuff. First algorithm is simple which I call List Extractor and it finds the list like structures in any given text and extracts the data out of them. This enables automatic data extraction without prior knowledge of layout or formatting in web pages. If you look at lot of web pages, you will find that they just present some data in some repetative HTML formatting which I call a “list”.

Health Diary

This is an ASP.Net based sample website created for Highland Tech Highschool, AK. I like to show it as more of a demo for my SyFastPage framework. Nothing fancy here except that it was literally created overnight and it justifies “fast” in the name SyFastPage. I’d initially decided to give a try to CodeCharge studio and automatically generate pages in about 5 hours that I’d i my hand but results weren’t professional and customizable as we wanted.

Virtual By Default

Omar blogs about an age-old debate on whether class members should be virtual-by-default or final-by-default. Here’s my take: After my years of messing around with .Net class libraries, I would prefer virtual-by-default any day. Basically, when people designs their classes they really don’t want to spend much time on analyzing how someone else would be overriding a particular method - unless they are really sure that lot of people really wants to do that.

VB.Net Resource Kit Saves The Day

Did you knew that Visual Basic.Net Resource Kit has an utility to convert C# code to VB.Net? Of course there are several online language converters but this one works great. And that’s besides having cool Dundas Chart control and tons of other components from Component One absolutely free (though their charting component is pretty miserable and requires free registration for licensing). Charting is seriously missing component in 2.0’s toolbox.and I’m just wondering why doesn’t MS thinks of bundling these components with VS.

Is Jeff Richter Screwing Up The .Net Versioning?

I don’t know how no one is bothered by this. May be because it affects Longhorn. But anyway, everybody would agree that while .Net solved the DLL Hell issue, it created its own which I affectionally call Assembly Hell and had my rants loud from the start. I’d high hopes when I heard Jeff Richter is on the team. But be hold, they come up with the statement that the problem is “mathematically” unsolvable and some fuzzy argument to back up that statement and then they reveal possibly the worst versioning scheme I’ve heard in a decade for anything: divide the assemblies in “platform” and “library” groups!

My WinForms Library

This is collection of several reusable components to use in your WinForms application. I’d been building it up and reusing in my own personal applications such as BrowserHistoryAnalyser and NotepadX and others. It contains editable drag-n-drop enabled TreeView, RichText editor control with toolbar, Worksheet editor control, Password Input Form, MRU, custom attributes you can use for your assemblies, more easily usable hidden property editor control, advanced About Dialog, Application Options management and Assembly Info Viewer Control.