by AbstraktMethodz 20. June 2010 14:59

Charlr (pronounced char-lar) is a new chat website I've programmed in the past 2 weeks. It's a simple idea: an Omegle like interface except it doesn't connect you to a /random/ person. Instead, you are connected to the person closest to you geographically. I get a better response when explaining this idea than for most of my machinations (which usually go: 'why would I want that?').

By tonight I expect to have some test bots from fake locations running on the server all the time.. so even if the site is empty you can check it out, see if it works, & post some feedback please!

So it's made with a Silverlight frontend, and .Net socket server backend, Json messages in between. I had read that Silverlight's WCF TCP client is limited (you have to poll for messages!), so that was out. But socket programming is refreshing after so much SOAP. Another interesting thing I came across in making this was the formula for distance between two points on the globe (inputs being latitude and longitude) is called the haversine formula.

by AbstraktMethodz 12. November 2009 11:57
I am considering building a custom DI container, as it occurred to me our own custom providers or even the out-of-the box providers do most of the work. I had been describing the 'provider' to other coders as a powerful factory for a long time. Looking into Ninject, I found they describe how their DI bindings are resolved by a provider:

snip

Okay, so remember when we said type bindings were from a service type to an implementation type? Well, we lied. You caught us. Type binding is really a little bit more complicated than we let on. Rather than being from one type to another, bindings are actually from a service type to a provider. Simply put, a provider is an object that can create instances of another type. It's like a factory, but specifically designed to work with Ninject.

/snip

Ninject is referring to their own concept of provider, but replace that with an ASP.NET provider or any one that pulls in XML config and you have the beginnings of a tiny DI framework.

Tags:

by AbstraktMethodz 12. December 2008 16:40

iTunes is great program except that it's a pig, so that got me started on a program to search and play your library more quickly. The other problem with iTunes for someone like me, who doesn't like carrying around an iPod, is getting at that music simply when your away from home. So this music player, called Barracuda, acts as a server for your library. Fire up another instance of Barracuda on the road and you're ready to access your home library no problem. It talks over web protocols so you should have not problem with work firewalls- if your boss will tolerate that kind of thing.

Download Barracuda Shareware 0.5.3

Tags: , ,

by AbstraktMethodz 15. July 2008 17:15
A repository of well known FOSS is located at dotnetit.org. This includes Apache Xerces (an XML parser including DOM and SAX implementations), Apache Xalan (an XSLT and XPATH parser and processor), regexp libraries, cryptography libraries, etc.

An open source alternative .NET IDE is #develop. This project is coming along fast, and includes a library NRefactory that parses C# and VB.NET and IMO has a superior abstract syntax tree model than the CodeDom.

If broken it is, fix it you should is a great MSDN blog heavy in content that walks through debugging techniques for memory leaks, crashes and the like, using windbg and perfmon. Great place to learn how to poke around your heap from the command line.

The standard corlib doesn't provide a good library to creating zip files (while it does do zip compression). If you'd like to do this but don't want to use a third party check out Jon Galoway's blog. In short, use the J# library and java.util.zip.
by AbstraktMethodz 8. June 2008 17:15
Myca designed her site from the ground up, so this one involved just some technical legwork to pull together the components. I'm pleased on how it came out so take a gander @ mycathompson.com. Otherwise its been a whole year since my last post, but stay tuned 'cause I have a new pet project and its gonna be fun.

Tags: