How to MacGyver Yourself Some Software

Other working titles for this article were “Guerilla Programming” and “How to Build Rube Goldberg Apps”, but I had to make a choice.

I fell into programming because I was broke and bored, and I knew software would speed up some of the things I do, so I learned a few languages. All you really have to learn is one major language and then you can write code in a lot of the rest, because most of the common languages are very similar. At least that has been my experience. I started with Basic on a Texas Instruments TI-99/4A, wrote shareware in Visual Basic 6, then went to the web with PHP. Along the way, I’ve played around with Ruby and Javascript.

I learned very quickly that if you find the right source code, you don’t have to worry about writing a lot of code. Just cut and paste a lot and know enough to let one script pick up where another one left off. And syntax is the most important thing. Once you know where all the braces and colons go, you can pick your way around a function reference to get the job done.

Solve a Problem

Things needs to get done faster. Monotonous tasks need to be delegated to a bot. Data needs to be collected. Software you currently use is close but no cigar.

I wrote my first shareware program because I thought that the amount of bids on an eBay auction must correlate to supply and demand. In other words, the more bids a certain type of product had, the more room for competition and to make a buck. Then I took it further to the point the software analyzed the keywords in each title and compared those to the amount of bids on each item to give me a bid/keyword number for writing the titles of my own auctions.

And that is how software solves the problem of laziness when there is work to be done. I no longer had to guess. Just find the product and list it.

Don’t Do It From Scratch

TweetDeckThe software above started with some Visual Basic code that extract data from web sites. I would browse source code directories evey once and a while to see if anything hit me. Most of the software I wrote started with something else. And sometimes the idea comes from current software I use.

KlipFolioThe one I have rolling around in my head right now is something I call “Listening Device”. And it is a hybrid of KlipFolio and TweetDeck with some added extras.

Tweetdeck is a Twitter client with columns. Each of the columns can be all tweets, replies, a group of people you follow or a Twitter search feed. It in one word, rocks.

KlipFolio
lets you add feeds, among other things, in blocks in it’s display. It works like Windows Sidebar, but is easier to deal with. You can put it anywhere on the screen, add about any feed or mash of feeds including images and videos. It very nicely moves everything out of the way to sit on any side of your screen.

My idea is Tweetdeck with profiles and the ability to add any feed.

Let’s say that I wanted to find out what people were saying about me. I don’t have to really worry about that too much, but let me fabricate for a while. I type my name to listen for anything about me. I then choose from various sources I want to listen to. Everything from forum searches to Google Blog Searches has an RSS feed now.

The query urls would be built-in, categorized and could be manually edited. They could be categorized by updates, forum site feeds, answer site feeds, blog search feeds, etc.

The resulting feeds I can mash however I want into the available columns. I can have a forums column, a blogs column and any other column I want.

Once I set that up, I can save the configuration as a workspace or profile. Then I can use it for any other name. But I can also set up other profiles with any combination of feeds. Because I have realized that there are different modes and reasons for listening. Sometimes I may just be researching a market. Sometimes I may be looking to comment on other blogs. Sometimes I may be in forum mode. And sometimes I just be waiting for perfect questions at answer sites.

Then I went off into feature bloat land with the ability to submit to social news sites or blog from the software.

Writing the Software

I highly doubt I will be doing this part. Not unless thousands of dollars rain from the sky to free me from my work for a little while. But here is how I would start from this point.

I would learn Adobe Air. From what I’ve read so far, you can build the apps with Javascript or Flash, but don’t quote me on that. And those languages I can deal with. I have always wanted to learn Flash, but never found it very useful, but it definitely is getting there. I went through a dry period between Visual Basic and finding Adobe Air. I stopped using VB with .NET. It was too much. You had to download the huge framework files first and then the software would run. And really, I looked at some of the source and decided it wasn’t for me. I am a geek but not that much of a geek. As as side note, AutoIt which is actually software for writing macros but you can create executable files with a decent looking interface. Not for this software though. Maybe for a WordPress installation cloner I have been thinking of.

There are a lot of open source Adobe Air apps on Google code. I would find a few that were as close as possible to what I wanted to build and start taking them apart to build my own app. I would throw the best overview of the progamming language I could find in PDF form into AceReader so I could read it faster. And then I would use the cheat sheet to help me write the code to glue everything together and make it work. Later, if I want more features, I would find another app that had them and take a look at it’s source.

