It's good because it's easy 01/30/2012
Okay, before I propose this new project let me get something off my chest: capitalism is not bad. I know, evil things are happening all around you and that makes you upset. I know it bothers you to see the rich exploit the poor. I know it pisses you off to watch the masses guzzle down consumer culture like cheap champagne. But before you latch on to an idea like open source barter matching or gift economics or, God forbid, Bitcoin, take a moment to reflect on good bits of Capitalism. At the end of the day Capitalism and Socialism are more alike than they seem: they both hold aloft Work as the ultimate vocation of the individual, and see the road to the actualization of the Citizen as one paved by nice, shiny concepts like Labor and Artisanship. But where they fundamentally differ is in their philosophy on how to incentivize and prioritize labor, in how they figure out who should be doing what. Capitalism models itself on nothing less wondrous than Nature itself. It looks out on the world and sees all the flora and fauna living in perfect balance and harmony, and marvels at the fact that the entire ecosystem--the economy of the environment--operates with such efficiency and with such stability. Organisms and systems of organisms in particular demonstrate remarkable resilience and resourcefulness. They can adapt with remarkable speed to new situations and they generate absolutely no waste. How do they do it? Well, basically laissez-faire capitalism. There's no central committee or working group having meetings to plan how many salmon should spawn next season or how much grass to grow today, but rather everything just happens. The whole system functions like a flock of birds. Each individual follows a very specific set of very simple rules (try to reproduce, try not to die), which is enough for the system itself to demonstrate emergent behavior. And that behavior can be rich, complex and tremendously efficient. So what's my point? My point is don't throw the baby out with the bathwater. Listen to the lessons of capitalism and figure out how to use this extremely effective, robust philosophy to further your own goals. Don't try to be paternalistic in shaping people's behavior. Stop trying to tell me what I "ought" to be buying and stop trying to make me feel ashamed for the way I live my life. I don't say this because it hurts my feelings or because it annoys me. I say this because I sympathize with your position and I want you to see the economically viable path to realizing the things you believe in. In short, look at what makes Capitalism so successful and try to emulate it. Try to take a step back and realize just how unrealistic you're being about certain issues. Let's look at a simple example: purchasing consumer goods. Assuming for the sake of argument that in a perfect world everyone would buy locally-sourced, renewable, fairly traded, organic goods and produce, let's try to figure out how to actually get people to make the responsible choice. As I see it the problem is mainly one of information. Appreciate for a second that in a free market any buyer makes three assertions every time he makes a purchase. The first and only explicit assertion is that the buyer would like to be the owner of the good that he is purchasing. This is the assertion with which we are all familiar, and it is usually the only one that people consider when evaluating a purchase. The other two assertions are implicit: that the buyer approves of the methods by which the good was brought to market and that he approves of the methods by which that good will be disposed of. These are the assertions that we usually ignore, and they are the ones that usually get us into trouble from an environmental standpoint. When I go to buy a cup of coffee, for example, the only two things I usually consider are how much the coffee costs and how much I need that cup of coffee (which to my mind is usually quite a lot). The things that I don't consider are where the coffee came from, whether anyone was exploited in producing that coffee, how many resources were consumed in producing that coffee, and where the coffee cup is going to go when I throw it away. Ideally those hidden costs would be factored into the cost of that cup of coffee, but aside from paternalistic and morally legislative taxation there doesn't seem to be any real way to make a green, eco-friendly, low impact cup of coffee cost less than one that was made by roasting coffee beans in an orphan furnace, or something. When I say that the problem is one of information what I mean is that it's very hard to get access to the information that helps me make good purchase decisions. Imagine I wanted to be sure that every time I bought a cup of coffee I was 100% sure that it was as green a cup of coffee as possible. It's probably not sustainable to rely on some outside agency to give coffee a green certification, so instead I have to do all the research myself, investing my own time and energy into probing the dark secrets of every single slice of the vertical supply stack all the way from the grower to the coffee house. Yeah, it's not going to happen. I do not have one fraction of the free time necessary to write a dissertation on the coffee that I buy, let alone to give the same care and attention to every purchase that I buy. I need it to be easy, ridiculously, Wikipedia-easy for me to know everything about the genesis and disposal of the goods I purchase. This right here, is what makes capitalism work: simplicity. Before I cared about whether or not my coffee cup was made from bio-degradable corn fibers all I had to do was look at the cost of the coffee, look in my wallet and then make a choice. Granted the machinations and machinery that brought all the ingredients together--the coffee, the cost and my disposable income--are huge and dizzyingly complex, but the bedrock of the entire system is this simple act of consumer choice. This elegant simplicity is what makes Capitalism so stable and so scalable. Now we come to the proposal itself: make green spending easy. Create some way to empower consumers to learn more about the things they buy. Make it fun and rewarding for them to practice socially and economically aware spending. Their purchase power is tremendous--I don't think I exaggerate when I say that a citizen probably has more power as a consumer than as a voter, but most people do not realize how much impact they can have simply by changing the way they buy. Help them see this impact. Let's make a mobile app with a barcode scanner that will instantly tell a consumer everything they need to know about what they're buying. When they scan a loaf of bread, tell them more about the company, tell them how much fresh water and coal was used to bake that bread. Or better yet, take all that information and condense it into a single number, a number signifying on a scale of 1 to 5 how "green" a purchase it is. And give suggestions for other, more benevolent purchases. Let's make a web app that links against a user's credit card, like Mint, monitoring his purchases and helping him see how his purchases affect the world. Let him keep track of his personal impact, showing him not only areas where he could improve or minimize his consumption but more especially areas where he excels. Show him just how much his choices are serving the betterment of the world he lives in. Create social incentives for good purchasing decisions. Put him in touch with the local, organic farmers that he supports. Give him perks and benefits for making good choices. In short, make doing the right thing fun and easy. Help establish a positive feedback loop of green capitalism. Each of these I see as something that I could put together myself; given the very modest extent of my own coding abilities I assume that these would be easy projects for someone more qualified. If you're interested or have your own ideas then let's talk more. 1 Comment New Favorite Ad 12/15/2011
Arduino + WiFi, Part 2 12/13/2011
The Wifi and Arduino odyssey continues. Having done a bit more research and after a consultation with the good people on the NYC Resistor mailing list, I've come to accept the fact that this is going to be more than a weekend project. All in all I feel as though I'm about to have a very authentically Arduino experience, where after a few initial cries of "What the hell, this is an easy problem, why hasn't someone else solved this for me?" you roll up your sleeves and settle in for a nice, soul-sucking learning experience. In hindsight I guess there's no reason for anyone to expect for it to be easy to take a difference in voltage, translate it into a digital value, encode those bits into radio waves and beam them across a room, receive that radio signal and turn it back into bits, and finally send those bits to a specific place in a specific application, all without doing any setup or configuring anything. The fact that I'm even trying to solve this problem instead of, you know, eating lice out of my friend's beard is a testament to the advancement of human society. But even though iCloud and iBooks and AirPort and WiFi make seamless wireless communication looks easy, from an objective, physical standpoint it's right up there with gene splicing. Which, I've come to learn isn't actually that hard, but that's another post. If you're hoping for a clear, concise write-up that takes you all the way from an Arduino and a credit card to a zeroconf WiFi ballet, then you might want to put away the vuvuzela because we're not quite ready to celebrate yet. I haven't even narrowed it down to a specific Arduino shield. I have, however, sifted through the cruft and started to cobble together some of the more promising pieces of wares hard and soft. Hardware: 1. RN-XV WiFly Module - Wire Antenna / $34.95 -- http://www.sparkfun.com/products/10822 Aww, look how cute it is! It's like a little red ladybug of nights spent alone rubbing your Arduino and router together in desperation. What's nice about this one is that it assumes you've already got a bunch of Arduinos and Arduino-related crap (which I do). Rather than requiring a whole new shield, this little module simply functions as a drop-in replacement to your XBee antenna. This means it's cheap, low-power and as an added bonus it means you can leave in place most of the hardware and software you'd already been using for XBee serial communication. If I already had some ad-hoc wireless Arduino solution up and running these would be huge plusses; as it is it's some relatively insubstantial but very tasty frosting. As with all the hardware modules it's able to handle 802.11 b/g and has the full TCP/IP stack, giving you DHCP, UDP, DNS, ARP, ICMP, HTTP client, FTP client and TCP. The only downside is that it's limited to 464Kbps, which isn't too slow but then even short people like high ceilings. 2. WiFi DiamondBack / $73.00 -- http://linksprite.com/product/showproduct.php?id=74&lang=en While the other hardware solutions listed here take the form of some shield or module that you plug into your Arduino, the DiamondBack offers an Arduino with WiFi baked directly in. I'm hoping that this makes it akin to a MacBook for Arduino WiFi, in that what you lose in versatility and cost you make up in design and ease of use. This one rakes in big bonus points for having a QuickStart guide, as I believe that anything more complicated than a doorknob (which includes some doorknobs) ought to have a QuickStart guide. It also claims to work with the WiShield code base from LinkSprite, which appears to be the best documented and most complete Arduino ethernet code package out there. But more on that later. Finally it boasts transmission speeds of up to 2 Mbps, significantly faster than the RN-XV. Though you should probably take that claim with a grain of salt, as that's just the theoretical limit based on the hardware, not a reported speed. For a point of comparison on the cost, I think an Arduino retails for $30, so you're actually getting pretty outstanding value-for-money with this board, especially if you don't already have an Arduino. 3. Hydrogen / $75.00 -- https://diysandbox.com/our-products/arduino-shields/hydrogen Well it's expensive as expensive balls, so presumably it's got some good features to make it all worthwhile. The first feature that strikes me is being ugly as a broken knee, but then again it is an Arduino shield, not a Japanese flower bouquet. Like the others this board is 802.11b and capable of handling TCP and UDP connections. In a very sneaky ploy to convince us that this is some kind of lightning-fast magic board the product is listed as 11 Mbps certified, with throughput TBD. Of course that limit and certification are actually features of the 802.11b protocol and not the hardware, so who knows how fast this board can actually send and receive data. The hardware for this board links to the WireFree ethernet library, an Arduino connection library specific to this board. The most exceptional and simultaneously mystifying feature of this board is the inclusion of a MicroSD card reader, maybe so it can beam embarrassing photos to everyone in WiFi range without your knowing? The board claims to be able to scan access points for RSSI information, which is actually an extremely cool feature that none of the other boards seem to offer, in addition to storing "two connection profiles for easy reconnection." Presumably it needs the SD card to store these profiles? But even the cheap SD cards are goddamned huge; I'm pretty sure I've got a few 4GB SD cards between my couch cushions. Are the connection profiles really that big? And what is easy reconnection? I guess I'll have to buy the board and see... 4. CuHead Shield / $55.00 -- http://www.linksprite.com/product/showproduct.php?lang=en&id=73 My gut tells me that this is the WiFi shield for me. It looks just like any other Arduino Shield. It's upfront and clear about which pins it uses. It uses the phrase "plug-and-play." It links to the WiShield library, my favorite so far. It even offers a user manual in PDF form, although the file name "cuhead_wifi_shield_user_manuel.pdf" reeks of French influence. It even brings out all the Arduino headers that it would ordinarily block out, so presumably you can just snap it onto your Arduino and get to work as if it wasn't even there. Awesome. Software: 1. WiFly Shield -- https://github.com/jcrouchley/WiFly-Shield I saw a very promising and very clear example usage of this code here, http://log.liminastudio.com/programming/getting-started-with-the-rn-xv-wifi-module-node-js, big big thanks to Tedbot at NYC Resistor for the link. This all bodes well, however the code is specific to the RN-XV. I can't find a license, so I'm assuming the hardware specificity means that they didn't bother. 2. Wirefree -- https://github.com/diysandbox/Wirefree Ugh, GPL. I hate the GPL. At least with commercial code you can pay a license and then the code belongs to you. You can do whatever you want with it without having to feel the icy hand of capital "O"pen software on your shoulder the whole time. Using software with a GPL license is like being a teenager driving your dad's BMW: it's fun but you can never appreciate it because of the constant reminder that you're enjoying something that doesn't belong to you. Worse, every single line of code you write from that point on has to include the original GPL license, so you can't even claim ownership to your own code anymore. What the hell, man? I agree, software should be open and free, but it's Apple-level crazy to claim that I don't own something I wrote myself. What were we talking about again? 3. WiShield -- https://github.com/asynclabs/WiShield I'm definitely leaning heavily in favor of this source code and any Arduino Shield that can use it. This code claims TCP and UDP sockets and has example code for configuring a web client, a web server and even for posting tweets. That's pretty fantastic; I always wanted to build a wireless sensor attached to a scale under my liquor cabinet that could tweet at me when I was running low. The only downside, and this is a weird one, is that the authors of this fabulous block of code, Async Labs Inc., are closing their doors. This could mean that the code won't be actively maintained anymore. It also says something very interesting about the fact that I can't find a software license attached to the code--maybe there is no software license? Or even if there is, who's going to enforce it? And now I've bought them. The credit card is maxed out and my Christmas present/punishment to myself is on it's way. You'll be the first to know when I actually get some bits flying through the air. One last thing to mention: eventually it will be important to jump one last hurdle, the hurdle of asynchrony. Writing responsive code that also networks requires a solid grasp of asynchronous programming and some kind of kernel that can handle the threading. How will Arduino stand up to the task? How will I stand up to the task? Concurrency Puzzle 12/01/2011
The last thing the world probably needs is more examples of my incompetence, but in case you needed just one more, here's a pretty good example: As you can probably tell, you're looking at some good old fashioned C. I had some struct with a field counter, and I needed to write a function that would increment that counter and return the incremented value, all atomically. This was my first solution and it's very, very wrong. It avoids some of the worst pitfalls of a multithreaded counter, in that the output does at least increase monotonically and there won't be any nasty memory corruption. At the same time, it's not only possible but likely that two concurrent calls to this function will return the same value. Each will perform the highly optimized, blisteringly fast atomic increment, then dopily retrieve and return the same value from o->counter. In other words, this function is kind of atomic, which as my concurrency professor used to say is a bit like being kind of a virgin. The puzzle is how to fix it. With locks or multiple concurrency operations the answer is trivial, but with only one hardware-level concurrent operation it's at least not immediately obvious to me how to do it. The basic problem is that you need to do two atomic things at once: increment the value of o->counter and write that atomically-incremented value to the return register. Almost sure that it is a laughably naive answer, I propose this solution: Not something I would necessarily bring to a Google interview, but it gets the job done. If you've got a better solution I'd love to hear about it. Arduino + WiFi 11/29/2011
Get ready to be sad. All I want is a WiFi shield for my Arduino. I want to snap a little board on top of my Arduino, throw in some code to specify a WiFi network to connect to, and then I want to be able to do socket programming on my Arduino like I can on my desktop. That's all I want. Infrequently I'll take flak for owning a MacBook Pro or an iPhone. Someone will come along and they'll tell me that I shouldn't support Apple's closed and evil software philosophy, or that I've paid way too much for my computer, or that MacPorts blows goats on a jetski (this last one is totally valid. Choosing between MacPorts, Fink and HomeBrew is like picking whether you want your arm, leg or face pulled off). I take all that criticism, ignore it, and then set it on fire. Why? Because I am a firm believer in what I like to call the "and then move on with your life" philosophy. Here's why I got a MacBook: I asked a friend what kind of laptop I should get. He said I could get a Dell or an HP if I hated myself, I could get something even cheaper and throw a lightweight Linux distro on it, or I could get a MacBook "and then move on with my life." Sold. My friend saw through my question and accurately inferred that what I was really asking was "What's the fastest way to get from where I am now to a place where I can be enjoying laptop-ownership?" And by far the fastest way was in the driver's seat of a MacBook Pro. That takes us back to the Arduino. What I really want is to be able to connect my Arduino to something else, be it my phone or my laptop or something. I want to get the two communicating and I want it to be easy and lightweight. In other words, I want to get a WiFi shield "and then move on with my life." Unfortunately it doesn't look like the Arduino community understands this philosophy. A quick google search for Arduino WiFi shield yields these results: http://www.bizoner.com/arduino-wifi-ieee80211bg-serial-shield-internal-antenna-p-232.html http://www.robotshop.com/anaconda-wifi-shield-arduino.html?utm_source=google&utm_medium=base&utm_campaign=jos http://www.robotshop.com/cupperhead-wifi-shield-arduino.html?utm_source=google&utm_medium=base&utm_campaign=jos http://www.linkspritedirect.com/product_info.php?products_id=63&cPath=6#googlebase http://www.linkspritedirect.com/product_info.php?products_id=25&cPath=7#googlebase http://www.linksprite.com/product/showproduct.php?lang=en&id=73 http://www.sparkfun.com/products/9954 http://www.cutedigi.com/product_info.php?products_id=4361 https://diysandbox.com/our-products/arduino-shields/hydrogen All these options with no end--or reviews--in sight. This tells me a number of things: 1. Simple WiFi connectivity might not be that hard, which is good. I mean, the market for Arduino WiFi shields isn't exactly huge. If this many parallel solutions exist then the cost to actually develop something like this must be pretty small. 2. There is no standard solution for WiFi on Arduino, which sucks. This means that each of these boards probably has its own code to go with it, and that the mileage I'll get out of each board will depend not only on the design of the hardware but also on the quality of the documentation. It also means that I'm going to spend a lot of time combing through Arduino forums filled with incomplete or outdated information. Yay. 3. Any solution I develop for working with one shield and software combo will be totally ad-hoc and will not work with another shield and software pairing. For me personally it means that if down the road I decide I don't like a particular board that I'll have to re-write all my network code from scratch. On a level that affects other people it means that it will be really hard to develop a cross-platform library for WiFi on Arduino, something that could be agnostic to which WiFi shield you're using. What I really want is to slap on a WiFi shield and move on with my life. Instead, I'm going to buy a few of these boards, try them out, and write up a nice comparison, just in time for non-denominational Jesus day. Hopefully the picture isn't as bleak as I've painted it, and getting all this stuff to play together isn't as bad as I suspect it will be. But I'm not holding my breath. Pavement 11/06/2011
"We--" And here, in deliberating the next word, his mind kicks off a near infinite wave of activation and re-activation, association and negation, synapse tickling synapse across a web of ideas, memories, literature, society, experience, books, tastes and sounds, but also feelings, and of course he cannot deny the influence of the cold pavement against his tailbone, or the bark that argues painfully with the curve of his spine, or most of all he cannot ignore her enormous eyes that plunge right through his and probably straight into that mess of dendrites, ensnaring him with weird orthogonal feelings: pride, lust, love even--feelings that terrify him because they are so primal; he has never known real fear, defensive terror, and so it is through love and lust that he has his most intimate knowledge not only of his slavery to his primal instincts but worse still the slavery of all mankind to history and to repetition, and here he faintly trembles at the thought of how many times in the past a man has sat or stood or lain in an unaccommodating position and tried to carve out a tiny shelf of thought for himself, and furthermore how many times a woman was present, how many times before his brothers had called on the aegis of sexual selection to protect their tiny, budding ideas, ideas that call for reproduction with almost more vigor than his own spermatozoa, these ideas unfolding out of cocoons like paper moths or dragonflies that can scarcely dry their wings before history snaps them up, that great black spider refusing to let anything take flight that has flown before; he knows this spider and he knows how his little thoughts are little more than youth mingling the past and present with enthusiasm and the self-assurance born of ignorance, but something burns him, some feeling right at the base of his medulla oblongata--the seat of breath and footsteps--a feeling that even though he cannot avoid death (or perhaps because he cannot avoid death) he must pace out his meager plot on the field of ideas, otherwise why should he continue to suck up food and education and resources, but of course this feeling is itself an old idea and not even a very good one and now he's drowning again, he's drowning and if he gasps for breath he'll choke on cold, wet words, his lungs will fill with old rotten thoughts and he'll sink to the benthos of the imagination and an ecosystem of sightless crustaceans will feast on his corpse as if it were the whole universe; here's a new idea: his body is the whole universe, maybe the flowers of the present grow from the stalk of history, and even if each petal is doomed to shrivel without growing into a plant itself the whole organism can still lean towards the sun, but this is a silly metaphor and he knows it, because there is no sun, the plant is actually growing towards an illusion, towards a mirror, towards its own imagination, and anyone with even a rudimentary understanding of chaos (slight pause to appreciate the oxymoron) knows that the initial conditions, the orientation of the seed, the salinity of the soil, the Iliad and the Odyssey, have already stamped their weight and implacable seal on the present, and that in all likelihood every facet of this moment, sprawling on the pavement, young, unsure, eager, spitting out words that are as much thoughts as they are codewords, signs, a way of reaching out to other people who might have their own islands of thought, hoping that we might pull together into some kind of Pangea, or at least Pan-archipelago, and his mind still a giant web that can wonder whether the next word will too strongly resemble Hegel while simultaneously registering hunger, some dim moment from childhood, even the silly problems of a self-aware youth that wonders if leaning to one side or the other makes him more appealing to he opposite sex, every facet of this moment is simply a flock of birds flying in an ever-tightening spiral around the output of a function whose validity is itself in question, and every single one of us is just a different hybridization of old ideas and old genes, and the best any one of us can do is kick the arrow of that original question imperceptibly to one side or the other, which is exactly the reason that he, like so many others, would rather sit in the gutter with a good friend than stand on a mountain by himself; a friend with an ear to listen, it turns out, can be the universe, and in spite of the many assertions to the contrary on the part of art, history and science that the world we inhabit is made of bits of mud, space and protons the truth is that everything is in fragments, shards, chips of sign and signifier--the words that build the shantytown we call civilization, the face of our friend who in spite of everything turns to us and says yes, please, tell me what you have to say. "Yes?" "We should probably find a bar." Design, Apple, Marx 10/31/2011
So I'm a Marxist. Well, let's not go quite that far, because surely here in the United States of Barack's Muslim Socialist Caliphate there is no quicker way to lose all credibility than to admit to being Marxist. How about this instead: I agree, spending 60% of your waking hours at a job you hate simply to supply yourself with the barest living essentials and the material goods to distract yourself from the banality of your existence is probably not good. The viability of the state as a source of existential meaning, the evil of private property, the abolition of a free market; these are all things I might argue against. But I think you'd have to be pretty goddamned but stupid to think that you can actually have a viable society where most people spend most of their time hating their lives. I mean, come on. Anyway, as a sort-of-but-very-cautious-Marxist I have become hyper-attuned to any even vaguely socialist tendencies in any of my friends. It's all the more poignant when that friend also happens to be independently wealthy and an unapologetic vanguard of the techno-bourgeois. But then in happened: something came unhinged in Rafik's mind and suddenly we're not sitting on a bench in Soma but behind a podium in Red Square. "The disparate ails of the modern world," he begins, "these problems we like to pore over and ponder and decorate in so much legislative ribbon, I can't help but think that these are all simply symptoms of an underlying malady." Oh?, I think, perking up. "Our antiquated rail system, overpriced and over-marketed food, unemployment, inefficient and expensive health care: these may all seem like isolated problems but I see a common root." That's right, preach it brother. "I see one single, dangerous assumption that pollutes the entire system." Come on, Lenin, take us home. "And that one problem is--" Yes, I'm ready, let's start the revolution, "--bad design." "Ah," I say. So much for Marx. "You don't think so?" Traitor. "Well, that's just not what I thought you were going to say." "But surely these are all areas where intelligent, thoughtful design would be panacea. Imagine we could get the same minds behind the iPad to re-invent our health care system. Imagine we could make the interaction between doctors and patients fast and transparent. Imagine it was an opportunity--a joy even--to see medical bureaucracy at work. It might sound impossible but there are millions of dollars waiting for be made, huge contracts out there waiting to be won, for the right design team with the right motivation." "Sure, but you'd need to completely change the tenor of public perception if that's going to happen. Remember, you're talking about recruiting the most brilliant and creative minds in the country," here I gesture half-sarcastically to the pair of us, "and asking them to work a government job. No one wants that. They all want to work for Apple." "Right, but there was a time when Apple was significantly less than it is now. There was a time when it was basically a mom and pop computer store, an electronic atelier. But the people at the helm were firm about making it about more than just electronics. In fact, you could almost argue that Apple has, from the very beginning, been much more of a design and experience company that a computer company. From the very start they've been seeking out and hiring talented designers and artists. You're right: these are creative types, people with egos. We just need to seek these people out, make them feel valued and wanted, make them feel like redesigning health care could be their chef d'oeuvre, their Seventh Symphony." I take a moment to reflect on the fact that surely drinking a coffee and discussing Apple in San Francisco must be the modern equivalent of musing over the Senate in an Ancient Roman bath. "I don't think that's enough. You know it's not for nothing that Apple has and always will be a personal computer company. I can't help but think that they don't tackle enterprise problems because exactly that area--good design--is simple not something corporations care about. Individuals buy things they like. They buy fancy, fun, expensive gadgets because it makes them feel fancy, fun and expensive themselves. Startups do the same thing too, I guess, but large companies really don't. The bigger you get, and as a consequence the more distance you put between the people who build the product and the people who enjoy it, the less good design seems to matter. People don't see the Caltrain as a way to enrich people's lives through design. Politicians see it as a necessity but nothing more, something that must be maintained but at the absolute lowest cost possible. People are unemployed and hungry and pissed and this close to voting for the other guy; how can you possibly justify spending some huge amount of money to hire a German design studio to re-imagine rail transport. And there is no way any independent designer is going to be able to build and operate their own, competing train. It's not going to happen." "But I think people are starting to wake up to how important good design really is. They're starting to demand it in everything they see. Again we've probably got Apple to thank. Say what you will about the cost of their products, about their corporate policies, about their fetishization of material goods. Whether the people who buy Apple products realize it or not, with every iPad they buy they are becoming more and more convinced that good design is something worth paying for. The more products Apple sells the more people demand design. The more people demand design, the less tolerant they become of garbage." "I agree with that, but there's a limit. People are never going to be so infatuated with design that they reject things they need on principle. The thirst for good design is really something you can only feel from the absolute apex of the pyramid of needs. So long as there's a market for cheap goods people will continue to crank out that garbage. People aren't making shitty iPad look-alikes because they don't understand design; they're making them because people buy them." "But you're forgetting something: even making those shitty look-alikes isn't easy. You still need designers and engineers, even if they're working a job they don't feel passionately about. But there's a limit to what people will do. There are brilliant and creative people out there," here he gestures not-at-all-sarcastically to the pair of us, "who would never work for Android or Windows." "On principle." "On whatever. And that's just the power of Apple. Not only does it create a consumer class that values design, it also stands as a role model for talented designers. It says 'There are people out there who understand your passion. Don't work for some soulless corporation who wants nothing more than a steady stream of just barely marketable junk. Aspire to greatness and you will achieve it.' Somewhere between customers who refuse to put up with crummy products and engineers who refuse to build those products is the future I'm hoping for." I'm about to say something about unemployment and choice when a light goes off in my head and I realize that we're right back on nice, firm, Marxist soil. We're just talking about the proletariat. We're talking about the pride of the worker, about the difference between people who hate their jobs and people who wake up in the middle of the night excited by the work they get to do the next day. And I think we're talking about a free market that is slowly, ever-so-ponderously starting to value and incentivize just that kind of labor. It's the first time I've heard the problem phrased in quite this way, and I have to take a second to reflect on what looks on the face of it to be a fairly elegant formulation: Apple is the first tech company to succeed in the free market precisely because it values its workers as artisans, as laborers in the Marxist sense. It bears repeating: Apple has succeeded in the free market precisely by embracing a notion of labor that seems to run counter to the market itself. And there's something warm and fuzzy about the idea that Apple might represent a tiny, baby step towards an economy driven by smart people with good ideas, rather than droning efficiency. But there's a lot left to hash out. Apple has had to make a lot of sacrifices to get to where they are. While they are fiercely proud of their own engineers they are brutally uncompromising with those from other companies. Where other industry giants push for openness in software Apple calls for gated communities and curated content. They've build a Forbidden City around their product to build their image. And we can't ignore the fact that Apple is certainly the exception, not the rule. To work at Apple is still a very rare privilege that very few people can enjoy. How do we move towards a country and an economy where workers actually have the freedom to work only on the projects that inspire them? How do we make well-designed goods commonplace rather than coveted? In other words, how do we make high-speed rail like Apple? I sip my coffee and check the time on my iPhone. "That's a good point. Say, what do you know about labor alienation?" Goodbye, San Francisco 10/31/2011
This is going to be a tricky one. Basically, I want to write a letter to everyone I met in this stupid city. Well, not everyone. I actually have no interest in writing my friends or my co-workers or anyone like that. I want to write the chance encounters, the people I barely know, the ones I couldn't have said more than two words to. I want to write a letter to all of you: the pretty girl from the coffee shop who stopped working after I moved, that guy I talked to about metalworking outside of Hotel Tropicana, the girl I met who grew weed on a mountain, the cab driver who smoked a cigarette with me outside of that spa party, the homeless guy who played a guitar without strings, the fixture from The Future, the guy with the lisp from that house party, Helen from Arizmendi, the guy who did natural language processing at Apple, the naturalist from the whale-watching trip. In this airport, sitting, staring out the window at nothing it's you that I can't stop thinking of. It reminds me of when you vacuum or tidy up or whatever and you find a little piece of inexplicable but clearly massively functional plastic that was obviously once the lynchpin of whatever contraption it once belonged to. Each of you feels to me like one of those pieces of plastic. Why did we say those things to each other? What about the things I wanted to say to you but didn't because I felt shy or because it didn't feel appropriate or because I didn't feel like it would matter. But this is ridiculous. I'm almost sure it really wouldn't have mattered--I'm almost sure that it wouldn't have mattered if we'd never met in the first place. You almost definitely feel the same way about me. And yet here I am, sitting in this airport, walking up and down the long corridor of memory pondering each one of you like a museum panorama. My closest friends, the familiar faces, the food and laughter and sex: these could not be further from my mind. Instead I'm endlessly wondering over each of our little, meaningless exchanges. Funny, I feel so strongly that our little meetings couldn't have mattered less and yet I feel more defined by these encounters than by every supposedly deep dinner party conversation I've ever had. Probably because when I talk to you, you nameless other, you weird mirror, I dig so deep into myself I scrape bedrock. I look at your face, your giant face with its huge, unflinching eyes boring into me with affability and warmth or maybe not or its hard to tell and all of a sudden I'm swirling around some kind of drain with your big face right at the center. What do you want from me? What do I want from you? Our little conversations are such blunt fractured crystals, little narrative shards with no beginning and no end. Each one is like a little lifetime, and indeed I don't think either one of us is quite the same person before or after our meeting. There we are talking about where we live and where we eat and whether our respective neighborhoods are whichever combination of loud, expensive, energetic or laid-back, and maybe just like me you're really thinking about being born and about dying and how much more there is to think and to learn and how much we wish this conversation, right here, would be the Reason and that we open our eyes and see each other and walk out into the world like people or something. Or something. But here I can't even write a sentence anymore, let alone disentangle San Francisco the city from turning 23 or from eating a burrito or from being mortal. My Weeblies 10/30/2011
Check em. | Sam TarakajianBreakfast is a faith-based initiative ArchivesJanuary 2012 Categories |





RSS Feed