Spaghetti code and other unknown recipes…

Hello all,

I have been refraining from writing you for the past months. Not because I don’t like you. More because my fingers are in pain from all the secret, not-for-public-eyes-yet writing I’ve been doing.

You see, this blog was the beginning of what now has become my biggest academic project EVER. Indeed, from a falafel chats with my developer friend Ori, to learning the basics of programming, to studying more computing history, led me to actually WORK. AT. ORI’S. COMPANY. Yes. For the past two months, I have been working, from 10am-6pm, among front end (front end=people who build the ‘user facing’ app you see and use) developers at a very large tech company in Berlin. And loving every freakin’ minute of it.

The reason I am not sharing the story about every juicy, interesting, strange, funny, weird moment of my daily-adventures-among-software-developers is because I am saving it all up for a book. This book will try to explain the daily life of corporate software developers: how they work, what they care about, and how they build the infrastructure you are holding in your hands and use every day. I will translate things like “spaghetti code,” (its a real thing!), tell you that developers are really not nerds after all, and show you that they like using cooking recipe metaphors to explain the basics of programming to non-programmers.

For the past months, I also admit that I have ‘gone native’ and now want to run away from university life and become a developer. But that’s just how fieldwork works.

Check back to this space soon.

spaguetti-code

 

A gathering of awesome programmers

Hello. After a very embarrassing lull, I’m back.

I just arrived at a conference in Vienna called the European Workshop for Trust and Identity – a good conference to attend for anyone studying Anonymity like me.

The main purpose of this gathering is to bring together a lot of people who work on perfecting encryption tactics and privacy models in digital networked communication. Read: a gathering of awesome programmers.  Indeed, while Paula learned to program, she got herself invited to a nerd conference. Many of them talk like this:

“We are building an open knowledge and ontology model and with DENARS we want to establish such a DNS/blockchain like public infrastructure for identities to interconnect with each other.”

Yes. Words that particularly make my brain go up in smoke are blockchain, and DNS, and GNU, and a multitude of other things.

The first thing I noticed was the sociality of these geeks. There were 10 tables set up in the common room, and about a dozen of the technologists gathered around one particular table – squeezing in shoulder-to-shoulder, placing their laptops down on the last possible space available on the table. They all had their laptops open – and were presumably coding something. Something important no less. I imagined myself part of this cool crowd. I looked down at my laptop. It wasn’t an IBM thinkpad, it was an embarassing macbook. I sighed. It did have a lot of stickers on it, which gave me some street cred. But what would happen in the moment I opened up my laptop? I had nothing to code. Nothing to say. I kept staring at them longingly. The coolest of the cool crowd seemed to be their two leaders: a man in his 70s and a girl, who actually looked like a guy, in her 20s. The man had wild grey hair and a grey beard, and dressed like a teenager. And the girl-who-looked-like-a-guy had a shiny shaved head, and thick black glasses. They looked really busy. And so damn cool.

I am giddy to find out what these next few days, immersed among these nerds, will bring.

 

 

Understanding San Francisco

These past few weeks have been a whirlwind. I have been running around, conducting an interview-a-day with programmers, technologists, hackers, and activists about their take on anonymity. While they told their stories, the questions I was asking started jumping out of the page, coming alive in their passion to explain what is wrong with this world, and how their work is trying to fix it.

While anonymity and these characters will undoubtedly appear elsewhere (a book?), I want to devote this blog entry to the city of San Francisco. A city that, because of all my interviews which are dispersed through Oakland to Palo Alto, I’ve been getting to know better each day.

So this entry is not about programming, although it is about a place that a lot of the tech industry lives and innovates in, so perhaps its somewhat related.

My partner and I have been lucky enough to have had friends and friends-of-friends leave us their apartments in various parts of the city, for a week or two at a time. This helped us explore both north and south, yet knowing where San Francisco starts and where it ends can be at first, deeply confusing. Perhaps because normally people work in a city (like London), and live somewhere out in the suburbs (like, lets, say, Woodford). You could live in the town of Woodford, but commute one hour to London each day. One would never call Woodford, London. But in the San Francisco Bay Area, this isn’t really the case. Somebody can live in southern part of San Francisco, but commute every day to Google which is even more south, in Mountain View. Or they can live somewhere in San Jose (even more south than Mountain View), and commute up in the city of San Francisco in the SOMA financial district. Or you’d have a hipster who lived in the trendy Mission district of central San Francisco, and commuted to school to Berkley (which is north east) on the weekdays. In San Francisco, I don’t really know what’s the centre, where something is “happening” and where things are not. When it comes to the tech industry, everywhere seems to be happening in some way or another.

