Browsed by
Category: Random Thoughts

Old Mr. Jones Yells at Cloud

Old Mr. Jones Yells at Cloud

Someone just sent me an article about yellow/green cabs going broke.

I remember when Uber/Lyft/Via were new guys and the “traditional” cabs fought back; That made sense. I do have to wonder, however, after everyone started to love the “new way” of doing things and the business model became proven why continue to fight? Someone else did the risky part (proving the model and putting out the money to do so). Why not just let them do the hard work, copy them, leverage your huge, established fleet, and drive your competition out of business that way while making all the money you were already making plus more with this new system? These guys are the equivalent of old Mr. Jones on the corner yelling at kids who ride their bikes on the sidewalk. My city did eventually introduce Curb but it was too little, too late, and too much time was wasted… while continuing to fight a pointless and expensive war (both in money and time) they already lost.

I have always loved the following quote:

If you don’t cannibalize yourself, someone else will.
– Steve Jobs

I want to say “if this was handled right” but instead find myself saying “just fucking stop it, idiots.”

One day I hope to be old. I wonder how I will handle things then.

You Suck: The World We Knew

You Suck: The World We Knew

For as long as I can remember I have been trying to figure out how the world works. I started with what seemed obvious to me at the time; I looked into things like gravity, optics, how computers worked, and various other topics. As much information as was available at the time something very slowly came into focus: I suck at this task. Just like you.

The problem, however, is not you nor I per say. The problem is something Charles Sanders Peirce dubbed the phaneron. The gist here is that while we attempt to unravel the clues we glean from the information we receive it is all filtered through us. For example, although we now know the brain to do most of the information processing for our bodies, no human perceives vision without a photon first hitting the retina. There are so many steps throughout the process of vision, each with their own quirks, that there is no sure way to know the final result comes anywhere close to resembling the original phenomena. This even assumes the brain can be “trusted” to do what we expect it to do in the first place. For these reasons– and others– is why we conduct blind experiments, after all. This thought process is strange in that it implies that the brain and “we” are somehow separated but I am not aiming to write an academic dissertation here so deal with it, jerk.

As of late a lot of my focus has changed from what things and machines can I figure out, experiment with, build, and control to one of understanding some near analogs:

  • What are the technical implications of being a human trying to figuring things out?
  • How do human curiosity and expectations about things change the results of an experience while we are a thing in the sea of things of which we are trying to figure out?
  • Does it even make sense to think of ourselves as somehow special or not a part of “everything else”?
  • What concepts have we inferred due to all of this we should not have?

I am not necessarily going to answer these questions but am going to attempt to start on that path. It might first be important to break down the basic human components involved. In other words, what tools do we have that play a role in our understanding of gravity, optics, computers, and bacon cheeseburgers?

Vision
Cameras as we know them today capture frames. That is, a point-and-shoot camera captures a single image. Motion cameras capture multiple frames but still at least one entire image at any single instance in time. This gives us the most information possible encompassing about everything visual within range: A complete “picture”. Even the earliest of practical cameras had a resolution capable of reproducing a level of detail that allowed a human to easily make out details at a distance.

The eye, on the other hand, does not work this way. Most of the information gathered is discarded by the brain depending on a humans object of focus and thus never makes it into memory. To compound this only a small portion of the back of the eye (~2ยบ at a ~7 megapixels equivalent) is capable of any significant level of detail which does not even take into account the blind spots where the fovea or where the optical nerve meets the retina. In order to compensation the eye must rapidly dart around to build a “complete” image of the scene. Given the time this takes, no matter how quick, this makes it impossible to accurately track a sufficiently fast moving object as it once appeared.

Peripheral vision is even more limited. Unable to pick out even the largest of details its role is virtually solely limited to detecting motion from one moment to the next. Aside from notifying the brain the retina needs to be moved into place to view a new potential object of interest it can barley make out anything that would be deemed useful as a “frame.” If you place both of your thumbs, side-by-side, as far as you can in front of you then you will have a rough idea of everything not in your peripheral vision.

Oh, also right now you can not see your own nose despite it always being within your field of vision. Oh, wait… there it is.

The sheer amount of visual information that is right in front of you that you are aware of it astounding to me. Hey, it could be worse. You could have Anton-Babinski Syndrome.

Auditory
What is your favorite kind of music? What do the people around you sound like? How does a jack hammer differ from either of these two things?

It just does, right? I mean, music is pleasant and people can talk, neither of which I have ever heard from heavy construction machinery. The fact is our brains are very good at picking out patterns in noise even when there is no pattern to be found. Saying the same word over and over causes your sense of the word to slowly dissipate while listening to linear static occasionally causes things like animal sounds to magically appear.

