Saturday, September 30, 2006

Are You A Software Jedi?

Can you slap together prototypes wicked fast?
Do you have some killer app ideas?
Do you code everyday and just can't get enough?
Do you like to inspire others through your abilities?
Can you write an app a day?

Let me know!
E-mail "iamajedi" at <mydomain> dot com.

And on that note, here's some SP&M!

<SpamMail>
Dear Central Willamette Community Credit Union member,

We recently noticed one or more attempts to log in to your Central Willamette Community Credit Union account from a foreign IP address. Please visit Central Willamette Community Credit Union as soon as possible to verify your identity:

https://www.centralwcu.org/home/?pageLabel=home
</SpamMail>

Hard to imagine that the actual link in the page led to, GASP, a different site! This one made it through GMail spam filters too... Ugh.

I didn't get that nap I was looking for... Blogger was giving me issues for hours so I couldn't get this published. Oh, and on a final note, surely check out my latest and greatest app, QuickKill.

Traveling Coder

So I'm on the road, 4 1/2 hours from home writing this next application in the hotel room. I spent the afternoon with the guys from Hak5. They had me on as a guest for the Oct 5th show. I'm sure I have bags under my eyes and talk like a zombie given the amount of sleep I've had in the past week. Check it out on the 5th!

I'm going to mix it up a bit and start coding now. I'm hoping to be done by 7 so that I can grab a quick nap before finding something to get into tonight. Who am I kidding, I know I'll sleep right through...

Check out yesterday's application for a enhanced version of windows automated task scheduled (AT).

Thursday, September 28, 2006

Break Time

I spent a couple hours this afternoon writing the application. People from the other side of the earth got to watch on my WebEx as I wrote it.

I get to take a break now! No app tonight (EDT), next app will be tomorrow night. Time is posted up above. Tons more to do today, so cya!

Check out my latest creation for some old school Atari action!

Creative Idea Shortage

Come, please, and join the chat if you have a really good creative idea. No offense to the regular chatters, but it's growing stale.

I'm going to mix up the time I do my coding tomorrow as I took the day off to get some errands done. I'll be on at 15:00 GMT!

Tonight I wrote a simple application that can keep an eye on servers that you are in charge of watching. It's most likely only useful for web and sys admins. It has a handful of supported connection types, and can be downloaded from the download blog.

Enjoy!

Wednesday, September 27, 2006

Mashups, and WebEx

How could I get away with doing this without making a mashup?!?! Well... This one will go down as the silliest mashup ever, and probably disappoint the Software Jedi's loyal fans. However, for the MS bashing crowd, I must point out that the only Microsoft technology used to develop this app was notepad. It's also the first cross platform "application" The Software Jedi has created for this project. Enjoy.

Check out my Polar Bear Tracker in the download blog!
Oh, then donate using the link on the right.

Next up, Screenbroadcasting. Well, the screen broadcasting application as many of you know just couldn't hold up to the large number of people bottlenecking at my cable modem. We've tried different ideas over the last 10 days, but now The Software Jedi has one that works great. He has a WebEx trial version and can start screen sharing with up to 9 other people. I'm working on that 9 person limit as it isn't nearly enough, but come into the chat and try to find a spot.

I get a lot of emails asking where the chat link is. It appears AT THE TIME OF CODING which is listed in the title of the blog in GMT.

May the source be with you.

Tuesday, September 26, 2006

Social Experiments

Social Experiments are great, and todays app is one of those. I invite the world to come scribble on my desktop! Check it out in the download blog, or click here.

Sunday, September 24, 2006

Graphical Apps

I'm not usually one to write so many apps that do graphical tricks, but it seems to be a trend lately with my coding. I think it's because of the wonderful documentation of the WinAPI on www.pinvoke.net. Does anyone know if there is a high quality complete .NET wrapper for the WinAPI? I thought I've stumbled accross some projects out there. Let me know...

So tonight I piss off the linux users by writing another app using the WinAPI, plus I piss off the Mac users by writing an app that mimics something they have built into OS X. Sorry guys, please forgive me.

Check out Jedi Concentrate on the download blog!

What happened to chatting

IRC used to be HUGE 6-10 years ago. What ever happened to this interactive use of the internet? Little java chats and flash chats pop up here and there, but they aren't the same. I've found chatting while coding to be extremely productive for my little project. I can get live feedback from other developers who are watching my screen. A couple of nights ago, someone even corrected my code for me.