The actual movie-and-postcard version of San Francisco, the one with the cable-cars and hilly streets with Victorian houses -that part of San Francisco – is located in the northern tip of the peninsula (that nubby thumb-like bit), in districts like SOMA or Hayes Valley. Oh yes, and about the districts. The city of San Francisco is incredibly small. As a comparison, a city like Warsaw covers 200 square miles, while the city San Francisco (only that nubby thumb-like bit) covers 46.87 mi², but has half the population of Warsaw (700,000). What more, for some reason San Francisco has 36 neighbourhoods in this small little nubby thumb-like area of land (again Warsaw, as a comparison, has 18 districts). 36! I can’t seem to figure out why. I keep reading guide-books urging me to visit  “Hayes Valley for the shopping,” or “the Noe Valley for the best sushi.” I wandered throughout the city on Saturday in search of these famous districts, but was automatically confused. One “district” is literally four streets with a few shops on it. This hyper-active nature to make a district out of every garbage bin lying around makes you constantly confused where you are. Because you can literally walk down a long street and cross 3 different districts.

Other things I noticed about the Bay area, in no particular order:

a) The Stanford University campus (which is located south, near Palo Alto and Mountain View) literally looks like some sort of virtual reality kingdom, like a video game or place in Second Life. Everything is pristine and massively spacious, and the architecture is trying to be Roman but something isn’t quite right: the building edges are too bulky and pixelated, just like in a bad virtual reality game. I was there on quiet day during summer holidays, which also made me feel even more like being in a virtual reality game – with only two or three people dispersed in random places of campus doing strange things like eating two ice-cream cones or juggling.

b) People are incredibly good at emailing and networking. Given the nature of my job, I have to interview a new person every day. Getting to somebody from Google will get met to Mozilla, which will get me links with Airbnb and Uber, and so on and so on. Everyone is used to having networking lunches. When I email them, even just through a cold-call saying something along the lines of ‘hi, i’m nobody you know and meeting me won’t help your career in any way’, they will email me back in a matter of minutes, proposing we meet over sushi lunch. This speed of things and openness is just how things work around here.

c) Rents in San Francisco are at an all-time high. The average rent right now is 3500 dollars per month for a small 2-room apartment. You can say ‘yeah, but all the app guys are making a ton of money to pay for these apartments.” Well, not really. And not everybody in this city works in the tech industry, so what’s happening to them?

d) Last but not least, the massive amount of wealth, compared to the blatant poverty, drug abuse, and homelessness in districts like the Tenderloin, shock me on an everyday basis. Walking to my interviews, I am confronted with millionaires/billionaires leaving their hotels on Market street, and then 15 minutes away, I brush past homeless women holding needles and clutching their worn sleeping bags. All in a place with a booming app industry, an industry which claims to be ‘saving the world’ with the technologies they invent. My first reaction is ‘what world are you saving?’ Clearly its not saving ‘the world’ but ‘their world.’ Our friend’s daughter just did an internship with a foundation which helps the homeless in this area, and she was explaining her deep frustration with her city. She was in the minority of young students who did more “social” internships, while most of her peers ran to intern at tech startups to ‘save the world.’

To read up a little more on this issue, see the NY times article which just came out last week, which describes how “white-collar employees are building their digital futures around the corner from drug dealers.”

Meanwhile, I’ll get back to my fieldwork.

13

Aug

A High Velocity Hamster Wheel

It was a regular day at the co-working office in San Francisco. Over the desks behind me, two long-haired Israeli girls are talking about their dog-walking app they are trying to optimize. A few nerds are sitting around on the couches, locked behind their earphones. A larger group next to me are working on the some sort of food startup. As one of Theo’s veteran investor-friends told me, that’s all that matters here: tech and food. Or a mash-up of tech and food. So a startup that is all about food is just exactly San Francisco.

I was overwhelmed how everything was about startups. Everywhere. Startups were like shoes. You don’t wear shoes? Sheesh. How do you even get around the streets?