Touch
When I was a child in childrens school I and the other children were taught touch is one of the basic senses (children). This is, of course, a drastic over simplification for the sake of the intended audience. Touch, as we traditionally think of it, is not a single sensation: there are at least hot, cold, pressure, and pain in addition to the traditional five senses.

Events starting or ending (say, touch) are difficult for a human to detect (we more commonly detect the continuation of the stimuli). For example, unknowingly touching a hot surface will instantly start destroying cells and our reaction to said stimuli (say, removing our hand from the hot surface) will often occur instantly. Since we were unaware of being burnt during this period it can not be said we “knew” anything about. Instead the reaction originates in and around the spinal column. Is your body preforming actions without your consent? You bet. In addition hot and cold are often mixed up by our senses. Imagine the sensation of burning while exposed to something extremely cold.

Here is a fun experiment:

  • Stick out your tongue.
  • Tap the side of your tongue exposed by your left cheek.
  • While still leaving your tongue exposed, flip it over.
  • Tap the opposite side of your tongue which is now on by your left cheek.

Did it feel like you touched the left side of your tongue each time? How could this be since the second time you were actually touching the right side? Our perception (or sense of proprioception, in this case) can very easily be fooled. In other words how could we ever surely know where we are in space?

Perception
One of the first things we learn in school is to count. One comes before two while ten comes after nine, ect. However most children struggle with this more than others. One proposal for this is that we are simply no good at perceiving things in this linear fashion. It is easy to imagine all the whole numbers that occur between one through ten but not so easy to imagine all the whole numbers that occur between one to 1,000,000. There is no difference in the way you arrive from the first variable to the second to the third and so on yet our brains struggle to comprehend even the most common number of things (people in your city, for example). They remain abstract concepts for us even if we know the exact answer.

This can pretty easily be illiterate with the following example: Imagine you are considering making a purchase of $10. Would a $5 off coupon help you make up your mind? Now imagine, instead, that purchase price was $1,000. What are the chances of a $5 off coupon effecting your decision to pull the trigger now? If you are like me your gut says $5 was more valuable in the first scenario. However saving $5 is saving $5 no matter how much the final total comes to. The evidence suggests we were born to work in gradations leaving us unprepared to make logical decisions in the real world in which we live.

Logic
Consider the following problem:
Person A is looking at Person B. Person B is looking at Person C. Person A is married while Person C is not. Is a married person looking at an unmarried person?

The possible answers are “yes,” “no,” and “not enough information.” Think about it for a moment… did you come up with “not enough information?” So did I. So did most people. However the answer is “yes.” You see, if Person B is married they are looking at Person C (an unmarried person). However if Person B is unmarried Person A is looking at them.

The postulates we make, live our lives by, and blindingly accept as fact might never have been so.

Time and Space
Probably my personal favorite in our list, this one screws with peoples heads. Since this topic is so huge I am only going to propose one of Einsteins simple thought experiments and let you investigate the implications.

Imagine two people, one riding on a train (Person A) and the other standing on the tracks (Person B) where the train is passing by. Person A bounces a ball hard enough so that, after bouncing off the floor, it travels straight up and hits the ceiling. Therefore Person A witnessed the ball bounce X distance at Y speed. However Person B, since the train is moving, witnesses the same event (the ball bouncing from floor to ceiling) as traveling the same speed but within a larger distance within the same time period. How could the same ball travel the same speed but cover a larger distance in the same amount of time? Neither observation is incorrect but they seem contradictory. A variation of the same thought experiment can also demonstrate space– and thus matter– itself is not fixed but changes based on the observer.

Of the many points illustrated in this example one of the take-aways is that it is not possible to know if you are seeing what someone else is seeing. All the information filtered through your phaneron may, in fact, be feeding you “false” information which you have no reason to believe is not what occurred. Causality even comes into question.

Lack of Senses
What about everything else? Are there things out there invisible to all of our senses? Some birds have been show to navigate by magnetism. Insects can see “colors” outside the spectrum of light we can perceive. Between naturally occurring and man-made radio signals we are bombarded 24/7 by exploding stars and mobile phone calls. None of these unperceived occurrences caused us any sensory input giving us an even less complete picture of our surroundings than we thought we had before we even realized our own shortcomings. Does the light in the freezer even go off when you close the door? Do other people stop existing if you close your eyes?

Injury
Your brain has a lot of information coming at it all day long. Of course this sole aggregator of the sense needs to take some short cuts in order to deal with it all.

