Wednesday, August 29, 2012

Crashing an Armenian wedding

From Instagram

Armenia was a blank page in my head. I knew absolutely nothing about it. I didn't even know where it was on the map. I ended up crashing a wedding in Armenia with my friend's family. It was his cousin's wedding. The first two nights I was alone, I had to depart earlier than my friend and his family as it was the only way to secure a cheap ticket, I decided to go only 1 week before the wedding. My decision was a bit abrupt but that's typical me. I tend to just pick up and go, preferably with a large random order to it. There is so much to say about Armenia that I've broken down this post into a few sections to make the post tolerable to read and for readers to pick and choose what they want to read about.

Thanks Armenia, you rocked, literally !
From Instagram

Revisiting the Caucasus as a kernel hacker

From Instagram

I intend on visiting Armenia again some time. I learned quite a lot about Armenian and about the Caucasus but that left me wanting to learn more and experience more. I've been told a lot of great things about not only Armenia but also about other countries nearby. I'm left to think about the possibility of visiting Armenia again and next time climbing the rocks there, and with the idea of even extending this trip to explore Turkey, Iran and going to climb rocks there. As a hacker, I cannot also help but wonder as well about the Caucasus's own position on free software and Linux. Do we have active Free Software hackers? I know of Ozan Çağlayan's work from Turkey, but what else? Do we have any Linux kernel hackers out there? How about companies looking to fund this work? I need a good excuse to go climb rocks int he Caucasus :D

From Instagram

An Armenian wedding

From Instagram
And then the wedding. Wow. What an experience... I'm grateful to the family for having in the end invited this Costarican wedding crasher to experience such a magical personal and cultural moment. The wedding took place in a beautiful green area called Aghveran that showed me how different the landscape can be in Armenia. The ceremony took place in an Orthodox Christian Armenian church in a very small village.

From Instagram

The priest really looked scary, I was not used to this. He had a big hat and some really long white beard.

The car was pretty sweet. That's Vahe, the buddy I am in debt for having invited me to Armenia.

From Instagram

As the celebration in the church ends a local band awaits the bride and groom and folks start dancing.

From Instagram

The father of the bride then looks out and calls for the bride and starts the dance off.
From Instagram

The beautiful bridesmaids:

From Instagram

There then is a big dance on, a meet and greet and then we step to the celebration hall.

From Instagram
Thanks to Armenia and I wish the best of fortune to the bride and groom! Kenaced (Cheers in Armenian)

From Instagram

General tourist advice for Armenia

From Instagram

Yerevan sleeps late -- 11am openings, closes late -- 1am or 2am mobile cell phone service shops, 7am bars. Yerevan parties hard. If you visit Yerevan my preferred hot spot was Cheers Pub a dive bar pub with great music, service and people. I think I spent 4-5 nights at Cheers straight, and yes, I had tried other pubs
like Eden and other nightclubs... They were all "meh". Since Yerevan sleeps late you'll even see whole families walking around with strollers around midnight. At 7pm-11pm you'll see masses take on tons of coffee shops, something you just do not see and we do not have in the US.

From Instagram

Sorry pot heads, not that type of coffee shop. In fact herb is taboo in Yerevan although from what I was told about 80% of the folks likely do smoke it. Don't ask anyone for it, the penalties for it are stupid even tourists, and the typical life of a dealer consists of getting to jail in about 2 years. I'm a dumb tourist so I asked about it, just as I asked about other random stuff. Curiously enough though everyone is a cigarette smoke fiend... I'm not used to it. That made experiences like hanging out at Eden Pub in Yerevan a hazardous chemical experiment for my eyes. That also made much of the beautiful women less attractive to me. And yes, there are tons of gourgous women out there in Yerevan...

From Instagram

In San Francisco you start going out around 10:30pm and everything closes at 2am, in Yerevan you can start heading out at midnight and at what time you come back will vary, but 2am is when things will actually start to get fun. Odly enough Fridays were slow, the rest of the days were amazing but likely a more reasonable explanation is that when we went out to Cheers we brought the party with us. Always a mob of about at least 6-10 people, typically closing Cheers out maybe at 4-6am. It was great.

From Instagram

Touristy thingies I did. Jermuk. Jermuk was bad ass, specially if you like rock stuff. There is this one point a bit after you pass the big bridge towards the right, right before the main entrance to what I think is the waterfall view park entrance. There seems to be canyon there you can hike to... I wanted to go hike there and never come back. Maybe I will... some day.

The bads. Like in all of Europe, service sucks. Everywhere except hotels and Cheers bar.  I stayed at the Best Western Congress Hotel and everything there was amazing except that slow ancient elevator. Rudeness. Local Armenians can be rude, it does not matter if you are a tourist or not. Its just a backwards cultural values that have not moved forward yet. I'm not quite sure how other cultures have resolved this, is this a typical European issue as well? Cabbies will try to rip you off, just get estimates before you ride with them.

From Instagram
From Instagram

Food is amazing, but in my experience, look either for fancy restaurants in Yerevan or bet for the restaurants on the road when on trips on route to places in Jermuk. The best food I had was when we stopped by a restaurant right before entering Jermuk. There you not only get to try the good local fresh food but also great natural spring water.

From Instagram
From Instagram

The market in Armenia is interesting. You can find great small treats but also very interesting unexpected oddities like used medical operation equipment and a whole bunch of chemical lab components. My favorite though, of course, was the local hooker art.