So here's what I've done. Instead of using another monitor (although you still could), I built an add-in for Visual Studio 2005 which allows you to dock or float an IRC chat window within your IDE. Hot stuff! I won't be turning to the side and using mIRC anymore hopefully! More time with my eyes in the IDE means less time writing these pesky apps everynight.

Check this new app out in The download blog!

Saturday, September 23, 2006

YAWN!

I was convinced to do a nice command line popup app, and the guys in the chat room kept me up ALL NIGHT with enhancement requests. Check it out in the download blog (on right)!

Friday, September 22, 2006

Wallpaper solution discovered

I hate wallpaper. I haven't used it in years. It grows too stale and I get sick of looking at it. I prefer solid colors.

Well not anymore! Now I can set KEYWORDS to my desktop wallpaper. With the app I wrote last night I can give a couple keywords (Snowboard, Disney, Baseball, Baltimore Ravens) and always have a fresh desktop image.

Thanks Google!

Digg!


Check it out in the download blog!

Thursday, September 21, 2006

I just reclaimed 10 minutes of my day!

Thanks to the app I just wrote, I can connect directly to servers at the office using a menu tree that I setup. I can group similar servers together and just click them in the menu. Instant connection. It even logs in for me. If the auto-login feature is of no use to you, have no fear, just leave the password blank and it will prompt you as it would normally.

Sure, I know what someone is thinking, "He could just create RDP files and shortcuts." Whoever is thinking that has no clue how many servers I'm talking about.

I hope everyone enjoys this addition to the collection as much as I do. The Software Jedi especially hopes that you use the "donate" button to the right to show your enjoyment. (Waves arm) Donate now.

This took the Software Jedi 4.5 hours to write. How long until the ROI is reached for my use alone? ~ One and a half months assuming it saves me 10 minutes a day. However, if 30 other people from my office would use this (people similarly tasked with logging into a bazillion servers per day), it would see it's ROI at the end of the day tomorrow. Surely RAD has a place in the enterprise.

If there were too many acronyms in that last paragraph for you, I apologize. You're reading the wrong blog.

Use the link on the right to download the application and source, or click here if you are uber lazy.

Tuesday, September 19, 2006

RSS and Information Delivery

I have two types of feeds I'd like to subscribe to. I'll call them hot feeds and cold feeds.

Cold feeds are like Dad's Picasa Web additions and my sisters blog. They are things that I want to read even 3 days after they were published. I'd like them to behave like an e-mail inbox. Stay there until I read you.

Hot feeds on the other hand are like stock prices. I want them now while they are hot, but never again. Feeds of this style are Digg, CNet, slashdot, boing, etc... Things that I care about when they are new, but don't want to be bothered by ALL of them. Sometimes I'm in the mood to read a news story at work, sometimes I'm not. I don't want to have to sort through them like an inbox. I want them flashed up for my preview, then discarded or detailed.

I've accomodated the hot feed functionality I describe by writing todays app. It bubbles up new stories in the systray whenever one comes in. Click the bubble and get the detailed article from the website. Go to the download section now!

Monday, September 18, 2006

Sick Day

At my house, we're all sick. The season change is killing us.

My son spent time in the ER for an infected gland, and I ended up with a stomach bug today. A real bad stomach bug... I'll leave out any details.

But this Jedi is unaffected by illnesses when software needs written. Check out my latest in the download section.

Sunday, September 17, 2006

Moooooooo

Ahhh, the sounds of mooing. Reminds me of Lancaster, PA and Hershey Park. If you've never been before, go there now.

The app tonight was an app that makes a moo sound. Don't whine to me, you all requested it. When I listed ideas in the chat room tonight before coding, it made the top of the list by a landslide. It is a prank in that on a domain that you are an admin of pcs, you can send it out. Heh, enjoy that one.

I'm suprised no one has commented on my sloppy code. I'll just throw it out now that I'm coding for fun; Not for work. At work I rename all controls nicely and document my code well. For this project I plan on doing none of that. I'm cranking out these apps very quickly and enjoy textBox1 and Form1.

<spammail>
I won the lottery! It's true! I got an email from the STAATSLETERIG EMAIL LOTTERY INTERNATIONAL. I've been picked out of a list of 25 million emails. All they request is my bank account numbers. How nice of them.
</spammail>