The clock barely hit 12:00 and Theo swiveled around his chair and said, matter of fact, “Lets do lunch. Walk with me.”

I wasn’t hungry but didn’t argue, and followed him outside to the food truck lot, where life was buzzing with lunch-hour nerd madness, programmers in hip khaki pants were walking from food truck to food truck, deciding between south Indian dosas and eel rolls from the sushi bus.

Theo sat down with me over his bowl of Cajun chicken back at the office.

“You should look at the thing you are doing the same way everyone else here is looking at it: whether you are a business development person, a sales person, a coder, or a researcher – its about how far can I go?”

I was confused. “What are you talking about Theo.”

“Just ask yourself man. How far can I go?” He pounds his fist down on the desk. “Just do it. Use Silicon Valley as a launching pad to take your career as far as you can possibly imagine, perhaps in different ways than you have previously ever imagined it. Look at yourself like another entrepreneur who is trying to do something that matters to them. But what problem are you trying to solve? What’s your problem?! What’s your problem and what’s your solution. How do you use the Silicon Valley thought process and the methodology of how things get built here, and take your name to another level?  Maybe what happens here is that a whole bunch of people you thought were not into your idea, are suddenly flocking to you. Its a dream factory, man. Its building your dream.”

Theo’s intensity confuses me. What is he talking about? Ethnographers such as myself just sit and listen. We’re not about ‘taking it to the next level’? Taking what to the next level? Staring harder? Listening more? I’m still confused.

“The valley is a very collaborative place. Everyone will be interested in what you are talking about. Its like, ok, ‘how do we blow that up’? You know your chart on your website you sent me. You know the one at the Digital Cultures Research Lab (he means this one)? The one with the bubbles – that’s maybe what you had when you landed here. But now take that chart, and blow that up!!” Theo was scaring me a tiny bit as he slapped the table in excitement.

He munched on some more chicken.

“Inevitably your answer is going to come down to ‘what do we want’? What do you want to achieve here? Ask people for the craziest shit imaginable. But if you are going to ask for some crazy shit, this is the town you are going to do it. Embrace the valley culture. The valley is a rail gun. You are the projectile of the valley in a rail gun. Nothing is going to happen if you don’t push hard enough. You are going to fail. But make it. Break it. Or pivot. And the way things work here doesn’t work anywhere else. You gotta harness it like a horse. If you’re going to be on a hamster wheel you might as well be on a high velocity one.”

“I still don’t understand what you’re talking about Theo,” I smile.

“Oh man, listen. There is a cult of personality here, so how big can you make yourself? How many people want to agree with you, align with you, party with you. There is a conference room here in this co-working space. You and your partner can just come over here, we’ll invite 100 of the most important people, you both lecture about some stuff, and blow that shit up!!!”

Yikes. Now Theo was getting really excited. I started moving back a bit.

“There is all this shit that’s going on here in the Valley. I know what you guys have to start doing. What you and your partner have to get into is creating your own startup. I’m telling you. When in Rome. Blow it up. Tell your partner to get over here, and we’ll whiteboard some shit.”

Whiteboard some shit? I’m reluctant. I don’t think he really knows what academics do. But I am feeling my heart race and my whole body get wired up. So maybe its worth to ‘whiteboard some shit’ and see what comes out of it.

11

Aug

Silicon Valley’s “Other Guy”

There is something unique about the pedestrian traffic lights in San Francisco. At the moment the signal lights up to ‘go,’ I walk two steps across the street and the light turns back to red and starts counting down from 12 seconds to let me cross. 12 seconds is all I have. If I stop or pause, I won’t make it to the other side. So I dash across, walking briskly, frantically. Each day that I walk through this city, these traffic lights remind me what this city stands for, capturing everything I’ve learned in the past few weeks in San Francisco. Be fast. Keep your eyes and ears peeled to the road. Because if you stop to think, the next car will start driving towards you.

In the span of 7 days, I already met startup moguls, dot-com veterans, futurists, designers, app-developers, artist genius mathematicians, nutty professors, tech industry pioneers, and a few other guys in between who help these guys get stuff done. And every hour, every minute that my eyes are open and my ears are glued to the cacophony around me, these people want to talk to me. And not just say ‘hello’ but really TALK. Really explain to me how the world worked back then. How it works right now. How it will work in 30 years. And most of all, who I should talk to next. Every night, my partner and I return home in the evenings breathless, hearts beating to the sound of all the voices that we encountered on our days of fieldwork. So despite the fact that I have 7 stories to tell in this blog entry, I will just tell you one of them today.

Yesterday marked my first day of ‘official’ work. And just as a reminder, I have been commissioned to do fieldwork for a project about the re-configuration of anonymity in all aspects of life, not just through the tech/media industry. My job is to conduct a slew of interviews with people in the Silicon Valley who have something to say about anonymity, identity, privacy, and related topics, in order to give an overview about the discourses on anonymity. While my personal interests lie in how anonymity gets programmed and coded, I am also speaking to people specializing in online policy, app development, people at Facebook, Airbnb, dating websites, and anyone else who can help give me a clue to where anonymity has gone today.

Because my work here is be based on a lot of interviews, I needed a base, a place where I could sit quietly and write my notes down before and after interviews. On Sunday evening, I did a search for co-working spaces in San Francisco (FYI: co-working spaces are places where you rent a desk per hour, per week, or per month, and run your business out of a large shared office of freelancers, startups or what-have-yous). There were dozens of co-working places on offer in the city, but I stumbled across one particularly-nice place in SOMA near the office of where my partner was doing fieldwork.

I walked in on Monday morning at 10am. About a dozen people were sitting around in big cushy chairs in a 200m2 white room lined with brown desks. Nobody seemed to be in charge, so I just asked somebody punching away on his laptop and he pointed towards a sharp-looking Italian guy who welcomed me with a big grin. He told me the first day is free, and I am welcome to sit anywhere I’d like. I walk back a few desks and put my laptop down next to a 45-year old man sitting on a filing cupboard, chatting to a girl behind me.

“Oh I’m sorry, this is your filing cabinet,” he said.

For the sake of this story, I will refrain from using his name. “Just call me ‘The Other Guy,” he said. Theotherguy. Theo Therguy. Sure, let’s call him Theo.

Theo was an excited tech industry veteran. He looked like one – 45 years old, seemed like he smoked and partied for a few years, had seen a lot and done a lot. When I asked about his official job, he gave me multiple titles like ‘accelerator,’ business developer, public relations guy, and hustler.  He was ‘the other guy’ – the guy you didn’t see on the front page of Forbes magazine, or the coder everyone was talking about over the water-cooler. He was, admittedly, part of the “thousands of other” guys like him in the Bay area who helped businesses grow, helped people realize their dreams, and helped ‘make it happen.’ He immediately took a liking to me after I told him how much I was interested in explaining programming and the programmer to a larger audience. He liked how I wanted to tell the story of programmers from a different side:

“Right on man. Coders don’t want to fucking party in fast cars, drinking drinks on beaches and nightclubs in Miami where I party. They’re not in it for the money. Its the investors who invest because they care about the cash. Coders do it just for their art. They want to sit and perfect their little babies. Coders sit over their laptops and want to develop until its done. The harder the project, the better. If they code something that’s outta this world, they will get recognized for it. And its that recognition their after. Like, ‘hey man, you did it, you’re the shit.”

Theo was intense. And he wanted to explain the whole Bay area to me in one breath. He was born in San Jose, grew up there, and was a banker for years until he dropped his day job and decided to help startups. One of his many, many projects was helping run this co-working space which prided itself in being less of a high-end players-club that many co-working spaces in the Bay area had become, and more of an open-doors for people with a vision. This included cheap rents, pay-as-you-can services, and friendly networking.

Without knowing what was happening exactly, he swirled around me in his chair, and started explaining the ropes of the office. He introduced me to a few of his close colleagues  — also gray-haired beer-bellied older men who looked either like bankers or football coaches. For the next 30 minutes, he also gave a me a whos-who of Silicon Valley – naming names of tech moguls I’ve never hear of, and telling me stories of the businesses that crashed and succeeded. Every two sentences, he would just point at my laptop and say, “you don’t know it? Look it up.”

Moments later, Theo was leading me outside to lunch to the straight-out-of-a-movie food-truck yard that was situated right next to our co-working office (also one of his many ventures he helped start up). I watched in awe as he started high-fiving practically everyone – all the nerds who spilled out of their tech offices nearby, the venture capitalists, and the food truck cooks.