From Instagram

One of my best memories about Yerevan though will be my great conversations with the local folks. Both local Armenians who have never left or those who are coming back from their original departures. I never had a dull conversation with any Armenian and the types of conversations I had were all extremely stimulating and very eye opening.

Running and rock climbing in Armenia

From Instagram

The first two nights that I spent alone in Armenia reminded me of how much I loved not knowing a single soul in a new place and the social challenge aspect of meeting new people. I think I'm addicted to the challenge because since I was young I was always on the up and go. New school, new
neighborhood, new country, new social environment, new culture. Fortunately it was smooth sailing for me, I think it helps that I'm from Costa Rica as that gives my introduction a fun unexpected kick. Where the fuck is Costa Rica?

I'm addicted to active living now and since I have a Tough Mudder coming up towards the end of September I had to bring my running shoes and train a bit. I cannot afford loosing my stamina. I'm also into rock climbing and based on a friend's advice I checked out what the possibilities would be.

Running in Yerevan, Armenia

From Instagram

I got up at 6am for my first run in Armenia. Running in a new city is one of the most rewarding things one can do. You get to explore the city fast, this will help you get around easier in your other trips, you can also easily pick up on certain cultural values and practices, which should help you adapt faster. I believe its possible that you also end up shaking off your jet lag faster given that you are accelerating your metabolism by increasing your oxygen intake at the times your body was previously was used to resting. I ran at 6am and then at 10am on first day. The second day I did a bit more lengthy run, ~6-7 miles and made it an objective to get to an iconic high point in the city, the Yerevan TV tower which turned out to be the highest point in the city. I even found one bus close to the Yerevan TV tower that looked like the bus from Into the Wild (2007).

From Instagram
From Instagram

Both runs allowed me to explore the city quickly in random areas that eventually ended up being recommended tourist destination spots that I was recommended to visit once the family arrived the following days. I had explained I thought I knew where they were talking about when they made recommendations to visit some city places but nevertheless I went again to explore such recommended sites just to confirm. Since I was running really early I was also able to observe easily and safely that Yerevan was a city that slept extremely late, was extremely secure, and when was the best time to avoid walking around due to temperature. Given the empirical gains anytime I visit a new city I will now run it or bike it as soon as I arrive.

From Instagram

Armenia happens to be part of what is called the Caucasus. One of the attributes of being part of the Caucasus is you get tons of water, to the extent you see public water faucets running on 24x7. The amount of faucets around the city makes it a great place to run in the city without the need for you to carry water. Good thing, as I didn't bring my CamelBak.

From Instagram

I only saw one young crowd running near Republic Square, but that's it. There were no other runners in Yerevan. In fact prior to running in Yerevan I was told I'd likely get looked at oddly if I did run in the city. I didn't personally feel awkward but a few old people certainly raised an eyebrow or two as I dashed by. Likely folks do not run as most folks are pretty fit in Yerevan, and also it just has not picked up as part of the culture. Nevertheless culture could be enhanced, I encourage more folks to take the streets and run and take high advantage of all that abundant succulent water.

Rock climbing in Armenia

From Instagram

Rock climbing in Armenia... wow... so much land scape full of routes waiting to be claimed, named, and set. There are mounds of places you can go and rock climb with 0 minute approaches. At least from what I can read online Rock climbing is actually a new sport in Armenia and the only resource for information that I could find about it was a site called Up the Rocks. I tried contacting Mkhitar Mkhitaryan to see if I could arrange a trip. I was quoted $150 for the a trip to Hell's Canyon ~70 Km from Yerevan for the guide work and $10 for each set of shoes and harness, this did not include the price of my transportation and lunch. Frankly that seems a bit steep to me for given that I'm used to just taking my own equipment at this point and I've only heard quoted figures around that price for long multi pitch rock climbing guide around Yosemite. I was hoping to just offer some beers in exchange for some route / map information / gear rental, perhaps next time. In the end it didn't work out for me for this trip but check the video below for what is possible. Other options Mkhitar mentioned was to go to Noravanq Canyon ~100 Km from Yerevan. Personally I saw tons of routes possible with no approach distance (just park your car) on the way to Jermuk. At one point I couldn't resist and just tried to climb a level 5.5 scramble by a river in Jermuk. I only had my sneakers, the rock was a bit dirty, and I could have fallen badly both left or right but I just had to try... What can I say, I'm addicted. I didn't even travel much around Armenia so I'm sure there has to be tons of other great places. If you are in Armenia and are curious about rock climbing I highly recommend you attend / become active with the next Armenian First Ascent Open Festival May 25-31, 2013 and also befriend Mkhitar Mkhitaryan on Facebook and buy him a beer. Better yet, start organizing folk and start practicing for the event.

Monday, August 13, 2012

Automatically backporting the Linux kernel

Users should be able to get support for their hardware if they are on any supported kernel. Linux kernel developers should always prioritize working directly on the Linux kernel and there should be no excuse as to why not do to so. Linux kernel developers should ideally never have to backport anything they do onto older kernels. Linux distributions should share as much as possible if they are already putting some work into backporting. What if we could simply automatically backport the Linux kernel ? What if to automatically backport the Linux kernel we may have to take into consideration some design considerations of the technologies and semantics that would enable this? This  blog post is about all this, where we stand and where we are going.

