Archive for the ‘Tech’ Category
Et Tu, Microsoft?
The other day, I saw something deeply troubling. It caused a fair amount of confusion at first and, for a brief moment, made me question reality: Microsoft is putting IE8 on a pedestal and discrediting every other major browser. While not entirely shocking, this came from the same company whose reps, when at web conferences, would start with things like, “Okay, so… we know you guys hate us. And we know we suck, but we’re trying to get better.” Now, now, Microsoft. Life isn’t all that bad.
That isn’t to say it’s all that good, either. From a company whose strength lies in proprietary software, platforms, and standards, it’s hard to see Microsoft being very much in line with the evolving web. If you consider the fact that the Internet (aka, Al Gore’s Internet Tubes) is evolving to be a global social community, and the technologies used are becoming more and more widespread, it makes less sense to keep everything under lock and key as time goes on. Granted, Microsoft has been making decent (albeit abstract) progress with new services like Bing, but they have a long, long way to go.
Anyway – a recent IE8 promo stated that IE8 is essentially the king of all browsers. Microsoft boldly states that features like security, privacy, ease of use, reliability, compatibility, and manageability are benefits exclusive to the latest Internet Explorer release. Anyone who has used IE8, Firefox, Chrome (the only 3 browsers Microsoft samples), Safari, and Opera for about 5 minutes knows that this is a complete farce bordering on insanity. You’re right, Microsoft – most web-based exploits don’t stem from ActiveX controls or browser security loopholes in IE. Errrr… right. It’s both largely disrespectful and an outright lie to actually promote their checklist as being anything remotely true. It is beyond me how anyone can buy into that at all – somewhere, on some level, Microsoft has to realize that they are not pioneering anything anymore.
For example, both Safari (which was not sampled) and Firefox make use of extensive security controls. Safari 4 was released with “Privacy Mode”. Firefox, Safari, and Chrome are all massively simple to use, and if you use a final release of Firefox, both Firefox and Safari and extremely reliable (despite FF’s memory issue). Firefox is extremely compatible, with its endless supply of add-ons and great support for migrating from IE (good thinking, Mozilla).
Tangent: I guess “browser security” depends on your definition, though – whether they mean from the outside, or from yourself, because when you’re coming from something like Vista, everything at least seems secure. Do you want to do that? Are you sure you want to do that? You need to confirm that you want to do that. Are you sure that you want to confirm that you want to do that? They really set themselves up sometimes.
Moral of the story: don’t buy into any company (not just Microsoft, but specifically in this example) propagandizing you; find out for yourself. If you don’t know enough to find out for yourself, get a general consensus from the web – do some kind of research – otherwise, we will be chained to the sinking ship that is bad browsers until propriety drags us to its cold depths.
Domain Squatters: The 2.0 Way To Stifle Creativity
Once upon a time, I had dealings with BuyDomains.com. By “I had dealings”, I mean that I was interested in a domain and inquired about it once I saw that it was a ubiquitous generic search page, and was then told that it would cost me thousands of dollars. I had reps trying to negotiate with me, set up payment plans, and commit to paying exorbitant amounts of money. If this has ever happened to you, I’m sure you are currently commiserating.
Personally, I believe in old fashioned business models. You know, the kind where you do something, then people pay you for the fact that you actually did something for them. There’s something about not working hard for your money that really, really bothers me – thus, I would like to mention, for the record, that domain squatters are my mortal enemies. Why? Because they do nothing, and charge you ridiculous amounts of money for it. They register a domain, put up one of their completely retarded and utterly pointless search pages, and then put a 4-5 digit price tag on it, just because they can. Some people will say, “but that’s legit – they’re making money, they got there first; if they can get someone to pay that, more power to them”. I say fuck those people and their domain squatter loving ways, if we’re being honest here. The friend of my enemy is also my enemy. Er, I think it’s supposed to be the other way around, but whatever.
Anyway – imagine that you are in a startup, and you have a great thing going. You’ve worked hard on your business model, you have everything mapped out, you have a great product, and you’re ready to start working on your web presence. I’d estimate that at least 7 out of 10 (maybe more) companies in this situation will be thwarted by people just sitting on their top few domain choices, just waiting for someone to buy into the stupidity of the squatter business model and shell over some cash. It’s bullshit.
If you ask me, domain squatting is much akin to spam – both are totally worthless and a complete detriment to the web. They take up space, obstruct and obfuscate the concept of discovery and possession, and are just really slimy ways of doing business. If you are a domain squatter yourself, contact me so I can personally berate you.
Now that I got that out, I’m going to go have a beer and celebrate today’s Situation team win.
Re-Tweeting Is A Double-Edged Sword (aka, STOP ABUSING IT)
I would like to revisit the idea that when you give people who have any number of minor social issues something like Twitter, you’re asking for trouble. The hyper person, the boring but overly conversational person, the oh-my-god-I-just-found-the-best-deal-on-plaid-pants-pls-RT person, the I HAVE THE BEST SOCIAL MEDIA MARKETING IDEAS EVER LET’S TALK ABOUT IT… BUT AFTER I’M DONE AT MY 6TH INDUSTRY CONFERENCE THIS WEEK person, and the incredibly simple bandwagon tutorial person are all common people to encounter on Twitter.
To be blunt, every time I read a tweet even vaguely related to anything in the above paragraph, I wish I were a) blind, b) mildly retarded and couldn’t understand what I was reading, or c) naive enough to think that any of those cliche (and common) scenarios were worth reading about.
I’ll get to the point – if you are using Twitter in a semi-professional capacity, or if you have more than two thousand followers or so, you should be tweeting with incredible scrutiny. You should not be retweeting stupid things, or assaulting your followers with a consistent stream of RT’s that contain nothing but mindless content. Yes, I know – “stupid things” and “mindless content” are subjective – but we all know where to draw the line. If you don’t know, I’d be happy to draw it for you.
Consider the following:
I especially love the suggestions people give for how to be just as annoying as they are. I have a tip (write this down): if you find yourself feeling like “you don’t know what to retweet”, DON’T FUCKING RETWEET ANYTHING. PERIOD.
Twitter is great, fun, useful, a cure for boredom, etc. As with anything, there is an inherent amount of bullshit involved regardless – the spammers, the con artists, the “U CAN MAKE $80K/YR WORKING FROM HOME!” people that have especially come out of the woodwork lately, etc – but everyone should still do their part to not contribute to an epic humanity fail.
This also gives rise to the fact that, since Twitter gained popularity – and since Facebook became mainstream – everyone is out to become a social media expert. There isn’t anything in the world that makes me quite as nauseous as a teeming multitude of “social media experts” all screaming to be heard and out-tweet each other. I shudder at the thought.
Anyway, more on that later.
For the record: I’m sure the people that I used as examples above are fantastic, talented, knowledgeable people. This is nothing personal, just that someone needed to go under the bus for the sake of example.
Facebook, We’re Already Vain – But Thank You, We’ll Take Them
All throughout history, humanity has largely revolved around recognition. As time passes, we have little left to remind us of past ages, save what monuments (figurative and literal) have been established by our deeds… or something like that.
Facebook, though, seems to think that a name in itself is quite enough, if only it were repeated 12 times on the same page for everyone to remember it:
Don’t get me wrong, I like my name – this, though, is a little overkill. In fact, I wouldn’t be shocked if Facebook offset the organic search rankings of personal websites. Just in case you didn’t know: my name is Matt Way, and I am on Facebook.
Anyway, at 12AM EST last night, Facebook launched the vanity URL feature, where users could use usernames in their Facebook URLs instead of profile.php?id=506358811. Within 15 minutes, 200,000 users chose URLs. Within an hour, over half a million people used this feature. The process is so simple that I was able to do it drunk, standing outside of a bar in Brooklyn at 12:09AM EST (I love you, Google G1 phone).
With the addition of vanity URLs, though (which I’m still bitter about, because ‘mway’ is too short – cut me some slack here, I can’t help that I have a short name), users can now gain that clutch 13th name drop on Facebook pages (when visitors are not logged in). Psychologists (et al) say that if something is repeated, what, 5 times, you’re bound to remember it – hell, Facebook felt that almost tripling that was a good way to make sure that our names live forever in the memories of search engines.
So, if you haven’t yet, go to http://www.facebook.com/username/, pick a Facebook username/vanity URL, and ensure a little bit of e-immortality.
I Just Don’t See The Point
It’s both awesome and sad how I can cite Penny Arcade to express exactly how I feel at almost any point in time. That said, here is how I currently feel about the internet:

