I don’t get to write much code anymore. When I do I get an amazing amount of joy out of it. Tonight I realized that my MCE Controller, which I hacked up to enable me to control my Windows Media Center machine via Ethernet from my Crestron system has simply “just worked” since I released version 1.0.1 in February.
I’m struck with how easy it was to write using C# and the .NET Frameworks in Visual Studio. I’d never really done much direct network programming (I certainly did quite a bit of distributed object programming while working on COM) so it took me a bit to understand the classes for TCP/IP, but in a very short period of time (even counting my insistence on doing things the hard way) I was able to build a very stable network app with a nice UI and extensibility.
The thing that blows me away the most is that this thing is multi-threaded. Seriously, I’m not a professional programmer. The last time I implemented something with threads was in 1995 when I wrote OLEView. And even then I didn’t really know what I was doing.
To those of you who program for a living, or simply have more time do hack than I do: I envy you.
Its a really cool app and I’m really amazed that you’ve been able to do that in C#. One of the things I’ve been wondering is how you’ve been able to send WM_INPUT commands in C# (used for things like the subtitle key)? I’ve always thought that you had to resort to C++ for that sort of thing.
Look up PInvoke.
Definitely know what you mean – I’ve been away from coding for about 6 months, and came back to release my Newsgator subscription and make an aggregation server using the new SQL 2005 CLR capabilities.
Productivity is amazing in the new VS Shell, and the server tool capabilities are simply amazing!