At the 2012 Linux Collaboration summit in San Francisco I gave a talk about the idea and project objective I have on automatically backporting the Linux kernel. A pictures speaks more than 1000 words so lets try to get directly to shiny pictures and graphs so you have to read less and I can write less. If you haven't yet please go first read my last blog post on optimizing backporting collateral evolutions on the Linux kernel, and then go through the few images below. You can also just review the slides from the automatically backporting the Linux kernel presentation.

This is your Linux backport effort of a collateral evolution on drugs:

If you've been doing backporting or if you've read backported Linux kernel code before though you'll realize that this is what you typically see though. This change in fact would be present for all drivers, and the one above is a change for just one driver. A better idea is to wrap all this code up into a helper routine that could be used over different drivers. Here's what this would look like then:

And this is exactly where we are today with backporting the net_device_ops collateral evolution down to one line for each driver. We do this by implementing the actual helper in a shared module under the project compat. Once we have this implemented you can even express this in SmPL form (see previous blog post on optimizing collateral evolutions) and then we would not have to even code this collateral evolution for other new drivers. In fact, if we added a static inline for netdev_attach_ops() upstream to simply do that assignment to the data structure it would mean we would require 0 lines of code changed to backport this collateral evolution. I really want you to go review the first picture before you make any decisions on how you feel about this.

A few people like the strategy and thanks to all the help of a good large group of contributors today I can say we are striving towards these optimizations slowly. This effort started through the compat and compat-wireless (now renamed to compat-drivers) projects but the number of systems we backport keeps growing and the amount of code we can share keeps growing as well. Below exactly how much code we share is illustrated against the amount of code we are pulling directly from the Linux kernel.

That small green thing -- that's compat, and that red thing between the dark stuff and the green stuff is the delta of patches that we have not yet merged into a generic compat module or are things which we have not yet figured out how to generalize -- this goes into the compat-drivers project. In short: the more we share into a compat module the more subystems we can share at a lower cost and most effort is done automatically.

But not all work is automatic of course. Hauke Mehrtens, Johannes Berg, Bala Shanmugam, Ozan Çağlayan among others have contributed mounds of work to the projects and without their help we would not have such great advancements. Ozan in particular decided to take on backporting the video graphics kernel drivers as part of his Google Summer of Code project and with this making it the 4th subsystem we are working towards integrating into the project, previous to this we only backporte Ethernet, Wireless and Bluetooth subystems. The folks at the Linux Foundation driver backports working group expressed interest in the project at the last Linux Collaboration summit in San Francisco and at their request we will be renaming the project to compat-drivers to put emphasis we are interested in generalizing backporting, and we will eventually be making releases through instead of the wireless front. At this point all relevant documentation has been migrated onto the backports wiki page, please use that page to advance or read the required documentation. We expect to make the first release through as of the v3.7 release cycle.

For now if interested in the project you can refer to the code:
At this point we aim to backport all 4 subystem kernel drivers and making both daily snapshots based on Stephen Rothwell's linux-next.git, and RC releases based on Linus's linux.git sand Greg's stable releases from linux-stable.git and all of these able to compile across 21 older kernels.

If interested in poking around first, you may want to simply clone compat.git and check out the following few scripts:

git clone git://

ckmake is intended to help you cross compile test any external module across 21 older kernels. 

Apart from backporting we realize at times you may need to integrate critical fixes not yet integrated upstream. The project has solution for this that respects and prioritizes Linux upstream development by providing code metrics on each type of delta possible of patches from the birth of a patch all the way up to its integration upstream and the effort required to backport it.

If you want to send patches please subscribe and send patches to the shiny new mailing list: To subscribe send an e-mail with anything on the subject to with this on the subject:

subscribe backports

Read the following e-mails on a follow up of how to confirm subscription. Please read the new backports kernel wiki page on how you are expected to send patches, but please use the new mailing list.

Optimizing backporting collateral evolutions

In November, 2005 the first paper to my knowledge was published that coined the term of "collateral evolutions". This paper, authored by Yoann Padioleau Gilles Muller, and our very own kernel hacker: Julia L. Lawall, formalized what collateral evolutions are with emphasis on Linux kernel development: software evolutions on Linux kernel APIs which require respective Linux device driver code updates. You likely had not heard of the term "collateral evolution" but you likely have seen patches by Julia already and if her name rings a bell you likely are associating it with some odd patch commit log messages which look like this:

@@ identifier ret; expression e,e1,e2,e3,e4,x; @@
( if (\(ret != 0\|ret < 0\) || ...) { ... return ...; } | ret = 0 ) ... when != ret = e1 *x = \(kmalloc\|kzalloc\|kcalloc\|devm_kzalloc\|ioremap\|ioremap_nocache\|devm_ioremap\|devm_ioremap_nocache\)(...); ... when != x = e2 when != ret = e3 *if (x == NULL || ...) { ... when != ret = e4 * return ret; } //

This is all in SmPL (Semantic Patch Language) and the research team who wrote the paper above designed the language specifically to describe collateral evolutions in Linux kernel development. The paper states that about 70% of operating system software consists of device drivers and that 30% of software updates to a Linux kernel consists of addressing collateral evolutions on the Linux kernel. The paper provides some case studies on collateral evolutions, and proposing to work on "Coccinelle" an engine to enable developers evolve the Linux kernel by optimizing on how to express collateral evolutions and applying them.