I think this is sufficient enough to avoid captioning.
Maybe it’s living in New York that makes things seem more dire than they really are. Maybe it’s trends like Twitter. Who knows – the point is, things get really old, and fast.
When I say things get really old, I don’t necessarily mean that they are useless – I mean that, in no uncertain terms, the people who exploit these things are ass clowns. To expand on the word exploit in this context: anyone who continually produces useless stuff because they think the “next big web app” is built entirely on a single, trendy social medium and regurgitates stale technology that is only minimally different than anything else because no one has any goddamn ingenuity whatsoever.
I’m all for improving things, but jesus christ, please do just that: improve them. Almost every web, desktop, and device app in recent memory that has even the faintest whiff of social networking has been exactly the same; what’s worse, there are retards out there who eat this shit up. I won’t go so far as to hope for a technological dark age, but something really, really needs to come along to put all of this shit out of its misery. To be fair, that could very well be a technological evolution of sorts – and yes, that sort of thing, like many others, comes gradually and with trial and error – but if you are a developer or creative mastermind and you find yourself circling the drain around Twitter visualizations, Facebook quizzes, or, hell, even restaurant finders for the iPhone, please let me know so I can give you a courtesy flush.
I have an idea: make things we need. Example: for those of us who aren’t about to get fucked in the ass by AT&T and the iPhone’s siqqQqQQqqQqqqqq new 3GS release, make a fucking G1 mail client. You know, that thing that is so broken it makes G.W.’s reign of, heh heh heh, terrer, look like the icing on the 80 billion wedding cakes being made this time of year (don’t even get me started). Even better: if you love Twitter so much, stop writing useless apps, move to California, and work for the fucking company so they don’t eat shit 70 times a day.
The times will change – and sooner, rather than later – but until then, for the love of all that is holy, think about whether what you’re doing is even remotely useful or just makes you another idiot that happened to jump on the web app bandwagon.
It’s because of all of this that, when people ask me “why don’t you release all of the stuff you do as open source?” or “why don’t you make an app that does x y and z?”, I’m forced to reply that I just don’t see the point. Most of what I do is proprietary, but more importantly, I like to put a little faith in the people who are actually heading these movements, like Facebook and Twitter themselves (despite the fact that they faceplant when more than 3 people make an API call at the same time). Additionally, everyone else in the world is busy trying to write every possible implementation of social networking right now, so I’ll just be here making useful apps for clients while everyone else is playing make-believe in Web-2.0-All-Over-Again Social Networking Start-Up Land.
On a slightly related (but not really) note, BING really stands for But It’s Not Google. For some reason, when I envision the future of the web, it always has Google as the ubiquitous hub of information that we all somehow orbit, even more than we already do – and strangely, I’m okay with that.
There’s No Gold At The End Of This Rainbow
Money is a touchy subject. It always has been, and it always will be. This is the part where everyone tends to throw in the obligatory “especially in these hard economic times” line. Before I begin, I would like to offer some advice to everyone harping on about the economy: shut up.
It’s interesting that, as a whole, we treat the recent economic situation a lot like the weather. Everyone talks about it (ironic, but I’m getting to the point) – I can’t walk half a block in Midtown without overhearing someone warbling on about how rough things are or how there’s no money anywhere or how no one wants to hire anyone. People: this isn’t the fucking depression. This isn’t a third-world country where we barter with goats and small children. In the words of our illustrious previous president, “This, uhhh, this is Americuhhh.”
Keeping both that and the fact that everyone perceives this to be such a dire time (fiscally speaking), I would offer just one suggestion to anyone looking for a job: stop asking for 6-digit salaries. To be as vague as possible, I have seen numerous people lately with mediocre skillsets (putting it nicely) asking for ridiculous amounts of money. Don’t get me wrong – I totally think that people should be paid what they’re worth, but honestly, honestly, you can’t walk into a company and say, “oh, yeah, I am skilled in x, y, and z, so x * y * z = 40 bajillion dollars”. It just doesn’t work like that.
Working in a field that delicately balances both massive technological expertise and creative ability (with an emphasis on the latter if you’re ever going to do anything useful with yourself), you have to have passion. You have to absolutely and unequivocally love what you do, or you will never be more than a mediocre asset to whatever it is that you’re investing your time in. Example: I love my job (I am fortunate) – if, hypothetically, I weren’t being paid but my bills were taken care of, I would do it anyway. I love my work so much that I would happily do it for free if I could. Unfortunately, that doesn’t work in the real world, but it’s the thought that counts.
Back to the point: it seems like every developer I meet has the mindset that just because they “have N years experience with PHP/Rails/whatever” that they automatically qualify for executive-level salaries. Let me clarify: you do not. I tend to find that anyone who asks for a ridiculous salary right off the bat is not playing with the team in mind; they are less likely to be interested in long-term committment and would probably leave at the drop of a hat if someone offered them a bit more money. I am not interested in hiring any of those people.
It’s an unfortunate stigma that potential employees feel as though a company owes them something. You don’t just get something unless you really, really are worth it. I had always assumed that it was common knowledge that when you’re hired, you usually bite the bullet a bit at first, and then work your way up to where you belong. That said, if you are unemployed or seeking a job, it’s your responsibility to prove yourself and cater to a potential employer – not the other way around.
I think it would be a fun experiment to ask someone what they think their salary ought to be right off the bat in an interview, then go through the motions and assault them with a barrage of technical questions (the idea being to knock them off of their pedestal if they’re not really worth the money), and then ask them what they think their salary should be at the end. If someone is obviously unqualified for that pay grade, they ought to be noticeably less certain (or are just really stubborn). Maybe I’ll give that a shot.
Morals of the story:
- stop whining about the economy
- stop asking for money you don’t deserve
- don’t suck
~fin.
Web Developers: Use Your Tutorials Wisely
Being a web developer is a lot like being a guitar player – everyone does it. With guitar, though, you don’t see 80 bajillion people giving tutorials on how to do extremely simple chord progressions or riffs (which is nice). I would ask the same thing of web developers: stop insulting our intelligence.
It goes without saying that if you need a tutorial to do something simple, you should not be doing it in the first place. Learning how to do something for the first time should be an experience that you work through yourself; you should already understand the core concepts and principles behind what you are doing, and have the tools and knowledge at hand to accomplish whatever task you’re trying to do. Experimenting, testing, and refining are natural parts of the process – they help you grow as a developer and hone your skills. Don’t let someone else do the dirty work for you. Jumping into something you don’t fully understand is, amongst other things, a big problem.
For example, there are tutorials for simple tasks like making a button animate up and down using jQuery. In and of itself, jQuery has a massively simple interface. Granted, you can do complex things with it too (extending it with plugins, customizing the lib, using subtle effects, and manipulating the DOM more agilely, etc), but doing a demo with something like
$(selector).animate({ top: '-10px' }, 150, function() {
$(this).animate({ top: '+10px' }, 150);
});
to achieve a simple ‘bounce’ effect is effectively pointless. When you do simple tutorials, please understand that it is a double-edged sword: on one hand, sharing knowledge is great, and people learn; on the other hand, it paves the way for even more endlessly mediocre developers to be flooding the web.
And honestly, maybe it’s the fact that I am self-taught to the extreme. There are obviously benefits to helping others expand their skillset – my point, ultimately, is that if you’re going to share knowledge, make it knowledge worth sharing.
Things I Will Never Understand #3
In most professional circles (mind you, I use the term lightly), a person’s resume is their life blood when it comes to being considered for a position. As is true with many things, it’s all about first impressions; ideally, if you look good on paper, there’s a good chance you may turn out to be an asset for whichever company is reading that paper – it’s the proverbial foot in the door. Once you’re in the door, it’s all about proving yourself – using your skills in a real environment – but until that point, perception is key.
I saw something this morning that made me laugh at first, then turned into one giant sadtrombone.com – I read a blog post by an industry professional, and in the opening of that entry, where his accreditations were being listed, was what I first thought was a glaring mistake: [name] is a power user on [internet forum].
Let’s stop to think about that for a second: I just used the words accreditation and forum in the same sentence. What?
There are many things that could be seen as accomplishments in today’s world, but somehow it seems like a fairly large stretch to say that being a user on a forum is anything noteworthy. Anyone can be a user on a forum. Almost anyone can post enough to become a power user on said forum. “Are you a power user on any forums, mway?” No. No, I am not. Why? Because I spend all of my time, you know, working. And honestly, I don’t mean to say that forums aren’t important (they are massively so), or that being involved in forums isn’t important (it is), but that’s a lot like saying, “Yeah, well, I tweet a lot about tech stuff.” Woo hoo.
It’s sad to me that we make so many concessions about mainstream technology that suddenly using a forum is a valid credential. It’s good that we keep evolving, but for christ’s sake, evolve in the right direction before Darwin has a field day with you.
Things I Will Never Understand #2
Everyone likes hearing that the many hours they spend developing the UI and overall functionality of their sites is appreciated by visitors, and if it’s not, we all like hearing what we can do to improve the experience in general. It’s the proverbial pat on the back – that small reassurance that keeps management insecurities in check (which are generally numerous… seriously, guys, you should see someone about that). It struck me as ironic, though, when I started seeing all of these “Feedback” fixed tabs everywhere. Oh, you’ve seen them (and if you’ve used them, shame on you) – they’re those stupid, boxy, left-or-right-aligned-but-vertically-centered buttons that just say “FEEDBACK” on them, and when you click on one, you get the same little javascript popover begging for your invaluable opinion. I say ‘ironic’ because, well, they make your site look fucking stupid and everyone is using them. That’s not to say that they’re bad idea in theory – or, even that they don’t show some results – but anyone who is going to implement something as god-awful as one of those feedback things probably isn’t going to listen to your feedback anyway, because they’re too busy with their heads up their ass, doing the same stupid stuff that everyone else is doing.
Personally, I’ve never been one to underestimate the power (and overall purpose) of the contact page. If you feel like your users can’t figure out how to have their voice heard, then you need to rework your UI. No, not by having one of those popovers, but by providing a place where – imagine this – you list your contact information and give users clear, concise instructions on how to get in touch with you. This also typically means not having the sole link to your contact information being a) in tiny text in the footer or b) only in the sitemap. Use your brains.
I’m aware that having a visible, ubiquitous call to action for your visitors is usually a good idea. In this case, though (at least, in my opinion) it marginally cheapens your site. By “marginally cheapens” I mean, “makes you look like you’re desperate for input because you’re well aware that you need feedback”. Maybe it’s just me that feels that way, I don’t know.
In any event, focus on your UI. You want your site to be easy to use, unique, and provide a (positive) memorable user experience; don’t fuck it up by adding widgets that accomplish simple tasks that you could have taken care of an easier (better) way.
Darth Vader, Twitter, and Sailing the Eastern Seas
Life is one long, continuous shuffle of frantic events. For those of us who work for a living (which is a shockingly low number relative to NYC citizens, evidently), myself in particular, this typically involves coding at insane speeds, cursing at IE6, mentoring colleagues, (fail) whale spotting, and occasionally sleeping (when there aren’t zombies to be killed). In general terms, life is often a clusterfuck of information and deadlines glued together by brief moments of reflection. Bear in mind that when I say ‘of reflection’, I really mean ‘laden with cynicism’.
For example, I would like to volunteer the fact that about 40% the employee body in my building has an odd breathing disorder that makes them distinguishable from Darth Vader in appearance only. Another 15% is assumed braindead, as they tend to push every button in the elevator (possibly just to see the pretty lights). Another 20% (ish) use whispered voices on otherwise silent elevator rides to talk about office scandals, just in case I might have any idea what the fuck a vague reference to ‘the thing that girl in the corner cube does’ actually means. I could go on.
When it comes down to it, though, strangers are just white noise. Unless you’re unknowingly friends with them on Twitter, that is – it was a little hard to ignore the guy that gave me the ‘bro arm nudge’, followed seamlessly by the ‘hey bro what up’ head nod. See? Here I was, thinking that Twitter was just another useless (albeit entertaining) networking crutch when it came crashing into my death metal bubble on the train. Real people are on the internet! I don’t know how much more real you can get than a bro ‘what up’ing another bro. Er…
This reality, though, is in stark contrast to responses to a recently opened position at Situation. Craigslist is good for very few things, but among those are providing a venue for extremely sexually disturbed people, finding disgusting, ‘well used’ couches (a frequent description, verbatim), and reminding us that no matter what you do in life, someone happens to be a programmer that wants you to sponsor their citizenship to the US. It’s unfortunate that an estimated 3/4 (sure, why not) of the web has either refused to accept or been entirely oblivious to the web 2.0 movement and are still e-living circa 2000. Then again, with all of the terrible web templating agencies out there, who wouldn’t shun it? I shudder at the thought.
On a totally unrelated note, every entry makes it increasingly clear that I have the least linear train of thought ever. Oh well. That said, time for dinner and more work.
Stress, Killer Biscuits, and Regrettable Text Messages
Before I start, I’d just like to say that recently, one of the better ideas I’ve had has been getting off of LiveJournal. That isn’t to say that LJ isn’t a great platform in itself, because it is – I’ve used it extensively for the past 5+ years – but I’d assume that everyone gets to a point where they realize that most of their blog following is angsty teenage girls, which is a problem. That, and the typical LJ crowd seems to be people that society has extensively rejected in one way or another. I suppose that makes me look like a real winner, but hey, we all have to grow up sometime.
On a slightly less berating note, it’s no mystery that I am easily amused. So much so, in fact, that things like F My Life and Texts From Last Night are staples in my otherwise mindlessly busy day. I discovered the latter today, actually, as is evident by the following:
![]()