He looked at me and smiled: “Everything starts here man, everything. When all roads lead to Rome, you better be in Silicon Valley.”

02

Aug

Hello, World! I Got Here!

My quest to understand a bit of programming as well as the spirit of the programmer continues. And while I’ve been having lovely evenings with Ori in Berlin, I would not be a good sleuth if I just stuck to one informant. So to expand a bit and bring my search elsewhere, I decided to hit one of the meccas of computer and software engineering – a home to hundreds of startups and global technology companies, a region that fostered the growth of innovation in computing, and a place where my computer science guru, Stanford’s Nick Parlane, started teaching the CS 101 course. Yes, that place is San Francisco. Or Silicon Valley to be exact.

I know it sounds a bit nuts. And yes it also sounds like I am stalking my CS 101 teacher. But in reality, my job at the Digital Cultures Research Lab sent me here on a different project, and in the meantime, I will be digging deeper into the world of the programmer.

So here I am. In a region of Silicon Valley called Mountain View – only a few kilometers away from the Googleplex and a bunch of other global tech companies. I found this map which, albeit looks like a map some excited-to-be-here nerd made during his lunch break, is helpful to get a sense of how densely-laden with tech companies this region in fact is.

The plan for the month is to meet with all sorts of funny characters who can help explain what the Silicon Valley still means for programmers today. This morning, I just took a stroll around the town to the weekly Mountain View Farmer’s Market – (which, by the way, was hands-down the most abundant market I have ever been to). While walking through town, I couldn’t help but notice the amount of software-engineer types gandering about. Big running shoes, glasses, polo shirts, shorts, pasty-white faces. The streets were mainly young male programmers or elderly Asian couples. While I’m not sure it wasn’t just me searching out for the nerds, I swear there was indeed something off by the demographics. Google alone supposedly employs more than 8,000 people here in Mountain View. And that’s just Google. If you look back at the nerd map I posted in the last paragraph, the numbers of white males populating this area can be overwhelming. I swear there is something off-kilter going on.

This Guardian article nicely paints a picture of the Silicon Valley from somebody who grew up here and had nothing to do with the tech industry. And while you read that, I will get back to my CS 101 course.

03

Jul

Programmers are the new ruling class

We were sitting together on the grass at Berlin’s Hasenheide park, enjoying the first heat of the summer. Ori, almost starting mid-sentence as if he opened his head for me to see what was mulling through his brain, said:

“I really doubted what you said last week. I doubted that programmers are really superstars, the new upper class. I wasn’t so sure.” I nodded, listening, going back to the moment that Ori negated my little thesis that programmers have the ability to rule the world today, stating that hackers who can really play superman, are only the .001 per cent of the population of programmers. But then Ori started explaining a revelation he had last week. After the past two years of having one foot in Tel Aviv and one foot in Berlin, Ori decided to really move to Berlin, register himself as a resident, gain a German drivers license, start taking intense German courses, etc. In order to do so, he would have to register himself in the “Stadtamt” (city hall) – which is know for its very annoying, snail-slow bureaucracy. The state city of Berlin offers an online sign-up system to set up an appointment with a bureaucrat who will help you gain all these documents, yet this appointment system has a three-month long waiting list.

So last week, Ori logged onto the Berlin city hall website, and gained an appointment for late-August. The only way he (or anyone) could get an appointment sooner is if another person cancelled, and one was quick enough to jump into the free slot. But in order to find this free slot, one would literally have to sit in front of the computer 24/7, refreshing the page and checking for cancellations. Frustrated, Ori decided to create a script that would scan for these free slots automatically. I won’t tell you exactly how it worked, mainly because I didn’t know, and secondly because giving away his secret might start a critical mass of other hackers creating similar scrip systems, website administrators might notice this, in turn crushing the system.

“So Paula, in this moment I realised that we are sort of a new upper class. Not in a big way, like hacking massive secure systems, but in all the little tiny ways like being able to create a script that helps you make a driver’s license appointment, or making a script to  help with booking a cheap train ticket. There are all sorts of little everyday examples that help us get in the backdoor of all sorts of systems that run our lives.”

Hm. This made me think about what exact little daily practices regular, everyday coders do in order to make their lives faster, quicker, easier than the rest of us. Do they all work like Ori does? Do they all have the knowledge to create these little keys that unlock all sorts of back-doors? How will the growing gap between those who understand how to get in the backdoors, and the rest who can not, impact how we live our everyday lives?

