<p>Because the write locking happens at data copy time. If this pans out looks like they&#8217;ll have managed to stay focused post-Oracle acquisition.</p> </content>
<p>Because the write locking happens at data copy time. If this pans out looks like they&#8217;ll have managed to stay focused post-Oracle acquisition.</p> </content>
<p>Both of my grandfathers were compulsive readers. They left behind large libraries. My <a href="http://laughingmeme.org/2006/03/26/in-memorium/">Grandpa</a> however was a life long fan of science fiction, and his library includes boxes, and boxes, and boxes of paper back science fiction novels purchased starting in the 1930s and running up until a few years ago.</p> <p>Going through the collection some had been damaged by rodents, and weather, and had to be tossed, but even keep only those in good condition they filled 21 file boxes.</p> <p>My <a href="http://sedesdraconis.livejournal.com">brother</a> and I spent a little while trying to identify software to help with the cataloging. We didn&#8217;t find anything useful. In particular most assumed that the bulk of your catalog had <a href="http://en.wikipedia.org/wiki/International_Standard_Book_Number">ISBNs</a> (introduced in the 1970s), or even barcodes.</p> <p>We ended up setting up a <a href="http://spreadsheets.google.com/pub?key=pEhbYvNb-czZghXoaSoWBdQ">shared Google spreadsheet</a>, and, along with our Dad, hand entered the first box. (thankfully the data is repetitive. One of the delights of the experience was going to type in an author or publisher, and auto-completing as someone else had already added a book by that author).</p> <p>Now the question is, how do you go about enriching that data, and identifying which of the books are interesting. We found a first edition 1954 &#8220;I Am Legend&#8221; which a quick web search suggests sells for $50-$100USD. But we have no idea how many other interesting titles we were simply unfamiliar with.</p> <p>And we have even reach the esoteric stuff, like the &#8220;double feature&#8221; printings, which can be read front to back as one story, or flipped around and read back to front for an entirely different pulp novel.</p> <p>Are there books? Newsletters? Websites? God forbid APIs for doing this stuff? <a href="http://www.alibris.com/">Alibris</a>, and <a href="http://www.abebooks.com/">Abebooks</a> seem to be the most prominent, but not terribly useful. Ideally there would be a database out there with confirmed first edition information, estimated value, cover art, etc.</p> <p>Any ideas?</p> <p>Anyway, the <a href="http://spreadsheets.google.com/pub?key=pEhbYvNb-czZghXoaSoWBdQ">first box of 107 books</a> is up and indexed, including a <a href="http://spreadsheets.google.com/pub?key=pEhbYvNb-czZghXoaSoWBdQ">Matheson, Merrit, Moorcok, and Laumer</a>.</p> </content>
<p>10 minute app to provide some content while my blog was down this week. Uses the new <a href="http://flickr.com/groups/api/discuss/72157604450378243/">&#8220;media type&#8221; hooks</a> in the Flickr API.</p> </content>
<p>I didn&#8217;t make it to the keynote to see our <a href="http://developer.yahoo.net/blogs/theater/archives/2008/04/ari_balogh_web_20_expo_keynote.html">new CTO speak</a> (meetings that morning), but it was very strange, bordering on deeply surreal to watch the video of it.</p> <ol> <li><p>Interesting to see my &#8220;Flickr is the 2nd largest API &#8221; meme work its way up the tree. I didn&#8217;t make that factoid up per se, and I&#8217;d probably stand behind it if pushed, but I did reason from very limited data. (also AWS screws up the story, is utility computing an API?)</p></li> <li><p>Still haven&#8217;t quite adjusted to the transition of OAuth from being a personal project that the &#8220;Paranoids&#8221; (official title of Yahoo&#8217;s internal security experts) were angry at me for working on (against Yahoo policy for Yahoos to work on security related projects), to a the company wide standard, at least on paper.</p></li> </ol> </content>
<p>I miss <a href="http://randomfoo.net">Leonard</a>, <a href="http://getluky.net">Gordon</a>, and <a href="http://waxy.org">Andy</a>. But now that they&#8217;ve dispersed from <a href="http://yahoo.com">Big Purple</a> it&#8217;s nice to see all three of them schooling the internet in what <em>real</em> tech reporting might look like. You almost forget how bad it&#8217;s gotten until you see someone with a clue do it. Talk about amateur hour being over.</p> </content>
<p>&#8230; I can&#8217;t get over this nagging question, &#8220;Why does <a href="http://zvents.com">Zvents</a> need a distributed, sparse matrix, versioned datastore?&#8221; I don&#8217;t track the calendaring space as much as I used to, and sometimes innovation is self justifying, but I&#8217;d feel a lot better about the project if I knew that answer.</p> </content>
<p>I&#8217;m speaking next Friday at the <a href="http://sf.web2expo.com">SF Web2Expo</a> on <a href="http://en.oreilly.com/webexsf2008/public/schedule/detail/1826">Casual Privacy</a>. I&#8217;m speaking in Dublin Speaking Thursday May 8th (2 weeks later) in Dublin on <a href="http://2008.xtech.org/public/schedule/detail/645">Advanced OAuth Wrangling</a>. Hope to see you at one or both of those talks.</p> <p>I&#8217;m also excited about a <a href="http://webexsf2008.crowdvine.com/profiles/1841/talks">dozen other talks next week</a>, as you can see from my <a href="http://webexsf2008.crowdvine.com/profiles/1841/talks">Web2/iCalico schedule</a>.</p> </content>
<p>I&#8217;ve just posted to the <a href="http://code.flickr.com/blog/">new Flickr Developer blog</a> a list of all the various <a href="http://code.flickr.com/blog/2008/04/18/web-20-expo-youre-in-our-town-now/">Flickr folks</a> speaking at next weeks Web 2.0 Expo. Also, if you haven&#8217;t seen it, take a spin around the rest of <a href="http://code.flickr.com">code.flickr</a>, a new site for the Flickr development community that launched this week, and has been brewing as side project since time immemorial. </p> </content>
<p>Me I just wish they&#8217;d bring back a delegated auth endpoint, whether their proto-OAuth, or a real OAuth endpoint. Meanwhile my only issue with m.twitter.com is I want the option to see only the subset of folks I have device notification turned on for.</p> </content>
<p><a href="http://www.flickr.com/photos/ovalspleen/2418936452/" title="mmmmDONUTS by ovalspleen, on Flickr"><img src="http://farm3.static.flickr.com/2409/2418936452_8fc023ff37.jpg" width="500" height="500" alt="mmmmDONUTS" /></a></p> <p>See: <a href="http://blog.flickr.net/en/2008/04/15/day-of-the-donut/">Day of Donut</a></p> </content>
<p><a href="http://twitter.com/kellan/statuses/766054702" title="TMI by kellan, on Flickr"><img src="http://farm3.static.flickr.com/2182/2460098139_209baeb2e4.jpg" width="500" height="310" alt="TMI" /></a></p> <p>One of the key topics (I think) in my <a href="http://en.oreilly.com/webexsf2008/public/schedule/detail/1826">Casual Privacy</a> talk last week was the importance of &#8220;context&#8221; in privacy and sharing. That some people have trouble understanding how fundamental context is to all social interactions was my primary take away from <a href="http://laughingmeme.org/2008/02/04/notes-from-social-graph-foo/">SG Foo</a>, and I&#8217;ve been preaching it quietly where I can.</p> <p>All by way of saying, I made one of my rare visits to <a href="http://friendfeed.com">FriendFeed</a> this evening, and I was reminded that I consistently regret it. Breaking down those contextual walls means I consistently like the people I find there less then I did when I was able to interact with them in isolated manners; fire walling the aesthetic from the technical from the political from the personal.</p> <p>We need routing not aggregation.</p> </content>
<p>&#8220;So few salmon returned last fall that the fishery council was required under its management plan to halt fishing throughout the salmon habitat, which is all along the California and Oregon coasts.&#8221;</p> </content>
<p>Finally got around to posting on working with video in the API. (been sitting in the &#8220;really should be edited a bit&#8221; queue for weeks now)</p> </content>
<p>Operations Engineer experience with JVM-based application stacks, Systems Engineer code using primarily Java, Ruby, C/C++ and Scala. I blame <a href="http://twitter.com/jack/statuses/792777706">theraflu</a></p> </content>
<p><a href="http://www.flickr.com/photos/mroth/2455562536/" title="All systems go! by mroth, on Flickr"><img src="http://farm4.static.flickr.com/3168/2455562536_a6da4a42d7.jpg" width="375" height="500" alt="All systems go!" /></a></p> <p>Skipped lunch to spend a couple of hours this afternoon hanging at <a href="http://www.mojobicyclecafe.com/">Mojo cafe</a> this afternoon with <a href="http://mroth.info">Mroth</a> and <a href="http://romeda.org">Blaine</a> getting trained up by <a href="http://www.flickr.com/photos/dogmilque/">Steve</a>. Love this photo Mroth snapped.</p> </content>
<p>Susan Kuchinskas has a nice write up of my talk on Friday that manages to hit most of my quotable moments (and leaves out the few that really shouldn&#8217;t make it to print). Slides coming soon.</p> </content>
<p><a href="http://weewar.com">WeeWar</a> broke in a wave across the office this afternoon. (thankfully late afternoon, or I might have gotten nothing done today). Its a Web-based turn based strategy game, thats very well done. Sort of a &#8220;Flickr for Risk&#8221;, with a nice value add pro account ($24.95/year), and APIs, social networking features, and a chatty tone.</p> <h3>XMPP</h3> <p>But I&#8217;ve never run into an application that needed an <a href="http://www.xmpp.org/">XMPP</a> interface more.</p> <p>The most fundamental missing functionality is a convenient, light weight way of getting notified that your turn has rolled around again. WeeWar will send you email, but now your inboxes is even more cluttered, and you&#8217;re having to check your inbox constantly. (something I try to keep to 1-2 times an hour) </p> <h3>Push</h3> <p>A Jabber interface you could trust to push to you the state changes news, and thereby remove the nagging, &#8220;Is it my turn?&#8221; and the <a href="http://headrush.typepad.com/creating_passionate_users/2006/03/clicker_trained.html">variable positive reinforcement</a> relationship it sets up with your inbox.</p> <p>Additionally its a classic app where, if you&#8217;re polling, you want to keep the polling time very low, but the actual incident of change is fairly spare, which means WeeWar is going to at some point start resenting their polling based APIs.</p> <h3>Payload</h3> <p>Ideally messages would also include an XML payload describing either the changes since your last turn, or the current state of the map, allowing for rich consuming clients to build alternate interfaces to the world.</p> <h3>New Games</h3> <p>Orthogonally, a new games, and new games from your &#8220;preferred players&#8221; would also be excellent to get pushed out over Jabber.</p> </content>
<p>I&#8217;ve been terrible about uploading my talks this year. So here are the <a href="http://www.slideshare.net/kellan/advanced-oauth-wrangling/">Advanced OAuth Wrangling</a> slides from my talk today. (even though I really want to spend a couple of hours cleaning them up)</p> <div style="width:425px;text-align:left" id="__ss_395971"><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=adv-oauth2-1210330189505593-9"/><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=adv-oauth2-1210330189505593-9" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object><div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;"><a href="http://www.slideshare.net/?src=embed"><img src="http://static.slideshare.net/swf/logo_embd.png" style="border:0px none;margin-bottom:-5px" alt="SlideShare"/></a> | <a href="http://www.slideshare.net/kellan/advanced-oauth-wrangling?src=embed" title="View 'Advanced OAuth Wrangling' on SlideShare">View</a> | <a href="http://www.slideshare.net/upload?src=embed">Upload your own</a></div></div> <p>And as its a 85 slides to be given in 45 minutes you can imagine that there is a fair amount of information missing from the slides. <a href="http://simonwillison.net/">Simon</a> made me promise to upload an annotated version, and I&#8217;ll try to do that soon.</p> <p>(and unfortunately the process of saving the slides down to a PDF killed the transparency on the grey backdrops)</p> </content>
<p>Best tag ever?</p> </content>
<p>Useful (if evil) general communication tool, now science backed.</p> </content>
<p>Last month I spoke about <a href='http://fireeagle.yahoo.com'>Yahoo! Fire Eagle</a> at the <a href='http://ecommmedia.com/'>Emerging Communications Conference</a>. Lee did a great job putting together the conference, and had everything recorded. I feel i did an ok job explaining Fire Eagle, but perhaps i had too much coffee to make up for being on the tail end of a dozen straight days of conferences.</p> <p>So if you’re interested in Fire Eagle as it relates to the mobile and telephony world, this is a good talk. The slides <a href='http://www.slideshare.net/rabble/liberating-location-fire-eagle-ecomm-2008/'>are online at slideshare.net</a>.</p> <embed type='application/x-shockwave-flash' src='http://video.google.com/googleplayer.swf?docid=3606496010130914256&hl=en' id='VideoPlayback' flashvars='' style='width:350px;height:276px'> </embed> <p>It’s humbling to see a video of yourself speaking. Public speaking is really hard. I’ve been trying to work on my presentations, and i’m getting better over time.</p> <p>Next week i’m going to be speaking at xtech in dublin in <a href='http://2008.xtech.org/public/schedule/detail/646'>a longer talk about Fire Eagle</a>. I’ll get in to the actual api’s and bit about building apps with Fire Eagle. In July i’ll be co-speaking with <a href='http://laughingmeme.org'>Kellan</a> about using jabber for web services in <a href='http://en.oreilly.com/oscon2008/public/schedule/detail/4359'>Beyond <span class='caps'>REST</span>? Building Data Services with <span class='caps'>XMPP</span> PubSub</a> at <a href='http://en.oreilly.com/oscon2008/public/content/home'><span class='caps'>OSCON 2008</span></a>. In between i’ll be at <a href='http://www.caboo.se/articles/2008/1/30/caboose-conf-2008'>Google IO</a> and <a href='en.oreilly.com/rails2008/'>Rails Conf</a> / <a href='http://www.caboo.se/articles/2008/1/30/caboose-conf-2008'>Caboose Conf</a>, but thankfully i won’t be speaking, unless i get inspired to do a lightning talk.</p></content>
<p>So today i sat in on a meeting with some folks in the Uruguayan government who were trying to get ebook type educational material to laptops of the kids who have them now in uruguay. There are about 200,000 laptops being distributed, and it would cost too much to print books with the material, so they figured these laptop things might be a good way of doing it. In the discussion they told me this little story about tech support and the <span class='caps'>OLPC</span> or Project Ceibal as it’s called in Uruguay.</p> <p>It seems that during the first trial in the Florida Department of Uruguay they were having a problem. The kids it seems were downloading too much stuff from the internet. The laptops have a 1 gb flash drive, so it’s pretty easy to see how it could fill up. So the teachers told the ceibal folks that this was a problem, the drives were filling up and nobody knows how to delete files.</p> <p>Well this is a problem, so there were meetings, and more meetings, how to delete files, they called up the University of Uruguay’s Engineering Faculty and investigated further. After four months of back and forth they had the answer and somebody traveled up to Florida (the uruguayan florida) with the answers and a training to teach the teachers how to delete files. It was after all what they asked for.</p> <p>When they got there the teachers said, “oh, that! The kids figured out how to delete the files and manage them months ago.” Which is of course the whole point of <span class='caps'>OLPC</span>, the kids can use the tech, it’s open, hackable, and explorable.</p> <p>Another story is a friend of mine was visiting his cousin and the cousin was excited because he just got one of the laptops. But he said there was a problem, some of the interface was in english. My friend, being a programer, sat down and tried to figure it out. It seems that was some problem with the packages, he’s not exactly sure what’s wrong. But at one point “Save” was translated as “Salvar” instead of “Guardar” Salvar does mean save, but in the kind of way that Jesus Saves. Not the kind of thing you’d do with files, which is Guardar which might literally be translated something more like ‘to put away’ than ‘save’. I asked the <span class='caps'>OLPC</span> folks about it on irc, and they said that perhaps the build being shipped out in uruguay is out of date with what they currently have released. Clearly they need a good logistics person / team to do release management and handling lots of branched distributions. Not an easy task.</p> <p>On the whole people seem excited about <span class='caps'>OLPC</span>. It would be good if the Uruguayan government could do something about class size, 1 teacher for 40 students is the <span class='caps'>REAL</span> education problem, but the laptops help.</p></content>
<p>I’ve had the privilege of working with many developers over the years on a diversity of projects. I like tests, i think they make the software development process more reliable and help keep code from being unmaintainable disasters. So i find it interesting to see why inspires people to write tests, and why they give up on them.</p> <p>Recently i had a very similar conversation with two very different developers, one i’ll call TestFail and the other i’ll call TestHeavy.</p> <blockquote><b>Rabble:</b> “I see there are tests on this project, but they don’t seem to pass anymore.”<br /> <b>TestFail:</b> “Yes, I was writing tests but then things got busy and I couldn’t keep them up. The tests feel out of sync with the application 6 months ago. I was the only developer on the project and i just couldn’t keep up the tests and getting releases out the door.”</blockquote> <p>Then i had another conversation with a different developer on the same subject.</p> <blockquote><b>Rabble:</b> “I see there are a lot of tests for this project.”<br /> <b>TestHeavy:</b> “Yes. The thing is when a project gets really pressured for time it’s the tests which make it possible to add features and keep moving forward. Normally I just develop on my own and don’t tend to work with other developers on projects. I found having tests means i can keep getting releases out the door.”</blockquote> <p>In both cases i’m paraphrasing from memory, but the thing which struck me is that two smart developers used the same two reasons to come up with totally different conclusions around testing. The two principal points are, i’m working on my own, and there is heavy time pressure on releases.</p> <p>The code bases in question, i’ll keep this all anonymous to respect privacy, are also really different. First off, the applications do totally different things, but it’s enough to say that they are both fairly complicated web applications built in rails.</p> <p>TestFail’s application has 44075 lines of application code and 778 lines of tests. Over the last year the code base has grown by over %50. On the other hand, TestHeavy’s code base is 4014 lines of application code and 4802 lines of tests (technically specs as it uses rspec). TestHeavy’s code base is younger, but over the last 6 months it’s only added a couple hundred lines of new code. Many new features have been added, but the size of the application has stated more or less the same.</p> <p>While i clearly prefer TestHeavy’s approach, what puzzles me is the path taken by TestFail. There are many interesting things to be learned by watching the techniques of an effective test driven developer, but that’s kind of an easy problem. Just watch what they do and document it.</p> <p>Harder is to understand why somebody fails. When somebody starts writing tests but finds they aren’t a useful part of their software development practice. It could be considered the ‘falling off the wagon’ problem. Really to me it’s a question of why is testing not the path of least resistance. What needs to happen for a developer to internalize testing.</p> <p>If tests are written, and they are relevant to the the functionality of the application, the code base stays smaller, faster, and is more maintainable. But telling people that it’s a good idea to write tests, even getting them started and using tests isn’t enough. Figuring how to help people continue is even more important. I suspect that a large part of the problem is that people partially start using tests, but they don’t ever get a development environment which is setup to encourage testing. It’s painful and difficult as opposed to making debugging easier and development faster.</p> <p>Does anybody have experience with trying and failing to stick with testing. Why was it?</p></content>
MichaelArrington's recent trashing of BlaineCook is one of the most egregious pieces of crap I've ever read. Here's a guy who wouldn't know code from Sanskrit passing technical judgement on one of the most stellar technical people I know based on the following "arguments": (MXY)
Twitter had scaling problems because it was successful beyond anyone's imagination. Twitter hired additional people because, well, that's what you do when you're dealing with success. If you're going to criticize someone's technical skill, do it based on facts, not on irresponsible musings. And there's never any excuse to trash a person's character like that. (MY2)
I would be thanking my lucky stars to have Blaine as my Chief Architect, my Chief Technical Officer, or just on my team period. He's a great talent and an even better human being, and companies will be lining up to get him now that he's moving on. (MY3)
<p> I strongly believe in learning new languages and platforms. While i’m super happy with the <a href='http://ruby-lang.org'>ruby</a> / <a href='http://rubyonrails.org'>rails</a> / <a href='http://www.merbivore.com/'>merb</a> world, I know it has it’s limits. Most of the time when i look farther afield i think of hacking on lua, erlang, or smalltalk… But recently i had an app idea which struck me as something which really was a good fit for <a href='http://www.adobe.com/products/air/'>Air</a>. Adobe’s version of Flash to run desktop applications. Let me say at first I though Air was stupid, but over time i’ve come to realize that for some applications, it makes lots of sense. It’s similar to my thinking Flash was stupid until it <a href='http://anarchogeek.com/articles/2006/06/01/video-sites-indymedia-and-the-future-of-non-linear-television'>changed the world of online video</a>, and ActionScript was some stupid director derived toy language until I realized that these days it’s <span class='caps'>EMCA</span> script, basically the same damned thing as Javascript. </p><p> So i set out on the path of building an Air app. I asked my old buddy, <a href='http://dom.net'>Dom</a> and he said there were two <span class='caps'>IDE</span>’s for Flex development, <a href='http://www.adobe.com/products/flex/'>flex</a> is the updated version of flash which is more programming like vs Director scripting like. Flex draws on the java world’s traditions more than the scripting world, a sin may be forgivable if i am able to build this cool app i’ve thought up. For Flex there are two <span class='caps'>IDE</span>’s <a href='http://www.aptana.com/studio'>Apatna </a> (free and ‘professional’ edition) and Adobe’s own <a href='http://www.adobe.com/go/flex_trial'>Flex Builder 3</a> which is payware, but you get a 90 free trial to play with. The core is actually free, the <span class='caps'>SDK</span> to build flex apps and it comes with no <span class='caps'>IDE</span>, but just command line tools. </p><p> Flex draws on Java, there are tools like <a href='http://ant.apache.org/'>ant</a> which are used for all the build processes. Really the <span class='caps'>IDE</span>’s are both based on customized versions of eclipse. I’m not a fan of <span class='caps'>IDE</span>’s they seem to be needed when the development processes has gotten to complicated to fit inside your head and try and make everything point and click. Silliness. Flex can use html to render an interface, but it also has it’s own proprietary xml for laying out interface elements. It creates a dom like thing, which you can attach action script events to… Once you get over how different it is from real web development, at some level it’s the same damned thing. It’s worth stating, that you <a href='http://www.adobe.com/accessibility/index.html'><b>can</b></a> make flash as standards compliant, open, accessible, etc as html and unobtrusive javascript, but nobody seems to actually do it. Just yesterday i was noticing that yahoo map’s flash app wouldn’t let me paste in an address. Just like rails and django encourage you to do the right thing by default, flash defaults to clunky custom interface elements with broken accessibility. </p><p> Anyway, back to what i was saying. How to make this stuff work. There are it seems a lot of people with <a href='http://weblogs.macromedia.com/mxna/index.cfm?query=bySmartCategory&smartCategoryId=4&smartCategoryName=Flash&smartCategoryKey=D03946CE-BE57-8C18-7F13A6688166DAA8'>flash / flex development blogs</a> which is useful, but on the whole i’ve been very unimpressed with the documentation. There’s a <span class='caps'>HUGE</span> amount about how to do various UI widget things, and very little about toolsmithing, libraries, building out flex as a platform. </p><p> The thing is, i know how a rails app works, how php plays with apache and a load balancer. I don’t know how these flex apps come together. It found lots of tutorials on building toy apps, but not a one ever mentioned using a library you find online and incorporating it in to your application. I suspect it’s because the open source tradition is pretty week in the flash world. Just like in VB and Java, because you pay for the <span class='caps'>IDE</span>, it creates a culture of pay to play. It stands in stark contrast to the scripting world of Perl, <span class='caps'>PHP</span>, Python, and Ruby. In the scripting world we build libraries for our own uses, then release them for the community to use and help maintain. The only libraries i’ve found to be released so far in the flex world, come from Adobe employees themselves. Clearly it’s a failure of community that there is repository of open source libraries like <a href='http://search.cpan.org'><span class='caps'>CPAN</span></a>, <a href='http://www.gemtacular.com'>Ruby Gems</a>, <a href='http://pear.php.net/'><span class='caps'>PEAR</span></a>, and the <a href='http://pypi.python.org/pypi'>Python Package Index</a>. What the adobe does have is <a href='http://www.riaforge.org/'><span class='caps'>RIA</span> Forge</a>, as far as i can tell <a href='http://en.wikipedia.org/wiki/Rich_Internet_application'><span class='caps'>RIA</span></a> is some term Macrodobe made up. The thing is, <span class='caps'>RIA</span> forge is just a directory linking to libraries around the web, kind of like <a href='http://raa.ruby-lang.org/'><span class='caps'>RAA</span></a>. It has no build process, no clearly defined way in which libraries are included in your larger application. It solves the, how do i find what’s out there problem, but not really the how do i easily include it in to what i’m building. </p><p> Which brings me to the whole reason i wrote this blog post. I spent the last day or two trying to figure out what to do with libraries like these: <a href='http://code.google.com/p/as3corelib/'>as3corelib</a> and <a href='http://code.google.com/p/as3awss3lib/'>as3awss3lib</a>. They are the core action script 3 libraries for things like md5 hashing, json serialization, and general string, date, and time functionality. The second one is action script 3 library for working with amazon web services. Pretty useful and straight forward stuff. Don’t ask my why the as3corelib isn’t just included for use everywhere all the time, it’s an extreme case of <a href='http://www.python.org/about/'>batteries not included</a>. In ruby i’d run ‘sudo gem install aws-s3’ and i’d magically get the libraries i need. There are pretty straight forward alternatives php, python, and perl. </p><p> But these libraries aren’t distributed as binaries, packages, nor anything easily installable. What do you do get is a note saying: “There is currently no zip archive available. Please check the code out using subversion. ” That’s pretty much it. When you do check out the svn repo you get this:</p> <pre> bas1:~/code/as3awss3lib-read-only rabble$ tree . . `-- src `-- com `-- adobe `-- webapis `-- awss3 |-- AWSS3.as |-- AWSS3Event.as |-- Bucket.as `-- S3Object.as 5 directories, 4 files</pre> <p> For files, in a nested set of directories which seems pretty straight forward. I want to be able to access these files from my app, so i simply did the obvious thing, from a scripting background, copied the whole com dir and children over to my lib directory in the app i’m building. Needless to say that didn’t work. I tried moving around the files to various other directories and that didn’t work either. I read everything I could find in the documentation and on various community created sites, dead ends. I tried asking in the #flex irc channel, nobody seemed to even understand my question. I tried pinging friends who work on flash stuff at Adobe as well, i got blank stares and silence. </p><p> What was going on here? Clearly somebody at Adobe had build this library, clearly it was intended to be used. No where did i find any documentation on how to build these things. The as3awss3lib had more files than as3awss3lib, but still there was no clear path as to what to do with it. Adobe has spent millions of dollars on documentation, help, blogs, building libraries, and trying to create a community around their platform, and I couldn’t figure out how to use a simple library to add to my code? </p><p> I think a lot of it comes down to assumptions. People in flash/flex are mostly focused on user facing eye candy and not on the underlying libraries. There isn’t a lot of discussion about the libraries or the work which goes in to them. Many apps are build and left running as they are. They aren’t things which are maintained and run over time with updates. </p><p> Eventually i tracked down what i needed to do. It is assumed that although the repositories are called libraries, the thing you want to do is compile them in to <a href='http://livedocs.adobe.com/flex/3/html/help.html?content=building_overview_5.html'>swc files</a>. You can’t just include other people’s code as libraries in to your own code tree, you’ve got to compile them. These compiled libraries and ‘assets’ (i guess you can have a ‘library’ of non-code things like images) are called swc files. These files need to be compiled and included in your application, before and separate from the build process for your own code. Again this is a little java like. Not necessarily wrong, but quite different from how most dynamic languages work. ActionScript <b>is</b> a dynamic language, somebody at Adobe clearly fell in love with java as the way enterprise professionals do things, and added some clunky extra steps to the process. </p><p> So now that we know that you can’t just include code in the lib directory of your app and have it be available to your app at run time. This is a big leap. It’s part of why i’ve found nobody who understood my questions. Once i made the leap then it was pretty easy to figure out that i needed to use ant to build the app i tried running ant and got errors. A command line utility and errors, that’s something i can debug! To run ant you simply cd to the build directory and type ant. </p> <pre> bas1:~/code/as3corelib-read-only/build rabble$ ant Buildfile: build.xml properties: lib: BUILD FAILED /Users/rabble/code/as3corelib-read-only/build/build.xml:63: Execute failed: java.io.IOException: C:/Program Files/Adobe/Flex Builder 2 Plug-in/Flex SDK 2/bin/compc.exe: not found Total time: 0 seconds </pre> <p> This brings me to my other issue which i find so surreal about the Flash / Flex / Adobe world. It’s a windows world, everybody else is an after thought. It’s full of arcane paths, and executables have their own funny little suffixes so that the OS can figure out that they are executable. In the unix world, which includes linux, bsd, cygwin on windows, and of course mac os x, there are standard conventions for figuring out the paths to libraries, executables, etc… </p><p> Ant didn’t seem to like spaces in file names so i fixed that, but then there was still a big problem. </p> <pre> ## Change this: # The location of the Flex 2 SDK on your sytem. flex2sdk.bin.dir = C:/Program Files/Adobe/Flex Builder 2 Plug-in/Flex SDK 2/bin flex2sdk.lib.dir = C:/Program Files/Adobe/Flex Builder 2 Plug-in/Flex SDK 2/frameworks/libs ## To this: # The location of the Flex 2 SDK on your sytem. flex2sdk.bin.dir = /Applications/Adobe_Flex_Builder_3/sdks/3.0.0/bin flex2sdk.lib.dir = /Applications/Adobe_Flex_Builder_3/sdks/3.0.0/lib </pre> <p> And and now ant gets a little farther down the path of working. </p><p> <pre>bas1:~/code/as3corelib-read-only/build rabble$ ant Buildfile: build.xml properties: lib: [exec] /Applications/Adobe_Flex_Builder_3/sdks/3.0.0/bin/compc.exe: /Applications/Adobe_Flex_Builder_3/sdks/3.0.0/bin/compc.exe: cannot execute binary file [exec] Result: 126 BUILD SUCCESSFUL Total time: 0 seconds</pre> </p><p> Don’t let the <b><span class='caps'>BUILD SUCCESSFUL</span></b> message trick you! It didn’t actually work. This time it found compc.exe but as you’d expect, this is a mac, and on mac (and it’s unix cousins) exe files don’t run. At first i thought maybe Adobe was doing some craziness where they just decided to make all the executables on every platform .exe. Turns out that wasn’t the case, setting the executable flag didn’t help. What adobe does is include a separate file, sans .exe, which is the version of that app for normal operating systems. So it requires another change to the build.properties file. </p> <pre> #change asdoc.exe = ${flex2sdk.bin.dir}/asdoc.exe compc.exe = ${flex2sdk.bin.dir}/compc.exe mxmlc.exe = ${flex2sdk.bin.dir}/mxmlc.exe #to asdoc.exe = ${flex2sdk.bin.dir}/asdoc compc.exe = ${flex2sdk.bin.dir}/compc mxmlc.exe = ${flex2sdk.bin.dir}/mxmlc </pre> <p> Again if it wasn’t assumed that these libraries would be built in a mono-platform windows only world, then the ant build.xml file would be written in such a way to look in the obvious places. Once everything is in place, then ant works! </p><p> <pre>bas1:~/code/as3corelib-read-only/build rabble$ ant Buildfile: build.xml &lt;/p&gt;&lt;p&gt; properties: &lt;/p&gt;&lt;p&gt; lib: [exec] Loading configuration file /Applications/Adobe_Flex_Builder_3/sdks/3.0.0/frameworks/flex-config.xml [exec] /Users/rabble/code/as3corelib-read-only/bin/corelib.swc (79242 bytes) &lt;/p&gt;&lt;p&gt; BUILD SUCCESSFUL Total time: 7 seconds</pre> </p><p> As far as i can tell, the ./libs/ directory is a good place to put these kinds of libraries. Presumably they get bundled in to your application you build an air / flash swf for distribution. I haven’t gotten that far yet. If i stay motivated and keep moving forward with this project, i’ll keep blogging my way through this mess. I am tempted by the shiny bobble of pretty and small cross platform <span class='caps'>GUI</span> desktop apps which lies on the other end of this journey.</p> <p> It appears that some libraries need to be compiled, like corelib, while others, the as3awss3lib can just be dropped in the src directory with their full path, ./com/adobe/webapis/awss3 What’s not clear is why it’s one way or another. </p></content>
<p>Tad’s <a href='http://www.txtmob.com/'>TxtMob</a> has been subpoenaed by the new york police department demanding the records of everybody using the service during the <span class='caps'>RNC</span> protests in 2004. I got to know <a href='http://web.media.mit.edu/~tad/'>Tad</a> through our collaboration on various <a href='http://www.slideshare.net/rabble/phone-communities-and-activism-showcase/'>projects related to activism and emerging telephony</a>. I even poked around and did a little work on the <a href='http://sourceforge.net/projects/txtmob/'>txtmob code</a>.</p> <p>All that is to say, i know a thing or two about the background, how txtmob works, and issues of data retention and privacy. Nothing i’m saying here is based on privileged information you can’t get from reading the source.</p> <p>The reality is today, we live in a world where much more information about our daily lives are collected than ever before. There is this scary nightmare scenario, the corporations / state know where everybody is all the time, what they are doing, who they talk to, etc… Most of the time this information is being used for marketing sell more stuff. While it’s slimy, it’s not really evil. What happens when the state starts to use the same information to suppress free speech and dissent, things get much more serious.</p> <p>This is nothing new, things evolve, but it’s a world we’ve been dealing with for a while. Years ago there was one phone company, they had records of everything, you couldn’t know if somebody accessed your records because the phone company wouldn’t tell you. With the internet, and now emerging voip / open source telephony, the ability to run your own telecommunications infrastructure has emerged.</p> <p>The work of the <a href='http://anargeek.net/en.html'>anarchist geek community</a> for the last decade or so has been to build this autonomous infrastructure. <a href='http://indymedia.org'>Indymedia</a>’s been a big part of this task, to create a privacy enhanced participatory media network. Another has been <a href='http://www.blagblagblag.org/BLASTERISK/'>blasterisk</a> an asterisk based phone system with dial in numbers around world for activists to use to make phone calls and do international coordination. For email there is <a href='http://riseup.net/'>riseup</a> which provides email hosting and mailinglists for hundreds of thousands of activists. Social networking tools for collaboration and organizing, <a href='http://we.riseup.net'>crabgrass</a>. My own, <a href='http://protest.net'>protest.net</a>, a calendaring service, etc… While <a href='http://www.txtmob.com/'>txtmob</a> has been compared to twitter, txtmob predates twitter and was very explicitly talked about as a model to be copied / learned from in the creation of twitter.</p> <p>What all of these services have in common is they are providing critical infrastructure to social movements and they take privacy seriously. <a href='http://dev.riseup.net/privacy/'>New tools</a> have been build to allow for making privacy easy.</p> <p>Txtmob is included in those sites because it does things right. First when you delete your account, remove your phone number, etc… it really does remove it. No record left of your messages, your login, your phone number. Secondly txtmob does not use a short code, nor is there a legal agreement between txtmob and the carriers. Rather txtmob uses the path of least resistance to deliver messages, finding holes and cracks in the sms system to let messages pour through. Tracking txtmob messages is more like tracking p2p traffic than the american idol voting via sms. This not following the rules is probably why the <span class='caps'>NYPD</span> went to txtmob instead of the carriers. The data is many places, but txtmob is the easy place to get it, if it’s there.</p> <p>The task of going to the carriers or the <span class='caps'>NSA</span> to get the txtmob data is much harder than getting it directly from the source. First it’s a <span class='caps'>HUGE</span> data mining task. It’d involve using something like hadoop or google’s map/reduce to load up the data, and then tracking down a few thousand sms’s out of a stream of trillions. Most of the time operators are lazy, it’s easy to get them to comply with even questionably legal orders for data, my <a href='http://yahoo.com'>employer</a> is a great example. Service providers tend to log <span class='caps'>MUCH</span> more data than they need, in the name of security, potential datamining, etc. If we don’t have that data, then we are both able to follow the law, and protect our users. <strong></p> <p>(</strong>) It’s worth noting, that there are new EU rules / laws which require extensive data retention. It’s much worse than the situation in the US. So much for the EU being concerned about privacy.</p></content>
<p>I gave a talk on Thursday to the <a href='http://ecommmedia.com/'>Emerging Communications conference</a>. It was my first chance to speak publicly about <a href='http://fireeagle.yahoo.net'>Fire Eagle</a>.</p> <div id='__ss_307738' style='width:425px;text-align:left'><object height='285' width='360' style='margin:0px'><param name='movie' value='http://static.slideshare.net/swf/ssplayer2.swf?doc=liberating-location-fire-eagle-ecomm-2008-1205601753786466-2' /><param name='allowFullScreen' value='true' /><param name='allowScriptAccess' value='always' /><embed allowfullscreen='true' type='application/x-shockwave-flash' src='http://static.slideshare.net/swf/ssplayer2.swf?doc=liberating-location-fire-eagle-ecomm-2008-1205601753786466-2' allowscriptaccess='always' height='255' width='325'></embed></object><div style='font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;'><a href='http://www.slideshare.net/?src=embed'><img src='http://static.slideshare.net/swf/logo_embd.png' alt='SlideShare' style='border:0px none;margin-bottom:-5px' /></a> | <a href='http://www.slideshare.net/rabble/liberating-location-fire-eagle-ecomm-2008?src=embed' title='View \'Liberating Location - Fire Eagle - Ecomm 2008\' on SlideShare'>View</a></div></div> The nice folks at the made a video of the original launch announcement at etech last week by <a href='http://www.plasticbag.org/'>Tom Coates</a>. Thankfully nobody made a video of my talk at ecomm. :) <p><center><embed type='application/x-shockwave-flash' src='http://cosmos.bcst.yahoo.com/up/fop/embedflv/swf/fop_wrapper.swf?sv=0&amp;id=6812854&amp;autoStart=0&amp;infoEnable=1&amp;shareEnable=1&amp;prepanelEnable=1&amp;carouselEnable=0&amp;postpanelEnable=1' height='285' width='360'></embed> </center></p></content>
I arrived in AddisAbaba this morning and am camped out at Sidama Lodge, a spacious and comfortable residential apartment just a few blocks from the IIE offices. I've got a few hours reprieve before meeting with the IIE staff here in Addis, then will hit the road once again for a few days to meet with the fellows here in Ethiopia. (MX8)
I've showered and shaved, and as PhilipMarlowe would say, I'm feeling almost human again. Actually, Marlowe would have had two cups of coffee before saying that. I haven't had any coffee yet, even though it was offered, and Ethiopia is the coffee capital of the world. I'm not a coffee drinker, but coffee is an important part of the culture here, and I plan on imbibing frequently. (MX9)
Internet access in the hotel is very good, which I find delightful, all the more because it irks CherylFrancisconi, who has been waiting for months for me to experience the pain that is Internet connectivity here in Ethiopia. She has threatened to force me to spend a day using the Internet at her house, and I'm quite certain she means to follow through. (MXA)
My net access has been poor to none this past week, which partially explains the lack of updates here. Although I've been taking copious notes and have several posts outlined, the reality is that even if Internet access had been good, I wouldn't have posted much. (MXB)
The experience so far has been incredible and overwhelming. I spent five intense days meeting with reproductive health leadership fellows, learning about their work and challenges and getting to know them as people. This alone would have been enough to put me out of commission for a week. Add to that the packed schedule, the long travel, and the many, many new experiences, and you can why I'm not quite up-to-date with my blog posts. (MXC)
It will take me weeks to process everything I've experienced thus far. Some things are starting to hit me, though. While taking a long, hot shower this morning, I started thinking about what happened this past week, and I was overcome with emotion. I'm not going to go into a lot of details now. Maybe people will understand as I start posting the rest of my stories about India. But I'll leave you with this teaser. (MXD)
My thesis has always been that we, as a society, have collectively forgotten much of what we once knew about collaboration. We need to remember those things, and then we need to get even better at doing them if we're to have any chance at grappling with the urgent, complex problems we're facing today. The remembering process starts on the ground with small, diverse groups spread out across the world. It starts by tapping into their knowledge, identifying the common patterns, and sharing them widely with the rest of the world. (MXE)
Ultimately, this remembering process is about revisiting what makes us fundamentally human. That experience can be quite jolting, especially for those of us who immerse ourselves in the hustle and bustle of everyday life, often neglecting to deal with our overall well-being. (MXF)
This past week, I was reminded over and over and over again of the things that make us human. It's left me humble and moved. (MXG)
My Internet access will be shaky again for the next few days, but I will post about India and my new experiences here in Ethiopia when I can. In the meantime, enjoy my pictures from India, which are almost up-to-date and which tell at least a small part of the story. I've also got some video, which I'll upload when I'm back in the States. (MXH)
<p>Today we let loose the developer’s launch of <a href='http://fireeagle.yahoo.net'>fire eagle</a> a location broker platform from yahoo brickhouse. It’s what i’ve been working on for the last 6 months and is the first publicly facing rails app to launch at Yahoo!</p> <p>I’m really excited by Fire Eagle. It’s a system which lets you collect your location from any number of sources, such as your cellphone, and then provide that back out to other applications. Fire Eagle then lets you fuzz your location and control who is using it. Share the city you’re in with dopplr, the neighborhood with facebook, but let the taxi locator see your exact location.</p> <p>I’m proud of the work i’ve done fire eagle and to have worked with a great team, including <a href='http://plasticbag.org'>Tom</a>, <a href='http://mojodna.net'>Seth</a>, Jeannie, Skylar, <a href='http://iconocla.st/'>Schuyler</a>, <a href='http://shamurai.com'>Ayman</a>, Kevin, <a href='http://unicornflower.livejournal.com/'>Marc</a>, <a href='http://www.myelin.co.nz/post/'>Phil</a>, <a href='http://www.salimismail.com/'>Salim</a>, <a href='http://infolab.stanford.edu/~mor'>Mor</a>, and Sam.</p> <p>We’ve got an irc channel, <a href='irc://irc.freenode.net/fireeagle'>#fireeagle on irc.freenode.net</a>, <a href='http://fireeagle.pbwiki.org/'>wiki</a>, <a href='http://twitter.com/dangerday'>twitter bot</a>, and <a href='http://new.groups.yahoo.com/fireeagle'>mailinglist</a>. Come join us and play.</p> <p>Launching a ruby on rails app at yahoo has been an incredible experience. We’ve had to figure out how to marry a stable mature platform with the agile, test driven, <span class='caps'>DRY</span> model of development which Rails has popularized. I’m particularly excited that we were able to adopt <a href='http://oauth.net/'>oauth</a> and open standards like <a href='http://www.georss.org/'>georss</a> and <a href='http://wiki.geojson.org/Main_Page'>geojson</a>.</p></content>
I went to sleep exhausted and happy last night, and woke up five hours later. I'm not sure if I'm still jetlagged, or if my adrenaline is running on overdrive. No matter. These early mornings have been wonderful for reflection and resetting. (MWY)
My original plan was to leave at 6am for the new resource center in Muzzafarpur. Last year, the LDM community here in India decided that having a physical space would really help them keep in touch with each other and share knowledge. They're in the process of launching three of these, one here in Patna, one in Muzzafarpur, and one in Ranchi, where I'll be heading later this afternoon. Muzzafarpur is a hub that leads to many places in the state of rural Bihar, which makes it an ideal location. I was going to get a feel for the area and the space itself. (MWZ)
Muzzafarpur is about a two hour drive from here if traffic is good. Unfortunately, traffic has not been good, thanks to ongoing construction and generally horrible road conditions, and I need to be at the airport by early afternoon, so we decided to change plans. I'll get a chance to visit the resource center in Ranchi tomorrow. It's probably a blessing in disguise, because I'll get to participate in the last day of the Patna workshop, and I'm looking forward to spending more time with the leaders here. (MX0)
I feel lucky to be spending so much time in Bihar. It's the poorest state here in India, with high crime rates and low education, a product of bad luck and leadership. 60 percent of the people here in Patna do not have toilets. Yet there's an unmistakable vibrancy to this city. The poverty here is blatant, but not overwhelming. When I walked around North Philadelphia last year, I felt deflated, like all hope had been squeezed out long ago, and that was in a neighborhood that was supposedly turning around. Here, I feel alive. Maybe it's because my experience here has been so sheltered, colored by the protective sheath of my guides. Maybe it's because I'm spending so much time with such inspiring local leaders, people who are out in the field every day trying to make other people's lives better, people who could have left long ago like so many others in their position, but stayed because this is their home, and they love it. Maybe it's because there are some small signs of turnaround here in Patna and that a sense of optimism is slowly creeping in. Maybe it's because the people here simply appreciate what it means to live. (MX1)
NarendraGupta and CherylFrancisconi wanted to check out some Madhubani artwork, a regional specialty that consists of intricate line drawings and colors on canvas and cloth, so SanjayPandey took us to the shopping district. While there, I escaped for a bit to explore the area and get a feel for the street life. The roads here are mesmerizing, especially here in Patna where the streets are bumpy and narrow, roundabouts are everywhere, and the traffic consists of a panoply of pedestrians, bicyclists, rickshaws, cars, trucks, dogs, cows, and the occasional monkey. (MX2)
Afterward, we drove to the Mahatma Ghandi bridge, said to the be the longest river bridge in the world, which spans the Ganga River. It wasn't far, but it took about an hour to get there, as we navigated horrendous traffic and road conditions and breathed in enough carbon monoxide to kill a small animal. I wouldn't have traded that experience for the world. Seeing the Ganges first-hand, a river with so much history and cultural significance, was awe-inspiring, even in the dark and fog. (MX4)
Cheryl, Narendra, and I had dinner at the hotel, where we enjoyed good food, my first drop of booze on this trip, and great conversation. Narendra is fascinating, and his stories are adventurous and inspiring. As I get to know him better, it's becoming more and more apparent that I'll need to devote an entire blog post just to him. (MX6)
All of my meals so far have been in hotels, on planes, or catered, and while the food has been excellent, I'm starting to get antsy. Prior to coming here, several of my more worldly friends, who know my adventurous tastes, told me not to worry so much about what or where I eat. I was cautious, however, primarily because I want to be at my best for this whole trip. Caution is starting to lose to curiosity, however. Cheryl is starting to get a sense of how I like to eat, and she's been tempting me with stories of street food and Ethiopian cuisine. I am having way too much fun. (MX7)
It's morning here in Patna. I slept for about five hours last night, and I'm finally starting to feel adjusted. I'm also starving, always a good sign, and I'm craving something new and delicious. Now I'm shifting around my room, trying desperately to find a consistent WiFi connection so that I can publish my entries of the past few days. (MWU)
In a few hours, our first workshop starts. My main goal for these next two weeks are to meet as many of the leaders as possible, to learn what makes this community tick, and to think about ways to further catalyze it. In particular, I'm wondering what words like "community," "collaboration," and "leadership" mean to these folks, and I'm looking forward to their stories. (MWV)
We arrived safely in Patna a little after 9pm, after enjoying a very tasty airplane meal on a flight that was just 90 minutes long. Every airline should serve Indian food. They also handed out these chewy, tangy tamarind candies. I'm not usually one for sweets, but I tried one at Cheryl's insistence. They were tart and delicious. I'm going to have to see if I can buy a bag. (MWQ)
We stepped off the plane into cool, misty air. Patna is in the state of Bihar, which is north of Delhi, and the weather is noticeably cooler. There were a number of mosquitoes milling about, making me glad that I'm taking my malaria pills. (MWR)
NarendraGupta explained that Bihar has some of the richest agricultural lands and natural resources in the country, and yet historically, it has been one of the poorest states, with a history of violent tribalism. Many of the fellows who are participating at tomorrow's meeting work in rural areas of Bihar and have given up their weekend and travelled far to attend. (MWS)
I spent the afternoon working in IIE's Delhi office, located in Jor Bagh, a charming residential district that contrasted sharply with the Delhi I had seen the night before. On the ride over, Sanjay explained India's political situation regarding health care, education, and other infrastructural challenges. (MWF)
India is a study in contrasts. There is tremendous economic disparity. Over a million people in Delhi (about eight percent of the total population) live beneath the poverty line. The infrastructure is poor, to say the least. The roads are bad, the power unreliable, the water scarce and undrinkable. And yet, India has a burgeoning population of skilled and intelligent KnowledgeWorkers, especially in technology. (MWG)
To its credit, the current government is trying to do something about its infrastructural woes. It has committed to tripling its expenditures (percentage of GDP spent) in health and education over the next five years, and similarly increasing its expenditures in other areas, such as potable water. (MWH)
After enjoying a delicious lunch of samosas, dhokla (which I tried for the first time), and gulabjamun, CherylFrancisconi rejoined us and introduced me to AjitMotwani, the new head of IIE India, who regaled us with stories of his eclectic past and who introduced me to lime water, water with lime juice, sugar, and salt, sort of an all-natural Gatorade. (MWI)
In the afternoon, Cheryl and I took a taxi to the airport, where we experienced an incredibly surreal traffic moment. At one point, we crossed a six lane bridge, with rickshaws and buses pulled over on the sides and middle of the road. No one was paying any attention to the lanes, and no one was slowing down either. It felt like I was playing one of those racing video games, except with quadruple the traffic. And yet, it didn't feel disorderly either. Somehow, everything just worked. (MWL)
As we watched similar madness in the terminal later, I observed to Cheryl that OpenSpace must feel comfortable to folks in India, because they're so used to ordered chaos. That sparked a long conversation about process and culture that continued well into our flight to Patna. (MWM)
At the airport, we met up with SanjayPandey and NarendraGupta, who will be a guest participant at the meeting over the next few days. Narendra is from Chittorgarh, a small town in the state of Rajasthan, and his background is fascinating. I'm looking forward to chatting more with him and watching him work tomorrow. (MWN)
<p>I’ve been a big fan of ruby-debug since it’s first release. All the fun of the console’s breakpointer, explore and code at any point in your code, and also be able to step through the app. But the documentation has always been weak. There are a few tutorials, and <a href='http://www.datanoise.com/ruby-debug/'>the developer’s blog</a> but the real way i’ve always learned how it worked and discovered new features was by wading through the source.</p> <p>Finally i’ve found out that there is good documentation, <a href='http://bashdb.sourceforge.net/ruby-debug.html'>Debugging with ruby-debug</a>. It’s really great, not rails focused, but covers lots of details which i’d miss.</p></content>
<p>So within a day <a href='http://salimismail.com/?p=83'>my boss is leaving yahoo</a>, and my <a href='http://www.techcrunch.com/2008/02/12/yahoo-exec-bails-bradley-horowitz-leaves-for-google/'>boss’s boss is leaving too</a>. Needless to say I’m not to happy about this. Working for a big multinational company is kafkaesque. I feel like don’t really even understand the rules, much less know how to play by them. Salim’s position is being taken over by <a href='http://www.chaddickerson.com/'>Chad Dickerson</a> who i really respect and has done great work in the past.</p> <p>At the moment we are pushing to launch <a href='http://fireeagle.research.yahoo.com'>FireEagle</a>, it would be a lot easier if it weren’t for all the layoff / merge distractions.</p></content>
<p>My essaylet post about <a href='http://www.anarchogeek.com/2007/12/23/what-is-interesting-in-tech-for-2008'>my hopes for technology in 2008</a> was written for GIgaom’s year end essay contest. Turns out my quick little write up got <a href='http://gigaom.com/optimism-2008-winners/'>runner up</a>. Havi who runs <a href='http://next.yahoo.net'>next.yahoo</a> noticed the post. She cleaned it up a little, let me add a bit about <a href='http://code.google.com/p/thrudb'>thrudb</a>, and <a href='http://next.yahoo.net/archives/71/anarchogeek-speaks-interesting-tech-in-2008'>posted it</a>.</p></content>
<p>Much has been written about the Iowa caucuses, the results, the horse race. I’m not sure i have much to add from half a world away.</p> <p>One thing i did thing was interesting was <a href='http://en.wikipedia.org/wiki/Mike_Huckabee'>Huckabee</a>. From the perspective of urban, professional class, coastal america, he comes across as being a religious zealot. A crazy preacher. But looking a little further i saw that he’s a social conservative and economic liberal, other republicans even say socialist.</p> <blockquote><a href='http://www.dailykos.com/storyonly/2008/1/3/23545/93161/629/429564'>“Mike Huckabee is a Christian socialist. He is a good man, but with a Big Government heart. He is the most liberal of all the Republican presidential candidates on economic issues.</a>”— said <a href='http://en.wikipedia.org/wiki/Richard_Viguerie'>Ricard Viguerie</a> a conservative strategist.</blockquote> <p>The conception of a socialist republican, right wing social values and progressive economic values kind of makes sense. It’s a republicanism which would attract a majority of Latino, currently %14 of the US population. Pro-church, Pro-Family, and Pro-Worker. Anti-gay, anti-urban, anti-abortion, anti-corporate power.</p> <p>It’s not the republican party which is in power today, nor the one of Reagan. But it is exactly the social movements which Zack is describing in <a href='http://revolutioninjesusland.com/'>Revolution in Jesusland</a>. It’s an evangelical version of <a href='http://en.wikipedia.org/wiki/Liberation_theology'>Liberation Theology</a>.</p> <p>In a system which allowed fair elections, proportional representation, and more than two parties, the Republican party would divide in to two separate parties. Social conservatives, like Huckabee, and economic conservatives like the neo-con’s including Giuliani, McCain, Reagan, etc… Right now the two groups don’t really see eye to eye, but they are in the same party. The Republicans also have libertarians, who are far-right economic conservatives who are social liberals.</p> <p>On the Democratic party side there is a similar divide. Clinton represents the <a href='http://en.wikipedia.org/wiki/Democratic_Leadership_Council'><span class='caps'>DLC</span></a>, conservative democrats, or centrists as they call themselves. They advocate a conservative economic agenda over all, free trade, lower taxes, smaller government. The same agenda as the economic conservatives on the republican side! On social issues they support the agenda and values of urban professional costal <span class='caps'>NPR</span> listening america. Don’t rock the boat, but slowly support civil unions, keeping abortion accessible to people who live in ‘blue states’, fund the arts, fund universities, increase fuel economy standards and slowly address global warming.</p> <p>Then there are the economic progressives, the democrats who work with Unions and Black America. In general working class democrats are concerned about economics, jobs, minimum wage, anti-free trade, etc.. John Edwards is the democratic candidate who most represents the economic progressive branch of the democratic party. You can see this by the endorsement of <a href='http://www.alternet.org/story/72345/'>Michael Moore</a> who correctly sees Edwards as truly caring about the poor and working class. Edwards is the union candidate. The social issues which are valued by this branch of the democratic party are ignored by the party as a whole. Church going and married, the issues which drive the social agenda of working class democrats are ignored by liberal urban professionals who bankroll the party. The unions keep supporting the democrats because the republican economic conservatives want to abolish them, but the Democrats never DO anything for the unions at all.</p> <p>Obama is an interesting case. I don’t think he winning based on his politics. He’s winning because he’s amazingly charismatic. He’s a great speaker, and a great campaigner. People like his story, the multiethnic boy raised by white Christians from Kansas. It goes without saying that clearly Obama is super smart. All of this lets the democrats vote for him because they like the person. He’s seen as a bridge who can reach out to different parts of the democratic party, and to independents.</p> <p>Interestingly, i assumed Obama’s politics were like the Clintons. Centrist democrats. And if you look, he did run against a former black radical for the Illinois state senate. But looking at his voting record, he’s actually pretty damned progressive. I was surprised. Who knows if he’d be a progressive president or not. But if he gets elected president, Americans will get a much more progressive administration than they were expecting.</p> <p>What the elections in Iowa, and presidential primaries, say to me is that the structure of the party system is broken in the US. We’ve got social conservatives with progressive economic policies, and we’ve got economic conservatives with liberal cultural values (secular, pro-gay, pro-abortion).* Those two groups are split evenly within the two parties, who are supposed to hate each other. This crazy setup is a large part of why US elections are so non-competitive. Less than %2 of members of congress lose a seat if they run for reelection!</p> <p>A sane system, given these political and social values would be to the evangelicals with their party, the economic conservatives (centrists) with their party, and the economic progressives with their party. It’s not as simple as i laid out, but the two party system means that the economic centrists from both parties dominate fundraising and the power structures of <span class='caps'>BOTH</span> parties. That’s a large part of why there is no political debate in the US. The leaders in power of both parties agree <span class='caps'>MOST</span> of the time.</p> <ul> <li>There are also the libertarians on the right and greens on the left, who don’t fit so cleanly in to this spectrum. Not to mention crazy anarchists like myself.</li> </ul></content>
Following our merger with DevLib.Org, we're excited that we're going to be working on one of their top domains - DVDs.Org. We hope to start publishing DVD Reviews and moderating their forums and blogs in early 2008.
Merry Christmas everyone!
We've officially moved everything to DevLib.Org where we have several sections related to various aspects of technology.
Electronics Reviews - We cover various aspects of consumer electronics gear and news from manufacturers in this area.
Superbowl Commercials - Those who know us, know why we started this section. No longer a podcast (being away in Hong Kong was taking its toll when it came to getting live videos up), its now a fairly complete archive of commercials from several Superbowls.
Computer Reviews - Back to the basics .. what makes your computers tick and why you should select one over the other.
<p>That’s a difficult question, i know what i’m excited about right now. It’s that cloud computing is becoming a reality. More specifically i’m really impressed and excited by the light weight key pair databases like CouchDB. Amazon’s SimpleDB is interesting from an acceptance of the idea perspective, but not very interesting technically. There are whole classes of applications which are hard using a relational database which will be easy to build and scale using key / pair style db’s like couchdb and simpledb. What makes delicious, twitter, facebook, and flickr hard applications to build on the backend are in large part due to a poor match of database storage engines. With that fixed, and it seems like we’re finally getting around to fixing it, we’ll be able to push forward in building social apps which can scale while doing interesting things. Something which hard is going to become easy in 2008.</p> <p>Let’s see what else? The mobile handset world is going to be interesting. Apple will release an <span class='caps'>SDK</span> which, if they do it the right way, will create a fountain of new applications. Android will come along and let that creativity of building apps spread to more devices, but it won’t be as slick. Apple’s one device, one screen size, one interface, system will be a massive win in terms of building interesting applications. The iPhone is the Mac of phones, but it remains to be seen if Android becomes linux (hackers doing cool stuff but not much end user acceptance), Windows widespread but clunky because of the hundreds of devices which need to be supported, or <span class='caps'>OS2</span> cool, but simply ignored out of existence.</p> <p>I’m excited about computing and the net reaching out in to non-computer devices. The Dash Navigator is one example, Chumby and Kindle are others, there are lots. So far they’ve had a hard time getting built and released. Hopefully 2008 will be the year that the net stops being about laptops, desktops, and servers. The iphone is a bit along that path, but there’s so much more. Perhaps it’s too optimistic for 2008, building physical things takes much longer lead time. Eventually the device makers will learn what the desktop application makers have learned. That having something which is tied to the net and you can push updates on to will mean you can be much more agile.</p> <p>The last thing i’m excited about is maps. This isn’t new, it’s been going on for a while, but there are neat things happening with maps, geo, and location based services. I hope there is enough space for people to build something which is social and useful rather than just a marketers dream (find the nearest starbucks).</p></content>
<p>If you work as a programmer then you can’t deny the tremendous presence Indian engineers and companies have on the field. When i walk across the Yahoo campus i see South Asians all over the place. I think it’s wonderful. India (and the rest of South Asia) has a long history and many traditions which the west can learn from.</p> <p>One thing which has always burdened India, held it back in many ways, is the caste system. Taking normal class divisions and making them more arcane and completed than anybody could think was possible. Some times the rulers of India have tried to break down the caste system, Gandhi and early congress, many of the Muslim mogul rulers, and Ashok a Buddhist king. Other times the leaders have build them up and used them to control the country, the British Raj and many, but not all, Hindu rulers. The British setup a system where by the maintained and reinforced the caste system placing white Europeans on top, above the bramhins.</p> <p>Since independence it’s been India’s official government policy to abolish the caste system. There’s has been considerable affirmative action in everything from low level government jobs to university entrance exams and even political offices which are reserved for lower castes. All of which has helped.</p> <p>Now there are Dalits (untouchables), Muslims (often who at some time, many generations ago converted to islam to escape being a lower caste), and women (who are discriminated against at all castes) who are graduating from the top Indian universities. In a fair system driven by merit, these people should be getting jobs at top firms.</p> <p>A new study just out confirmed that they <a href='http://www.rediff.com/money/2007/dec/04india.htm'>aren’t getting interviews or being hired</a>. They used techniques from studying discrimination in the US. Where the same resume and experience are used with different names. They found that Dalits only get 2/3rds of the interviews that a high caste person would get with the <span class='caps'>SAME</span> resume. Muslims did worse, only getting 1/3rd of the interviews. They didn’t try, but i’m sure that if you submitted the same resume with an English or European name they’d get even more interviews.</p> <p>Regrettably this is totally in line with my experience in India. Even once they are hired, lower caste people face discrimination. Within the work place many upper caste managers try and enforce a hierarchy which is often incompatible with creative and collaborative work. Often westerns working with Indian teams in India are told that they are not respecting Indian ways of doing things. Sometimes it’s with good reason. There are real cultural differences and way’s of working. But in my experience, it’s often a ruse for defending a corrupt system based on caste and not merit.</p> <p>Western companies and people working with Indian engineers miss out on the best Indian hackers because are least likely to be able to succeed within the Indian corporate organization. The two sharpest Indian hackers I’ve worked with, and hired in to a company i was working at, both were driven out of the company by this very issue. I wish western companies did more to demand that the best engineers get hired instead of the engineers from the ‘best’ families.</p></content>
<p>I noticed that my recent blog post attracted an <a href='http://anarchogeek.com/2007/12/4/getting-fat-on-high-fructose-corn-syrup#comment-form'>interesting comment</a></p> <blockquote> Maggie Dawn 12.07.07 / 22PM <br> <span class='caps'>HFCS</span> is the topic of many debates recently but in actuality it is no more bad for you than actual table sugar is. The thing to remember when consuming foods containing <span class='caps'>HFCS</span> and all sugars is to eat them in moderation. But do not place the blame solely on <span class='caps'>HFCS</span>. </blockquote> <p>I thought it was odd for two reasons, first she uses a pretty generic yahoo email address. Now i like yahoo, they pay my bills, there are lots of cool interesting people at yahoo. But that said, it’s pretty rare a user of a yahoo email address reads my blog. I get two kinds of readers, geeks and activists. Maggie doesn’t come across as being either. The second thing which really struck me is i never used the acronym <span class='caps'>HFCS</span> in my post. The email provided, abbyg1432 at yahoo.com also is not mentioned anywhere on the web. Perhaps it’s made up?</p> <p>The comment didn’t link back to a site, but it still struck me as odd. So i started searching around and i found this comment on another <a href='http://fallenmonk.blogspot.com/2007/12/high-fructose-conspiracy.html'>blog post about high fructose corn syrup</a>.</p> <blockquote>You’ve provided lots of good information and great links for further research. It’s important to remember that we must be aware of the foods we are eating and what ingredients they contain. It’s not necessary to completely cut out <span class='caps'>HFCS</span> or other sugars that studies have shown are just as bad for us. But consume them in moderation. Eating too much is where the problems begin.<br> <a href='http://www.haloscan.com/comments/fallenmonk/6969920260381289036/#221452'>Melissa Bean | 12.07.07 – 2:27 pm</a></blockquote> <p>Don’t those two comments seem like they come from the same talking points? Perhaps from some social media pr company contracted by the <a href='http://www.ncga.com/'>corn industry</a> to try and head off a wave of bloggers realizing their products are crap, killing people and the planet, and then banning them? Notice how they don’t advocate <b>for</b> HFCS, but rather try and make it seem like a dietary choice similar to sugar? Very slick.</p></content>
<p>So we have rented a place for the ‘summer’ being now through February, in Uruguay. We had to have some stuff delivered to the house so we asked the landlady what the address was. This is what we got as a response.</p> <p>Adriana’s the Argentine dentist’s house, before the last curve of the main road, next door to the wooden house. Devil’s Point, Rocha, Uruguay.</p> <p>I don’t think if i pasted those directions in to any online geocoder that it’d be able to return anything useful. The Uruguayan government has gone through the trouble of giving every street in this little beach town a name, and giving all the houses numbers. Unfortunately nobody uses the street names and all the houses have names displayed, but not their numbers.</p> <p>In Montevideo there are proper street numbers, but here most people use a system listing the number of meters from the closest intersection. This means there are multiple houses with the same number, depending on which intersection you choose to start counting from.</p> <p>Oh, yes, one last thing. I created a flickr set of photos i’ve been taking since we arrived, <a href='http://flickr.com/photos/rabble/sets/72157603424419204/'>pictures of punta del diablo</a>.</p></content>
This works with both Groundswell and Groundswell Pro. You can create a directory of all the registered users on your website that opt into being listed in the member directory. Please provide feedback... if enough people want this functionality, we can make it a pre-configured part of Groundswell/ Groundswell Pro.
Using the themestyler module, you can add a js file that adds rounded corners using jquery
I'll give you an example:
Adding rounded corners on per block basis
Ensure the js-corner.js is loaded in your page.tpl, if not, add it after {$styles} but inside the <head> tag:
<script type="text/JavaScript" src="{$base_path}{$directory}/jq-corner.js"></script>
Add a custom js file using themestyles, e.g. style.js:
You need to have a selector for your block, e.g. if you want to add rounded corners to the navigation menu block, just add it to the style.js file you have just created:
Great idea from the boys and girls who run DevLib.Org (it is a bit of a confusing site, but fun to read when bored). They've taken podcasting to an extreme by creating a superbowl commercial podcast.
Subscribe, download to your *pod and show off in the coffee room.
George Irish, Fundraising Innovation
"This is one of the strongest entries from the open source community to compete with the all-in-one integrated solutions offered by giants like Convio and Kintera."
There are some excellent tips on this topic on the Mastercard website. There was an article about it in the May/June 2006 edition of Advancing Philanthropy Mastercard conducted a usability review of more than 50 nonprofit websites to evaluate the usability of their online giving features.
Good overview of designing HTML newsletter templates. With CiviMail, you can use any HTML template you want for your emails. It's up to you to make sure they are well designed :)
A good guide to setting up your gift processing system. Make sure the thank you letters go out and the workflow is well designed.
Placeholder article for keeping your searches private.
As you may or may not know there have always been two common form controls that have completely evaded styling.
Typically, textareas, buttons and text fields have been easy enough to style and the functionality to use images as buttons is inherant to HTML. This page tries to address this.
This CivicSpace Group is dedicated to styling and theming your CivicSpace site.
Fonts are an essential part of design - but there are thousands of fonts out there, so knowing which ones to use can be quite daunting. Here's a roundup of some fonts that have found popularity recently.
Here are some video's demonstrating the features in Drupal 4.7.
http://drupal.org/videocasts/whats-new-in-4.7
David Graeber, an anarchist academic, who actually practices what he espouses, unlike many academics, has recently been told by the...
An eye opening article on how behind America is in getting online.
I'm looking for some ideas from anyone who might notice this. A neat new feature was added to apt-listbugs in...
From Jebba's blog: Was it John Ashcroft in the library with the candle stick? Diebold with the touchscreen in the...