What happens when this central hub becomes damaged? Would you even know it? Do all people with schizophrenic hallucinations realize the things they feel, see, or hear are not there? How could you tell that perceived voices coming from your left are coming from your left at all? Are the real things in your environment real things? Are you even sure you are hearing everything there is to hear?

Check out the cases of Phineas Gage, Henry Molaison, and the book The Man Who Mistook His Wife for a Hat by Oliver Sacks.

Philosophy
This deserves much more written about it than I will here but a few things to look up:

Closing
Given perfect vision and a perfect sense of time and a perfect sense of space, would it theoretically be possible to perceive the world as it really is? Maybe. If you could would it appear anything like you believe it to appear today? If I have covered anything here it is that we may never know.

So what does this all mean? Does it render the world or our existence meaningless? Yes. No. Irrelevant. Not applicable. If all this information is new to you and you now feel somehow differently about some subject remember that the only thing that has changed is “you”. Personally I suggest trying to stop thinking in yes/no terms; accept you are one with everything in the same sense that there is no difference between yourself, words, the wind, ideas, right, wrong, happiness, or emptiness.

By the way, if anyone wants to base a magic show on this article I want free tickets.

Netbook to Microsoft Surface Pro?

Netbook to Microsoft Surface Pro?

I have been in the market for a tablet-like netbook replacement for about one year now. I love my netbook but it has limited memory and I want to play with developing for a multi-point touch screen. So off I go looking for a tablet or tablet-like device with a keyboard and mouse/touchpad running industry standard software (currently Linux Mint). It needs to be portable and have all the things that come with that (small, battery life, usable while on my lap, ect). So… I was just looking at the specs of the Microsoft Surface Pro again which is due out in ~two weeks.

Microsoft thinks…

  1. … I am going to give them $899 to $999? Plus tax? No.
  2. … I will pay extra for a cover/keyboard? No, that should be included. I do not care if Apple did not do it, either. If I cared what Apple did I would be an Apple user, not a PC fanboy.
  3. … four to five hours of battery life coming in at much less than my netbook at nearly a third of the price is alright? No. Battery life is something I will often sacrifice for other things but this? These are the advertised numbers, not the real-world numbers.
  4. … locked down hardware I own but can not use is appealing to me? No. Unless I get the blessing of the most out-of-touch company I know of in the entire industry do I really “own” it (yes, this is why I am not an Apple fanboy)? I know they want to support their other business– namely Windows– but they just choose to make $0 instead of more than $0 by spitting on the power users. Hell, I am not sure I even know anyone but myself who does not dual-boot if they run another OS on PC.

I was seriously considering the switch until they announced the awful, awful details. Seriously, for all my distrust and bad experiences with their products I was very, very much looking forward to (even excited over) a great-looking, Slate-like device. I thought, “this can be what the Slate never was for me.” Nope, not at that price point. Not ever for those specs.

Perhaps I will pick one up cheap on eBay when Microsoft backs out without a lot of thought like they have done so many times recent memory. I feel like I am watching Lost all over again. I feel like, at the start, I am thinking “these guys are masters of suspense” and “I can not wait to see where they take this given the little tidbits I know now.” Then I realize two or three seasons in that no one has any idea what they are doing, where they want the show to go, nor how to build something sustainable. It is all shock and awe, but the glitter washes away and all you are left with is the Surface Pro.

Are… are they… who… IS MICROSOFT FUCKING BATSHIT INSANE?!?!?!? I do not normally curse on this blog but who saw all this, said “I like it, roll it out” (or even “we spent too much money, we have to go forward, our reputation can take the hit”) and gave it the green light?!?

You want to put your boot on the back of my neck you better expect me to come out swinging. You can only mismanage so many things so many times before you have no credibility left to spend. You used to be the big dog?

Used to be.

Update 2012.02.22
Sssooo… I bought a Surface Pro 128GB. Not sure why I did but I regret every moment since and want my money and the five minutes I spent at checkout back.

Thus far I am having great difficulty getting it to boot reliably from external media (even the Microsoft support staff at the brick and mortar stores are baffled). The WiFi just drops out, even with Microsoft’s released fix. The keyboard is designed to shut itself off while folded back so you do not accidentally hit keys but some times it does not turn itself back on (even if you unplug and reattach it). The fix is to reboot… you know, like you have to do with Windows every 15 minutes. It gets very hot even if you have not logged in. The Microsoft-documented on-boot key combination to select a boot device does not work (it brings up the UEFI boot configuration settings which is useless all but once). The screen is not adjustable while the stand is out. If you want a tablet replacement, fine. If you want a netbook replacement while in front of a flat surface, fine. If you want a netbook replacement on the go (the whole point of something so small, mind you), you are screwed.