While Ori is my friend and he would give me access to this super-script, I started thinking about how annoyed I would be if somebody slipped in front of me at the two-month-long queue at city hall, just because they knew how to program. I’d be furious. I’d want to stick out my leg and make them trip. Or perhaps just learn how to program. But mainly I’d stick out my leg and make them trip.

08

Jun

The Microchip and Other Things to Keep Us Entertained

For those curious what I’ve been up to in the past week – well, I’ve been keeping myself entertained reading a lot about the computer, watching a lot about the development of the microchip, and listening to stories about the first computer shop. To follow along with me, I first suggest reaching for a book on the history of the computer, by Martin Campbell Kelly and friends:

Then I found a nice documentary produced by PBS (and perhaps heavily funded by Intel), for those still wondering what the silicon microchip is all about, what vacuum tubes were, and why that valley is called silicon valley:

And last but not least, when my eyes were too tired to read or watch anything, I found this podcast which in essence is the audiobook of Stan Veit’s story of the Personal Computer. Stan Veit was a pioneer in the realm of personal computing and for many years the editor-in-chief and publisher of Computer Shopper, and opened the first computer shop in New York.

Sure, its a lot to take in, but just in this week I know a bit about the first developments in the computing machines in the USA (Moore School, MIT, and Bell Labs), and and England (mainly based in Manchester), and the many men who ran these enterprises. I then found out about more white men who ran away from corporate culture to California to build the microchip (establishing the Silicon Valley fame), and then another white man who created a store in New York (The Computer Mart), which was one of the first retail outlets selling personal computers to, well, mainly nerdy white men. Although its not surprising that yet another industry was so much of a sausage fest, you will find that if you look closely into these stories, the women were the real people making the computers, pushing computing culture forward.

25

May

Highs and Lows of Programming Self-Confidence

So I don’t really spend that much time coding as I would like to. A half hour a week, maybe one hour maximum. Just like with any self-learning course, taking time out to actually do it is quite difficult. But despite the fact that only a small fraction of my work week is devoted to making the invisible world of computing a bit more visible, my loved ones around me still treat me like a coder-in-training, like somebody who will potentially help them solve their computer problems in the future. These are huge expectations to live up to. Every time one of my friends or colleagues says “Here comes the programmer!” I just want to escape through the cracks in the floor. Me? Programmer? There is a huge feeling inside me that I will just end up disappointing them. You see, programming is about doing some calculations. Its about logical stuff. About problem-solving of sorts. And the last time I took a maths course I was in the 9th grade. I have a serious calculation handicap.

Let me give you an example. Today I spent the morning trying to do a few calculations for the band I play in. Complicated tour costs and payout stuff. For me this task seemed impossible – I was sitting in front of my computer for the second morning now, just staring at my spreadsheet, scratching my head and punching the keyboard. I realized that this whole “coder” identity I was accruing was something I could not live up to: somebody good at maths, good at problem solving, logically-minded. That isn’t me. I wanted to do these calculations all on my own, but just couldn’t muster up the brain power. But if I asked someone for help, I would blow my cover! I would show the world that I actually couldn’t do simple calculations. I felt a bit ashamed. With no way out, I paused and asked my boyfriend for help. He walked up to my desk and jokingly exclaimed, “What, the coder can’t do a simple calculation!?” No, gulp, she can’t. We sit down together, and by the end of our 30 minute session, while staring at my mess-of-a-spreadsheet, he told me, “I don’t know how you’ll ever be a coder with this level of maths skills.”

I don’t know either. I started to get quite discouraged. Perhaps coding is just for the math geeks and the thick-skinned? There are commands I still don’t understand, syntax I still can’t comprehend, lessons I listen to and seem to understand, but the understanding just doesn’t sink in to my core. I don’t know how to explain a For-Loop to you, or how an expression works.

