tag:byfat.xxx,2014:/feed@ fat2013-01-17T13:58:00-08:00@ fathttp://byfat.xxxSvbtle.comtag:byfat.xxx,2014:Post/what-is-opensource-and-why-do-i-feel-so-guilty2013-01-17T13:58:00-08:002013-01-17T13:58:00-08:00what is opensource and why do i feel so guilty?<iframe width="560" height="315" src="http://www.youtube.com/embed/UIDb6VBO9os"></iframe>
<p>Last November I was invited to speak in Paris. I had just taken a new job with a company called <a href="https://medium.com/obvious/3cb1d19eae8">Obvious</a> and I was pretty confident that this was going to be my last talk – maybe ever.</p>
<p>I had been discussing/thinking about this idea of guilt for a while (in particular the feeling of guilt that comes with maintaining an opensource project) and felt like <a href="http://www.dotjs.eu/venue">the venue</a> that dotjs was providing made a lot of sense. I also thought the French would be sympathetic and less likely to boo me off stage – which was essentially true.</p>
<p>I think something which works really well in this talk (while simultaneously being something I should apologize for) is that I prepared a 1 ½ hour presentation and then tried to deliver it in 20 minutes… in the actual video you’ll see about half way through the organizers turned off my 20 min countdown (I was the last talk of the day and in hindsight i think they were trying to get me to slow down).</p>
<p>This, coupled with my pretty intense jet lag from flying into Paris the day before, made me a frothing, emotional wreck… but i suppose it kinda works for the topic.</p>
<p>Anyways, if you watch it – I hope it’s at least entertaining and that you’ll have something new to argue about with your friends.</p>
<p><3</p>
<p>P.S. If you want to see the slides for this, checkout: <a href="http://fat.github.com/slides-os-guilt/">http://fat.github.com/slides-os-guilt/</a></p>
tag:byfat.xxx,2014:Post/deep-emo-shit2012-11-12T10:00:00-08:002012-11-12T10:00:00-08:00deep emo shit<p>The other day in IRC my good friend Divya brought up <a href="http://dcurt.is">Dustin Curtis’s</a> recent blog posts by saying “it seems like he’s so sad.”</p>
<p>I agreed.</p>
<p><a href="https://svbtleusercontent.com/fat_24345323970966_raw.jpg"><img src="https://svbtleusercontent.com/inline_fat_24345323970966_raw.jpg" alt="document.jpg"></a></p>
<p>To be sure, Dustin’s more recent writing covers topics that his blog has been more or less focusing on since it’s inception (largely tech), but this undertone of “sadness” seems more explicit than in the past. </p>
<p>And it was precisely this explicitness – and perhaps my proximity to <a href="http://dcurt.is/the-fight">this particular story</a> – which served as a reminder of the <em>transparency</em> and <em>vulnerability</em> inherent in writing. </p>
<hr>
<p>After leaving my job at Twitter, I decided to take a break from writing here. But I didn’t stop writing code (perhaps i even wrote more of it).</p>
<p>Sigmund Freud has this line:</p>
<blockquote class="short">
<p>Unexpressed emotions will never die. They are buried alive and will come forth later in uglier ways.</p>
</blockquote>
<p>What I hadn’t anticipated, was that the “uglier way” Freud was talking about would be for me javascript.</p>
<hr>
<p>Its been over a year since Mark and I released [Bootstrap](twitter.github.com/bootstrap), and over the last few months the codebase has seemed largely insufferable. I’m just too impatient for it.</p>
<p>For me, Bootstrap is very fun, not serious – nearly every line is a joke. It’s trying to provoke you. Taking shortcuts. Demanding that you reread it. Reread it again. It’s very pop. Very optimistic, yung. Forward. Playful. </p>
<p>I love it for that. And I wouldn’t dream of changing it. But I just haven’t had the mood for it lately.</p>
<p>The code for my latest project <a href="http://maker.github.com/ratchet/">Ratchet</a> is very different. It’s very conservative. It’s not meant to draw attention to itself. It’s very explicit. Assertive, necessary. It’s easy to approach. It’s a vanilla milkshake. </p>
<p>Functionally, the content of both Bootstrap and Ratchet is as it should be. But what’s really interesting to me are the undertones – or rather the potential for the same sort of undertones you would expect to find in literature, or blogs, or any other creative writing form… and I’m finding them in my javascript.</p>
<p>The differences in style between these two projects aren’t just arbitrary preferences. They’re very definite, derived expressions, representative of my mood over time.</p>
<p>For me, these expressions serve as a sort of testament to javascript as a creative language (and perhaps a formal articulation of my discomfort with the idea of something like idiomatic.js).</p>
<p>It’s precisely this potential for expression which makes it not only bearable, but actually exciting to face the implementation of yet another modal or yet another button. Like an artist painting a bowl of fruit, if I had to express each work the same way – with the only variety being in the fruits themselves – I’d surely have gone mad by now.</p>
tag:byfat.xxx,2014:Post/rien-ne-tient-en-place2012-08-24T14:03:00-07:002012-08-24T14:03:00-07:00rien ne tient en place<p>A good friend wrote me a few years ago with the subject: rien ne tient en place. I don’t speak French. But google assures me it means: <em>nothing holds it in place</em>.</p>
<p><img src="https://svbtleusercontent.com/inline_fat_24225100114824_raw.jpg" alt="camus.jpg"></p>
<p>One time after class, a professor shared he had been translating books on the side. He found it somewhat entertaining and a good source of additional income. We talked about it for a while and by chance I mentioned I only spoke english. To this he asked:</p>
<blockquote>
<p>If I were translating a book, and found a hole in the discourse (or an “odd” transition from one chapter to the next), would you expect me to translate the text word for word, or attempt to fill in the blanks?</p>
</blockquote>
<p>Up until that point I had never really considered the latter possibility. I had always expected a completely literal, almost mechanical translation.</p>
<p>So you can imagine how crushed I was when he told me that he had not only added sentences and paragraphs, but sometimes entire chapters. He then went on to explain how translations themselves were largely creative endeavors. </p>
<p>I left knowing I had never really read Deleuze. I had never read Bataille, Witkiewicz, Dostoevsky. My favorite authors were translators. </p>
<p>That night I ordered a copy of La Chute and sat in bed with a French dictionary, and two other translated versions of “The Fall.”</p>
<p>By chance I kept the first paragraph of my translation in a google doc:</p>
<blockquote>
<p>May I, monsieur, propose to you my services, without risk of importunity. I fear that you do not know how to make yourself heard by the estimable gorilla presiding over the fate of this establishment. He does not speak, indeed, but dutch. Unless you authorize me to plead your case, he will not guess that you desire a gin. Voila, I dare hope he understood me; his nod must signify he met my arguments. There he goes, indeed, he hastens, with prudent deliberation. You’re lucky, he didn’t grunt. When he refuses to serve, a growl will suffice: people don’t insist. To be king of his moods, is the privilege of larger animals. But I am retiring, Monsieur, happy to have obliged. Thank you and I would agree if I were not playing the unfortunate. You are too good. I’ll install then my glass with yours.</p>
</blockquote>
<p>My translation was shit. Complete shit. And though you can kind of follow it, it was too literal. What I realized after this exercise, was that in not speaking French I was not just missing a 1:1 representation of a word, but I was missing an entire mode of thinking–a different way of communicating ideas, and extracting meaning. I could never really approach Camus, until first, I learned French. </p>
<p>What’s more, the liberties that translators were taking with texts, i began to understand as necessary liberties. But even then, they could only ever hope to bring me within a proximity. And this was dissatisfying at best.</p>
<p>I’ve found lots of parallels when moving between languages in computer science.</p>
<p>The last 4 weeks I’ve been writing Ruby. And as my code reviews suggest, I’ve been writing ruby as a Javascript engineer. Which is to say, I’ve been writing a bastardized Ruby. </p>
<p>The more time I spend in Ruby, or Go, or C, the more I see it influencing my general ideas on development and code and the more I see things like “Klass” in Javascript as a translation. A proximity, which is nevertheless dissatisfying.</p>
<p>As I find more time, I’m going to begin studying French again. And with that, C. </p>
<p>Language: rien ne tient en place.</p>
tag:byfat.xxx,2014:Post/burn-your-idols2012-08-17T10:51:00-07:002012-08-17T10:51:00-07:00YES PLS LETS BURNNNN<p><em>Today’s contribution comes from another good friend of mine, [Divya Manian](//twitter.com/divya). Worried that my introduction was sounding a bit too “officious"… I’ll just say I met Divya on a boat full of JavaScript nerds in Austin, where she went on at length about how she hated how i wrote code. Despite this, she’s incredibly talented, well read, and offers a really interesting perspective on web development and the community at large. You should definitely also check out her writing <a href="http://nimbupani.com/index.html">here</a> and please, let us know what you think on [twitter](//twitter.com/divya)!</em></p>
<hr>
<p>From <a href="http://en.wikipedia.org/wiki/Ozymandias">Ozymandias</a> by Percy Bysshe Shelley:</p>
<blockquote>
<p>And on the pedestal these words appear:<br><br>
"My name is Ozymandias, king of kings:<br><br>
Look on my works, ye Mighty, and despair!”<br><br>
Nothing beside remains. Round the decay<br><br>
Of that colossal wreck, boundless and bare<br><br>
The lone and level sands stretch far away.<br></p>
</blockquote>
<p>I have been an idol-worshipper for a long time. First, it was the gods of my religion and then it was gods of the community that gave me my career. So much so I <a href="http://www.flickr.com/photos/nimbupani/sets/72157617833210555/with/3516240113/">even drew their faces and asked for their autographs</a>. </p>
<h2 id="crisis-of-faith_2">Crisis of Faith <a class="head_anchor" href="#crisis-of-faith_2">#</a>
</h2>
<p>By mid 2009, I realised how much my idolatry let me assume there was nothing I could do to change anything. Here are the great people who do things, I marvelled. What could I do? They advocated all the best practices I adopted: Using XHTML, jQuery, semantic tags, reading their books and not reading the specifications, and so on. </p>
<p><img src="https://svbtleusercontent.com/inline_fat_24214108542948_raw.jpg" alt="idol.jpg"></p>
<p>But, they did not tell me how to deal with massive sites and projects I was dealing with, or jQuery plugins that were ridiculously slow. Everywhere I tried to ask answers, I was told to do the work involved in figuring out the answers myself. I found work more and more challenging where my superstitious beliefs of what were right or wrong no longer worked. It was time for me to find my own way.</p>
<h2 id="enlightenment_2">Enlightenment <a class="head_anchor" href="#enlightenment_2">#</a>
</h2>
<p>My quest for knowledge led me through strange roads. I realised specifications were not that terrible to read after all (contrary to everything my idols told me), and semantics were not that significant even after 20 years of effort to make them extraordinarily so, XML was dead on arrival almost (and yet in 2009 all of my idols were recommending XHTML as a future-proof™ technology). I soon discovered there have been others who have been yelling from the roof tops about these very same issues yet their words never got beyond their insignificant audience. </p>
<p>I was very disappointed. Immediately, I wanted to blame my idols for my ignorance, but then I realised they did nothing wrong. Everyone has the right to make their views public, but I have the responsibility of accepting a view as mine. In my adulation, I had created a world of excuses and laziness: where I was always the recipient, the silent living corpse feeding off idols, and attempting to learn vicariously, ignorant and unwilling to call bullshit when I see it - much like a silent audience for a lynching. </p>
<p>Idolisation makes it hard for idols to <u>not</u> feel like one. Fame and popularity is addictive. It is tempting to take actions that would bring more of it. It makes it harder to admit you were wrong and make contrarian statements because you may be lynched for that. It is not only hard to express opinions in your field of expertise, but also about anything in general, because you are now sought after for your views on everything under the sun even though you are simply someone who has extensive experience in a very niche field. </p>
<p>By idolising people, I gave up on my opportunity to change the world, learn something exhilaratingly new, call out the wrongs done, and contribute to right some of the wrongs. Since seeing the light, I helped bring <a href="http://html5boilerplate.com">HTML5 Boilerplate</a> to reality, <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/acknowledgements.html#acknowledgements">contributed to the HTML5 Specification</a>, <a href="http://movethewebforward.org">outlined actions other developers can take to be more actively involved in web standards</a>, maintained <a href="http://html5please.com">HTML5 Please</a> to help developers choose which of HTML5 technologies are ready to use, and <a href="http://w3fools.com">dissuaded the use of W3Schools</a> and <a href="http://nimbupani.com/categories/web-development/">documented everything I learned in the process</a>. None of these required any particular skill or talent, they are merely results of taking an action. </p>
<h2 id="idols-pay-it-forward_2">Idols, pay it forward <a class="head_anchor" href="#idols-pay-it-forward_2">#</a>
</h2>
<p>If you are one of those idolized, it is tempting to keep seeking fame & credit, but I assert greater satisfaction comes from using the platform to push and promote more deserving projects and areas that should get the attention of the audience you have. If you have connections that can help something better to happen, make it so. Admit to your ignorance, and be willing to learn from anyone. Encourage criticism, and <a href="http://nimbupani.com/this-revolution-needs-new-revolutionaries.html">promote the revolutionaries</a>. Always be learning and aware that this platform is ephemeral. Enjoy the ride, and get other deserving people to enjoy it with you.</p>
<h2 id="idolizers-take-action_2">Idolizers, take action <a class="head_anchor" href="#idolizers-take-action_2">#</a>
</h2>
<p>Every time you feel like idolising someone, pause. Think of all the projects they are involved in, contribute. Read what they write, verify facts, call them out when they are wrong (if <u>you</u> are wrong, admit so), and learn. They will respect you significantly more and not treat you like yet another faceless fan they need to deal with. </p>
<p>Don’t buy every t-shirt they sell or every book they advertise. Don’t assume every tool they advocate is the right one. But don’t disparage them for ‘selling out’ or for false advertising when what they say or do is not consistent with your ideal of how they should be. </p>
<p>Burn your idols but follow their paths.</p>
tag:byfat.xxx,2014:Post/chomsky2012-08-10T20:49:00-07:002012-08-10T20:49:00-07:00Chomsky can't be bothered to learn C<p>It’s wonderful to watch Noam Chomsky completely write off Postmodernism. </p>
<p>If you’re unfamiliar with Chomsky, he’s a largely well regarded, American intellectual and MIT professor of Linguistics and Philosophy (emeritus). And yet, despite his accolades, his dismissal of the Postmodern movement itself isn’t anything special. </p>
<p>What’s truly great however, and really worth considering, are the grounds by which in <a href="http://cscs.umich.edu/%7Ecrshalizi/chomsky-on-postmodernism.html">this post</a> he issued his dismissal. </p>
<p><a href="https://svbtleusercontent.com/fat_24202180846044_raw.png"><img src="https://svbtleusercontent.com/inline_fat_24202180846044_raw.png" alt="Untitled-5.png"></a></p>
<p>In a single gesture, Chomsky threw out everything offered by Lacan, Derrida, Foucault, and countless other “Paris Intellectuals” on the basis of <em>dialect alone</em>: a Postmodern dialect, which he found to be incompressible, “gibberish.” Latent with what he describes as “three-syllable words, incoherent sentences, and inflated rhetoric that (to [Chomsky], at least) was largely meaningless,” Postmodern writing not only turned Chomsky off on its ideas, but drove him away from its academic circles, for good.</p>
<p>But, for the Postmodernists, this was a success. </p>
<p>Indeed, there is a certain dialect at work in Postmodern thought. There are a number of concepts and styles of discourse that are completely unique to the movement–and a number of novel modes of thinking and approaching problems. Modes which even someone like Chomsky, who is classically trained in Philosophy, will have to invest serious time in to fully grasp. But that is precisely the point.</p>
<p>In this way, dialect, as a particular manifestation of a given language, emerges as something other than simply style; it becomes a very practical defense mechanism.</p>
<p>Linus Torvald sent the following reply to someone asking why GIT wasn’t written in C++: </p>
<blockquote>
<p>C++ is a horrible language. It’s made more horrible by the fact that a lot <br>
of substandard programmers use it, to the point where it’s much much <br>
easier to generate total and utter crap with it. Quite frankly, even if <br>
the choice of C were to do <em>nothing</em> but keep the C++ programmers out, <br>
that in itself would be a huge reason to use C.</p>
<p>In other words: the choice of C is the only sane choice. I know Miles <br>
Bader jokingly said “to piss you off”, but it’s actually true. I’ve come <br>
to the conclusion that any programmer that would prefer the project to be <br>
in C++ over C is likely a programmer that I really <em>would</em> prefer to piss <br>
off, so that he doesn’t come and screw up any project I’m involved with.</p>
</blockquote>
<p>There are two threads to pursue here. </p>
<p>The first, as an author, don’t be afraid to stray from any given dialect, even if it means more work for you. But do so only insofar as you want to shelter your project from engineers unwilling to invest in core modes of thinking that you deem necessary to grasp in contributing to the ideas of your project.</p>
<p>The second, as a potential contributor, it’s perfectly ok to be opposed to the ideas of a project, but don’t allow yourself to write something off at the level of dialect. </p>
tag:byfat.xxx,2014:Post/if-hemingway-wrote-javascript2012-08-03T13:14:00-07:002012-08-03T13:14:00-07:00If Hemingway wrote JavaScript<p><em>The following article was written by my good friend and colleague, [Angus Croll](//twitter.com/angustweets). Angus works on the web core team at twitter, talks at conferences around the world, and runs an amazing [blog](//javascriptweblog.wordpress.com) on javascript. Beyond this, he’s also a huge book nerd, so I thought it would be fun to get him to write about code from that perspective. Check it out! And let us know what you think on [twitter](//twitter.com/angustweets)!</em></p>
<hr>
<p>The New Book <em>“If Hemingway wrote JavaScript”</em> is out in September 2014.<br>
Pre-order your copy <a href="http://www.amazon.com/Hemingway-Wrote-JavaScript-Angus-Croll/dp/1593275854">here</a>!</p>
<hr>
<p>I loved literature long before I ever wrote a line of code. Now I write JavaScript, lots of it, and I’m writing a book about it.</p>
<p>What is it about JavaScript that attracts so many literature devotees? I have a few half-baked theories relating to the expressive potential of a limited syntax, but that’s for another time. What about the great writers? What would they have made of JavaScript? Even as a long-time Hemingway nut, I’d be the first to admit that Papa would probably have loathed programming (and programmers). Yet I’m betting that amongst all that general contempt there would have lurked a soft spot for JavaScript, because it’s his kind of language, am I right? A spare and deceptively plain surface, masking substance and drama beneath.</p>
<h2 id="the-mother-of-all-code-reviews_2">The Mother of all Code Reviews <a class="head_anchor" href="#the-mother-of-all-code-reviews_2">#</a>
</h2>
<p><a href="https://svbtleusercontent.com/fat_24192442505358_raw.png"><img src="https://svbtleusercontent.com/inline_fat_24192442505358_raw.png" alt="hemingway.png"></a></p>
<p>Recently I had a dream in which I asked Hemingway and four other literary luminaries to write some JavaScript for me; specifically a function that returned a fibonacci series of a given length. Interestingly each author chose to solve the problem in a different way. They did pretty well actually - as far as I can tell every solution works as advertised (yes, even Andre Breton’s). Here’s what I got:</p>
<h2 id="ernest-hemingway_2">Ernest Hemingway <a class="head_anchor" href="#ernest-hemingway_2">#</a>
</h2>
<pre><code class="prettyprint lang-js">function fibonacci(size) {
var first = 0, second = 1, next, count = 2, result = [first, second];
if(size < 2)
return "the request was made but it was not good"
while(count++ < size) {
next = first + second;
first = second;
second = next;
result.push(next);
}
return result;
}
</code></pre>
<p>No surprises here. Code reduced to its essentials with no word or variable wasted. It’s not fancy; maybe its even a little pedantic - but that’s the beauty of Hemingway’s writing. No need for elaborate logic or clever variable names. It’s plain and its clear and it does what it has to - and nothing more.</p>
<p>Hemingway didn’t suffer fools gladly so if you ask for a series with less than two numbers he’ll just ignore you. “I’m tired and this question is idiotic”.</p>
<h2 id="william-shakespeare_2">William Shakespeare <a class="head_anchor" href="#william-shakespeare_2">#</a>
</h2>
<pre><code class="prettyprint lang-js">function theSeriesOfFIBONACCI(theSize) {
//a CALCKULATION in two acts.
//employ'ng the humourous logick of JAVA-SCRIPTE
//Dramatis Personae
var theResult; //an ARRAY to contain THE NUMBERS
var theCounter; //a NUMBER, serv'nt to the FOR LOOP
//ACT I: in which a ZERO is added for INITIATION
//[ENTER: theResult]
//Upon the noble list bestow a zero
var theResult = [0];
//ACT II: a LOOP in which the final TWO NUMBERS are QUEREED and SUMM'D
//[ENTER: theCounter]
//Commence at one and venture o'er the numbers
for (theCounter = 1; theCounter < theSize; theCounter++) {
//By divination set adjoining members
theResult[theCounter] = (theResult[theCounter-1]||1) + theResult[Math.max(0, theCounter-2)];
}
//'Tis done, and here's the answer.
return theResult;
//[Exuent]
}
</code></pre>
<p>The Bard gets a little wordy here but we wouldn’t have it any other way. Notice how the comments (other than titular captions and stage directions) are written in iambic pentameter - a meter of ten paired syllables with the stress falling on the second syllable of each pair (or <em>foot</em>). In his plays Shakespeare often adds dramatic emphasis by deviating from strict iambic pentameter — he might add an extra syllable or use an alternate stress. It looks as though he’s using the same trick in this coding exercise. Way to go Will.</p>
<h2 id="andre-breton_2">Andre Breton <a class="head_anchor" href="#andre-breton_2">#</a>
</h2>
<pre><code class="prettyprint lang-js">function Colette(umbrella) {
var staircase = 0, galleons = 0, brigantines = 1, armada = [galleons, brigantines], bassoon;
Array.prototype.embrace = [].push;
while(2 + staircase++ < umbrella) {
bassoon = galleons + brigantines;
armada.embrace(brigantines = (galleons = brigantines, bassoon));
}
return armada;
}
</code></pre>
<p>As a founding member of the surrealist movement, Breton believed dreams were more interesting than reality and should form the basis of our creative endeavors. Nouns are chosen accordingly. Although it’s easy to knock Breton, his work has aged well and is invariably heartfelt and beautiful - an unconscious upwelling of imagery folded into his own conscious expression. Here’s a translation of the gorgeous poem <a href="http://www.poemhunter.com/poem/postman-cheval/" target="_blank">Facteur Cheval</a>.</p>
<p>Breton has most likely named his fibonacci exercise after an old flame, while he imagines the resulting collection as a fleet of ancient vessels. The solution is underscored by characteristically elegant logic - he’s using a comma operator to simultaneously shift elements between galleons, brigantines and bassoons. Hats off Andre!</p>
<h2 id="roberto-bolano_2">Roberto Bolano <a class="head_anchor" href="#roberto-bolano_2">#</a>
</h2>
<pre><code class="prettyprint lang-js">function LeonardoPisanoBigollo(l) {
if(l < 0) {
return "I'd prefer not to respond. (Although several replies occur to me)"
}
/**/
//Everything is getting complicated.
for (var i=2,r=[0,1].slice(0,l);i<l;r.push(r[i-1]+r[i-2]),i++)
/**/
//Here are some other mathematicians. Mostly it's just nonsense.
rationalTheorists = ["Archimedes of Syracuse", "Pierre de Fermat (such margins, boys!)", "Srinivasa Ramanujan", "Rene Descartes", "Leonhard Euler", "Carl Gauss", "Johann Bernoulli", "Jacob Bernoulli", "Aryabhata", "Brahmagupta", "Bhaskara II", "Nilakantha Somayaji", "Omar Khayyám", "Muhammad ibn Mūsā al-Khwārizmī", "Bernhard Riemann", "Gottfried Leibniz", "Andrey Kolmogorov", "Euclid of Alexandria", "Jules Henri Poincaré", "Srinivasa Ramanujan", "Alexander Grothendieck (who could forget?)", "David Hilbert", "Alan Turing", "von Neumann", "Kurt Gödel", "Joseph-Louis Lagrange", "Georg Cantor", "William Rowan Hamilton", "Carl Jacobi", "Évariste Galois", "Nikolay Lobachevsky", "Rene Descartes", "Joseph Fourier", "Pierre-Simon Laplace", "Alonzo Church", "Nikolay Bogolyubov"]
/**/
//I didn't understand any of this, but here it is anyway.
return r
/**/
//Nothing happens here and if it does I'd rather not talk about it.
}
</code></pre>
<p>If you don’t read at least one Bolano book before you die then you’ve wasted your life. Bolano’s writing is remarkable; at once effortlessly sophisticated and charmingly naive - his narrative style is characterized by a disarmingly winsome honesty. No aspect of human frailty is off limits, but the warmth and humour with which every foible is conveyed is both engaging and uplifting.</p>
<p>True to form, Roberto’s exam paper is peppered with admissions of insecurity, embarrassment and ignorance. The solution, though rather brilliant, is presented as something of an afterthought. Always the obsessive, always tangential, he’s much happier offering us a mildly interesting but ultimately useless list of mathematical genii.</p>
<p>There are other Bolano traits here - the juxtaposition of long and short paragraphs, the absence of semicolons (mirroring the absence of quotation marks in his novels), and the use of implicit globals - suggesting that each variable is destined to make further appearances in subsequent chapters.</p>
<h2 id="charles-dickens_2">Charles Dickens <a class="head_anchor" href="#charles-dickens_2">#</a>
</h2>
<pre><code class="prettyprint lang-js">function mrFibbowicksNumbers(enormity) {
var assortment = [0,1,1], tally = 3, artfulRatio = 1.61803;
while(tally++ < enormity) {
//here is an exceedingly clever device
assortment.push(Math.round(assortment[tally-2] * artfulRatio));
}
//should there be an overabundance of elements, a remedy need be applied
return assortment.slice(0, enormity);
}
</code></pre>
<p>I’m not a fan of Dickens. Mostly I agree with Henry James’ damning assessment:</p>
<p>“If we might hazard a definition of his literary character, we should, accordingly, call him the greatest of superficial novelists. We are aware that this definition confines him to an inferior rank in the department of letters which he adorns; but we accept this consequence of our proposition. It were, in our opinion, an offense against humanity to place Mr. Dickens among the greatest novelists. For, to repeat what we have already intimated, he has created nothing but figure. He has added nothing to our understanding of human character.”</p>
<ul>
<li>Henry James on Charles Dickens, in a review of Our Mutual Friend, in The Nation, December 21, 1865:</li>
</ul>
<p>Boz’s superficiality is borne out by his fibonacci solution. Yes, there are some mildly amusing names, but a complete lack of substance and understanding at its heart. He has failed to appreciate the underlying philosophy of the fibonacci series and has instead resorted to bludgeoning his way through the problem with multiplication. Sigh.</p>
<h2 id="closing-thoughts_2">Closing thoughts <a class="head_anchor" href="#closing-thoughts_2">#</a>
</h2>
<p>Whether it’s Crockford’s protective albumen or the dry and narrow minded confines of computer science classes, doctrine and dogma are the enemies of good JavaScript. Some developers like rulebooks and boilerplate - which is why we have Java. The joy of JavaScript is rooted in its lack of rigidity and the infinite possibilities that this allows for. Natural languages hold the same promise. The best authors and the best JavaScript developers are those who obsess about language, who explore and experiment with language every day and in doing so develop their own style, their own idioms, and their own expression.</p>
<p>That’s all. Hope you enjoyed it. It’s mostly nonsense.</p>
tag:byfat.xxx,2014:Post/eating-a-whopper2012-07-27T10:57:00-07:002012-07-27T10:57:00-07:00eating a whopper<p>In 1981, the Danish filmmaker Jorgen Leth invited artist Andy Warhol to his New York studio to film a short scene which focused on Andy eating a hamburger. If you haven’t seen it, <a href="#video">watch it now</a>. Through this film, we see an otherwise ordinary activity reinterpreted as art. A gesture not unlike <a href="http://whitecubeeffect.files.wordpress.com/2011/05/duchamp-fountain.jpg">Duchamp’s fountain</a>.</p>
<p><img src="https://svbtleusercontent.com/inline_fat_24181382628054_raw.png" alt="burger.png"></p>
<p>A little over a year ago, <a href="https://github.com/elliottcable">Elliot Cable</a> began a similar experiment. He began collecting and contributing various <a href="http://dribbble.com/shots/158184-Tabular-constants">code snippets</a> to dribbble (an invite only, show and tell site for designers). Elliot later commented on his “shots”:</p>
<blockquote>
<p>I know Dribbble isn’t Forrst. I’m not posting my code as code, I’m posting it as visual art. I consider source code a medium for artistic expression, hence why I’m posting my work here in this way. I’ll be trying to post shots from various languages / markups, in various styles; anything I consider to be visually interesting. I also may be adjusting the highlighting and typography to make the shots more visually appealing.</p>
</blockquote>
<p>Alexis Sellier, Martin Aumont, myself and a handful of others have taken a similar position to Elliot. But it’s sad to see how often code-as-art is villainized in the face of traditional, idiomatic coding styles.</p>
<p>Projects with the most radically unique styles often have the highest internal standards for code quality and consistency. People put so much thought into the written code itself that it actually engenders a new sort of pride. A pride not just in the function of the code, but in its aesthetics. What’s more, it’s precisely this pride in the “look” of code and the consistency of code within a project, that’s often sadly absent in many otherwise amazing engineers today.</p>
<p>When Isaac Schlueter decides to indent his blocks 20 columns, and Alex Maccaw begins aligning his equal signs, and Dustin Diaz uses a comma first style–<a href="http://cf2.8tracks.us/mix_covers/000/678/666/73991.max1024.jpg">there is no need to be upset</a>.</p>
<p>It’s not meant to disvalue these conventions. It’s not meant to sling mud, or thumb noses. It’s an artistic gesture. And it should be applauded.</p>
<hr>
<p>Jorgen Leth’s video of Andy Warhol:</p>
<p>
<iframe id="video" width="420" height="315" src="http://www.youtube.com/embed/Ejr9KBQzQPM"></iframe>
</p>
tag:byfat.xxx,2014:Post/deleuze-on-working-together2012-07-20T11:36:00-07:002012-07-20T11:36:00-07:00in·ti·mate<p>i think there’s something to intimacy. even though it’s almost certainly the wrong word for what i’m talking about (i really mean something closer to a gender-inclusive-bromance).</p>
<p>nonetheless, i want to make a case for it. and i want to make a case for it in terms of the creative process. and in terms of engineering as one such example of this process. </p>
<p><a href="https://svbtleusercontent.com/fat_24169763754540_raw.png"><img src="https://svbtleusercontent.com/inline_fat_24169763754540_raw.png" alt="kidz.png"></a></p>
<p>arguably, the greatest philosophical work of the last 100 years, “A Thousand Plateaus,” was written by two men, Gilles Deleuze and Felix Guatarri. just after Felix’s death, in a letter to Kunicchi Uno titled “How Felix and I worked together”, Gilles Deleuze wrote:</p>
<blockquote>
<p>Our differences worked against us, but they worked for us even more. We never had the same rhythm. Felix would sometimes complain that I didn’t respond to the long letters he would send me: it’s because I wasn’t up to it, not at that moment. I was only able to use them later, after a month or two, when Felix had already moved on. And during our meetings, we didn’t dialogue: one of us would speak, and the other would listen. I refused to let Felix go, even when he had had enough, and Felix kept after me, even when I was exhausted. Gradually, a concept would acquire an autonomous existence, which sometimes we continued to understand differently (for example, we never did understand “the organless body” in quite the same way). Working together was never a homogenization, but a proliferation, an accumulation of bifurcations, a rhizome. I could tell you who came up with this particular theme or that particular idea, but from my perspective, Felix had these brainstorms, and I was like a lightning rod. Whatever I grounded would leap up again, changed, and then Felix would start again, etc. and that is how we progressed.</p>
</blockquote>
<p>the success of nearly all my projects can be largely attributed to, and maybe even presupposed by a similar working dynamic.</p>
<p>it’s no secret that I’ve made my career as a kind of open source Garfunkel, having the opportunity to work very closely with first [@ded](//twitter.com/ded), then [@mdo](//twitter.com/mdo), then [@sayrer](//twitter.com/sayrer), and most recently [@maccman](//twitter.com/maccman).</p>
<p>in creative partnerships you need to be secure enough to tell someone when they’re fucking up, while also trusting enough to listen to their objections and take them seriously. doing so means an ally when everyone is against you and a critic when everyone is on your side. it means exposure to new territories and new insights. and it means longevity through a sort of mutual accountability.</p>
<p>you will learn SO MUCH. and you and your project will be better for it.</p>
<p>such relationships have produced some of the most important creative works in human history, from the first successful flight, to the worlds most successful search engine.</p>
<p>in my experience, getting someone involved initially has always worked out better than starting a project alone (and certainly better than bringing someone on later). conversation being <em>the catalyst</em> for truly creative gestures.</p>
<p>what has your experience been?</p>
tag:byfat.xxx,2014:Post/ben-shahn2012-07-13T10:18:00-07:002012-07-13T10:18:00-07:00fvck school<p>I offered the following bit of advice on twitter.</p>
<blockquote class="twitter-tweet">
<p>Drop out of school or study english. That’s how you win at javascript.</p>— ♒∆✝ (@fat) <a href="https://twitter.com/fat/status/207215390152065024">May 28, 2012</a>
</blockquote>
<p>A number of people agreed. A number disagreed. But the vast majority suggested I was being controversial for controversy sake. Or a “hipster.” Or something. This is not the case. So, in an attempt to rectify that, I offer you this sincere exegesis of my tweet and my first weekly installment to the svbtle network.</p>
<h4 id="shapes_4">Shapes <a class="head_anchor" href="#shapes_4">#</a>
</h4>
<p>Ben Shahn is an American artist who gave a series of lectures at Harvard which were later collected into a book published in 1957 entitled “The Shape of Content.”</p>
<p><a href="https://svbtleusercontent.com/fat_24157274578902_raw.png"><img src="https://svbtleusercontent.com/inline_fat_24157274578902_raw.png" alt="shahn.png"></a></p>
<p>In his first lecture, “Artists in Colleges,” he posits that a successful integration of art into academic policy would be one which promotes unifying different branches of study into a “whole” culture. Here diverse fields like physics or mathematics would come within the purview of the painter and the physicist/mathematician would be encouraged to fully embrace nonmeasurable and extremely chaotic human elements which we commonly associate with things like poetry and art.</p>
<p>On the basis then of several fairly extensive observations he goes on to offer three major blocks to the development of such a culture, and to the artist’s continuing to produce serious works within the “university situation.”</p>
<ul>
<li><p><strong>Dilettantism</strong> The nonserious dabbling within a presumably serious field by persons who are ill-equipped—and actually do not even want—to meet even the minimum standards of that field, or study, or practice. </p></li>
<li><p><strong>The Fear of Creativity itself</strong> The university stresses as the critical aspects of knowledge—the surveying, the categorizing, the analyzing, and the memorizing. But the reconversion of such knowledge into living art, into original work, seems to have diminished—in some cases to the point of policy (the prohibition of creativity). </p></li>
<li><p><strong>The Romantic Misconception of “The Artist”</strong> The university looks upon an artist as a “mad genius,” believing that an artist has no idea of why he paints; he simply <em>has</em> to. This misconception manifests itself in the sentiment: “it makes little difference what an artist paints or what he himself happens to think; it is the viewer who really accounts for the meaning of the work, and even he would flounder about hopelessly were it not for the theorist, or critic.”</p></li>
</ul>
<h4 id="logical-extension_4">Logical Extension <a class="head_anchor" href="#logical-extension_4">#</a>
</h4>
<p>The three blocks Shahn outlined above hold true for not just art in the 1950’s, but for nearly all fields in academia today—including, but not limited to, Software Development.</p>
<p>With this in mind, reconsider my initial sentiment: “Drop out of school or study english. This is how you win at javascript.” </p>
<p>Shahn will make the point early and repeatedly that “art has its roots in real life.” Similarly, the need for Software Development arises from something stronger than simple classroom simulations—its utility manifests itself through actual provocation, and a proximity to real life.</p>
<p>Dropping out does not mean discontinuing your studies, on the contrary, most engineers, like artists, do and will continue to read a great deal about their craft, and do and should know a great deal about it. However, the organic pursuit of any solution is infinitely more valuable when grounded by a real problem, much in the way that algorithmic questions are terrible interview devices.</p>
<p>It follows then that English serves as an alternative to dropping out only insofar as it acts as an attempt to approach what Shahn was calling a diverse or “whole” culture. Here English should be understood as a stand-in for any field which could be held in dialectical opposition to Computer Science: anthropology, criminal forensics, art history… </p>
<p>Pursuing knowledge in this way, much like learning a new language, not only introduces you to, but installs you within, new diverse cycles of thought and promotes a creativity which I think is essential to excelling, dominating, or “winning” at Software Development. What’s more, it does so in a way that undergraduate “humanity requirements” simply cannot—which is precisely why Shahn’s “wholesome” utopia fails to be realized today. That is to say, undergraduate requirement policies promote a debilitating Dilettantism and are the scourge of our academic system, subverted only by enrolling in a field you don’t plan to pursue after college.</p>
<p>Consider this final anecdote from Ben Shahn:</p>
<blockquote>
<p>In another university I once had occasion to pay a number of visits to its very large ceramics department. I noticed that there was a great leafing about among books whenever a piece of pottery was to be decorated, and that not even the shapes of pieces were original. It seemed to me that the students were missing whatever pleasure there may be in the work. In talking to them, I made the odd discovery that they did not consider themselves capable of originating a decoration; it was not for them. In fact one student explained to me that that was not the course they were taking.</p>
</blockquote>
<p>Universities continue to encourage students to look for solutions which already exist rather than encouraging students to pursue new approaches. This isn’t to say you should always try to reinvent the wheel, it’s just that you shouldn’t be afraid to.</p>
<p>This coupled with the hoisting of theorists, critics, library authors, and book authors to insurmountable and infallible heights is a truly diabolical combination. I know first hand many of these figures, Alex Maccaw (drop out) for example has written two books, and released several successful projects, but I assure you he’s nearly human and is wont to making mistakes. </p>
<p>In the end, this isn’t to be read as a direct attack on people who have computer science degrees. Some of my favorite engineers of all time have CS degrees and are many times more competent engineers than I could ever hope to be. That said, I don’t think that these individuals represent the norm (particularly having interviewed “new grads” for the past 2+ years) and more over I don’t think these successes owe their brilliance to the institution which awarded them their document. </p>
<p><strong>In closing</strong>: Drop out or study English. It’s your best bet.</p>
<h4 id="edit-a-note-on-nonus-academia_4">Edit: A note on Non-U.S. academia <a class="head_anchor" href="#edit-a-note-on-nonus-academia_4">#</a>
</h4>
<p>I was amiss in failing to point out that Ben Shahn’s discourse, “Art in Colleges,” is really a discourse on “Art in U.S. Colleges.” In fact, Shahn makes a point of offering praise to the European system:</p>
<blockquote>
<p>Nowhere does [the American’s] limitations become so conspicuous as in his contacts with Europeans of similar background and education. For the European, whatever his shortcoming in other directions, will be perfectly conversant with the art and literature of his own country as well as with that of others. It is not at all improbable that he will know considerably more about American art than will the American himself.</p>
</blockquote>
<p>Interestingly however, Shahn is also quick to point out his concern in the future of European universities, a concern a number of you shared.</p>
<blockquote class="twitter-tweet">
<p>@<a href="https://twitter.com/fat">fat</a> yeah, I get what you mean, and it’s a shame European universities are being pressured into adopting the more “efficient” US model :(</p>— Luz Caballero (@gerbille) <a href="https://twitter.com/gerbille/status/223866004932001792">July 13, 2012</a>
</blockquote>
<p>Not surprisingly, we see similar fears issued throughout history by intellectuals like V.S. Pritchett, Francois Mauriac, and even Jean-Paul Sartre: “If France allows itself to be influenced by the whole of American culture, a living and livable situation there will come here and completely shatter our cultural transitions…”</p>
<p>So? What do you think, Non-U.S. scholars?</p>