Archive for the 'Work' Category

I be learned, yo

So, this is something I’ve held in abeyance, but I need to start seriously studying for the GRE. I can aver that my math knowledge is up to par with the challenges I will face on the test, but I need to ameliorate my verbal abilities if I wish to score well. As such, I am assiduously working my way through a GRE prep booklet and I plan to post daily using the new words I’ve appropriated. I will mark such words in bold-type (such as I’ve been doing in this post). Sorry if my posts sound forced or bombastic, but I’m just trying to get these words in to my vernacular so that I will do well. Also, FYI, I already know some of these words, but if it is in the list, so be it, I’ll try to use it more. My goal is to get through five new words a day. Wish me luck!

-Tom

change is generally good

So yesterday, I found out that I will no longer have a job as of May 2nd. This is through no fault of my own mind you. As a vendor to services, my company maintain contracts with other companies and if said contracts do not get renewed, then all of the people who work on that contract are all affected. The particular contract I was working on (can’t be more specific since I’m still tied by an NDA) decided to go with one vendor instead of diversifying with many vendors, and we didn’t have the resources to provide them with the amount of coverage they required. Well, that’s the story we were told at least.

Anyway, that still means that 240 some odd people will be out of a job come May. Yesterday was a bit rough for many of my coworkers. I saw some crying and a lot of people left early (even though we still had a job to do). Truth be told, I was quite happy. I know things are gonna suck for a lot of those people, and I wish them luck, but this is like a swift kick in the ass that I needed. I have been looking for another job for a bit now, but now I have a deadline. Also, the company policy of not surfing job-search sites has been lifted. In addition, they are staggering the lay-off process, with the most senior individuals staying the longest (ie: I won’t be the first to go).

Change is generally a good thing. Hopefully it works out for the best for many of the people at AQ.

what’s new…

Well, to begin, I upgraded to WordPress 2.0 a few days ago, and I’ve switched back to the “plain” version of the K2 mod/theme I’m using. I need to get some Photoshop time in so I can get a new image banner and play with the CSS to make the site more… “Tom-like” in appearance. I keep saying I’m gonna do this, but I have not had the time.

Speaking of time, I’ve just come to a realization that I’m at my most creative in the last hour or two before I go to sleep. It’s weird. I’m too tired to form complete sentences most times, but I come up with cool theories and other niftiness. Too bad I also don’t remember half of what I thought up when I wake the next morning, because I never write anything down. That said, most of my best writing is done during this time. Much must be done on my part to read and re-read what I’ve written to check for grammatical and logic errors, but the end result is usually the best I produce… usually.

That leads me to another thing I’ve been toying around with. In the near future I am seriously gonna consider addapting my body to a polyphasic sleep schedule. I’m not interested in it to get more waking hours to “play” with… I’m wondering if I can get more clarity with my thoughts. Just an idea.

Oh yeah, I guess my blog would not be complete without mentioning my job situation. I’m still not sure what the hell is going on, but I may have a job coming my way in the very near future. I can’t name names, but I’ve gotten past two interviews and a background check. Now all that is left is to see whether an opening exists for me. The problem here is, the person who makes that determination is someone I’ve come to fear is not good at following up on tasks… so we’ll see.

Ooh, another thing, I’m back on my search to go to grad school. I keep saying I’ll do this, but I never got around to it during my week of freedom, mainly because I was too engrossed in re-learning Lisp. But, after playing with Lisp, and reading articles on Genetic Programming, as well as some fiction, I think I’m leaning more towards doing research in Artificial Intelligence/Machine Learning. The significance of all this is that I now have an idea of what kind of schools I want to target. Now I just need to get past my fear of rejection and apply to some schools (that poor GPA thing, entirely my fault, kind of makes it harder to go to the schools I want). Meh.

Anyway, I’m outta here, thanks for dealing with my rambling.

-Tom

SQLite 3

Some of the ideas I have running through my head require a database, and I’ve been frustrated with the idea of either creating a flat-file/archive or finding a way to implement a database server of some form in my projects. Granted, I have not yet delved in to the world of Core Data… I’m still a neophyte with regards to programming with Cocoa.

Big Nerd Ranch recently posted some info on their blog about SQLite 3, which is a great way to implement a database, without having to require a database server. Woohoo! Core Data actually uses SQLite, but the blog article mentions reasons why you may want to not use Core Data (backwards compatibility, possibly faster access times). Either way, it makes me want to learn Core Data more, and at the very least, I can brush up on SQLite as a means to accomplishing other tasks.

-Tom