I went back to my doing my Coursera course. The course is structured into two bits – the lectures and the exercises or ‘quizzes’ that follow each lesson. I decided to do a few more lessons to really test my knowledge, and to see if, after repeating a few old lessons and trying a few new ones out, my programming self-confidence would continue to get brutally crushed. The section I was working on was about the basic structure of digital images (which, for those of you who are interested, are made out of pixels that correlate to a certain colour on something called an RGB scale — which (who knew!) stands for a Red Green Blue scale that ranges from 0 to 255. Each image has a red, green, and blue value (which each range between 0 and 255, and manipulating the RGB scale on the image using certain code will change the image appearance). I started doing all the little tasks: making the image smaller, and then changing it into grayscale, wiping out the colour values, etc. etc., And while doing these little tasks I started to realize something: when you write a line of code that actually works, your confidence gets drastically boosted, and you instantly feel like a queen. On the other hand, if your code fails, then you feel like throwing away the computer. This feeling doesn’t correspond with the difficulty of code you write: writing the same line of code over and over again helps you feel like a coding queen, and helps you also forget that you did something wrong that the computer rejected just 60 seconds ago. Another thing that also helps is bragging. Bragging about finishing a command line or creating a program that actually worked (Check this out! Its amazing, I just changed this image into dark gray!), will also boost your programming self-confidence. So in those dark moments when you really feel you aren’t made for programming, just write a line of code that you know will work, press “Run,” and then yell out into the air “I did it! I made this run bitches!” Feel the satisfaction? That’s the feeling of mutating into a computer geek. And when you ever wonder why your extreme computer nerd friends brag all the time about the lines of codes they write, then just remind yourself that they are just trying to boost their programming self-confidence which can easily be crushed, but also easily recovered, with one simple line of code.

18

May

When Programmers Get Annoyed They Innovate

It was a late Thursday evening and I just arrived in Berlin. I went straight from the train station to meet Ori and his Brazilian friend Gabriel. It was a holiday weekend and the town was alive, and I pushed my way through the crowd at Rathaus Neukolln. I spotted Ori from a few meters away because he always seems to be coming up to me while laughing (as if I had just told him a joke telepathically seconds before meeting him). I was also glad to finally meet his friend Gabriel. We strolled from the Ubahn station towards a bar Ori recommended. I looked around the crowds of young hipsters heading in all directions from Neukolln’s main streets. I then looked at Ori and Gabriel and a small feeling of satisfaction washed over me. I must admit that at that point it felt quite nice to stroll around Berlin’s coolest district with two extremely good-looking hipsters. Indeed, programmers are the new rockstars.
We arrived at the bar Ori suggested which looked like a dingy basement party. The one you went to in high school and felt completely awkward at. We sat on an old run-down sofa and Ori immediately started talking about what he did that day at work. He was excited. He told us that he wrote a very useful program that his whole team could benefit from. And he did it just for the heck of it. Not because he received specific orders from his boss. Just because he wanted to.
“Wait a second,” I stopped him. “So why did you do it? Because you just feel like you want a challenge?”
“No, I wanted to write something that runs on all platforms. You write it, and have zero dependencies. So whoever has a UNIX-based system, like Mac or Linux, they are going to run it just by pressing on it. And if I would write it in Python, they would have to install Python. Even if Python becomes standard. People install it. I don’t know many developers who don’t install Python. So I could have done it in Python. It is expected for you to have Python. If not, you write one line and you have Python.”
Note that at this point, I had no idea at all what it was he was making nor did I get what this ‘one line’ was that would magically turn every code into Python, but perhaps I will find out later.
“So if its very basic, you should write it in Python. But if it get just a bit complicated, you should write it in a different language.”
“So what were you writing today? What is it that you wanted to communicate.”
Ori stops to take a breath. “I think I told you about it. We work with a review system.”
“Yeah…”
“So you have to imagine that whenever you write a code, and you want to add it to the main repository…” Ori hesitates because he sees that I have no idea what a repository is. He steps back a bit.
“Ok so there is a main repository for all developers. And everybody can contribute to this main repository.”
We look at each other. Gabriel says:
“Its like a labyrinth!”
“Its like a huge machine, and you just fix each part?” I suggest.
“Its not a huge machine! So, its like a shop of codes. And you have four tailors. And they make codes. And they put it in the store where all the codes are hanging in a collection…. er.. I don’t know…,” Ori looses track of his metaphor.
“Ok I will tell you how it works, because I can’t find a good equivalent in the real world. So we are four developers, and we want to write one app. That’s the main point. There is one thing that we all want to write together. So if I write something, how do we connect it?”
“Ah, ok! So are you writing one part of it? Like you are writing the road, a certain feature, and the other guy writes whatever.”
Gabriel says,”you divide it before you start working on it. So lets say its a robot – one would do the leg, the other the head, the other the arm, and so on.”
“Yes but its not..”
“So how do you connect it? The junction. That’s what you’re talking about,” Gabriel adds.
“That’s the repository,” I say.
“Yes, exactly. But wait wait,” Ori stops us. “We have four developers right. If there were only two developers, and we wanted to write a piece of code, or one robot or whatever, then we would talk to each other all the time and just tell each other ‘ok, I wrote this part, take it, and put it here, and give me yours and we see if we have the same version, you know?” Ori seems his metaphor is now getting complicated so he starts again: “Its like writing a book. Where everyone is writing a chapter. And you want to put it together. But its a book that you always write. That’s constantly being written.”
“But is somebody putting it together? Or is it a robot? Is it automated?” I ask.
“So that’s the thing. The old method is that somebody is putting it together. Or its was more like two people. But if there are four people writing the code, this gets complicated. And if there are 100 people it gets very complicated. Think about one hundred people, and every day, each of them writes four pieces of code and they all want to merge this code together. So lets go back to the four developer example. You have four developers making code, and then you have a fifth computer which is the server. And everybody gives their little pieces to this server. And this server holds the whole picture.”
“Wow.” I imagine it now and get quite amazed.
“And the review system is something on top of this between you and this server. That before it is merged to this one main server, it goes into review. And when its in review, all the other developers can look at it and prove it: “Oh its good enough, we want it in.’ or ‘no, they have to improve it,’ and then they write their remarks about what has to be improved.”
I am getting quite pumped up at this point because I somehow start to imagine how programmers work together. This is big.
“So what I wrote today had to do with the review system. So, ok, we have a big project. We have 100 contributors who all write code to the project. So when you want to put something in for review, you don’t want to ask all the 100 people all the time, because its going to be too much stuff they are going to see, and they won’t have any time left writing their new code because they’ll be so busy reviewing all day. So you want to choose the people who actually know something about this piece of code, are interested in it, and its relevant to them, you know? So the script I wrote is for finding these people.”
“WHAT??” I sort of screamed which was perhaps a little too extreme of a scream for my level of fascination with Ori’s new invention, but it was already late in the evening and I had a few beers.
“So you wrote a program to search for the reviewers. So you are like a meta…”
“Ok we usually what we do is that when we put our new code into this review system, we each have to manually go through and add reviewers. So like say, “Oh, ok, I think this guy is going to be good for this. So I’m thinking about Gabriel, and I add him. And then I think about two other guys, and I add them. And all your teams needs to know about this too. And so the script I wrote analysed the piece of code you committed, and looked at what piece this code is adding to, and then checked out who else added to this piece before…and then comes up with a list of people for review.”
I am quite amazed. “So you are like the nerdy of the nerds. You didn’t have to do what you just did, but you were like ‘oh, hey I’ll invent this to help my team?”
“Yeah, exactly.” Ori stares at me blankly.
“Noooo,” I start to now slowly understand the work ethics of programmers.”So you’re really like ‘my poor team, they all had to manually go through the entire employee list and manually find a reviewer. This isn’t really being productive enough, so I’m going to do something better, which makes things more productive, and…”
“Yep, exactly.”
“Wow.”
“Isn’t your boss like ‘you’re being a teacher’s pet, why don’t you just do your job?”
“No, I like it. I do it for myself.”
“No, but you are allowed to do that during your work time?”
“Yeah, you have a lot of freedom. But it’s not a side project. It actually helps the team.”
“Is that normal, or is that…”
“Yeah it is normal. You write something for yourself. You say, ok I’ll write this because i’m sick of doing it manually. Then you share it with others and say ‘hey, whoever wants to use it, can use it.”
“Wow that’s so interesting. So is that really something that’s part of the culture? That you say, ‘hey, I’m going to do something for the team that makes the team work better?”
“You don’t… really… think about the team. You think about how you’re annoyed. Its a challenge. Its nice. You’re doing something you’re interested in. And you’re annoyed.”
The conversation kept going, which I’ll share with you in the next week. But for now, lets sum up the huge revelation today: it seems that computer progress was simply born out of annoyance.

Create a free website or blog at WordPress.com.