Archive for April, 2008
I wish Dr. M had made us do a statistical analysis of red-shirt deaths in Star Trek. Ah, geekiness. (Although I can’t complain too much; writing a stats paper on the World Series isn’t that bad either).
Also, I love watching geeks talk. Behold:
user1: http://en.wikipedia.org/wiki/Special:Search?go=Go&search=Snark_(punctuation) >> user2
user2: bash: user2: Permission denied
user1: sudo http://en.wikipedia.org/wiki/Special:Search?go=Go&search=Snark_(punctuation) >> user2
Now, I know my parents (who are reading this) probably don’t understand why this is so amusing, and why I adore hanging out with people who can talk like that. The analogy for them is that it’s like getting back to Manila – although they speak fluent English and have lived in the US for years, it’s probably really nice to get back to a land where everyone speaks their creole of Min-nan, English, Tagalog, and… whatever else is in there. It’s not that you can’t live without speaking that language with somebody else, but there are some thoughts and patterns you can’t express in any other way, and it’s great to be able to get them out.
I’ll do my best to explain what it means so mom and dad can see how much information (and humor, and implicit culture) is packed into the three lines up there. For any hackers out there; please correct my misinterpretations. For any social scientists out there: likewise on my methodology.
Analysis:
For the uninitiated, this is an IRC transcript; it’s 3 lines from a chatroom in which two people (user1 and user2, both young men working in the software field) were talking. They know each other and are trading friendly jabs (a common way of showing friendship among… well, I’m tempted to say hackers, but I really think this generalizes to a broader social group – maybe ‘guys,’ or less colloquially ‘western young-adult males.’) The straight translation into English would go something like this.
user1: I insult user2!
user2: I block your insult!
user1: I counter-insult and succeed!
Not particularly funny, though. Let’s take a look at how they insulted each other so we can see where the witticism comes in. One line at a time.
user1: http://en.wikipedia.org/wiki/Special:Search?go=Go&search=Snark_(punctuation) >> user2
Okay. First lesson: Wikipedia, a popular online encyclopedia that’s user-editable and well-known among the geek set (and increasingly in non-geek sets as well). The URL provided is the “snark” article, where a snark is “A sarcasm mark or sarcasm point [which] identifies text as being derogatory or ironic.” (Wikipedia)
Next, the double right angle brackets. “>>” is something used on the Unix command line to transfer information from one process (or location) to another. For instance, the command echo foo >> foo.txt will take the output of ‘echo foo’ (which is the text ‘foo’) and save it to the file ‘foo.txt.’ (Foo itself is a metasyntactic variable that programmers use as temporary/example variables when they can’t think of any other name; I am myself a hacker and often conform to many of their communication conventions.) In other words, a >> b means “place a’s output at b.” I think of it as “throw at,” or “place towards.” So we could also deconstruct the line above like this:
user1: [oblique reference to derogatory sarcasm] placed-towards user2
or…
user1: *throws sarcastic insult towards user2*
Next, user2 replies. He’s not going to take this sitting down.
user2: bash: user2: Permission denied
This is a made-up output in response to user1’s insult – user2 is acting as if he is a computer that user1’s command has just been called on. Bash is a shell – a command-line interface that commands (which is what user1’s message is formatted to emulate) are typed into. This message is essentially saying that user1 does not have the necessary (technological/security) privileges (“privs”) to carry out the insult-operation defined above – that is, to save the snark file output to location “user1.” Some translations of user2’s line might go like this:
user2: you can’t touch me.
user2: you don’t have the power to actually insult me in that way.
user2: missed me! nyah!
Finally, user1 counter-jabs with a response that bypasses the “block” that user2’s comment made against the original insult.
user1: sudo http://en.wikipedia.org/wiki/Special:Search?go=Go&search=Snark_(punctuation) >> user2
Sudo means “superuser do,” with superuser being the administrative account that can do basically anything on a computer (including bypassing local “Permission denied” errors). The rest of the comment is identical to user1’s first insult.
If user2’s comment means “you can’t touch me,” user1’s riposte means “oh yes I can.” The use of “sudo” indicates elevated access privileges and possibly by extension technical superiority, as administrative access on machines is typically only given to experienced and trusted people. The conversation thread of insults terminated here and user1 and user2 (and others) went on to discuss other things.
It is important to realize that these were not actual commands. By this I mean the comments were written with many elements of code (and would for the most part* be executable on an actual command-line) but are not purely so – they’re mixed in a peculiar creole of code, colloquial English, and “hacker slang” (which includes specialized terminology). They’re also typed into a chat window where they clearly won’t be executed as ‘actual’ commands on a computer – the intent is to “run the program” on the other person’s brain in order to communicate. (Which is, in one way of looking at it, what all languages… do. They’re brain-executable programs and protocols in some sense.)
Recap: There are also some things exhibited nicely here that are common in hacker culture in general.
- extended sprints of wit – subtle humor/puns and wordplay, done straight-faced for long conversations that get increasingly more humorous by building atop of twisted logic.
- insults as a signal of familiarity and friendship – the more you know someone, the worse names you can call them as terms of endearment.
- strong “insider” computing metaphor knowledge – this entails two things: (1) implicit understanding/assumption that the other person knows the meaning of these specialized technical commands, another insider-bonding action and (2) acceptance of mixing these computing terms with colloquial English.
*Postscript: As I mentioned earlier, I am myself a hacker. I can’t (okay, “don’t want to”) resist adding that the command that user1 typed is invalid as presented – attempting to pipe a URL (“webpage address”) directly to a file will give you the error ‘bash: http://url-you-typed.com: No such file or directory’ and what you actually want is to pipe the content of the page at that url to the file. (In other words, get the webpage that’s at http://url-you-typed.com and [dump the text you would see in a browser] to [a file]). Therefore, I say…
mchua: links -dump http://en.wikipedia.org/wiki/Pwn >> user1anduser2
And there you go.
Friday, April 11th, 2008 | Uncategorized | 6 Comments »
Sweet, Story Jam New York got up on UNICEF’s website! I still feel weird about seeing my name in places. It’s like a “wait, people think that my existence is interesting enough to mention?” thing (another variant of the underestimation-of-self thing that I need to overcome). But I’m glad the Jam got coverage, because the things that happened there were wonderful – I love it when a project opens up to outside hackers, and I’ll usually do almost anything I can to help a project that I think is good to do so. Several people have suggested that this (“open source opening-up project advocacy work”) could eventually become an actual consultancy… I’m not sure what it is yet, though. Just that I love it. Whatever it is.
There’s a provocative – but compelling – post by Wesley Fryer on the limited interpretation that some people have about what computers nowadays are supposed to do to be “good.” While I think that web browsing is tremendously important and certainly one possible primary style of usage, I agree with Fryer that just because a computer isn’t the best at that doesn’t mean it’s bad or useless. Just because a shoe is bad for rock climbing doesn’t mean it’s useless. Maybe it’s a dancing shoe. Shoes can do a lot of things and go a lot of places. Sp can computers. Expand and challenge your conceptions of what things “should” be used for. You might make a breakthrough.
Also, one thing that frustrates me a lot: people who (I perceive) aren’t open to the possibility that they could be wrong and that there are other potentially valid ways of seeing the world and operating within it. I don’t hate them or anything – I want to understand why they don’t try to understand – and my inability to grok that frustrates me tremendously. I also get frustrated when people self-declare authority without prefixing it with a claim that their authority is mutable and that others can counter-propose things at their statements. Many people won’t think to question (not because they’re spineless or stupid, but maybe they were taught to be respectful of authority, or maybe they’re quiet or more shy by nature, or…) and their thoughts – valuable things – get lost as a result, or never voiced at all.
I need to learn how to deal with this. I’m not sure “deal with” is the right word here. However, “accept” isn’t quite what I want either.
And I hope that I never block anybody else from speaking, although I’m sure I inadvertently and unconsciously do. One reason (I use to justify why) I continually sell myself short is to “cut myself down” so as to never be intimidating – to be a “hey, I’m not particularly amazing, I started out a lot like you – and yet… I’ve done cool stuff – and so can you!” example. I try to not say “pshaw, oh, that was easy” in a dismissive voice – I often struggle – hard – to do seemingly simple things (and say so often), and feel completely idiotic, and drop the balls I’m juggling (metaphorically and literally) and hunt all day to find a less-than sign that should be greater-then and renders all my code inoperable as a result.
I don’t want people to worship me because I want them to think that they can be like me (at least the aspects that they like; I’d highly recommend not copying me on most things) and I would rather have friends and colleagues than admirers. I adhere to the principles that one should hire (and work with) people better than they are at all times, and that the job of a teacher is to make her students surpass her and not need her as soon as possible.
I wonder why many people feel so compelled to put things into what seems like a fixed hierarchy? It is a familiar model, and easy for us to process mentally… but that doesn’t mean it is the optimal one for all cases.
Friday, April 11th, 2008 | Uncategorized | 2 Comments »
Today was my last day at TOPP. I spent too short a time there (a 10 week internship is just enough to get you started), and I’ll miss it terribly – it’s always great to work with incredibly smart (yet down-to-earth) people who use their considerable powers For Good, and even more so if they’re hackers – and even more so if they’re hackers who are willing to teach me stuff. I’d strongly encourage anyone who wants to learn to be a hacker – perhaps (like me) even make a jump from academic to hacking/open-source dev cultures – to apply. It’s also a fantastic place to learn how technical work can directly tie into social change. (Yes, there are chaos and rough edges, but guess what? That means it’s hackable. I much prefer that to a polished, well-oiled culture/structure that I can’t change.)
I swear I learned more about Linux in the past 10 weeks there than I had in the last 6 years of using it myself. I’d see people type commands or have a funky screen configuration, and go “whoa whoa, what is that?” whereupon they would enlighten me; I also learned by back-scrolling through the history of commands they typed into my terminal while helping me debug. Also, they sent me to PyCon. (As an intern. All expenses paid. How many companies would do that?)
Were I to do it all again, I’d set up some sort of study plan thing and focus on a different topic every week, read books, write code, get people to do it with me – like the time when David Winslow gathered a bunch of us in the office after work and we proceeded to, in unison, learn Haskell. We took turns writing solutions to tiny puzzles in Haskell on a big screen, and cheered when Seb typed in a refactored fibonacci number generator that was orders of magnitude faster than the “basic” answer and not many more lines of code (and then we played Smash Brothers on the Wii, which was also fun).
I also learned a ton about testing (which I no longer hate – in fact, I’m intensely intrigued by the notion of testing as a mental discipline now – thanks, Tim!) and how to work with large amounts of code you didn’t write, and how to to talk to other devs, and why documentation is really hard, and why maintenance is so important (and so difficult – I worship Josh and Paul for doing this continually), and a little more of what makes software beautiful. I learned to be less high-pass and insistent on Fixing Everything Right Away (thanks Ethan!) and how to read and grep through code (yay for Jeff!), how OSS can be both exciting and economically feasible (go Seb!) and how a little bit of bash can go a long way, and how amazingly fast a good hacker can be (the Davids W and T, respectively) and how to design things so I don’t burn the eyes of my audiences out in horror (Carly!) and how good workflows inform code (Sonali!) and how to run an awesome office (Brian, and now Rebecca) and… I just want to name every single person in the office and thank them profusely but this paragraph will get ridiculous, so just let it be known that I am (1) inspired – tremendously – by everyone at TOPP (2) am grateful for all that they have taught me.
What’s next?
Well, I’m still planning on hanging out on IRC; there are some projects there that I care tremendously about and want to keep on pushing forward – namely the dev centers for various subcomponents of the openplans stack and some of its supporting tools. (I work on things I care about as long as I have the means to do so, regardless of whether the means to do so comes from the projects that I care about directly – and hence do work on.) I’m also watching for the geo web to rise up and take the world by storm, with TOPP parading proudly in the front line opening it up to people.
Next stop: To Boston – and then shortly thereafter, onwards to Seattle.
Friday, April 11th, 2008 | Uncategorized | No Comments »
I released my first Trac plugin today (with lots of help). It’s called TracBacks and it provides internal trackback functionality between tickets in a Trac instance. It’s also very simple (or at least it was, and we’re trying to keep it that way and as as clean as possible). This is because another purpose of its creation was to serve as a tutorial plugin for the developers at TOPP who wanted to learn how to hack trac, and I couldn’t do much complicated stuff while keeping what I did coherent for a lunch talk. A “making of” tutorial is in the works.
Why is this cool?
Well, Trac is an increasingly popular python-based open-source project management and bug-tracking tool. It’s used by many open-source development teams to figure out what needs to be done (“tickets,” which could also be called “tasks”), who’s doing it, what tasks depend on what other tasks, and so on, and is the central development tool for many large projects and groups (including OLPC and TOPP). One feature that it has is the ability to comment on tickets – yes, like commenting on a blog post – so people can talk about what they’re working on and how to solve a particular problem.
This is awesome, but there’s a hitch: if developer A is working on ticket 1, and developer B is working on ticket 2 and writes some notes (on ticket 2) how it’s related to ticket 1, it automatically makes a (ticket-2)-to-(ticket 1) link that’s easy to follow to get more details. So far so good. However, developer A has no idea her ticket has just been discussed on ticket 2, and tinkers on blithely unaware of what is going on around her, because there is no reciprocal (ticket 1)-to-(ticket 2) link.
How can we automatically indicate that tickets are being discussed at other tickets? Trackbacks. Tim Coulter was the one who suggested this initially. What this plugin does is simply to create that reciprocal (ticket 1)-to-(ticket 2) link so that anyone looking at ticket 1 can see it has been talked about on ticket 2 as well. You can see it here at http://trac-hacks.org/wiki/TracBacksPlugin, and it’s rapidly being improved upon by others.
I’d like to give a shout-out thanks to several people: Doug significantly upgraded the regular expression used to pick out comments, Tim added quoting functionality so excerpts from the referrer-ticket show up in the referred-to ticket) and made a far more elegant stop-infinite-recursion mechanism, Josh added a nice exception handler for when you try to refer to a nonexistent ticket. Thanks tremendously to these folks as well as Jeff and thatch (who pointed me towards some helpful sections of code) as well as Noah, who is just generally awesome and fielded some questions from the other new Trac devs from TOPP today.
The most important Cool Thing that came out of this today was that we now have people at TOPP who want to hack Trac and have a good start on doing so (and will pick it up much faster than I did, seeing as how the Zope interface architecture is apparently… quite similar to Trac plugins, from what I’ve heard). Being able to mod your own working environment is always good.
Friday, April 11th, 2008 | Uncategorized | 1 Comment »
It’s always kind of cool to discover that your intellectual idols have intellectual idols. I should get up the courage to write letters to my intellectual idols. I did a few times, but back in high school my intellectual idols were two years ahead of me in school. I still hold them in great awe, but now I have idols like… professors, and really successful entrepreneurs, and big nonprofit founders, and famous hackers, which are much more intimidating to write to than a 17-year-old. (Although writing to a “cool” 17-year-old is really scary when you’re 14.)
Perhaps “idols” isn’t the right word – I don’t want to connote blind worship here. “Greatly respect, admire, and aspire to emulate certain aspects of” doesn’t quite roll off the tongue, though.
I started writing letters again last night. I need to find a way to hold pens so that my fingers don’t cramp up when writing for extended periods of time.
It’s odd to write to someone you don’t know and tell them that they’ve shaped some aspect of your life. “Who are you, kid?” “Uh… you don’t know me, but I read your book on the bus and…” Then again, it’s probably sometimes nice to know – so often we throw the things we make, the things we do, and who we are out there. We often never know the difference that it makes to other people. Sometimes it’s nice to get a glimpse of the changes you’re making; it lets you go on doing more in the absence of continued feedback.
It would appear that another common theme of this blog is “I should say ‘thank you’ more.” Huzzah for meta.
Wednesday, April 9th, 2008 | Uncategorized | No Comments »
Some Maria Montessori insights I enjoyed:
“Our [teacher's] task is to show how the action is done, and at the same time destroy the possibility of imitation.” (I have never heard it phrased this well before.)
“Insegnare, insegnando, non corrigendo.” (“Teach teaching, not correcting.”) This ties in well to my previous discussions about grading and standardization. Teaching, however – is that something that can be taught?
Another thing that I can’t phrase too well yet is that they view materials as the “keys to the universe,” but – and this is an important distinction – not the universe itself. There’s also emphasis on fine tactile and sensory perception and feedback, something that’s noticeably absent from computer interaction in general, and part of my desire to stay away from keyboards while still programming as an experiment for the last two weeks of April.
Tuesday, April 8th, 2008 | Uncategorized | No Comments »
Black t-shirts, yawning, and rice porridge (“lugaw”) with preserved egg. Working “in the zone” and looking up and going “wait, wait – time has passed?”
Hot, hot showers. I feel bad for taking long* ones. But they feel so good and make my arms and shoulders untwist and feel less knotty. (Hm – “get backrubs, conserve water?” Perhaps I need to start some sort of backrub-swap circle thing here.)
*>5min
Woo! 4 hours of sleep tonight, assuming I go upstairs to bed right now. I’m doing pretty well! (Yes, Andrew, I’ll do even better with the getting-sleep thing next month. Promise.)
Sunday, April 6th, 2008 | Uncategorized | No Comments »
(The title of this post is adapated from the book by John Holt, because that kind of learning is what I want to have for myself.)
May is a special month for several reasons.
1) I like May.
2) I like spring.
3) I like melting snow in New England (although it’s pretty warm this year).
May also marks the end of my self-imposed year-off constraints. On May 21, 2008, one year after graduation, I will be free of my vow to not settle down, and allowed to think of things like grad school, permanent jobs, and long-term leases. Not that I don’t think of them now – but really think of them – instead of idle musing and daydreaming, I’ll be allowed to actually move towards things that I might settle down into.
To give some background context: Last year around this time, I was simultaneously in a wonderful and terrible state. I was 20 years old, graduating from a fanatstic engineering college, had many doors and possibilities open to me, was incredibly excited about what I was doing, was swimming in the intersection of a great many things that I loved, had a large number of people I admired and respected exhorting me to do this and that – and I was wrecked, exhausted, burnt-out and confused, had lots of things going on with family, was being pulled in all sorts of different directions and was generally just completely overwhelmed.
Long story short, I realized (this was long before last April) that I wasn’t in any place where I could responsibly decide what I should do next – at least not in the midst of all that chaos. I needed some time to breathe, and to learn how to listen to myself, and to learn how to be a little selfish and take time to figure out what Mel wanted Mel to do. Not what Mel should do to make other people happy, but what Mel actually wanted to make Mel happy (something I hadn’t really thought of all that much before).
I would not have felt responsible entering a full-time job or graduate program at that point. I knew I lacked the clarity and the maturity to handle it, and that I’d be rushing towards something that I… hadn’t really thought about, and possibly towards a direction I’d find out later was not really the right way for me to go, and I wouldn’t be nearly as effective doing whatever I was doing as I should be. That wouldn’t be fair to me, and it would not be fair to the people I worked for or with, or studied with or under.
I had also lived a fairly cloistered life. I come from a wonderful, loving, conservative, protective Chinese Catholic family. Although I’d started living away from home at 14, I’d carried some of that upbringing with me to school, and didn’t color outside the lines or do too many random adventurous things – or in any case, adventurous by the metrics of the friends who surrounded me.
You have to understand that things like taking public transportation were whoa, holy cow! moments for me. Things like going out into the city without a clear-cut schedule or a plan – and riding in a friend’s car – and not asking permission from my parents before I left – those were gigantic steps. Deciding not to go to church on Sundays brought up gigantic guilt feelings and a “oh man, am I going to burn in hell for this?” flip-out, but it made me far happier to not go in the end, and so I did (not go, that is). Heck, going up to random people at a conference and striking up a conversation – the thought that you could do that with somebody a family member or close friend had not introduced you to – even that just blew my mind.
Clearly, I had much to learn about the world. When I heard from friends that they had gone and backpacked across Europe, or hiked the Appalachian trail, or flew off to Japan, or something else of the sort, I wondered how they did that. Y’know, all by themselves. (I mean, I’d been to Japan, but that was with a high degree of parental supervision, we basically visited my uncle, and we saw… a lot of his family’s house. I’d been to lots of places. Just not really travelled – if you get my meaning.) Was there some secret procedural knowledge I was missing? Did they just… improvise? Could I perhaps someday do that, too? (As it turns out, I can. And knowing this is wonderful.)
So I decided (slowly, over many years, without a clear defining moment when I promised I would do this to myself) that I was going to take a year off. I had saved up for such a thing throughout my college years – ironically, the “saving for a rainy day” mentality my parents raised me with ended up enabling me to be less stable for a while. I figured I should go and Do Things and have some sort of Adventurous Journey of Self-Discovery and Growth, Hurrah.
And so I did. I graduated (barely) and set forth…
This isn’t the heroic trumpet theme of boldness that you think it is. I didn’t know what I was doing. I didn’t know how I would eat or where I’d sleep and caved in to terror and took the safe route of staying with family, subletting, and so on for most of it. I was scared and timid and fell back into old habits almost always – I took the road more taken, obeyed what other people told me without understanding why, or even agreeing with it sometimes – I played it safe. I pushed my comfort zone much less than I’d envisioned. It still scares me just about every day that I have no idea what I’m doing. I’ve gotten angry and depressed about this, and frustrated at myself, and gotten convinced at least once a week (if not more frequently) that I was an idiot who had made a huge mistake and should go back and get into a proper” life (and simultaneously, “you coward! why are you so scared of everything? stop! just do things!”) (Yeah, I love my brain sometimes.)
But on the other hand, I did it.
And that’s something, right? And I have learned a lot, and pushed my comfort zones, and grown in ways I hadn’t even known existed, and learned so many things. And I can say completely, without hesitation, that this has been one of the most amazing years I’ve ever had, and that I’m glad I did it, and that it Changed My Life (TM) and I would do it all over again.
Ironically, I’ve probably thought about where I want to go next even more this year than I would have otherwise, specifically because I’m “not allowed” to think about it, and can therefore take flights of mental fancy without the pressure of having the things I think about necessarily influence what I’m going to do.
This year-off vow has let me take a meta-step back and think about the kinds of things I need to learn more about before I can make that kind of decision – what do I need to know about myself before I can pretend to know where I am headed? It’s also reminded me that I always have the freedom to choose to do something else, no matter what I’m doing at that moment. Knowing that I am free to leave something makes me much more likely to stay with it, so the previous sentence is not quite as “jump around from place to place!” as it might sound.
What do I do in May?
I need to make sure that I take some time to think. I’ll probably write a lot. And letters – I’ll write letters. I’ll see if I can get some stationary, 21 sheets worth, and mail at least one letter out per day. I’ll read and tinker, and continue to work on projects that I care about. I’d like to take some time to draw, and walk around the city taking photographs one day.
I want to take very good care of physical-Mel between next week when I leave NYC and – well, May 21 (but hopefully longer), and eat well, and spend time cooking and appreciating food instead of intermittently wolfing it down when I remember I need calories. I want to dance. Yes, I will work – but I will also spend an unusual amount of time just taking care of me. (I think that I can do this for 3 weeks. I think I can not pull an 80 hour workweek for 3 weeks. Maybe 60. Maybe less.)
I’ll want to talk to people quite a bit. I want to have a lot of quiet, long talks with good friends and mentors, family, and random folks I haven’t met yet, and people I’ve admired from afar but haven’t gotten the courage to say hello to.
I want to quietly turn 22, and cease referring to my present self with the word “girl,” and switch (most likely with great difficulty) to “young woman.” (I’ve meant to do this for a while, but it’s hard – I think of myself as a child still, and act accordingly sometimes.)
I want to walk the city without a map or schedule or game plan quite a bit. I want to find the quiet peace I get from abstract math again. I want to run around inside a rainstorm if there is one while I’m there. I want to learn to bike on city streets (I need a bike). I want to not feel obligated to do any of the things above – or indeed, most anything at all – but use it as a guiding list for things that I could do, if I felt like it, at the moment.
Anything else? What should I do in May?
Sunday, April 6th, 2008 | Uncategorized | 5 Comments »
Incoherence adapted from an IRC conversation.
I’d almost forgotten how hard it is for an external person to get into the open source dev world. I’m reminded of it daily with my own experiences, but I’ve apparently come a long way since 18 months ago (and have much farther yet to go).
There’s a lot of tacit knowledge about how projects, people, and communities work – I’m trying to come up with the right words to explain it here… it’s a different world than the one I grew up in and the one I’m used to, but I still have a hard time articulating the difference.
I’m thinking of some folks I know who did extraordinarily well in school, with projects – but mostly within an academic environment, where teachers or research supervisors assign you work and you go and do it. That’s an exaggeration and an oversimplification. I reckon the same things happen when new people hit a research lab as well.
Maybe the problem is being bold enough to wade in. How many people are taught to be bold? To ask questions – in a smart way – and respond well to answers? To have the right balance of being humble but also confident in their skills? I wish I could become esr v2.0 and try to answer some of these questions – I… wow, my research on engineering and hacker learning cultures is way out of date. I need to figure out how to set aside the time to work on that again.
One of the hardest things for me is usually finding all the information sources I should be listening to – you know you should RTFM and search before asking, but if you don’t know a manual exists, that’s hard.
It’s kind of like being plonked into a foreign country after studying, say, textbook French. Theoretically, you can speak French. (Or code. Or machine. Or do math. Or whatever.) But can you navigate the culture embedded in the project that assumes you use these skills in a certain, sometimes unspoken, way?
Even experienced people make mistakes, but for newcomers who haven’t built up a reputation, making a misstep as their first step is tough, and the chance of doing that is a little scary. (Little-known fact: One of the communities I tried to join early on but was – in my timidness and lack of knowledge how to navigate within the environment – somewhat scared away from? OLPC. Seriously. It was SJ who sucked me in about a year later; he and others provided the patient guidance I needed to find my feet and feel comfortable in that realm.)
With the help of some wonderful, friendly communities and many kind mentors, I’m continuously learning to navigate my way through this world. I am but an egg, but sometimes I can feel the shell crackling away above me.
Yeah, I know the “I am learning thingz!” is a common feature of this blog. That’s fine. it’s also a common feature of my brain. I hope I never lose it.
Sunday, April 6th, 2008 | Uncategorized, olpc | No Comments »
I usually don’t turn on the awww-meter, but this is one of the geekiest and sweetest proposals I’ve ever seen.
On a completely unrelated note, last night was All Nations Festival at I.House – SO MUCH FOOD. I handed $3 to the Italian booth expecting a tiny pat of pasta (consistent with NYC prices for food), but waddled away with a heaping plate loaded with eggplant parm and ziti and two gargantuan meatballs. I managed to wash that down with some German beer (the German booth was very popular) and follow it up with a Chinese tea egg and some Greek baklava before I petered out (a shame, because the Sri Lankan chicken curry looked delicious, and the French booth had crepes). And then there was a sumo wrestling match, a capoeira roda, Chinese calligraphy painting, swing dancing!!!! and some incredibly impressive salsa dancing. I wish I could move like that.
I was helping out at the USA food booth. We had pulled pork sandwiches, apple brown betty (“cobbler” – easier to make en masse than pie), and brownies. Yes, we know none of them are actually native to America. They’re tasy, though. David (dwins) from TOPP came over and helped us decorate the booth. The results were amusing (we did label it with the disclaimer that it was hand-crafted by American engineers). I’ve got pictures of this on my phone, but need to figure out how to get them off, so I’ll leave with this cliffhanger for the time being.
Also, I’m finding reading source code (well, well-written code) to be quite relaxing when done correctly (ready access to google and/or an interpreter to check out things I’m not sure of or terms I haven’t heard before). I should do this more! It’s a lot more fun than poring over paper printouts, my previous preferred method of reading code. That one still has the advantage of being portable to things like Sunlight. Or Lunch. I suppose that getting a 802.11-enabled phone would somewhat give me search functionality back for code-on-paper, since I also like being able to draw things in the margins*.
*yes, I have a tablet, but it’s not the same.
Generally, New York is growing even more awesome by the minute. The closer I get to leaving (on Saturday), the less I want to – I feel like I’ve just started to become useful, to meet people, to find out about things going on that I want to do, to… well, I think I would be very happy living here for at least several years before grad school. But then I also want to go to grad school, and to travel, and – right, I’m not supposed to worry about this until May 21. Right.
Onwards.
Sunday, April 6th, 2008 | Uncategorized | 3 Comments »