The Job Hunt…

So, as some people know, I’m deeply entrenched in the job-hunt. More specifically, I recently interviewed for a Mac Genius position at the Tyson’s Corner Apple Store. I’m not sure what I am at liberty to say, since Apple is a secretive company, so if it looks like I’m leaving things out… I am.

Truth be told, I suck at interviews. Always have, I think I always will. With that said, I think this interview was my best… but I just can’t help thinking over all of the little things that happened during my interview, and thinking I could have said something better, or been just a little more relaxed, or a ton of other little things. I left the interview feeling positive, but four days later, and I’m a wreck.

So how do I think I “failed”? Well, Apple is a hip, customer-service oriented company. Apple loves their customers, and the customers love Apple back. I can’t shake the feeling I was too uptight, not as relaxed as I am in real life. I tried to joke around and be social, but I think I was too concerned about my presentation, that I may have done the opposite of what I intended. Maybe I’m just reading in to things a bit too much. Another thing I feel I failed in, was in asking questions. I know its good to ask questions and get a feel for the job that I’m applying for. But I know a lot about the position. I had a friend who was a Mac Genius, and I’m familiar with how Apple does business. When it came time to ask questions of my interviewer, I blanked out. I now have some questions in mind, but that does not help as much after-the-fact.

Keep in mind, this is me “over-thinking” the interview. I probably did a good job. Still, I know three of the people I’m competing with for the job, and they are strong candidates as well.

Meh, in other news, I posted my resume up on Dice.com and I’ve already received three emails with job opportunities. All of them are in programming, which is awesome. None of them are Mac-specific, which is a slight bummer, but it could lead to some opportunities and much-needed experience. It would be great if it were contract-work, that way, were I to become a Mac Genius, I could still get some extra cash/experience in.

OK, this was my update on the job-front, hope those of you who read it enjoyed my ramblings.

-Tom

Tom goes back to school…

So I was looking at how much Paid Time Off I’d accumulated since my last “vacation” (which was not very relaxing) and I found that I had two weeks of time saved up… so pending my last-minute vacation request going through… I’m going back to school for a week!

I plan to take next week off and I’ll be spending most of that time at UMBC. Here is what I have on my agenda for that time. I plan to put in 8 hour days for the 5 weekdays, and I’ll try to actually relax on the weekends…

Mon-Fri (UMBC Library):

  • 3 hours learning and coding in Cocoa/Objective-C [text: Cocoa Programming for Mac OS X by Aaron Hillegass]
  • 1 hour job hunting, making use of the Shriver Center on campus
  • 3 hours learning and coding in Lisp [text: ANSI Common Lisp and On Lisp by Paul Graham]
  • 1 hour researching and applying to grad schools
  • Extra Credit: hitting on cute undergrad girls and studying algorithms

  • NOTE: I think the school library will be a lot more conductive to me learning than sitting at home with a bajillion distractions (like pr0n ;) and the desks there are better set-up for study (ie: no bed to beckon to me)

    Saturday (wherever):

    PARTY!!! … and maybe brush up on Unix/Linux system admin.

    Sunday (Prince Frederick, MD):

    Visit the Parental Units

    Wish Me Luck!

    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

    San Jose State Univeristy?

    I just went to SJSU’s page for prospective grad students in Computer Science and I might be able to get in there with little hastle… part of the hang-up has been having time to study for the GRE, or more problematic, getting letters of recommendation from some of my old professors (I’d ask Mitch Edelman and Samuel Lomanaco, for those who want to know). Hrm… right in the heart of Silicon Valley…

    -Tom

    Grad School…

    Time for me to seriously look in to grad school. So far, I can fall back on UMBC’s grad program, but I’m looking in to moving out west. I may consider up north in the NY area, as well as someplace near Austin Texas, but that will all have to be determined. Actually, any place that will take a 26yr old who wants to enter in to graduate studies in Computer Science. Suggestions?

    -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.

    A few things…

  • In an effort to use original content on this blog, I plan to initiate something similar to my other blog and will be commissioning art from some nifty people to add some unique spice to my home here on the web
  • I have a small code/application idea I’m going to post in a minute, think of it as a high-level description for a small application I plan to implement when I get some time.
  • my team is doing well at work, I am happy
  • I’m kind of worried about Eileen, she has not responded to me in a few days, and she mentioned some crazy things happening in her life… I think I’ll call her again… being on opposite time zones is such a drag
  • Obi-won pwnz your soul
  • -Tom

    Google’s Summer of Code

    http://code.google.com/summerofcode.html

    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