Enjoy the moos, and may the source be with you.

Today

I had hoped to do coding earlier, but now I'll just gear up for a 7:30pm start time. I'll turn on the live chat now, as I'm going to make some quick enhancements to the screen broadcaster. I'm going to try to get some compression in there to help the bandwidth problem... Last night it was choking my home internet.

Yawn

The coding went smoothly tonight. I had a good handful of people, chatting online, watching the webcam, and watching my screen via the broadcasting tool I created last night.

This proves two things:

  • My app works
  • I'm writing this from scratch


I'm not sure when I'll be on to code tomorrow, nor am I sure what I'll code. Jedi is tired. Must sleep. His powers are growing weak.

Saturday, September 16, 2006

Day 1

It was a long night, but I think all the kinks are worked out. Tonight, at 8pm, I'll do it all over again. The webcam is working, the screen broadcast is ready to go, and the live chat was a good success.

Download the new app using the link on the right!

Thursday, September 14, 2006

1 Day To Go

First off, I have to cite some of the funny app requests I've gotten:
- An app to count polarbears in Norway and geotag them in google earth.
- Write a VMware type application but with a smaller footprint and some built in applications.

OMG, expectation management... More on that later... I don't mean to ridicule anyone, but I thought I'd share anyhow.

<rant>
Writing proof of concepts these days is so easy for the me. Why is it that companies pay for big names like Accenture, IBM, Avanade, etc, instead of hiring top notch developers? Doesn't RAD have a place in the enterprise? Or are there really so few top notch Software Jedis?

All it takes is one developer with passion and coding skills to put out a proof of concept, then 2 crappy contractors to tweak it. Why do businesses fall into this massive application lifecycle stuff?

Lifecycle, analysis, design, use case, bubbles, sticks, etc... Is it really any good? I write code. I write a lot of code. Why should the Software Jedi analyze and design what he knows will be rewritten - he doesn't know exactly what is needed, and neither does anyone else. It's iterative (shudder, consultant words). Sometimes he pegs it, sometimes he doesn't. But when he doesn't the Software Jedi prefers having only a week invested rather then 6 months.

On one hand I hope my Director and CIO are reading this - but on the other hand, I hope they aren't...
</rant>

So tomorrow, I start coding apps. 8pm Eastern. A live chat link will be on the right. Maybe a webcam link too. Maybe both at the same time on a page. I don't know. I should probably figure it out now but whatever... Uber geeks, join me.

Let's set some expectations. I work with a guy who loves to talk about "expectation management". It's true, you do need to manage people's expectations, so let me manage yours right now. I'm writing LITTLE apps. Not big apps. The Software Jedi expects massive critism for whatever he creates. Hopefully, whatever he creates is useful for someone. I rest assured knowing that whatever he creates WILL be useful for me.

If you don't like what I create, check again tomorrow. If you like nothing I create, stop visiting. If you like EVERYTHING that I create, click the donate button on the right and give me some cash. Give cash to the Software Jedi (waves arm), give cash, (waves arm) give cash to the Software Jedi.

<spammail>
One more thing, I also got a note from "SUSAN AND JOHNSON MUZAZA" asking me for YOUR MOST NEEDED AND HONEST ASSISTANCE getting 18.5 million dollars out of Zimbabwe. They even promised me 25%. I don't have time for it, but contact susannzz1985@yahoo.com if you're interested. Hopefully me putting their email here will do as much good for them as it has for me. LOL.
</spammail>

Wednesday, September 13, 2006

2 Days To Go

Why am I spending 120 hrs+ this month writing code to give away? That's what keeps going through my head. I know what's going to happen. I'll create a bad ass prototype of something and feel the desire to keep it for myself.

Well first off, I write tons of prototypes at home, and never end up doing anything with them. So I might as well toss them out there for the good of the world.

Secondly, I've spent the last 21 years of my life as a developer. Yes, I'm only 28 but I started writing code when I was 7. Nothing spectacular - at that time it was mostly hacks of existing programs.

How did I get started? GW-BASIC. GW-BASIC was not compiled (typically from what I remember, or maybe I just got demos. Who knows, I was 7), so when you got software (at a trade show or in a mag - there was no "downloading" concept, duh) you could just open the BAS file and look at the source. Because of that early open source ability, I became the coder that I am today.

