Archive

Monday, June 23, 2008

Professional Programmer vs. Actual Programmer

Professional Programmer: Convinced they know everything.
Actual Programmer: Admits the know nothing.

Programming is an ever evolving art, and the second you think you have painted a post-modern masterpiece, they name of the game has changed to pixel-art and beyond.

Jeff Atwood beat me to the punch this morning on posting exactly what I was writing in my legal pad, so instead of reinventing the wheel, I will just push you over into his direction.

I am a mix of both. I do it professionally, so I tend to only learn what is needed, but I also like getting dirty sometimes and throwing some junk in there.

Monday, June 16, 2008

iServe Update

I have decided to do a little more before releasing iServe, and that is creating a Helper library with a WebModule class and a WebResponse structure.

The WebModule is inheritable (doesn't have to be, but just makes since for it to be) class that contains all the code you need to get your file, form and query string variables.

These two parts will help lower the necessary code needed to create custom modules, and aid in keeping the modules at a lower size.

Friday, June 13, 2008

CTL: The Technology Behind The Organization

Crossing the Line has been around now for nearly a year, we have 4 volunteers, and a plethora of techno-whatsits.

Instant Messenger - CTL uses a custom built AIM messenger that automatically logs all information to a central server for easier fetching.

Full Text Indexing - For our volunteers to more easily search through and pickup where another volunteer left off on a predator.

Meeting Setup - Right on the IM application is a confirm meeting button that allows you to flag the time and place the meeting is supposed to go down. This is then emailed to contacts that we have in local law enforcement agencies.

Future Development:
I plan on completing the service by creating a full suite of usable tools that use services to talk to the database. This will aid in less clerical errors. I would also like to get this all running on a terminal for ease of productivity. But all of this is for the future.

Again if you are interested you can contact me with your information.

iServe

I have been working on a soon-to-be open source project lately called iServe (no association to iPod or iPhone or iPhuck).

What is iServe?
iServe is an open source minimal, extensible web server written in C#.

Why?
I made iServe for just a 1 hour project while eating dinner the other day. My main goal was to make it openly and easily extensible, fast and small. The actual server is done now, and is 6.50k and only 70 lines of code.

How?
iServe has no code to actually handle any of the work load, that is up to the indevidual modules. This is great if you don't need it for much (static websites), your module can be as small as only 4 lines (staticfile.dll) or as long as you want. Included with the source is a post method example, and a file upload example.

Futures:
I plan on adding the following modules just so that it is ready to launch when you download the binaries: logging, authentication, content management system and a CGI example (since iServe doesn't support CGI, you need to create a wrapper for each CGI application).

I'm not sure where I want to host the repos for it, I am torn between github, codeplex, googlecode and sourceforge.net. It will probably be github as I have a friend who is using it for his project, and raves about it constantly. Either way, more to come shortly.

Developments in the world of server technology

Working with IIS 7.0 can be really frustrating if you are moving up code from IIS 6.0 servers. The chief complaint I have is Integrated Pipes mode vs. the default Classic Pipes mode.

IIS 7 is GREAT! - BUT, even with all my experience on IIS 5 and 6, the radical new view of IIS 7 makes even navigating to turn on a wild card isapi filter a chore. Both times that I have done it, I have had to re-"Google" it.

Where the IIS team failed developers.
Do a search on Google for URL Rewriting in IIS 7 (hell, I'll link you), and you will see hacks. So far the best way to rewrite I have found and keep Integrated Pipes is to develop your own module and link it all in the Application_BeginRequest() event (as of writing this, urlrewriter.net and urlrewriting.net both fail under integrated pipes).