Archive for the 'My Crazy AdVenture' Category

So I’ve been a bit busy…

I’m too tired to go on at length at what has transpired in my life… mostly because with the exception of a few small events, life has been uninteresting. Of note, I applied for a job at Panic, which I hope works out, but I got an email from them stating that they got a lot of entries, so I’m not holding my breath, though I hope for the best.

In other news, I made a quick trip to NYC and later, Albany, because Eileen was in town from Japan to take the Bar exam. I’m still convinced this is just some twisted plot of hers to become a lawyer and then turn around and sue me. Well, if so, I prolly deserve it =P Also, I must state publicly that driving in and around New York City is a bitch, but the Catskills is a beautiful region. Woah.

Learning to program in Lisp is slow going, but productive. It’s a very interesting language. I purchased Unison (from Panic Software, natch) to allow me to read the comp.lang.lisp Usenet newsgroup. It’s pretty enlightening, albeit intimidating. There was one post about Lisp programmers needed at CMU for a robotics project. Needless to say, I applied.

Hrm… oh yeah, might as well make a quick note about my current love life: still sucks, carry on. I think one of (the few) cute female workers at AQ actually hit on me, but I only heard part of it, and when I asked her what she said, she blushed and quickly said it was unimportant. Oh well, as a rule, I don’t date coworkers. bleh

BTW: I just picked up the entire Macross saga on DVD. I shouldn’t have, but it is no longer being released by AnimEigo and it’s getting harder and harder to find. So I took the plunge before I found myself scouring eBay for a used copy.

And now, back to your regularly scheduled normalcy…

-Tom

Ohh, my first project idea…