The hardware looks solid on paper. Is plenty light. The Type keyboard feels nice. It even performs well… if you are happy with Windows 8. Except when you lose WiFi. Also except when it gets too hot to hold… while it is not even doing anything.

Raspberry Pi Uses?

Raspberry Pi Uses?

When the Raspberry Pi was announced I went and bought a pile of them. Now they sit in my apartment, unused. A long while back I got the hard floats working but now you can get that standard. I got it running videos pretty good but now there is an XMBC installation.

What to do, what to do? There is a pretty decent looking 3D-printed case with “LEGO feet” I really like the look of. Plus, the latest LEGO Mindstorm bricks are mostly unlocked– with USB and Bluetooth support– so those are potential resources for a project…

A while back I did make an automated paintball turret. It used a pretty dinky netbook as its brain so I am not too worried about the Raspberry Pi and its 700MHz ARM CPU. I am more familiar with the x86 mobobs so optimization may be a (fun) hassle. Also, since it generates so little heat, it will be a lot easier to build a case to protect it from enemy fire. Hell, if raw processing power does become an issue I can always throw in a tiny network switch and combine a few of the little guys (I was thinking USB-to-USB but, after thinking about it, USB 2.0 only does client/server so efficient polling may be an issue… I do not know).

Well, I have to decide. Perhaps it would be a good project to do with The Womantm

P.S.
LEGO feet!

Update 2012.09.12
A team of people (including a 6-year-old) have clustered 64 of these bad boys. They were cool enough to include a really nice how-to so maybe I will take a crack at it over a weekend.

Update 2012.09.25
The Pi can now be clocked up to 1GHz plus it is officially supported. You can go higher but, according to the organization, you risk your hardware.

Update 2012.11.12
Been playing with some robotic and media center software a lot as of late which gave me a few ideas:

  1. The Raspbery Pi as a robotics platform/controller. Nothing new there but if I combine it with motion/depth detection (see OpenCV with stereo web cams) I could make an automated paintball sentry… or worse!
  2. A portable media center powered by the ‘Pi. With a decent battery (say, this happy ‘lil fellow), USB-powered HDMI projector, and some cheap speakers (if the projector does not provide them) I think you could have a decent setup. Well, decent enough for what it is to make me happy, any way.
  3. Control the LEGO Mindstorm from the thing. All the Mindstorms come with excellent hardware for their intended audiences/purposes. With that said, CPU and memory are limited. There are many ways to control your Mindstorm Brick via Bluetooth and/or USB. Since the ‘Pi is so light I see no issue with just sticking it on top of the whole assembly, with a battery, and using that to control the Brick, which controls everything else. Blam-O, instant my-first-programming and robotics project!
  4. Minority Report-style interface. Holographic technology– and price– are not there just yet but with a different display (say, projector with a large screen) this is very doable. There are even a lot of tutorial for similar projects out there already using OpenCV or the Microsoft Kinect.
Dear Women: Us No Think… You Purdy… Too Good

Dear Women: Us No Think… You Purdy… Too Good

A male buddy of mine just send me a link to Cosmo’s 44 Most Ridiculous Sex Tips. I read the first few and I was overcome with two thoughts: “this is hilarious” followed by “holy crap, what if people are taking this seriously?

To help out the second category of you– which I pray I am imagining– here is my open letter to the females who have had to put up with us:

Dear women,
Having trouble understanding a man? Are you so confused that you have turned to a magazine for something other than its entertainment value? Let me help you, in my limited capacity.

Try the following: Consider the dumbest woman you know. Now imagine taking a pencil, sharpened to the finest point you can imagine. Cover it in acid, red ants, cosmic radiation, and violently shove it into said womans brain. Wiggle it a bit to make sure you get all those IQs!

Now, given the severe brain injury, consider all the simple things this woman could want or desire compared to before. No longer will she want “iced water, with a twist of lemon, in a tall glass” but just “water.” The hose will be more than fine. No longer is she looking at a map for the best way to get from point A to point B. Now she just starts walking in the general direction of point B. How does her hair look? She has no idea because it never occured to her before leaving the house and now has to go out of her way to find a mirror.

Now replace “she/her” with “he/his.”

Fin.

(Try To) Love,
Men

If you are still confused my advice to you is simple, female person: Learn to love boobs as much as I do or to happy while also very frustrated. If you are trying to think of a third possibility you are over thinking this, too.