Its year 2012 and by now there is likely no subsystem in the Linux kernel that has not taken advantage of SmPL. In fact we're a bit far beyond that too in terms of reasearch and how we can apply and use SmPL to evolve the Linux kernel. I'm not going to get into the technical details, instead I'll only provide references for you to do homework if you are interested in the topic but I will provide the conclusions I have and empirical implications that I am observing and foresee for us in Linux kernel development. My interest with SmPL was heightened when trying to move drivers out of the staging area of the Linux kernel and seeing how broadly you could use SmPL. The biggest use case I saw potential for SmPL though was for some work I was focusing on for a while: automatically backporting the Linux kernel.

Everyone and their mother backports code, but they tend to historically have tried backporting their own things: their own driver, their own stacks, and at times for their own Linux distributions and only for a set of supported Linux kernels, and at times forking the Linux kernel and never merging things back upstream. For a while now I have taken a slightly different approach to backporting: backport all drivers on a subsytem, backporting for all Linux distributions with priority to all known supported Linux kernel releases, share as much code as possible, and always prioritize upstream. Turns out that what you have to end up backporting are collateral evolutions. The same SmPL that could be used to help you evolve the Linux kernel with one SmPL patch could therefore in theory be used as a reversed SmPL patch to backport that same collateral evolution. As per review with Julia, this is theoretically possible, and although we have quite a few Linux kernel developers using SmPL to write collateral evolutions of the Linux kernel, not all evolutions are written this way and we should not assume we could convince everyone to do so. Furthermore the learning curve for learning SmPL is steep, its not easy to learn it.

At the 2011 Linux Plumbers conference I met Julia for the first time and at this conference Julia revealed to me the holy grail to the big picture of collateral evolutions and what we'd need to use it for backporting given that not everyone can be expected to write collateral evolutions using SmPL: spdiff. Julia explained to me Jesper Andersen wrote this utility to help you generate SmPL provided you give it two patches which illustrated a collateral evolution. The implications are huge for Linux kernel development. You don't really need to learn SmPL to write SmPL. You don't even need to learn SmPL to evolve a collateral evolution for the Linux kernel for all subystems which require changes within it. It also means that if you backport a collateral evolution for two drivers in the Linux kernel you could in theory backport that collateral evolution for all other Linux kernel drivers.


If true -- and I plan on proving this over time -- the implications are significant for us. It means we can indeed focus more on advancing the Linux kernel faster than ever before but at the same time having to worry less when we need to backport a collateral evolution onto older kernels. As I will explain in later blog posts though not all things are easily backported though -- but fortunately a lot of things are, and with a bit of work and realization of how we can help optimize code to help backport we may be able to backport code even faster over time. If we also evolve the Linux kernel with SmPL with new collateral evolutions it may also mean (although this would need to be proven) less bugs caused by collateral evolutions and obviously also less bugs in backporting as the backports themselves would be the direct inverse of the expressed SmPL

Wednesday, July 18, 2012

mac80211 contribution graphs up to v3.5-rc7

Every now and then I'm asked how much activity goes on in mac80211 development on the Linux kernel. Today I decided to make a graph about contributions and break them down by the major organizations contributing from v2.6.27 up to v3.5-rc7.

And now the short analysis: Intel started doing most of the development, later on Atheros (now known as Qualcomm Atheros or QCA) picked up some serious development. Intel later hired Johannes Berg and well that obviously accounts for Intel's huge spike in contributions and the decline in the community's contributions ;) What's nice towards the end is the increase from other organizations like TI and Marvell. The community also always manages to find its new contributors and always leads the development effort even with most 802.11 hackers already being hired at most corporations.

If you want to run your own stats download the mac80211-stats script, and you'll need Chris Mason's gitstat. I just can't wait until Google Fusion Tables lets me dynamically import data and generate nice graphs like these dynamically, for now I had to use Open Office for this pretty graph.

Sunday, July 08, 2012

Gay boring, Gay Google and copyleft-next

Yesterday Google announced a global campaign to legalize gay marriage. At first I was a bit perplexed and did not know how I felt about it. I reached out to my gay cousin, Pico, for an opinion. I did this given that although my cousin is gay she never has never associated herself well with the gay pride movement. I took me a while to understand why: some folks who are gay tend to be extremely flamboyant. The word flamboyant describes it best but other adjectives can help for those lost in translation: flashy, obnoxious, and at times even rude. After long winded conversations about the subject with my cousin and her beautiful wife while I last visited for their wedding I insisted to them to blog about it, and they accepted the challenge. The name chosen is and it reflects on the idea that not all folks who are gay are flamboyant and in fact some gay folks hate it.

You can be gay and yet have a relatively typical normal lifestyle: take your child to t-ball, and make one of your highlights of a relative visit showing someone how to make their own hummus. Despite all this instinctively my cousin told me she supported Google's efforts, but she did not tell me why. I thought about this and I too support this, but I'd like to elaborate on why and also relate it to another movement to which I care very dearly about: Free and Open Source Software. Thinking about why I support gay rights has pushed me to finally make a huge personal philosophical breakthrough.

Gay rights movement is about that alone: gay rights. Surely if you do not have any openly gay relatives you likely have not yet been exposed to why gay rights just makes so much damn sense. If you do not have any openly gay relatives start asking relatives who you do suspect are gay and just start talking about it. I'll bet my right nut that you have a gay relative, whoever you are. When you start thinking about the gay rights movement more in terms of fighting for freedoms it just clicks and the movement makes perfect sense: the movement has its place and we need to show support and educate as much as possible on the matter.