Chasing the Bugs

And this is the main reason that all software for now is on the back burner. Chasing bugs sucks. It can take most of the time sometimes. And if you sell your software, it’s even worse because you have angry customers who paid money and are now having issues also.

If you are beating your head against the wall, come back to it. Sometimes we read what we think we see and not what is actually there. You can stare at the same code for an hour and never find the bug. A lot of the time, when you come back to it later, it sticks out. Not that I always did this. I am sometimes a stubborn ass.

And that’s about it. Probably boring, but that’s a quick blueprint on writing software MacGyver style.

Reblog this post [with Zemanta]

14 Responses to How to MacGyver Yourself Some Software

  • Starbrite says:

    ‘If you are beating your head against the wall, come back to it’ – this is a good way of getting fresh eyes with almost everything we do. Programming isn’t my idea of having fun although if you can master it well – it’s can be a lucrative business. We enjoy your posts tremendously.

    Starbrite’s last blog post..Multiple Income Streams Using Article Marketing

  • Ahhh MacGyver. I had almost completely forgotten about that show. Now, if you could program with a pinecone, two safety pins, and some peanut butter, you’d truly be MacGyver.

    Blog Flipping’s last blog post..Creative Monetization & Selling Your Own Products

  • Patrick says:

    Hey Stephan,

    I appreciate this post completely, but I am particularly inspired to hear that it is possible to teach yourself a basic language and apply it elsewhere, as I am just scratching the surface…thanks, well written, concise, understandable post!

    Patrick’s last blog post..Positive Feedback

  • Stephan Miller says:

    @StarBrite

    I don’t see it as fun much any more. I like seeing the end result but it is almost getting to the point of a chore. But it gets things done quicker.

    @Blog Flipping

    Duct tape. You forgot duct tape. Man, that’s what I forgot in my laptop bag.

    @Patrick

    Once you get it, it’s easy. Pick up last year’s books a CompUSA for like $10 a piece instead of $40 on the clearance rack. I like the Idiots Guides and the Sam’s books the best. Don’t mess with the examples unless you want to. Jump in the book with an idea you want to create. Read first. Once you start getting it, write what you can. Then go back to the book. That worked for me. Doing the exercises only seemed like typing practice and made me put the book down for days at a time when I hit an exercise. It is much better to be excited about an idea of your own and use that to learn.

  • Anteek says:

    Hi Stephan, Texas Instruments TI-99/4A, now that was a computer you could do stuff with. I remember the fun I had learning to program Basic with this 16k Computer and playing around around with all the modules it came with, like the sound module that could be program to read text. This was over 25 years ago if I remember well. This must be an Antiques in computers now! Do you remember the Timex Sinclaire that was about the same time in the early 1980 and this was also a great computer for the time. Look at where we are now with super computer and all that Web 2.0 Technology.
    Anteek

    Anteek’s last blog post..Next-gen Photosynth shown off at Siggraph 2008

  • Hey stephan! reading this post made me miss being a programmer.. :(

    ChiQ Montes’s last blog post..I’m off to Hongkong Disneyland

  • Stephan Miller says:

    Anteek,

    Yeah, it was a fun computer except we had one that would lock up if you bumped the data cable the wrong way. I had to backup up to the tape drive often enough. I was writing basic all the time though.

    Chiq,

    Sometimes I like it and sometimes it sucks. About the same as anything else.

  • Hey Stephen, excellent nostalgia trip, I remember bashing away with a BBC Micro and 5 1/4 inch double sided Bannana Discs…

  • Stephan Miller says:

    Things are so much more complex now and with multiple languages, hard to keep up with. Sometimes I miss the easiness.

  • Heh! It was like travel in time as soon as a read about MacGyver. I cannot beleive that still people talk about him like the ultimate person able to make a bomb out of his swiss army knife!!

  • Stephan Miller says:

    I guess there was the A-Team too. But MacGyver worked better. I try to watch old episodes every now and then. I usually can’t make it through one. Memories are definitely better than reality.

  • Pingback: » How Many Hats You Wear? by Stephan Miller

  • Pingback: There Is No Killer App | Stephan Miller

  • Programming from scratch.. sorry, just seems like a headache to me! I prefer buying scrips and building off that foundation.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>