Since then we've come a long way, but even today much of my job is spent learning how to do things by looking at the public domain. My toolset includes google groups, pinvoke.org, and krugle. To do my job, I need to look at other people's code and other people's experiences. So here's my contribution back to the world that's given a ton of free knowledge to me. Don't ask for anything else damnit.

I'll start tonight, by giving away a wicked app that I wrote recently. It's a gorgeous magnifier application that I developed for some vision impaired friends at my office. Through them I learned that Microsoft's magnifier sucks. Check it out on the download blog (See navigation on the right??).

Tuesday, September 12, 2006

3 Days To Go

The digg response today was great. Thanks for all the great ideas!

I'd love to get this site into a better form then a blog, but needless to say I'll be busy enough without worrying about that. I will have to make up some sort of page to publish the applications on, and that's what I'll work on tonight.

Eventually maybe I can get a full blown site done and pull this off again - after the holiday. I'd like to go into an app a week or so. That would be much more acceptable. I won't get ahead of myself though.

In response to the many comments on my blog and digg:

I'm going to be focusing on .NET 2.0 applications. C# will be my language of choice. I do not know if they will run on Mono (linux .NET runtime). I chose this platform because it's what I currently use at my job. This allows me to fine tune my skills, and take advantage of the language that I already know. Right now is not the time for me to start writing linux apps, although I'd love to. Perhaps in the future I can enlist some volunteers and expand this idea.

Click here to install the .NET 2.0 runtime.
No, this is not some crazy viral marketing ploy by Microsoft. It's just my tool of choice at the moment.

This isn't to say that I won't be inspired to write some C++ code to do something wacky that was suggested, and it doesn't rule out any web stuff. We'll see where this leads me. Bottom line, I need to be comfortable with what I'm using to meet these deadlines.

Thanks for all the great email ideas, keep them coming. Some of my favorites for now:
- Task scheduler (cron)
- Alarm clock / reminder
- Graphical drive size analysis (where'd all my space go?!?!)
- Tree view XML editor

These are perfect examples of ideas easily written in an evening. Keep them coming. As was said in a digg comment, may the source be with you.

Monday, September 11, 2006

The Countdown Begins

I will begin writing applications on Friday, September 15th. Note that many sessions are likely to send me into the following evening, and thus don't expect a midnight "deadline". And yes, my wife is going to kill me.

Saturday, September 09, 2006

The "An App A Day" Plan

I plan on writing 30 applications in 30 days. That's one per day... I haven't started yet, but keep watching here for more info.

The whole idea started as a dicussion on a plane ride. I was flying back from Houston with a fellow developer talking about web ideas... This idea hit me. I started jotting down application ideas on a paper napkin (which is now sitting next to my desk). I'll divulge some of those ideas in the future.

I BEG you to submit ideas for me. Don't tell me to write a friggin MMORPG or some crap like that. Serious ideas that are possible to do in one night. Write me at ideas@anappaday.com! Once I get started I'll flush out the ideas I have on this napkin within a week or two.


Frequently, well not really, Asked Questions:

What types of apps will you write?
Useful ones!

Useful for who?
For me, and most likely a large number of others!

What programming language(s) do you use?
Whatever it takes to get the job done. Currently I'm a C# junkie, but I've been into Java in the past. Most likely all coding will be in C#.

Are you giving the applications away for free?
Yes, and most likely open source. However, I'm working out the details on this aspect.

Why the hell are you doing this?
I'm not exactly sure. I write code really fast. I like to write code. Not topcoder algorithm crap, but useful apps. Typically I write at least an app per month just for personal productivity enhancement. This site is a natural extension of that I guess.

Why just 30 days?
I do have a life. While I expect to continue with this site, we'll see where it leads me.

Can you prove that you are really writing these apps everyday?
I'll work something out. Probably a combination of a webcam and screen broadcast a la livemeeting style. But there will always be those who think I'm a phony. That's OK, most people who know me think I'm strange anyhow. You won't hurt my feelings. I'm a "software jedi"...

Where do you work?
I'm a software developer/architect for a large national company based in Maryland. I'm NOT looking for another job, although I may post my resume on here at some point for those who care.

Tuesday, September 05, 2006

Strange Things Coming...

Stay tuned...