The "gay rainbow / pride flag" has a pretty awesome history. Read about it for all the gay boring details but I'll highlight one important overlooked fact: the original flag had hot pink stripe which today is removed. The pink stripe symbolized "sex". So if you want to support the gay rights movement but not any of the flamboyant attributes that some folks have the current flag would be fair to support. Its important I clarify that its not that I do not support folks to be flamboyant -- not at all, I fully support this, its just I believe we should consider being flamboyant a completely separate attribute from being gay. Even straight folks can be flamboyant, another attribute is being sexually obnoxious, whether straight or not, there is no difference. Your typical macho at bars smacking girl's asses is no ruder than someone gay doing the same. Alfred Kinsey first started redefining what we know as sexual behavior in the 1940s and 1950s -- and a lot of this was based on empirical studies. Towards the end of of his life he started loosing funding for his research and a lot of this had to do with the fact that he started making moral opinionated claims, and some of this had to do with sex offenders. Flamboyant behavior is a sexual orientation neutral attribute and if one wants to fight for rights for it: study it and document it first, but do not try to piggy back your agenda on top of the gay rights movement, doing otherwise would only do a disservice to freedoms we need passed in legislation all around the world. Baby steps.

The Thinker Paris

Moving on to free and open source software philosophy... I have written before that while in college one of my goals before I graduated was to have reached a conclusion on the ideals of free software philosophy and specifically on the Free Software Foundation's position on moral claims to free software. As I stated before, I couldn't reach a conclusion then and I have been trying to reach one, and I thought I was close but now I'm certain I've finally completed my philosophical objective and of all things I have to thank gay rights philosophy for it!


When you think about Free and Open Source software (FOSS) and only try to answer the question of whether or not users should have freedom to the software they obtain / purchase, the answer is not obvious for a few reasons. First are the exceptions: what about video games? Even though you have super awesome companies like Id Software which have released software to their game engine like... Quake III Arena, and even have released Doom 3 game engine... they are the exception in the gaming industry. A lot of this has to do with old corporate fogies who simply don't get the general alternative benefits of Free and Open Source software -- but apart from that I also believe a key issue with free software philosophy has been the very need to properly and formally justify free software in a way that people can easily relate to. Because of the difficulty in justifying free software from a moral perspective we have started another movement in the community: the Open Source movement. The movement and philosophy is simple: support opening up code not for moral reasons but for practical and empirical reasons. This movement has enabled corporations to invest millions if not billions of dollars by now in supporting the "Open Source" movement (people get surprised when I tell them Android is running on a Linux kernel with all open code, or that most of the stock markets all are running Linux), and free software zealots remain a bit content given that some free software keeps moving along and we're at least in a better place than before. Personally, I'm not satisfied with the status quo, not because of the brutally great obvious practical benefits of FOSS and shocked at how Steve Ballmer himself has not come out and admitted his position for Microsoft has been wrong all along and for Microsoft to just open up all its own damn software -- but because the philosophical aspects of free software still had issues in my head -- after all I am a philosophy minor ;) These issues persisted even when debating with lead developers and lead philosophers in the community on the subject for years now. But now its all crystal clear! Dot.

Come on, I canna hold it much longer

Just as gay folks can fight for freedoms, and maybe in the future flamboyant folks may want to try to fight for their own rights, geeks also have rights they want to fight for, and that's fine. Freedoms tend to not be considered until its obvious a wrong was done to someone. Richard Stallman (rms) is the pioneer of free software philosophy, and he started it after a company did something obviously wrong to him. Richard did more than birth free software philosophy, he started the ambitious GNU project, to create a completely free and open operating system. Richard did try to explain to many folks how important free software was -- some got it, some didn't. I'd wager that many folks who did get it understood the harm that could be done to them when their own freedoms were taken away, perhaps even from some own personal experiences. I realize today that one of my mentors, Joseph F. Miklojcik III whom I have written about before, likely understood the ideals of free software because of his experience with competing against Emacs with proprietary software. In short, he worked on a proprietary version of Emacs. He had to work on this even though he knew that the open and free version of GNU Emacs was far superior. It puzzled him given that even folks like NASA for a while were still using the proprietary version of Emacs! If we want people to understand why free software is important we must put emphasis on the stories of being done wrong, of your freedoms being taken away, or your freedoms being mocked, or abused. In fact I'd wager that it is not until this happens that most people do not get free software. I'm pretty sure this has happened even to folks in the BSD camp... who use a license that does not require giving you access to software modifications a third party has made to software you originally wrote.

Anonymous at Occupy LSX-1.jpg

I'm pretty sure some folks out there may still not understand why software freedom is important, even though I am trying to clarify this in simple terms, relating it to a very current modern topic, and even providing the philosophical breakdown for it. Let me provide one more example. Anonymous. Heck, even Richard Stallman has written an article on Anonymous and I encourage everyone to read it. The rights that Anonymous fights for are things likely more folks can relate to: freedom of speech, using the internet freely, allowing us to donate to groups like WikiLeaks, etc. These freedoms are not freedoms everyone takes advantage of, such as sitting down on a bus when there is a chair available regardless of your color, or not voting even though you are a female -- but they exist, and a few of us really care about them. Free Software is no different, but typically only geeks care about it. But what if you started to loose trust on your typical proprietary products? A few examples all listed on Stallman's article:

Books # 13 : George Orwell 1984