Yes, yes, I know. These are Cosmo’s “Most Ridiculous Sex Tips“. Lighten up, tight ass.

What Interview Questions to Ask and How to Land a Job You Love: My Experience

What Interview Questions to Ask and How to Land a Job You Love: My Experience

As I have previously mentioned, I had been in the job market for months. Had a number of pretty solid offers but I did not feel the cultural fit was there for me to be happy. In the interest of sharing my experiences, here are the questions I wrote down to ask every time I went on a first or second interview. This is not a complete list but a mix of important questions plus the (odd) ones most important to me. I am also adding notes for my reasoning behind them for the purposes of this entry. I would suggest, after looking at the list, you simply disregard the things that do not apply to you– or more importantly– the things you do not care about.

  • At will? Contract? 1099? W2? Corp-to-corp?
    Consider the tax implications of a 1099 or corp-to-corp. Seriously, big difference. Remember that if an at-will employee can leave any time– two weeks notice is a good idea because everyone can always use more references– it also means they can let you go for absolutely no reason at all.
  • What benefits are offered? Are they fully paid for by the company? How much do I have to contribute if not 100%? How long will it take to kick in?
    Will a lapse of insurance be a problem for me due to an existing condition?
  • Insurance offered by the company? Can it cover other people? Worried about in-network? HMO, EPO, ect?
    If you are getting married it may be a great idea to be able to offer such a thing to your spouse. That way they do not have to worry about it and do can whatever (maybe even take care of the rest of the familiy if needed instead of the cost of a day care).
  • Do they offer a retirement plan (401k, ect)? Do they do any matching? If so how much?
    If you start this at 18 you are sitting pretty. Starting later is not nearly as good but still well worth the tiny amount it costs you now. Trust me on this, you will not be sorry. If a potential employer does not offer it you can always hire a company to do it for you and it is still very, very much worth it.
  • What is the dress code?
    I just hate folding and ironing things with a pasaion. Feel free to ignore my insanity.
  • Flexible hours? If I put in 16+ hour days is there any compensation time? Can I work from home at least one day a week assuming I am not required in the office?
    This was very important to me. Even more so if there was no overtime. Your time is the most valuable thing you have because it allows you to do everything else. Do not kill yourself so someone else can get rich and you get shit. There are lots of things worth more than money and, if you are willing, a company may be willing to make non-standard accommodations if you just ask so everyone is happy.
  • How do meetings with the other departments go? How often (on average, not with the last big, once-in-a-life-time project)?
    I, personally, used this as a metric to see how big a company was and how much red tape I would have to deal with. Not really a great measure of anything but an indication.
  • Tandem projects? How many things will I be working on at once?
    This may not pertain to you or maybe you like it. I just wanted to make sure no one expects the impossible out of me.
  • Amount of time spent working vs meetings? Would they say my department makes the decisions it has the skills to make or other departments?
    I was worried that some big-wig boss man would be making decisions based on nothing but cost. Penny wise, pound foolish kind of thing and I wanted no part of that.
  • Can they walk me through what most of my days would look like?
    Just because they say they are filling one role does not mean I think they know what they want. Make sure you are clear on what you are committing yourself to. Use your own judgment but do not be afraid to say “no” if the job is too huge and there is little relative up side for you. Again, do not kill yourself so someone else can get rich and you get fired because they sold the company that you have no real stake in.
  • Is there a Do Not Compete clause? If so does it apply to post-employment and for how long?
    Wwhen you leave you want to make sure you can still do what it is you do. A DNC that is too broad will fuck you. Do not be afraid to request changes if you feel the spirit of the law is there but the wording is not. I have done this with every DNC I have ever signed and never once has anyone become upset because of it.
  • Are any personal projects you generate outside of company time and company equipment property of the company?
    Are things you do on your own time on your own equipment property of the company? For someone who loves what they do this would be a really, really bad thing. I was very, very afraid of this.
  • What is the salary they can offer?
    Is it a job you really want? Is it worth it to accept a little less for a better chance at the gig? Perhaps it is cheaper for them to put that difference into benefits when it would have cost you a lot more if you were to do it on your own. Make suggestions if you want something.
  • Provide equipment?
    Are they expecting you to spend your own money to do your job? Will you be reimbursted? Is there a limit?
  • Bring own equipment?
    Some companies do not like the idea of you using your own equipment (especially things with long-term storage, like laptops, ect). Make sure, if you need something and they will not let you use yours, that they are willing to spend the money required to get the job done right. If they think you suck because you produce crap it may just be because they were too cheap and not because of you. Still, it reflects badly on you and that is not something they will hear very well.
  • What time do you start your day? Flexibility?
    I hate mornings. Like, a lot. This may not matter to you. I also want to be able to stay 16 hours one day and four the next so that was important to ask (but be careful about how it comes off).