![]()
![]()

And finally, a personal (albeit unwitting) contribution from one of my best friends:

I’m not sure how buffalos or crazy boat sex got into the mix, but I mean, I’ll take it. Just… without the buffalos. That’s weird.
Moving on…
In the past week, I’ve doled out 5 full (new) sites, made countless enhancements to existing sites, fixed 40 bajillion bugs in others’ code, and slept for a whopping 15 hours (total). I’m aware that some of you get that much in a day (seriously, after 12 hours I consider it a mini coma). I’m currently working on the following:
- A new CMS for Situation
- A RESTful API for the Situation CMS
- A module wrapper for Google Analytics’ new API
- An IMDB-esque site (in data, volume, and function) for New York City Opera
- Various jQuery plugins (improved & customizable form validation, Twitter/YouTube API integration, etc)
- A media distribution system to manage videos via YouTube & Amazon
plus about 40 billion other things that are still at the drawing board. Most of the above use Rails; some of my team are new to it (and frameworking in general), so the past few weeks have been a good chance to introduce them and get them started with best practices and RESTful web development. We’d previously used CakePHP almost exclusively, so to them, this is Christmas come early.
In other news, SeeqPod has been down for the past week, which is not okay. This means that I’ve been forced to resort to shared iTunes libraries at work and last.fm, which never is really quite as gratifying. Oh well. I’m hoping that’s fixed soon. And while I’m tossing pennies into the well, I might as well go for work slowing down a bit this summer so I have a chance to work on more internal (aka, beta run before releasing as open source) apps. And more sleep. And world peace. That’d be nice.
Things I Will Never Understand #1
There are tens of thousands of professional programmers in the world. Maybe more – it’s hard to say. Development of any kind, though, is a lot like playing guitar – just because you can, doesn’t mean you should. Just like there are tons of awkwardly-handed kids that learn to play (poorly) every Dave Matthews song ever written, there are also tons of developers who do equally pointless things with code. To make this even more analogous, plenty of really terrible musicians land record deals by somehow faking talent or beguiling the powers that be into thinking they are a sound investment (no pun intended); there are also way, way, way, way too many developers who somehow manage to land high-profile jobs but are fairly inept. Consider the following:
function formatCity($city) {
$cityExplode = explode('_',$city);
$cityName = $cityExplode[0];
for($i=1;$i<count($cityExplode);$i++) {
$cityName = $cityName.' '.$cityExplode[$i];
}
$cityName = ucwords($cityName);
return $cityName;
}
Why? For the love of all that is good and holy, why? This code used to live on a popular entertainment group’s (sorry, no names) site that serves several hundred thousands of views a day (which is relatively small in terms of volume). So, several hundred thousand times a day, on one particular component (with many that do similar things), we initialize two unnecessary variables (an array and a string), loop through the array (which has usually 1 but no more than 2 members), concatenate members of that array into the string, and then call a built-in function on that string before returning it. Bear in mind that the entire purpose of this is to format an underscored_string into a Capitalized String within CakePHP. …what?
function formatCity($city) {
return Inflector::humanize($city);
}
function formatCity($city) {
return ucwords(str_replace("_", " ", $city));
}
Both of the above functions are easily marginally better (in terms of practice and performance), but there is still no reason that even Inflector::humanize($string) can’t be called inline in whichever part of the application needs to convert the string. The difference in overhead between a call to the Inflector class’ (which always exists in memory anyway) method humanize and a call to an AppController or Helper method formatCity is negligible (all of those classes will always be initialized, and Inflector::humanize uses the same exact code as the last formatCity example), but favors using Inflector::humanize for the sake of conforming to frameworking principles. The function that calls Inflector::humanize within it creates more overhead than the other (because there are calls to two class methods when it’s used), but if that function were to accomplish anything except for humanizing the string, it would be completely acceptable.
While this example may not cause huge problems in non-massive (eg, hundreds of millions of pageviews a day, like MySpace or Facebook) sites, it is principally wrong and any good programmer should understand exactly what they are doing, what that thing implies, and the cost of implementing it. I will never understand why developers are careless and not completely conscientious of the implications of their code. Memory doesn’t grow on trees – use it wisely.
When In Doubt, Ration For Nuclear Winter
In very minor respects, Ohio is the stuff of legend. At least, with regard to things like “the ability to have a 40+ degree climate shift in under 12 hours”. It comes as a surprise, then, when New York followed suit and, after a 50+°F weekend, we are being hit by a blizzard. My general sensitivity for all things cold notwithstanding, the fact that Astoria city services (plowing, etc) are essentially the FEMA (in all its underwhelming glory) of NYC does not help my relative loathe for winter. Also what does not help: the heat in my office not working, thereby turning it into an igloo of sorts. A metropolitan igloo, mind you, but still. Brr.
Speaking of things that are legendary: the awkward elevator rides in my office are epic in both length and fidget-inspiring silence. Aside from those handful of minutes every day, there will never be another time in my life when I am so inclined – nay, compulsed – to pull out my phone and find something (ANYTHING) to distract me from all of the people that cram themselves into the elevator at once. Inversely, if it’s not dead silence, it’s accountants talking about more acronyms than I know pirate jokes or New Yorkers with obnoxious accents making painfully forced conversation about the size of my ears. For the record, they are 1.5″ – and no, despite the distant, unimpressed expression on my face, I am not going to eat your children. They’re just ears, people.
Last night I watched my first episode of “The City”, and I have decided that if I’m ever going to be a moderately-retarded, early-twenties, dramatic faux-celeb, MTV requires that I develop an inability to perform even simple tasks without opening my mouth (which is ultimately genetic, I think). I knew I should have been telling the neighbor kids that you can’t wear TNMT and Ghost Busters gear at the same time instead of, you know, reading and stuff. Then again, had I not spent most of my childhood buried in book, I wouldn’t have fond memories of things like “Monster Blood” and “Fear Street” and be mortally terrified of IT. It’s both a blessing and a curse, really.
I would like to take this time to impress upon everyone one of my biggest pet peeves. If you do any kind of programming or development, and your code looks like this:
function someCrazyFuncLol2($so,$many,$fucking,$args,$i,$could,$scream)
{
if($args)
{
$var=$this -> getSomeVal (args).'a string'.$_REQUEST['lolvar'];
echo $var.'';
}
else
{
echo 'lolwut';
}
}
then we are mortal enemies. Seriously. If I develop OCD and a bad twitch after spending 10 seconds looking at your code, then you are doing something wrong, and I will refuse to touch it for as long as humanly possible until you understand basic things like formatting, spacing, and proper syntax and fucking REFACTOR IT. Nothing gets my blood boiling like the smell of coding incompetence (well, incompetence in general) in the morning.
Even if you’re not into languages that need compiling (except Java, because no one should be into that; if you are, well, shame on you and the professors that convinced you it was a brilliant idea when you were trying to geek out in college because they need to get with the times and at least teach you a USEFUL language with C-based syntax, like C++ or, well, C in general), you should read the book Design Patterns and, if you don’t already use patterns and OOP in general, learn something while you sit in the corner and think about what you have (or haven’t) done. Despite the fact that the book has a few sparse examples in C++ and Smalltalk, it has fantastic, abstract ways of describing the purpose and capabilities of various types of programming design patterns. Go read it, or, if I know you, I’ll lend it to you when I’m done.
Thank god for terrible MTV “reality” shows that give me more reason to spend time reading and working instead of letting my brain atrophy vicariously through the life of the richest, most famousest, and weirdest-looking NYC girls that TV has to offer.
If Only It Were This Easy
@dishes = Dish.find(:all, :conditions => { :status => "dirty" })
@dishes.each do |dish|
dish.clean!
end
Life would be so much simpler.