So geeks have freedoms, and whether or not you may have realized it, some of these freedoms are actually important for you, even though you do not exercise them, when it comes to trust -- there is nothing better than having open code and demanding it. But even to this day it is not evident that we do have software freedoms. In fact I'd also like to make a relationship here that may help explain why we have had a technical community backlash against the GPL, despite its importance. Just as we have gayboring gays and we also have flamboyant gays, we also have boring geeks, and flamboyant geeks. If one is to properly use the analogy I'd likely fit into the boring geeks camp. I do not wear a pocket protector, I do not carry a GNU bible, and I at times have gotten into debates with zealots over the practicality FOSS outweighing some theoretical moral gains with "free software philosophy". There is also obviously Richard Stallman himself, who has gone to lengths, as I've written about before, of asking even University Student Linux Users Groups (LUGs) to rename themselves to include "GNU" in their organization name. We did not change our LUG's name at Rutgers. rms a zealot, our very own most famous flamboyant geek in the universe, sometimes even called the Pope. Then we also have Bradley M. Kuhn who believes so much in free software philosophy that he's been advising Free Software groups with organizational / legal structure through a slew of non profit work. Bradley deserves a medal for his heroic efforts. But there is one aspect of Bradley's work that has some corporations concerned: copyleft enforcement -- that is taking folks to court when they violate the license used in most free software projects: the Copyleft GPL license. I've written before on the importance of the GPL and why I support GPL enforcement, but I'd like to clarify that GPL enforcement is also seen very negatively by many corporations. It is seen negatively as some interpretations of the language of the GPL could be taken to a far extreme and imply opening up aspects of software some companies legally cannot for either legal purposes or current technical purposes. It really is not different than trying to work on actual legislation language for new rights for groups of folks, whether that's gayboring folks or handicapped people. The conflicts of the possible loose language of the GPL have put us where we are today with regards to corporations.

Dog days

I will clarify that although I have been pushing hard on the concept of formally localizing the GPL inside the Linux kernel I cannot emphasize now more than ever on the importance of the GPL. See, the BSD camp is a type of FOSS camp that chooses to not require you to give back changes to software a third party makes of your software. I'd like to invite even the BSD camp to reflect hard on their ancient license. In fact I think a good middle ground solution has presented itself recently. Richard Fontana has recently announced the copyleft-next.git project as an independent project. I cannot emphasize enough how important this is. The original popular copyleft license (used on the Linux kernel), the GPLv2, has evolved into the GPLv3 and the Linux kernel never moved to it. There are quite a few reasons for this and I've documented a few reasons why on my blog post on the importance of the GPL, but I recently learned of one obscure possible reason I'll shyly mention but consider it important to share to understand the tensions. It seems some kernel developers were told that even if they did not want to move to the GPLv3 that they would force the Linux kernel to move to the GPLv3 somehow. For fuck's sake, that's not how this needs to be dealt with. As for the current ongoing effort on GPL enforcement, I can hope its even clearer now on why it is morally correct and extremely important to fight for the freedom of developers who did write and contribute to code under the GPL. If you are in the industry and still find reasons to object to the current set of GPL enforcement efforts, I'd love to hear why you would oppose such efforts, specially if you read this long blog post. I'd also like to incite now more developers to take the leap to join in on the SFC's compaign on GPL enforcement on the Linux kernel, I'll simply echo Mathew Garret's invitation:
No significant kernel copyright holders have so far offered to allow the SFC to enforce their copyrights, with the result that enforcement action will grind to a halt as vendors move over to this Busybox replacement. So, if you hold copyright over any part of the Linux kernel, I'd urge you to get in touch with them. 

Teaching controversial issues

As I have expressed to a few folks: even though you disagree with the possible reasons, or approach, if you participate you can have an influence on the subject. It is only fair for the SFC to listen to you as a contributor. So it is fair to participate and to vocalize your position to be very reasonable. If you have doubts over the subject I'd love to help in any way I can.

Hulk odiar Sarrooooo / Hulk hate Tartaaaaar

As we move on with GPL enforcement Fontana's efforts will help us with a stronger copyleft. I believe it will be a very fair license given that he is separating himself from the church (FSF) and corporations. It can be seen as community independent project and we simply trust Fontana to be the benevolent dictator of that project. Given that there was a huge corporate interest in the editing of the GPLv3, to the extent that as I have written before even a private draft edit of the GPLv3 was made by a few corporations, I suspect there will be another huge corporate interest in the editing of copyleft-next. Given the way it is set up, the fact that we have a hopefully non partial dictator, my hope is that perhaps we can look forward to this license as something to consider for new important code, maybe even new kernel code. I invite corporate attorneys to consider engaging on the editing of copyleft-next but as individuals...  If you do need to be associated with your company then simply learn to try to engage as much as possible publicly. This is how public community projects work best! Don't ruin it!


Google working on a campaign to push for legalizing gay marriage is of paramount importance, and I give them a lot of credit for it. Curiously enough though even though Google uses Linux for its mobile OS Android, its desktop OS ChromeOS, it has hired a few Linux kernel developers, has Google Summer of Code, I personally still consider Google as being in the closet with regards to Free Software. I don't blame them though, everyone has. I think the philosophy about free software is not easy to digest but I am in hopes that with time we can also openly not only talk about the benefits of free software from the "open source" perspective but also from the users's, geeks' and community's freedom point of view. It took me over 10 years to digest Free Software philosophy, so I understand its hard to get it from a corporate perspective but hopefully this personal documented philosophical breakthrough will help others. I am in hopes that copyleft-next will help remove any extravagant language and enables us to really focus on the real matter at hand: software freedom. And -- although rms can be considered a flamboyant free software advocate, I'd like to ensure everyone understands not only does rms focus on free software freedoms, I consider him a pioneer on monitoring all of our freedoms around the world, we're very fortunate to have him. If you're curious about that just read his dents on identica (dents are "Tweets" on the free software version of Twitter called It is also no surprise to me why rms wrote an article on newspaper supporting and explaining the way in which Anonymous electronically protests.