Check out the recruiters! There are people out there that have just as much stock in you getting a good job and you do not have to pay them. Generally they only get paid if you get the job, get paid relative to however much you are offered, and none of that comes out of your pocket. It is win-win for you. I am more familiar with the IT-related resume-posting sites such as Dice but there is also Monster so use those to get in front of a lot of eyes (recruiters included). I, personally, did not do any of the heavy lifting myself (craigslist, for example) and let the recruiters find the jobs but there is no rule you can not be doing both. Hell, there is no rule you can not be doing five interviews all at the same time (except for the drain on your energy, that is). This is not a marriage and you do not owe anyone anything until you sign those papers: Be a whore.

This whole process can be intimidating so I offer this advice: Do not act like it– seriously, most people hate me for this very reason– but think of yourself as the best; Fuck everyone else, they suck. The truth of the matter is 95% of the population are just doing what they need to do to get by and keeping their heads down. Always put your best foot forward but remember that doing 50% of your best will be worlds better than most of your competition. Also show off what you did in the past because you wanted to and why you loved doing it. Try something new. Tell them about your failures, why you failed, but how it was still worth doing. Do not be afraid of what you will do, not do, or say in an interview. This is as much about you getting what you need and want as much as it is for your interviewer.

Hope this helps anyone who might be looking for a job. It is the accumulation of me adding to and modifying this list over the course of a few months of non-stop, ~five-interviews-a-day job hunting. If you were happy being suck in a cubical you could easily do that but there is also no chance of you finding that awesome place you do not want to leave at the end of the day. Chief Technology Officer (CTO) was a great title I had at my last company, had a nice office over looking Rockefeller Plaza, and the pay was great… but I was dying inside. The more time that past doing something I did not want to be doing the more I could feel myself growing resentful of a place that did not deserve that. Remember that if you are so unhappy your hair is changing color the job is not worth any amount of money. You can find a cheaper place to live but destroying your relationships because you brought home that stress is no longer only effecting you.

Technology Is As Technology Is

Technology Is As Technology Is

I have been in the job market for a few months now looking for work as a web developer. A certain percentage of companies have decided not to work with me but I have decided not to work with a larger percentage of them. Why turn down a job in this market? To put it bluntly, because most of you people are showing up for a pay check and that is the only reason you show up. If that statement shocks you then perhaps I am directing this post at you. Yes, you.

Take a seat, you need to see a guy about a thing.

Pop quiz: How do you kill a man?
The obvious aside, one sure fire way is to stick him in a situation, virtually every day, virtually all day, where he is unhappy. Some place that creeps into his head and, after waking up one day, he decides he hates. It will probably sneak up on him. Not long after this realize will feed into itself and turn into less and less productivity for your company. This is the state of the “code factories” in most IT departments. All the benefits and job stability in the world is not worth it one byte. I, personally, will take a job way below my previous pay grade at an unstable start up in order to care for my family before I come home and take all that out on them. Although I have nothing against working for larger companies I do not favor them because they tend to be less interested in the people and making good product.

