Posts Tagged ‘programming’

technology to make you an important person

Tuesday, December 8th, 2009

in one of umberto eco’s collections of writings he mentions seeing a man in a restaurant who during dinner would loudly talk on his cellphone about large (iirc mafia-related) business deals. the man’s intention was to communicate that he was an important person of significant power. eco then points out that the man got one thing precisely wrong: an important person would never be interrupted during dinner.

power is about being able to do what you want, when you want to, not simply being responsible for greater and riskier things.

i recently thought about this upon receiving a random internet alert. i spent a large chunk of my life thinking that to be more technologically advanced you need to be more hooked up, with all your programs reporting status updates to you constantly. in reality this does not empower you, just scatters your attention.

instead, i’ve now actually made an effort to disconnect myself and hide things away from myself. i have enough trouble concentrating without a periodic ‘beep’ that, upon investigation, will inform me that someone has become the mayor of a new eatery in foursquare. my phone and computer have no twitter/facebook/rss alerts at all anymore, instead i read those when i feel like it using web browser bookmarks. my phone now receives nothing that makes noise, except calls which still require immediate attention unfortunately.

my only exception is emails that go to my work account show up in my computer dock. that’s a work obligation. nothing else does.

technology should never interrupt you. technology should politely wait for you to look in it’s direction, then quickly, clearly, and efficiently say to you what it has to say, and when done move back and wait on the side.

the maliciousness of crowds

Thursday, November 26th, 2009

if there is one thing that programmers can almost uniformly be accused of is coding for the best case: wanting to write programs designed around all things behaving correctly every time.

one random facet of this is the assumption that crowds and their voting can be trusted to behave in a productive way. let’s say you have a website where people vote on who is the best poster / reviewer / uploader / whatever, and rewards them in some way. simple to implement, simple to test, and you’re done, right?

well, never underestimate the willingness of crowds to behave maliciously. getting 1000 people to do a prank on a system like that is trivial, and it’s even easier to get one person with a bunch of zombie machines all over the planet.

attacks like this are really common: websites raid amazon review / recommendation pages for fun, 4chan obliterated a “person of the year” TIME poll, and twitter “trending topics” seem to be raids more often than not.

the last one in particular strikes me as funny. businesses are now using personal hash tags to let people talk about them using hashtags, and in some cases display the results real time in the lobby or on their page. i’m astounded at this. all it takes is one message board post asking everyone to twitpic porn to the hashtag and voila, instant PR disaster.

always program for the worst case, not the best case. unless you have some method to block them, assume that at any point in time there are thousands of bored suburban teenagers who would love to abuse any ranking system you have for laughs.

work pair of dimes

Friday, October 2nd, 2009

never forget that all the work paradigms that you’ve been ever taught or forced into (in case of programming, things like extreme programming or scrum) aren’t some sort of mathematically proven theorems or empirically checked models. they’re simply one guys idea of how a group should work, that happened to work in his group

if you find yourself constantly striving to match a paradigm, back up. maybe you’re not really meant to work that way. do you have something that works for you?

keep in mind though, some people really might not have a method that works, in which case anything that involves structure might be beneficial.

one random example from my own life: my email. i spent a stupid amount of time attempting to stay on top of sorting email because i was told at one point that organized email is important. i tried tags, rulesets in the hundreds, smart folders, all at the same time, and the results were dismal. best part? i never used it. i never once said to myself “oh, i need this communication from the prime minister of ukraine, let me look under “prime ministers”, tagged “ukraine” “. no, i’d just go to the search bar, click “From” and type ytymoshenko@gmail.com. ta-da.

new solution? 4 inboxes (i have 4 mail aggregating accounts), total of 2 regular folders marked “important” and “not”, and 1 smart folder. the rule for the smart folder is:
- if the email is unread, or the email is in folder important, show it.

the only folder i look at is the smart folder. all unread emails are in there and disappear after they’re read (technically, they disappear after i close the window, which i do as soon as i’m done looking at mail), unless they’re something relevant in which case i drag them to the “important” folder. once they’re solved/answered, they’re dropped in either “not”. every blue moon i drag all emails from the inboxes to the “not” bin, just in case things go bad if the inbox gets too large.

that’s really all i need from email, it works with my actual work flow, and actually uses that CPU power this machine has. i imagine this would work even better with gmail, but at work we have lolexchange so eh.

different example of this: i have a bizarre music writing method. i work in these bursts where i write and record for about 5 hours straight, in which time i like to be alone with no one listening, then when done, i leave it alone for a week while sending it to half the people on my IM list to ask for opinions on what they think of it and where it should go

somehow the conversation process is what lets me mentally decide where it needs to go. it’s silly, but songs which i don’t talk about end up piling up as minute long fragments that never went anywhere. songs i do, end up growing into actual songs. well, not immediately. they go through a bunch of cycles of this. some more than others.

(btw, apologies if you happen to be on the “hey can you tell me if this works? what do you think of the cut up trumpet loop?” and are annoyed by it. just let me know, i wont be offended)

in any case, yes, don’t get obsessed with following footsteps of others, just set a similar goal to what they had and find what manner of movement works best for you. but don’t use that as an excuse to be lazy either.