Saturday, April 14, 2012

Learning to snowboard and picking gear

From I am mcgrof's smirking revenge

I started snowboarding around Pi (3/14) in 2011. My first venture was out to Kirkwood in Tahoe. I went with my coustin Pico who was out visiting me in San Francisco. I had not expected to try snowboarding as I thought it would be painful to learn and I already was starting to feel comfortable with skiing. I also didn't know squat about snowboarding... and neither did my cousin... She really wanted to learn so being the crazies we are, we just tried it, without taking any lessons, without input from anyone, we just winged it.

From I am mcgrof's smirking revenge

"Fuck guac, get an avocado and put a chip on it" (tm). That was our general attitude for the entire trip we were making. We were traveling frugally, winging it, not caring much about anything. It's a good thing because when we arrived to Kirkwood from Yosemite we got there circa 11pm and not knowing the area we were a bit shocked to hear the prices for staying at any of the local Kirkwood hotels... and we also had my dog Mookie (which my cousin later kidnapped from me). We fortunately got a hint about some Hostel called "Rockstar" within Kirkwood we should call (530-318-5046) and check out.

From I am mcgrof's smirking revenge

We got very very lucky. The Rockstar Lodge at Kirkwood was dirt cheap, allowed dogs, and... had a ping pong table, a pool table... and had a groovy young crowd crashing there. As you can see above too, the amount of snow that fell this season was amazing. That's a window at the Hostel.

Captain Morgan joined us. Here you can see Pico has the Captain in her...

From I am mcgrof's smirking revenge

Having a little Captain in you helps if you are learning to snowboard. Its painful. You will suffer, you will experience pain, you will complain, your ass is going to hurt for a while, but -- you will have fun. I recommend to go prepared for 3-4 days of mental anguish, desperation and pain.

From I am mcgrof's smirking revenge

We rented gear from Sports Basement in San Francisco. They give you what I think are Burton Rockers with some cheesy bindings and boots. Given the price the cheap rental equipment is reasonable if you're not sure if you're going to get into it. As soon as you realize you like Snowboarding though ditch the crap rental stuff and quickly move on to demo equipment. The nice thing about snowboarding is that after being in hell for about 3-4 days, the next few days after that will feel increasingly rewarding. If you move away from cheap rental equipment to demo equipment you'll even feel a greater difference.

That season though I didn't move away from the cheap rental shit... and I felt the pain. As you get better and move from Greens (Beginners) to Blues (Intermediate) trails the biggest issue will be the discomfort felt on the feet and the tiredness on the legs and feet. Unfortunately the only way to work on that is to keep doing it. It gets better, I promise. I was so hooked on snowboarding after that trip I kept going almost every weekend until the season ended. Fortunately that year we had a great season and we had snow even toward the end of April. Towards the end of the season I even had grown the cojones to go to the top of Heavenly at 10,000 feet to cross over to the Nevada section, and even dared it down my first set of black diamond runs. Heavenly has an awesome view up there, on one side you see Lake Tahoe, and on the other you see the Nevada desert.

From I am mcgrof's smirking revenge

I liked snowboarding enough I committed to renting a cabin in South Lake Tahoe for the 2012 season with a few good friends from SF. The price was not bad considering how often I was going last season and crashing at motels or hostels, it came out to $250 / month for 3 months. It had a hot tub :D The leased turned out to have worked really well and met really great folks. I think I ended up going up almost every weekend. It worked really well given that a few of my friends also worked from home in SF so we typically went up Thursday night, worked from home Friday and hit the slopes all day Saturday-Sunday.

Since I knew I was going to go up more often I decided to buy my boots but demo snowboards. You cannot really demo snowboard boots so the best I could do was to try the snowboard boots out at a store. I got my boots from the good folks from Mountain West in SF. The service at Mountain West was great, I highly recommend the place. I tried on a lot of snowboard boots, from all price ranges. At a certain point I couldn't feel the difference anymore. I ended up picking the 2012 Burton Imperial. They're amazing.

I took complete advantage of the fact that you can demo snowboards. Sports Basement has a great deal for demoing, you demo snowboards with nice bindings for $50 for the weekend (same price for Thursday - Monday :D ) and towards the end of the season the amount of money you have spent on demos can be used towards the purchase of a snowboard. Pretty sweet huh? Oh yeah..