I have discovered a few warning signs that a place is too far gone to be worth any amount of compensation:

  • They have a sprawling HR department. Your interview goes well. Everyone loves you and wants you on their team. Now they need to go through HR. All of a sudden the best person for the job is reduced to numbers. “Sorry but we have decided to move in another direction.” What is a programmer with storage experience worth? What is the minimum a second person is willing to accept just to manage the storage when there is not enough storage-related work to go around? I honestly have little idea but I can not imagine penny wise, pound foolish is the way to go with your critical infrastructure.
  • They think they just need a “frontend” or “backend” person. Maybe you learn about a subject, not because you love it, but because that knowledge will improve the thing you do love. Maybe it is a necessary evil and you can not do without the related technology. No matter the reason you do not write “real” web-based applications in a vacuum; There are other parts you need to consider for a solid product. Sure, you are no DBA but I think you may agree that knowing that MySQL almost never runs your query as you entered it has a big impact on your final decision of how to do something. Did you know that PHP arrays (pretty much the only data type they give you) are not arrays? They are hash tables with syntaxical sugar. That tight loop you are porting from your legacy CGI C executables are going to need to be rewritten from scratch if you are going to reasonably support the same user base you did before the port.
  • Company is hopping on the latest thing for no good reason. I love new technology and techniques. I love to play with them. I love to build real-world products with them that you can put your hands on and get that “wow” response. One problem with the web, however: Anything new is useless for years until it is further adopted. Either that or it is not new at all and you have been taken in by clever salesmen. Obviously if you need to wait there is nothing you can do until most of your audience abandons Windows XP and Internet Explorer 6 (come on, Mom, give it up already). But what about the “new” things? Take MVC, for example. I am a massive fan of MVC, even back when it was called OOP. There is nothing new there. Although I am all for OOP– and thus MVC– having a non-technical manager making a decision based on something they do not understand as well as they think they do is a problem. You hired a programmers to program, let them write the code.
  • Culture can only be forced so far. When I talk about “culture” I am really referring to people getting along with each other, complementing each others skill sets, being willing to admit there are things they do not know, and working towards an end goal as a unified front. People who want to be there are there because… well, because they want to be there. People who joined the company softball team because they are afraid it will reflect badly on them were already unhappy. Happy people work harder. Money is one of those things that is very important when you do not have any of it. We all need to eat, stay out of the cold, and not have our hair turn white when we think of the basic things we can not do for our children. Getting a nice salary bump is a fantastic pick-me-up but it is no long-term solution to your employees ability to be more productive for you. I have no links to back me up on this but, in my experience, the turn around time for companies that think money is the answer to everything is much higher than people who truly enjoy their jobs. Hell, people– such as myself– will accept less money for other perks that cost a company virtually nothing in comparison. I have my own personal preferences but compensation time or surprise days off for a job well done can go a really long way for some ones mental state.

I realize some of (all of?) this comes off as a war cry against The Man™ and makes me sound like a rebel. I suppose in some respects I even am. I am not anti-big company nor am I trying to convince anyone to change anything they are already doing that works; A company is there the make a profit and my job, as a programmer, is to do with what I have and churn out code as fast as I reasonably can for said company. There is a balance there that, in a perfect world I would rally against, but in reality I see it as a necessary evil. These are just my thoughts on the subject as I have seen them over and over recently. Most of the old ways of doing things have lasted this long for good reasons, but so has evolution. Keep in touch with your people, communicate often, and remember the long-term far out weights the short-term nine times out of ten.

Some Tools Remain Unmodified for a Reason

Some Tools Remain Unmodified for a Reason

I was out with friends last night and one of them brought his Kindle with him. He showed it to an inquisitive second friend. This second friend expressed an interest in owning one of his own. I, of course, had to step in.

Some animals have remained virtually unmodified for a long, long time. Why? Because there was no reason to change. They were already doing something that worked and, evidenced by the fact they are still here, had no immediate need for something new. This approach tends to give us everything we need in the long run without over complicating things. For example, paper-based books work great. They are light, easy to use, universally understood without any learning curve, and have remained virtually unchanged in most of human memory.

So why do I fear books moving into the future? Take Amazon for example. They have removed books from users Kindles without notice before. Unless someone enters my apartment or steals from me on the subway once I have the information it is mine; I own it and no one can take it away from me. This Big Brother thing Amazon has going on is not only wrong but only gives the illusion of control. Also while on the topic, what happens in a few years when Amazon has moved on and they no longer support their 10+-year-old tablet? If the service is gone so are "my" books.

The new e-ink displays are very neat. They only require power to display an image, which they only need to do once, and that power usage is impressively low. Still, though, why did I need to stick a battery in my perfectly functioning book in the first place? Sure, an electronic device may be able to stay in stand by for a month or more but my paper-based books can sit on a shelf forever and still work as intended.

Kindle-Man also felt it very important to tell me that he can carry some insane amount of e-books at once. The obvious response to this is that I am only in the habit of reading one book at a time. Perhaps if I am planning a long plane flight I may pack two books. Is this really so much of a benefit that I would drop so much money and risk the above “features?”

I love technology. I make my living on technology and do it in my free time as well. I, however, see the need to keep technology out of certain areas for at least these reasons. Also let us not forget the Battlestar Galactica, people!

College Bites, Your Hiring Practices Suck, Talent is Worth It

College Bites, Your Hiring Practices Suck, Talent is Worth It