So I have this idea for a startup… it’s totally in a different direction from what I originally intended, but I have fait in the idea. Since it requires a lot more refinement, and because I have the slight fear of having my idea stolen (my blog may be unknown, but Google still pulls me up), I’ll only write some keywords so I don’t forget it after I’ve gone to sleep:

  • The Diamond Age: A Young Girl’s Illustrated Primer by Neal Stephenson
  • Lisp
  • adaptive/learning client-side, server-side content aggregation
  • Information Age becomes the “Diamond Age”…. (I know, cheesy)
  • -Tom

    the idea…

    Ok, so I’ve mentioned that I am interested in starting my own software startup. So far, no progress has been made. So here is what shall be done. Here is an outline of things that need to be done, and here is what I plan to do about it:

    I imagine this will be a 3-stage process to developing an “idea”

    STAGE1: brainstorm… what do people on a regular basis that would benefit from having a well-designed product? Examples would be calendar programs, note applications, etc… basically throw it all out on the table and see what we come up with

    STAGE2: take the promising ideas and research what software is already out there. It doesn’t matter if there is competition or not, if we have an idea that will stand on it’s own with no competitors, so be it, if we are pursuing an existing idea, what is out there, and how can we make it better?

    STAGE3: this stage should maybe go first, but it does rely partially on identifying what kind of software to pursue. In this stage, we profile the average Mac user, and define a sub-class of users who would use our product. From here we can determine what the priorities are, and design our product with that in mind.

    From this point on, I’m in Stage 1… time to begin brainstorming.

    -Tom

    I hope you’ll excuse my lithp…

    So, today, I set out on a brand new adventure. About 3 years ago I learned of this interesting language called Lisp. Before everyone breaks in to jokes about talking with a lisp (beside the jab I took in the subject line), let me explain what Lisp is. It’s a programming language, specifically , it’s a Functional Programming Language. Functional programming, as I understand it, treats everything as a mathematical function (as opposed to objects or maybe object states, as two other popular paradigms do). Lisp is well known for its liberal use of parenthesis and the fact that everything is done in prefix notation. Here is an example of how one would add two numbers:

    (+ 69 31)

    Anyway, I had to use this language in college when I was taking my Artificial Intelligence class. Very cool stuff, but I had to learn it well enough to complete the assignment and did not see the need to buy a whole book to learn a language I could not see myself using after the class was over. I enjoyed the language and it’s unique approach, but as I said, I couldn’t use it afterwards (or so I thought). Recently though, I’ve come to find out that Lisp has some really advanced features that no other languages have.

    So here I am, huddled over a copy of ANSI Common Lisp, trying to figure it out. I see many sleepless nights ahead of me. At least I’m interested in programming again.

    -Tom

    Good Design…

    I’ve been reading Hackers and Painters and am about done. To say this book has had a profound influence on me would be an understatement. I’ve already decided that starting a technology startup is in my future, I’m more interested in the prospect of grad-school, and *gasp* I’m gonna re-learn Lisp. I was interested in the language when I took my Artificial Intelligence class, but was told it had no practical value. Now I’ve come to think that Lisp has more merit than originally assumed, so here I go. It’s definitely a neat language.

    Oh yeah, but I titled this post as “Good Design”, primarily because I wanted to list the elements of good design as stated by Paul Graham. I’m listing it here more for posterity, so I can look back at them when I want to. If you, the casual reader, are interested in reading the essay where Mr. Graham talks about good design, it’s freely available to read online, it’s called Taste for Makers.

    good design…
    …is simple
    …is timeless
    …solves the right problem
    …is suggestive
    …is often slightly funny
    …is hard
    …looks easy
    …uses symmetry
    …resembles nature
    …is redesign
    …can copy
    …is often strange
    …happens in chunks
    …is often daring

    -Tom

    addendum to last post…

    I’m too tired to actually perform a rewrite of my last post right now… let me just state here that my reasons for wanting to pursue an MFA are also practical. I don’t know at what point I lost my confidence in myself with regard to my abilities, especially as a programmer, but I like the idea of studying good code and using that as a basis for learning how to code well. In doing so, I believe I can “make up” some of the perceived lost ground I’ve made by not entering in to a programming job while in college. I’ve spent the last three years as a tech support monkey and the disparity between what I studied in college, versus what I’ve been doing “professionally” is considerable. I’ll expand on this later.

    -Tom

    Master of Fine Arts in Software

    I’ve been pretty quiet as of late because work has been hectic, as usual, but more so because It’s time for the semiannual performance reviews. I could probably devote a whole entry to the broken-ness that is the review process, but I’m sure the few readers of this blog don’t care, and I don’t feel like writing about that today. What I do want to write about, as I take a moment to pretend the reviews are a figment of my imagination, is the future. I’ve been spending a lot of time thinking about my future. In particular, I’m thinking about grad school. With considerable confidence, I can now state that my sights are set on obtaining a Master of Fine Arts degree in Software. For those who may have missed the subtle distinction, let me say that again with some emphasis: I intend to pursue a Master of Fine Arts degree in Software. Wait… what?

    Because I really should not procrastinate much more than is necessary, please refer to this site for additional information regarding the MFA in Software. What follows will be a short explanation of my rationale for making this decision…

    As a young lad, my twin brother and I grew up with the same interests and influences, even if we sometimes did not want to admit we were as alike as we were. That’s not to say, though, that we clones of each other. As I see it now, it’s in the implementation where he and I set ourselves apart. Here is an example: John and I were enraptured by the idea of being hackers. I won’t claim to know John’s thought processes, but in retrospect, I believe he was more interested in the technical aspects of hacking. On the otherhand, while I was technically-savvy, I think my motivator was the social aspect of “counter culture” groups like hackers. Perhaps this is one reason why John graduated before I did, while I stayed interested in the rave-scene and took a small hiatus from my studies. Truth be told, there are more concrete reasons why I fell behind (playing too many games, skipping classes, etc.) but methinks there might be at least a subtle motivator for my actions.

    My friends tend to be artists more than the technically inclined. Hell, I think every girl I’ve gone out with would fall in the artist camp far easier than in the technical camp (oh, the many glazed looks I’d recieve when trying to explain number theory or recursive algorithms). I definitely dabbled with the idea of pursuing the artists life while in high school. In the end though, I found I had more of a knack for math than I did for “art” in the sense that I could crunch numbers far easier than I could draw a line with the proper weighting to be aesthetically pleasing. At heart though, I’m beginning to think I’m more artist than scientist. This realization has been heavily influenced by two things that have come to light in the last year or two.

    The first of these things, chronologically, is discovering a proposal by Richard P. Gabriel concerning the notion of a MFA in Software. Since that is subject of this entry, I’ll come back to this later. Let’s just say that at the time, it seriously piqued my interest, but I had not yet graduated with my BS in Computer Science, so let the notion go after a small period of excitement.

    The second event that began to change my views was a post on Slashdot concerning an article by Paul Graham called Hiring is Obsolete which I’ve linked to in a previous entry. This essay not only gave me a goal for how to pursue my future as a programmer, it introduced me to his other bodies of work. I picked up his book Hackers and Painters and am currently in the process of reading it. Let me say this: it’s an amazing read, and I encourage everyone to pick it up if possible… and I’m only at Chapter 5. This book has rekindled the “magic” of being a self-styled hacker. It puts to paper ideas I’ve entertained for years (in some form or another). Most importantly though, it’s reintroduced the idea of hackers as being akin to painters (more generally, as “makers”). I’ve used the term “artist” in this blog entry, but that’s because I’m most comfortable with that label.

    I’ve already put off my reviews far longer than I originally anticipated, but I’m coming to a close, so here I’ll try to be brief. The pigeon-hole I placed myself in when going to college was that I had to become a computer scientist by conventional definition. I definitely learned a lot in the process, but I also felt that I was missing something. My appreciation for aesthetics, design, and style never played a role in my proposed professional career. The sciences are a little too hard and cold for me, I continually find myself wanting to breathe some life in to the work I do. Paul Graham’s book reminded me of the MFA program and made me think about what I wanted to do. I want to create. I want to make things that are appreciated, but more importantly, I want these things I build to be uniquely mine, with my voice.

    Perhaps I’m waxing poetic now. Perhaps I’m just tired and not wanting to put on my manager hat. Perhaps I just need to get a good night’s sleep. Regardless, I’ve got a lot of food for thought: answers to questions I didn’t quite realize I was asking, and many more questions now waiting to be answered. I now know what I want to do from this point in my life, and the first step in that direction is to look in to applying for the MFA program. It’s currently a part of the University of Illinois, and I’m not sure if it’s made it past the initial trial-run that began more than a year ago. Still, I think I’ll go where my heart takes me.

    See you on the flip side.

    -Tom

    PS: in this context, starting a software startup is very much like the programmer’s version of being a starving artist. I’m not sure whether to be amused or concerned. Oh well. I’m already starving in my current job. Might as well have fun.

    PPS: upon re-reading this post, I see that I did not address half of the things I appear to be implicating at various points in this post. Let’s consider this post my first draft. Something I’d like to expand upon in the future when I have more time at my disposal. If you think I could be clearer in my statements, please let me know.

    Hiring is Obsolete

    Here is the article that has inspired me to consider going in to business for myself. I’m posting it here for posterity’s sake, but if you are a casual passer-by, please read it, it’s quite good.

    -Tom

    Not posted on Mac Otaku, even though it’s Apple-related

    I think I’m gonna look in to joining the WebKit group and see if I can cut my teeth on this Open Source project.

    -Tom

    editMetadata.app

    Platform:
    Mac OS X 10.4

    High-level Description:
    A Cocoa application that allows user to view and modify meta-data for one or more files. Supports batch editing for groups of homogenous files, as well as for common metadata fields of heterogenous files.

    Features:

  • Finder support via contextual-menu
  • Protects user from modifying certain field values (behavior can be overridden by “unlocking” with admin password)
  • On mouse-over, user-friendly descriptors (similar to HTML “alt” tag)
  • Support for all built-in Spotlight plugins, yet robust enough to handle third-party plugins
  • Drag & Drop support via Dock icon
  • NOTE: This application is still in the planning stages, and I would appreciate any input for features or any other suggestions. I plan to actually devote some time to writing the code for this in the next few weeks.

    idea #1

    Probably not a good idea for a startup, but I have an idea for a project that could be developed… a USABLE linux desktop… fuck KDE and Gnome or even Enlightenment… develop some user-interface guidelines, enforce a consistent design, make certain tasks easy for the end user, etc…

    Currently, Linux is programmer-friendly, but user-unfriendly…

    -Tom

    Randomness…

  • For anyone who happens upon this little blog of mine, please check out my brother’s blog… I stole the site design from him (though I plan to take it in other directions when the time allows) and he has some interesting pics on his page. I guess I’m gonna have to buy me a domain at some point…
  • A few of you may or may not know I’m considering taking the plunge and starting my own business… The theory goes, I can try my own thing for a year ot two and either I’ll make lots of bank and sell it off to a big corporation, or I’ll at the very least learn some valuable lessons that I can turn around and use to market myself to future employers… this is something I have to do now, while I have less to lose and don’t have a family and kids to worry about. My brother, John, and my friend, Glen, are slated to help me in this endeavor… may god have mercy on their souls… thankfully, I’ll prolly wait until grad-school to pick up the pace, that way I have some more direction.
  • Speaking of business, the main problem I have is deciding what to do. Creating an idea is hard work, and I’m thinking I just need to take an existing idea and do it better. It comes down to invention v. innovation… Apple and Google didn’t come out with new products, they took something that was already available and made it better, and now look at them (and the one time Apple did try to invent, they came out with the Newton, which was done better by someone else… ;). Problem is… what shall I innovate? My interests lie in robotics, OS design or GUI design, biotech, rapid prototyping, and a few other things… I’m giving myself too many options right now, I need some direction…
  • I need a camera, specifically a Nikon D-70 so I too can catalog my adventures
  • -Tom “I should be doing work right now” Heaton

    I gotta go!!!! John will kill me!~!!

    quick entry to remind self of things to post on:

  • invention v. innovation (direction of future startup)
  • iPhoto book
  • put resume up
  • -Tom