I started off with the lightest snowboard on the demo fleet, the 2012 Rome Anthem. I was excited due to the background I got about the company Rome, founded by two folks from Burton who apparently had left for perusing their own vision on snowboard gears, etc. I hated the snowboard though.... Meh. I think it was just too damn light for me. Not sure. I just wasn't feeling it, at all... I moved on to the 2012 Burton Custom X. Woot! Wow. What a difference... I really just wanted to go with that one at that point.. but I felt I wouldn't really be taking advantage of the demo program so I tried others... I actually wanted to avoid Burton since some friends had ranted about Burton... so I listened and tried Lip Tech. There is a company called GNU that makes snowboards. Fellow geeks, it has nothing to do with the GNU project... Lip Tech and GNU are part of one family of companies under Mervin Manufacturing. The only difference I can find is perhaps that Lip Tech innovates stuff while GNU focuses and pioneers on being the world's most environmentally friendly snowboard shop. Both companies sell the same Lib Tech Banana Technology which reverses the typical snowboard's camber. I'm not going to get into snowboard technology here. My advice: ignore all that stupid shit and just try the damn boards out. I tried learning as much as possible about the technology advancements on snowboarding but found most marketing over the technology sucks ass and instead is sugar coded for what seems to be teenager year old punks who marketing would like to believe prefer fun cool words over facts. The slew of low quality marketing videos on YouTube explaining snowboard technologies are just sad. There is much room for improvement on education on snowboard technology. Not only does the materials suck ass, but its also confusing given that every snowboard company bites each other's technology and simply slightly modifies it and gives it a different groovy name. Anyway, I tried the 2012 GNU Billy Goat. That was really nice but unfortunately the bindings that Sports Basement had to offer for that snowboard were not as great as the ones offered through Burton Boards. On Burton boards Sports Basement's highest quality binding is the Burton Malavida and at least I do feel a difference with them. The 2012 GNU Billy Goat felt very comparable to the 2012 Burton Custom X, unfortunately the snow conditions varied when I went up so I couldn't manage to get equal fair comparisons between them, but they were both pretty nice. Something about the Custom X though.. I couldn't place it yet, was just feeling better though. I then moved on to the 2012 K2 Slayblade. This shit was heavy, really really heavy... It wasn't so great on Blue trails but it proved to me to be a great board on steep Black Diamond runs. It turned great and it was fast. For traversals it sucked. Due to the weight it also tired my feet out quite a bit... Moving on... I tried the 2012 Burton Joystick. This was a lot of fun, it felt very close to the Custom X and Billy Goat but I thought that the Custom X let me go faster through traversals, I wasn't sure. Time was running out so I went back to trying the Custom X.

At that point I had advanced quite a bit in technique though. I was doing Moguls on Black Diamonds and loving it, I even tried my first set of Double Black Diamonds. My first double black diamond was down Heavenly's Mott Canyon's Gate 1, which leads you to a route called "Widow Maker" (picture above). I'm surely not ready to sail through this yet, and it gave me good perspective as to what I need to work on. I do feel comfortable down Double Black Diamonds that have moguls though and in fact I love them.

From I am mcgrof's smirking revenge

Well, the only Double Black Diamond with moguls I've tried is the Gun Barrel run at Heavenly. The only sad thing about moguls and snowboarding is that not many snowboarders like moguls and in fact you cannot find any good videos on YouTube to help you learn to snowboard on moguls... The way I learned was by watching one person go down the moguls on a snowboard really well. It was a rare site.. and if you want to learn to go down moguls on snowboards I recommend for you to also wait for your unicorn sighting and learn from it. If anyone is aware of good videos of snowboarders doing moguls please send them my way! Just a warning -- moguls are a hell of a work out :D The challenge is so much fun though. Be sure to work on cardio if you really want to work on moguls often. I even started getting comfortable at terrain parks, nothing fancy, but at least landing jumps and hit my first rail. I've gotten a bit fearless too and that can be a problem.. At one point I took a steep ramp, my friend tells me I didn't go up that high but moved forward in the air about 8 feet -- I landed straight on my ass. Its been about 2 months since that happened. My ass still hurts. After a while falling is part of the fun. You get used to it, and at least for me if I tumble over, even if I do full rollover flips down moguls, or steep hills, I just try to gain balance and continue to move on as soon as I can. Its fun!

And the winner is... The 2012 Burton Custom X! I got a size 160. Due to the Sports Basement demo program (I demo'd 8 times), a 15% Aids Life Cycle discount, I only paid about $80 for the board! Not bad for a board that is listed as close to $700... Now to rave about this board. You literally fly on the snow with this board. If you get fresh powder, oh boy, you feel you have jetpack on. It handles turns really well, I love it on the moguls. On long traversals, which unfortunately are very common at Heavenly, this board maintains a high cruising speed. I always fly through everyone on long traversals with this board. Curiously the reviews of this board online are great but the reviews tend to warn beginners to try something different... I found this odd as I felt like a beginner. Perhaps I'm no longer a beginner snowboarder. As for bindings.. you can't demo those and for now I'll just rent until I do more research on them. I have a feeling given my investment on experience and love for the sport I'll just end up getting whatever Burton recommends. I know, punk-sad but.. in the end, in Burton I gained to trust. A little bit of background on the 2012 Custom X -- Burton gave Marko Grilc a chance to help with input on the design for it. According to an interview with Marko Grilc on the 2012 Custom X he first wanted a board well for jumping but also well rounded board. In the end supposedly he uses it exclusively, and recommends it for boarders who want to move on to the next level. I frankly don't give a shit about the marketing hype over it but it was interesting to me that in the end (I only read reviews after I decided) I ended up going with a good board that did seem to meet the same marketing lingo for it -- doing bigger crazier things.

From I am mcgrof's smirking revenge

I just hope that for 2013 we will actually see some snow... There are reported record heat waves across the globe and this has me concerned. I know many of you will be lazy to read the link I just provided so  at the very least please see this video.

I avoid conclusions about this on purpose here.