I have recently been on a lot of interviews. When I say “a lot” I mean something like 15 a week for a few weeks (after I weeded out the dregs via phone and I bet Verizon Wireless now wants to have my baby in appreciation). My marathon interview sessions are now over but they made me think of a few things.

  1. Small companies are much more fun than larger, established companies
    I have done a lot of work with New York City and financial companies. Not to imply that there are not cool people working at these places but the red tape and fear of management sends the message that no one can do things as they know they should be done. Instead employees often opt for “the old way” simply because it will make the fewest waves. If we do not innovate we will never have anything innovative. Perhaps the business of money does not change much from day to day but how we store data relating to money? Priceless.
  2. People love wacky projects
    I have written a few things about projects that I did for the sole enjoyment of it. Because of the fact that someone told me I could not, I set out to prove my theory that they were wrong, wrong, wrong. One such project was my crazy RAID array. As I admitted in the article, it serves no practical purpose. It helps no one (except teenage boys hiding their porn collections) but it was just cool. I enjoyed working on it and the people I have shown it to loved looking at it. They love them because it proves I am not just a pretty face– artistic license– but that I can create new, creative methods which they can use. Depending on the project the wow factor alone may be worth an idea man (read: manager of some kind).
  3. College is a waste of money
    Yes, yes, this is the dirty secret no one wants to admit after they wasted ~four+ years of their lives. The fact of the matter is that years ago when my parents were getting ready for their live in the American work force college looked great on paper. It set them apart from their peers because not everyone had the chance to attend. Here we are in 2011 and the government has social programs up the whazoo. These programs sound great when you are deciding who to vote for until you realize, “hey… if everyone goes to college now I am getting deep into debt and spending years of my life just to break even?” It may not make me popular among parents but I say go for the experience with something to show for it right away (no, a degree is not proof of anything other than you can sit down and shut up so stop asking).
  4. New college graduates do not know anything
    To my last point, theory is great. Theory allows us to stand on the shoulders of giants, build on their work, and gives us a spring board to jump off of. Of course, what you can do with theory is just that. There is nothing you can not learn on your own with an Internet connection and a tiny amount of spare time here and there. I just came across a great article which explains my point very well and argues that the new college graduate that looks great on paper has not really done anything yet. They do not yet understand that the several kinds of sort algorithms they just learned do not matter nearly as much as the ability to write understandable code. Every problem is going to look like a nail to them since their lack of experience only gives them a hammer.
  5. Smart employers will fight over talent
    I do not mean to imply I am smarter than most. What I mean is that penny-wise equals pound-foolish. If you find someone you love but choose not to hire because they are $5,000 a year more then someone you just like you may be screwing yourself in the long run. This would need to be decided on a case-by-case basis but good talent pays for itself. Bad– or no– talent means unmanageable code that needs to be rewritten down the road. This also speaks to my experience point above: Some of us are more expensive because you get more employee for the price. If you are a small company who can not afford to hire specialised people that programmer with the strong storage background is going to come in handy when you need to upgrade your NAS array at the extra cost. Good people are called such for a reason.

For the record New York City had some of the best people I have ever worked with, bar none. They knew their stuff, they were down-to-Earth, and they were loyal and hard working. Anyone would be so lucky to have any of them.

Update 2011.05.27
Not to imply that I am the cause but I have been noticing a lot of this kind of commentary in the news as of late. [1] [2]

The Social Web

The Social Web

In the past I have mentioned Facebook and related sites. Whenever I have talked about them, however, it has been in a technical capacity. I never really gave much thought to the why.

Very quickly, what could we say about Facebook on a technical note? Well, the site is– or, at the very least, appears– dead simple. Some user sticks some data in a web-based form. It is then stuck into a database for long-term storage. Later, another user wants said data so it is retrieved and displayed. Simple. There is not only nothing wrong with this but I always prefer that everything should be made as simple as possible, but no simpler. So why is Facebook so damn popular if it does not give us anything we did not already have?

The answer is that it does. It gives us something that is harder to measure: easy communication for everyone. Not just for the protocol engineers so speak Nerd, not just for the computer programmers (those handsome devils) who make software, but for everyone. Before the rise of Facebook long-distance communication was more geared towards one-on-one interaction. The telephone (later the cellular phone), e-mail, ect. These were all giant steps forwards but did not easily address “the crowd.” If you wanted to talk to several people on the phone you could need to make several phone calls. There is also a second issue with most communication methods: they happen in real-time. If I want to talk to someone on the phone they need to stop what they are doing to talk back. Real-time is a great goal for most projects but not always the best solution for all. I do not know you about you but my friends get grumpy when they need to, say, stop sleeping because I called them.

So here comes Facebook: A graffiti-tagged wall of whatever. Not only can you communicate with others but you can do it outside of normal business hours and not have the pesky are-they-available dilemmas. It is a mix between instant messaging, Internet forums, and three-way calling all in one. There are no new concepts here but great application of old ones. The why is the community. The why is the emotion.

OK, so I am late in getting my brain wrapped around this. Perhaps it is a serious short-coming of mine but now that someone got me started I am very interested.