Thursday, November 21, 2013

I quit Qualcomm today! Whoohoo! Joining SUSE



After a good 5 years and 8 months I have decided to resign at Qualcomm Atheros. It was a terribly fucking hard decision given how much hard work our Linux upstream team has put into helping Atheros evolve as a friendly FOSS company (even open firmware for 802.11n USB devices!), unfortunately though my passion to work freely within the FOSS community is in direct conflict with working at Qualcomm and I need to move on. Qualcomm is heavy on a legal team... so I don't feel comfortable in saying anything more.

Banksy in Boston: F̶O̶L̶L̶O̶W̶ ̶Y̶O̶U̶R̶ ̶D̶R̶E̶A̶M̶S̶ CANCELLED, Essex St, Chinatown, Boston

Its been a good long journey both at Atheros and with the Linux wireless community. I'm not completely leaving the 802.11 space, but my role in it will only be community driven as it used to before, and I'll still upkeep the projects I maintain in that space. Linux wireless has grown up, by now all 802.11 Silicon vendors are chugging upstream, but I need to go look at other challenging areas I can help with as well and in particular I do hope to start dedicating more serious attention to the Linux backports project which has also grown up considerably. My involvement with the community will also change but for the better, I will have much more freedoms. Remember -- FOSS is not driven by corporations, we the people, the developers make it and shape it.




After shopping around in the market for a while I'm excited to say I've found a great alternative, starting 2014 I'll be joining SUSE, a company that has FOSS in its blood, and a great sense of fucking humor.

Snakes go "hiss"
Owls go "hoot"
Horse goes "neigh"
And pigeons "poop"
Lions "roar"
Sheep goes "bahh"
and the platypus goes "rrrrrr"
Geese say "honk"
and Piggies "oink"
and the chimp goes "ah ah ah"
       
[Pre-Chorus]
But there's one sound
that no one knows
What's the chameleon say?


Thursday, August 15, 2013

Evolving capitalism with ethical attributes


Go read my legal disclaimer. Great! Lets move on now.

Its no secret, capitalism as we know it is broken. I don't have a concrete solution for it, however, I believe we together should help correct it by objectively taking into consideration ethical attributes and considering their gains as complementary to typical capitalism rewards (RoIcapital gains) using Econometrics. The idea is inspired by vgg313's idea on a quantitative society, and piggy backs on top of recent posts by Michael O. Church's recent posts on breaking down capitalism into three categories. My own realization on how capitalism is broken came to me upon trying to figure out why certain ethical objectives could not possibly be taken seriously as core parts of modern business models, in particular why there was no viable existing business model for a free software license such as the AGPL which would make source code open even for web services. We have a series of open kernels (Linux, BSDs) why don't modern business models exist with open web services? For example why can't Google open up gmail source code, or why doesn't Facebook open up their code and if not them, why won't any others try to compete with such models? I consider software freedoms as ethical attributes, I'll review a bit more why I believe this but in the general case the question still stands. What is preventing modern businesses from investing into business models that prioritize certain ethical attributes? Other examples of ethical attributes: sustainability (being green, eco-friendly, reducing CO2 emissions), racial equality, gender equality, gay rights.



What is it that is preventing innovative business models to thrive on ethical behavior?
Ethical attributes must first be educated, you need to win on the philosophical front first. Its should be obvious today that racial equality and gender equality are important and generally most folks agree with them. Gay rights and software freedoms however are not acknowledged by everybody, although certain corporations do respect these rights. The second obvious issue, rent-seekers. Those obviously need to just die out and part of the solution to that is fixing corruption. To get a sense of what corruption looks like fortunately we have even math behind that today, check out the Corruption Perception Index. Even if corruption in the US doesn't seem as bad as in other countries its still present and we have to fight it. Its no surprise that after creating the Creative Commons  Lawrence Lessig went off to prioritize working on eliminating corruption next. For a simple technical idea to help with corruption in politics see the idea of making your e-mail public. If we had corruption solved, what next? If you are working in industries where corruption is not a huge obstacle, what is the issue? There are a few answers to this, part of one I have thought up of is that of what Chomsky describes as collateral to the Military Industrial Complex -- the technology development. I rather keep these two separate and would consider technology development as part of its own Technology Industrial Complex given that any country can engage on these practices. What else is standing in the way!?

Sustainability Presentation
Despite corruption and industrial complexes, why can't we act ethically in capitalism?
Its quite simple: capitalism is completely focused around seeking improvements on some sort of rewards that are ultimately attached to monetary gains (RoI, capital gains) -- alternative gains are considered but always subjectively. I'm not the first to point this out. The first huge effort in the industry that has visible impact today is that of the idea of Natural Capitalism. The idea was formalized by a book under the same title published September 30, 1999 that "describe the global economy as being dependent on natural resources and ecosystem services that nature provides". In the same month we saw the development of  metrics designed to gauge performance by corporations on sustainability through the Dow Jones Sustainability Index. There are known issues with that index, like the fact that information used is fed by corporation themselves. We can do better but more importantly there are other ethical attributes we should consider other than sustainability.



But How?

We need math! In particular we need first to define the math behind specific ethical attributes. I took a class by Tom Gilb (@imtomglib) on how to help evaluate requirements for projects and in it I learned about mechanisms he uses and educates to help folks make things that are likely considered subjective objective. I learned only briefly about the science he's worked on and something he calls Planguage. If interested go check out one of his books. Upon review with Tom on the potential of the science in his work to ethical attributes and how I envisioned the community helping with this he expressed all his processes are "open source" and as he saw it can be used by communities / businesses openly. Please let me know if you are aware of other techniques, they must exist and I want to document it. The real difficulty then not lies in the science behind how to evaluate attributes and create a direct appreciation of a value for them, Planguage is an example. The difficulty then lies in the actual work and logic to consider and break down subject matter into different attributes and values, someone or a group has to do this grinding intensive work. A good example of this is how Pandora, the United States music service, has broken down music into a set of about 400 musical attributes and possible values for each attribute. They pay folks to do analysis of each song. You can create a station and based on these attributes and your preference for thumbing songs up/down and adding feeds to stations they do some math behind the scenes to help evaluate and predict the best next musical choice for users. The collection of Pandora's breakdown of music into about ~400 attributes is known as the Pandora Music Genome Project. My point is this is the type of hard grinding work we need to do for ethical attributes and so far we likely only have grinding work done only for sustainability. After we break down an ethical attribute objectively we need to evolve Econometrics to take into consideration ethical attributes other than sustainability. I believe we likely can leverage usage of the mathematics behind Natural Capitalism and pushing for sustainability for other ethical attributes. If the mathematics behind leading efforts on sustainability are private we must come up with alternatives. Advances on metrics on sustainability and capital are ongoing, one example is the upcoming conference, "New metrics on sustainability", scheduled towards the end of September, 2013. There is so much math can do for us in these realms. One friend pointed out Graph Theory could likely be used to deduce critical aspects that can ensure long term capital gains in consideration for ethical attributes. If we can use math to build mathematical proofs on relationships between ethical attributes and capital gains I wonder if proofs for one ethical attribute can be transposed to be used for other ethical attributes (for that look at Homotopy Type Theory). In the end we may even be able to use constructive mathematics on large data sets and indexes to build determinations using computation. Math. We need tons of math.

Requirements:

  • all this data to become readily available under a reasonable license
  • driven by uncorrupt non profit organizations that specialize in defining these specific ethical attributes, this may even imply a recursive usage of the system for evaluation of non profits
  • we need a completely open platform for its analysis
  • we need open algorithms exposed to help calibrate / evolve publicly metrics on ethical attributes
  • we need technology which will allow us to trust data integrity for assignment / analysis of ethical attributes / record keeping. For that my initial thought is to evaluate modifying bitcoin for one way digital transactions and using the block chain as a public record, and public key cryptography for editorial proof / authorship / integrity

There is a platform I have in mind for mining data to start building our own community indexes but, that platform is still under development but is looking great and its architect has promised me to consider using the most appropriate open license for both content and software. If you also think having a completely open platform would be good and would like to support this feel free to poke vgg313.




What ethical attribute to focus on next?

I'm into free software so obviously I'd like to focus on ethical attributes for free software but folks should work on whatever ethical attribute their little heart pleases. If anyone is interested in a specific ethical attribute please contact me. I plan on spending some of my free time on this and in particular I plan on using and working with folks at The Hub on this. I already socialized the idea there once at the last Corporate Social Responsibilit meetup.com meeting. I'd like to track other similar effort. I'll review now why and how I think Software Freedoms can be analyzed as ethical attributes, as an example. If you're on the fence about considering software freedoms as ethical attributes go read my post on my philosophical breakthrough of how I came about to accept this, as even I was debating this recently for over 10 years. Additionally if gains on software freedoms and direct correlation to capital gains sounds like witchcraft to you then at least consider the possible direct correlations between software freedoms and innovation, or software quality and maintenance over it. That is -- ethical attributes can drive other attributes which may have a more direct correlation to capital gains. As an example a few innovations caused by free software are under Linux, Firefox, git, Apache, Google's Androidreddit, and OpenCores. Remember that free software was at the birth of collaborative development, we now have other areas that you should think about before making a decision of the impact to innovation / education / general good / potential capital gains in the future. Examples are things under the Creative Commons, Wikipedia being the biggest example, licensed under the Creative Commons BY-SA 3.0 Unported license. Still not convinced ? How about innovation on economy and currency, bitcoin. Most recently we even have the Hyperloop concept by Elon Musk, its design is considered an open design given he doesn't have time for it. There is a trend here, we now even have acceptance of innovation / collaboration being important even in modern research efforts, a recent example in mathematics is Homotopy Type Theory, this fascinating new mathematics is being introduced under a book published under the CC BY-SA 3.0 Unported license. I'd like to focus on gains incurred by software freedoms though, we need math to study all gains possible due to different software freedom attributes.


Free Software license evolution

Open Source software is narrowly defined by the Open Source Initiative (OSI) while the Free Software Foundation has been prioritizing evolving free software licenses to help adjust to new business trends to help assure granting users more freedoms. The approach the Free Software foundation has taken to evolve free software licenses however has not been strategically aligned with business interests. The reality of the evolution of free software licenses is that they evolve along with the evolution of new software business models. The Free Software foundation's strategy has all along been to promote all free software freedoms however and assumptions are made by the Free Software foundation on the idea that communities would adapt new free software licenses as new software business strategies evolve. The issues with the GPLv3 and the Linux kernel community is a clear example that this is not the case, however, and in my opinion independent efforts such as the copyleft-next project are trying to address shortcomings by the Free Software foundation's vision and road-map. The copyleft-next project is a public fork of the FSF's copyleft licenses and is maintained and lead on the spare time by attorney Richard Fontana, one of the original authors of the GPLv3. The success of this project and how this project evolves free software licenses remains to be seen however it is very clear the project already has great collaboration with the community. Should community projects ever move from one free software license to another is a project specific choice however there are clues in trends on slow embracement of the GPLv3 and some preferences to stick by many projects including the Linux kernel on the GPLv2. How to make smooth transitions between different business models in consideration of new free software licenses is something that remains for corporations to strategize on and take advantage on moving away from one archaic software business strategy to another. The alternative of course is for competitors to sprout out and use new disruptive business models and take away business from archaic business models. If gains on ethical attributes on software freedoms can be used as complementary to typical capitalism rewards (RoIcapital gains) I wonder if venture capitalists would consider investing in improving software freedoms through new disruptive business models.

Idea

What do we do?

Consider this my pitch to the Free Software community. I'd hope the FSF can get involved to help classify Software freedoms separately first. Each new software freedom should be considered in direct correlation to new evolutions in software development models in the industry, for this the industry may need to get involved. Each software freedom has its own set of respective attributes for engineering, business and ethics. We'd then need to gather data somehow. One idea is to break down software freedoms by licenses and then evaluate contributions to software freedoms over time by corporations. Once some data is available we can work on representing the data somehow and and also start doing analysis on it.

000622 - Ossa de Montiel
What for?

Appreciation for software freedoms today is done only in correlation with direct capital gains without further objective introspection and if there is any at times it typically is completely subjective. By evolving capitalism with ethical attributes we'd use Econometrics to evaluate and establish attributes of software freedoms and possible values one can deduce in order to quantify and build a direct business correlation between these attributes with rewards. It is expected that certain attributes could be used to consider adoption of certain software freedom licenses in the future as new software development models evolve while ensuring maximizing rewards. This may also mean the demise of some software freedoms or at least a clear understanding of why some ethical attributes in software freedoms have a bit of a price. I consider even those realizations worthy of evaluation and study.

This blog post is licensed under the Creative Commons BY-SA 3.0 unported license.

Saturday, June 29, 2013

Bubble's Law and the Bubble Bang - an appreciation for the scientific method

Crazy Scientist Lab
"The method of science, as stodgy and grumpy as it may seem, is far more important than the findings of science" - Carl Sagan
This quote is from Sagan's book "The Demon-Haunted World" in which Sagan tries to explain the scientific method to lay people but also where he spells out his love affair with science. Its easy to say you believe in the scientific method, its harder to appreciate without a great example. I think I have a decent example and fortunately a few video recommendations to help. The big bang theory has an interesting scientific method evolution that I hope to use to use to set the bar for what might be considered "big theories" and also to set the stage for my next blog entry to review an aspect of science Sagan didn't publicly discuss but that I do consider important.

spacetime (close up)

If you're too lazy to read this entry go on and watch the video, The Universe Season 1, Ep. 14 "Beyond the Big Bang". I personally have a disdain towards the History Channel's approach to educate over the cosmos as I consider it portraying on the sensationalist aspects of it,  however the alternative that I'd typically recommend to watch, episode 10 from Carl Sagan's Cosmos, the 'Edge of Forever' doesn't go into the level of detail on historical aspects of the evolution of the discovery of the big bang. I'd recommend watching both. I appreciate much more Sagan's Cosmos series as I believe it conveys more an appreciation and love for science. Even if it was originally broadcast in 1980 it is still very relevant. Fortunately a 2014 remake titled Cosmos: a space-time odyssey is in the works! I'd hope in this remake they'd take into consideration building a huge appreciation for the scientific method somehow.



The big bang theory started with inspection of Einstein's 10 field equations on gravitation, the heart of his General theory of relativity published in 1916, that "describe the fundamental interaction of gravitation as a result of spacetime being curved by matter and energy". Alexander Friedmann was the first scientist to poke at them and by making some assumptions derived what we call Friedmann Equations in 1924. The Friedmann Equations were implying that the universe is expanding. Later Georges Lemaître proposed the same thing in 1927. Despite all this work no one took the idea too seriously, in fact even Einstein was opposed to the idea, its reported he expressed to Lemaître: "Your calculations are correct, but your physics is atrocious". It wasn't until Edwin Hubble made a similar proposal through the discovery of what we call today Hubble's Law in 1929 that people started to take the idea more seriously. Its critical to point out though that prior to 1924 it was widely accepted that our Galaxy, the Milky Way, was the only galaxy in the Universe! Hubble threw this idea out the window in 1924 when by using the Hooker Telescope (kid you not, that's what it's called) he discovered that a nebula he was observing could not possibly be part of our Milky Way, this nebula is now known as the Andromeda Galaxy, and suddenly the universe grew quite a bit. This awesome discovery likely inspired Hubble for his efforts on what we know as Hubble's Law but note that many folks opposed all these ideas initially, specially prior to the publishing of Hubble's Law. The discovery of the Andromeda Galaxy in no way was sufficient to accept the idea that the universe was expanding. Hubble was not alone though... Milton L. Humason,originally a former mule team driver with no education past the age of 14, and Vesto Melvin Slipher actually assisted Hubble in formulating Hubble's Law, these two actually contributed hugely to what is incorrectly credited to Hubble alone with discovering the redshift of galaxies. Lemaître was actually the first to derive and made the first estimation of what is now called the Hubble constant, which he published in 1927, two years before Hubble's article! Hubble's original measurements were off though and his math was implicating that the Universe was younger than what we had already accepted as the age of our very own Planet Earth. Hubble's issues were caused by instrumentation errors and they'd later be corrected. Due to all this though and to emphasize an appreciation of the stodgy and grumpy issues with science I'll simply refer to Hubble's Law as Bubble's Law.


Even though Hubble's work was good there were folks who still opposed the idea of a big bang, Fred Hoyle being the biggest opponent. Hoyle proposed a Steady State Theory which challenged the big bang theory. It promoted the idea the universe always existed and it just evolved, it claimed the universe evolved through the idea that atoms on our in our periodic table evolve over time. Hoyle side stepped the issue of how Hydrogen came about originally, he side stepped this issue and simply claimed that both Hydrogen and Helium always originally existed. Hoyle was so opposed to the idea of a big bang he even went on the BBC on the radio to explain why he was opposed to it, in fact it was on this BBC airing where he coined the term 'big bang' as a way to promote his idea that matter is created continuously! Around the same time though a dude called George Gamow proposed something similar but stated that elements in our periodic table came through because of the big bang. Gamow relatively sucked at math though but one of his undergraduate students, Ralph Asher Alpher, was pretty good at math. Alpher and some other dudes proposed that if the big bang existed we'd have to have some sort of radiation looming around the universe to this day. They were right and later in 1964 what GamowAlpher and friends proposed was confirmed in what today we know as the Cosmic Microwave Background radiation.



The Cosmic Microwave Background radiation was the smoking gun but its really only once all these are put together that we get enough evidence to allow the Big Bang Theory to become the prevailing cosmological model that describes the early development of the Universe! In short there were easily over 8 scientists, random laymen, and curious folks in between Einstein to the Cosmic Microwave Background radiation, from 1916 when Einstein originally published the General theory of relativity down to 1964 when the cosmic microwave background was discovered, 48 fucking years apart! In between Lemaître's "primeval atom", the original state of the universe, to the Cosmic Microwave Background radiation we have 33 years. A theory is just a theory and the scientific method requires awesome and exceptional evidence. Go back and read again the quote I started this post with by Carl Sagan, I hope you can seriously appreciate it more now. In appreciation for creating more awareness of the what is required of the scientific method perhaps we should just refer to the Big Bang as the Bubble Bang. Now for something completely random to end with, go read about Bubble Theory and Bubble Universes. And a random bubble fun fact as a prelude to my next related post: Did you know its claimed that Lemaître is one of the authors of the Fast Fourier Transform?

Saturday, May 11, 2013

Making your e-mail public



An idea has been brewing between me and my neighbor Vahe: make your e-mail public. Now, initial reactions of this idea on Twitter, and later in person when pitching it to folks has been radically negative. There are a few reasons. First, the technical argument: you can't do it easily and securely. Second: Why would you ever do that? I have stated before I was confident that this would be technically possible and I hoped my friend Faiyaz was serious when he said he'd help review the technical aspects and hack this up one evening. Turns out Faiyaz thought I was joking and when we met we failed to even review the idea. Today I decided it was time to get this fleshed out and I now have a proof of concept. I'll explain how I did this silly little experiment and also explain why I personally think its important.

Why would make your e-mail public?
  • Try to get public political figures to voluntarily follow to help address corruption
  • Make a technical statement against e-mail today being as good as being public
Let me go into a little depth on each of these and then I'll explain how I did what I did. I'm just a free software developer, this means I hack only on free and open source software. I do not write any proprietary software. Doing this grows on you a thick skin, specially if you're dealing with large projects where people at times want to express throwing a toilet at you from a different continent. I'm comfortable with the idea as most of my e-mail already is public. Most of my work e-mail is public given that I get paid to work on public projects which already means I post to public mailing lists to accomplish a lot of what I need to get done. I'm  therefore a sort of public developer. I'm no political political figure but I wish political figures did take on more of a public role when they are in office. Now, not all of my e-mail needs to be public and I also understand political figures at times may need to keep e-mail private, even while on office. But can their e-mail become public at a later point in time? Can we get assurance that this will happen as well? I'm not the protest type of guy, I rather lead by example and I want to encourage public office figures to consider opening up at least some of their e-mail as a way to help eliminate corruption.

When it comes to global super powers, your e-mail is as good as if it were public anyway. I can provide a few examples of this. First is project Aurora where Google and others got hacked, allegedly to gain access to gmail accounts from Chinese dissidents. At times your own country can turn on you as well, in the case of the US this obviously became possible because of all the terrorism security FUD of all the silly laws being passed that enables US to do a lot of nutty things. For an example go read EFF's account on the NSA syping on Americans. While at it go read the EFF's page on Surveillance Self Defense. We can surely continue to fight for our rights and also help increase security. For example I applaud Google for enabling users to opt in for two-step authentication. They also have developed application specific password support to let your applications get a random password for specific tasks instead of using your password. This is all good, but it still leaves open the issue of our e-mail being good as public to our own government. I obviously don't have anything to hide but its a matter of principle as to why this situation outrages me. If I want to also help fight corruption through example what if... I could open up certain aspects of my e-mail sent to a specific address? This way I give people a heads up that if they use a specific address it will be public. If I want to to receive private e-mails I could simply ask the recipient to encrypt the message with my public key. If I want to open encrypted e-mails I can give away my private key and its password after a certain amount of time.

Sold? I provided a diagram of how I did my little proof of concept. I'm lazy to create a new fancy cool domain name for this purpose but perhaps you might want to for your setup if you want to replicate. To illustrate and provide a proof of concept test case I decided to use my mcgrof@kernel.org e-mail address given that e-mail sent to that address is public anyway and any private data is encrypted by kernel.org admins. The short verbal recipe for the impatient hacker: gmail, a gmail filter for all e-mail sent to mcgrof@kernel.org and add a label for it, two personal boxes -- one public box and another private box, IMAP, two-step authenticationapplication specific password for IMAP, and a modified NoPriv for Maildir to html converter, git over ssh for transfering only public html data to the public box. NoPriv is a nice little GPLv3 python script does IMAP for you, and then converts Maildir format mailboxes to html, Kudos to Remy for this project, it was the only one I could find using a reasonable language under a reasonable license. I do intent on sending my small set of changes to Remy soon. Thanks to Salvandor Mendoza for letting me use one of his virtual private servers to test this.

Monday, March 11, 2013

Machine slavery - compat-drivers build box


I've written before on how the compat-drivers project got started, designed to help automatically backport the Linux kernel, and our ideas to help optimize backporting collateral evolutions, and of our move of releases onto kernel.org. I now want to thank the Linux Foundation, HP and SUSE for providing to the project with a build box to help us do our build tests prior to making releases. After a few years of making releases I determined it didn't make sense to make any releases to the community that were not at least build tested over a slew of supported kernels. As it is right now we support building compat-drivers down to the 2.6.24 kernel, Linus is now on v3.9 so that means we have 31 kernels to test against. Our builds tests used to take approximately 120 minutes, thanks to the server our builds were reduced to 23 minutes. The above picture is of htop running first on my laptop running ckmake, then on an 8-core build box I built at home to help with the project, and later the monster 32-core build box supplied by HP for the project. This thing has 32 cores and 236 GiB of RAM.

Thanks HP!

mcgrof@drvbp1 ~ $ df -h /pub/mem/*
Filesystem      Size  Used Avail Use% Mounted on
tmpfs            20G  5.4G   15G  27% /pub/mem/hauke
tmpfs            20G  6.3G   14G  32% /pub/mem/mcgrof
tmpfs            20G  5.4G   15G  27% /pub/mem/ozancag


Given that we have so much RAM the build system allows each of our developers to run their entire work space in RAM: linux-next, linux-stable, compat, compat-drivers, ccache. This means we skip all the IO on a slow disk. To take advantage of the number of cores available and use as much RAM as possible ckmake, our cross kernel compilation utility, is now multithreaded and runs a build for each kernel on its own thread. It was rewritten to Python and uses ncurses to allow us to get an update of each compile as it completes.


You may have heared kernel.org has a shiny new page now, its using Pelican for its new face lift. compat-drivers is no different, but Pelican is far too complex for what we need, so I wrote a small Python script called rel-html that parses naked project pages and generates an HTML5 release page for you based on simple configuration file. As with other new HTML5 pages the rel-html HTML5 code is based on the HTML5 initializr boilerplate project. Right now we have the release page on a temporary page but with time hope to coordinate a release page somewhere to be hosted on kernel.org that aligns itself with the current  Pelican usage. The rel-html code also currently supports others projects, including the Linux kernel releases. What this has made obvious is how many projects lack digitally signing releases in a secure manner.  Sample release pages for the different rel-html supported projects below. Whether or not each project embraces the tool, its up to them. Oh yeah, and rel-html is licensed under the AGPL, patches welcomed ;)

Monday, March 04, 2013

Killing proprietary drivers for all Operating Systems


Be sure to read my legal disclaimer. Great. Now, if you've been hacking on the Linux kernel, FreeBSD, NetBSD, OpenBSD or any other open public Operating System kernel project you may at times have reached a point where you have had to deal with code written by a random silicon company. You'd have had to either review it, rewrite it, or massage it to conform to your groups' views of good code, a non trivial daunting task. Now, good code can be subjective but I argue that's a bullshit lame claim and one can mathematically prove what shit code is. Showing what bad code is through mathematics can be used to help alleviate yourself from the politics that you likely will be pegged for calling out bullshit nasty piece of shit code. When working with a large community you get used to people lashing out on your code, you need to grow a thick skin and grow comfortable with accepting public criticism to your work. Some companies have required code review policies but I don't think that these efforts will ever compete with the level of public scrutiny a good engaged community can provide. There is simply not enough resources, passion, and drive from corporate code review to compete, not matter what any PHB may say. Getting a community engaged is difficult however and the claim that all open code is good is simply false. What helps make a community engaged is difficult to iron out but its easy to spot. This post is not about what makes these communities well engaged or measuring them but simply to make the case that when you do have a good engaged community you will not be able to compete with the level of scrutiny of that community at your company.


I've dealt with reviewing / massaging company code a lot, not only for 802.11 but for video and random hardware concoctions. Given that I am part of a public community I can also engage with developers from other subsystems and also other public Operating Systems and from what I have talked about with every single developer its all the same: they agree, most company corporate code tends to suck. Guess who has to deal with fixing all that crap? Us. Its all shit and I'm tired of it and I want to put an end to this mess. On December 9, 2011 I declared war against proprietary drivers. Such a claim is easy to make but its really hard to fix this issue. There are a slew of politics in the middle, a bunch of historical baggage, and a huge set of legal misconceptions, and lets not forget community tensions around the idea of 'free software' and stupid claims of what operating system is better. Making the assumption that you will have the solution yourself to a complex problem requires serious delusions of grandeur and politicians keep failing at this same mistake and its why so many political promises end up not being met. This problem is best illustrated by Tim Hardford on his Ted Talk 'Trial error and the God complex'. My strategy then is to accept I cannot come up with the solution to the problem myself but instead start by reviewing the issue at hand with different parties both in the community leaders and anyone at companies who would lend me an ear to discuss and try to take a very different strategy, by first reviewing carefully existing failed strategies. Getting people to accept existing strategies as failed is difficult due to a huge slew of politics and frankly a line of PHBs in the way but also a plague of archaic cultural practices instilled in the industry in ways to support hardware and tensions around public community projects and legal FUD.

吉祥物大集合

To even begin to try to address these issues would require engaging with folks that likely disagree with me philosophically and who would never be afraid to make claims that disagree with your own points of view. I joined forces with Adrian Chadd, a FreeBSD developer, and we started trying to look at this problem from all angles possible from both the Linux, FreeBSD and corporate world. We made our first public outcry of the problem at the 2012 Linux Collaboration summit and explained the general issues in the current assembly line of hardware and software production. Our hope was mostly to educate the public development community and corporations about general issues in the existing assembly line of hardware and software production and to get feedback on our initial proposed strategy. You can see the slides here, and video here.


This post is a follow up to that talk, tell you where we're at, provide references to the legal foundations of our efforts and to bring together interested parties to start participating by keeping in mind we are open to change our strategies and all this is up to public scrutiny and review. First we'll give the idea of 'driver unification' one last shot, mostly because some people keep dreaming this might be possible and we figured we'd look into this from a community perspective. Some large companies have already given up on the idea of driver unification but that also has some interesting side consequences. We figured if there can exist any such unification strategy it should be defined by the community, not corporations. The technical strategy for our work is work is to start out with something as simple as possible and to try to support just two Operating Systems: FreeBSD and Linux but to never make any compromises to our community development tenets on quality / style. If unification is not possible at least we'd end up trying to create a base repository for development that is public for community developers to pick up and integrate into their OS. That is, we'd end up killing proprietary drivers anyway and make public development the only way to do driver development. Our legal foundation was to follow the path set out by SFLC for doing collaboration between Linux and the BSD family learned through the ath5k wars: we'd use the ISC license to share between BSD and Linux and we'd stick to the strengths of the Developer Certificate of Origin to help ensure changes are intended to be kept under that license. This is implies a call to use a permissive license for Linux device drivers to help with sharing with the BSD community, I formalized this on my localizing the GPL post. I'll note that there are some interpretations on intent on the sharing code between BSD/ Linux, for example the intent behind some Linux developers is that although we allow for sharing we do not intend to enable extracting permissive licensed components from Linux, GPL larger project, and for you to go and make non-GPL compatible modifications of that extracted content to the same Linux GPL project given that the license at run time of the individual components are all GPL; in short you should not extract BSD licensed code from the Linux kernel and make proprietary Linux kernel code.To be clear I am not calling out for the end of copyleft, quite the contrary, I acknowledge the importance of the GPL, but I'm calling it useless if we are to kill the larger plague of proprietary driver development in the industry given that we have no alternative as it stands and that archaic legal strategies should be reconsidered to help us find the areas where copyleft can best be used. If we want to share code simply use a permissive license for those components. We then needed to pick a pet project, something simple, the simpler the better. With agreement to participate in this effort we joined forces with the alx Ethernet driver and we set out to address FreeBSD and Linux support.


As it stands the alx Ethernet driver is being developed in a standalone tree maintained by Adrian. We currently have addressed only Linux support. You can either clone the git tree or use compat-drivers "-u" releases to get this driver for Linux. Admittedly there is a cost here: the driver is not yet upstream. It doesn't matter, the quality of the driver is not yet ready anyway, the team tried to get it upstream about 4 times now.  We also didn't go through staging given that we wanted to have the flexibility to make huge changes without the cumbersome requirements for the Linux kernel but the same time rope in the teams to get used to the same quality / bar. The next phase of development is to address FreeBSD support without making compromises to style / quality for both OSes while the other teams keep on working on fixing bugs and addressing general style requirements on our way to get the driver ready for a new submission upstream into the Linux kernel and FreeBSD project. We have a mailing list for unified-drivers where we request all patch submitters and interested parties to subscribe to help review strategies and patches. If you're interested in helping us review these strategies please join the mailing list and effort. The more critical review we get the better, specially if you disagree with us. If you're skeptical please consider the fact that I received similar skepticism over the ability to automatically backport the Linux kernel. As it stands compat-drivers, the project to automatically backport the Linux kernel, now backports four subsystems across 26 kernel revisions. For that project we've looked at ways to even further optimize backporting collateral evolutions and tools such as Coccinelle SmPL are being seriously considered, and guess what? Its usage may likely also be easily applicable here to help with porting code from one OS to another, its no different than porting driver code from one OS to another, and we have never made a single compromise to style / quality upstream. As Adrian notes though -- please be aware that Coccinelle SmPL should not be considered the "silver bullet" here to the problem, its just one of the tools we are evaluating.

Sunday, March 03, 2013

Climbing reconnaissance at Patagonia


I started learning about Patagonia when I got into rock climbing one year ago, and I started considering new climbing mecas to visit after starting to climb in Yosemite and reading about other places. I read mostly about the Fitz Roy area, and the descriptions were all similar: it is a meca, there is no other place like it and its weather was highly unpredictable and at times treacherous. With time a friend and I started toying with the idea of visiting, although I was thrilled of the idea of going I had read enough to know already that this was no place for beginner rock climbers like myself, and that weather conditions could be nefarious. My friend treks but I never had done long distance hikes, all I ever had done was a few small hikes (~8 miles) and a bit of trail running here and there, I certainly didn't have enough gear. I love trying new things though and trekking seemed like a good way to do what I like to personally call climbing reconnaissance work on an area: familiarizing yourself with the area, picking up topos (climbing guides), meeting local rock climbers, anything that can help for gaining confidence for a future trip. Its how I started rock climbing in Yosemite. Reconnaissance for me also means diving hard into the local history, getting an appreciation of effort required to really rock climb in the area. One can surely hire guides but its prohibitively expensive and where's the fun in that?


Climbing reconnaissance work may sound like a fucking joke to some but let me assure you that climbing outdoors is extremely different than indoors and that even approaches, just getting to the base of where you'll start climbing, can be a huge challenge in itself. I've lost myself before twice for over 1 hour in one approach in Yosemite that a guide books told me was just about 5-10 minutes from where you park. Its no fun if you don't have much time to climb and you spent most of your day just walking around with equipment. The Fitz Roy area I hoped would give me a broader sense of appreciation for what all those climbers wrote about, talked about and dreamed about, with a very different settings, one surrounded by Glaciers. Patagonia is also very big and just sticking to one area didn't make much sense for this trip. I wanted to appreciate every inch of Patagonia that I possibly could.


To my disbelief, with time the stars aligned with work, a bit of savings, and I finally booked my ticket. I frankly didn't plan much except buying two books both by Lonely Planet: a general Argentina guide, and Trekking in the Patagonian Andes, coordinating my flights around points of interest and ensuring I had enough gear and time from work to do this venture. I figured the rest would come along the way.
There is so much I'd like to write about Patagonia that I'll split up my Patagonia post into a few sections that should allow easier digestion. I also took a lot of pictures and got almost 6 GiB worth of video. I don't have time to edit these videos so I just threw them together into one huge mash up for each section. Choose wisely... or something.

Pictures:
I'm going to warn you -- the sections on trekking will have boat loads of information from a beginner rock climber's perspective, that's my focus after all. I will talk about the trekking but that was secondary to me ;)

City life: Santiago and Buenos Aires



I live in a San Francisco so I figured I couldn't pass up on the opportunity to visit the major cities in the two countries I was visiting during my visit to Patagonia, Chile and Argentina. My first ventures were in Santiago. I then would venture out to Palermo in Buenos Aires, Argentina. I figured this would be a good way to settle back down from the mountain life.



During my exploration around Puerto Montt I I met Kari who challenged me to try Pisco. I tried it, but we ended up closing the bar that night. I could not have met a better guide for Santiago. Santiago was huge and Kari would show end up showing me its best spots. We even got to venture out to the beach, Maitencillo, a laid back beach town that apart from a vibrant night life also offered a bit of surfing and Kayaking. Kari taught me how to Kayak and instilled into me the desire to eventually try it on a river.





Kari also showed me the best of Chilean cuisine. I had mentioned before that I had to give in to eating meat during my visit. If you get a chance be sure to try the Empanada de Macha Queso and  Tortilla Española de Camaron. I ending up showing Kari to surf a bit in Matencillo but Maitencillo has only one decent beach break and its super crowded. Folks were wearing wet suits but I was fine with just a t-shirt. The amount of people on the water make surfing in Maitencillo more of a game where you are to dodge people as you surf back in. As for the city life I recommend you visit the night life around Ñiñoa, there we met with some of Kari's friends and had a blast.


Palermo is the party center of Buenos Aires. Some clubs take advantage of their location and space that during the day they turn their club into a market bar. People party hard here and this city really made me start feeling my age. People start going out at 2am! That's when we close our bars in SF!


I explored Boca, where the Boca Jrs play, and got to see Caminito, a little artistic path full of Tango and art. Boca Jr who? I didn't know who they were but my cousins insisted this was an epic soccer place to be at.



I hung out mostly with couchsurfers and they taught me quite a bit about Argentina. One thing is clear, folks in Santiago talk shit about folks in Buenos Aires and folks in Buenos Aires talk shit about folks in Chile. I just don't get it. Both have great cities, they share of the most precious mountain ranges on the planet, and have great people.


Pisco and Patagonia Amber Lager beer. Be sure to try them both. Tap beer is called Schop, I frankly was not a fan of the local brews but I was impressed with both country's selection of "Artesanal" beers. That's the good beer, but almost twice as expensive.


In one spot I saw someone had picked out tux, the Linux Penguin, inverted him and used it for a sign for an events hall. Cute. I was pleased to see a lot of folks had heard of WikiLeaks to the extend at last in Argentina the book ArgenLeaks was sold out everywhere. I had a great time in both cities and value the new friendships I made, both randomly and through couchsurfing.

Patagonia: Quick glance at its history



This monument at the Bariloche Patagonia Civic center, completely defaced with graphite, is of Julio Argentino Roca twice president of Argentina and the leader of the Conquest of the Desert in the 1870s to expand Argentina's dominance over Patagonia. It summarizes pretty well Patagonia history. Although the conquest for the desert was pretty successful it meant what many believe should be considered the genocide of local Indigenous Americans.


As I read on the book "Identidades Enmascaradas en la Patagonia" by Patricia Halvorsen, I learned that the Conquest for the Desert left swooping ratio of male/woman ratio of up to 300 men to one female. This gave rise to many orphans, called gauchos locally. The pure Tehuelche and Mapuche are hard to find now, and I've been told pure Tehuelches simply don't exist anymore. I also read many high figure diplomats in charge with expanding Argentina out to the Patagonia either had "chinas" (what they called indigenous females) mistresses or wives, at times denying them or admitting them and being declared traitors of the state, amongst other drama. Because of this and local labor issues in Argentina there is obviously some historical discontent with how history developed around the Patagonia. In Bariloche there was an attempt to tear the monument at the top of this post down in October 2012 by Cooperative May 1. I came to Patagonia to admire the mountains but left reflective of Patagonia's history. It'd be nice to read about Tehuelche or Mapuche decedents, even if mestizos, who at the very least do get a small claim in history at rock climbing in Patagonia instead of just being remembered as historical baggage.



Climbing history is different though, the drama around the climbing history is fortunately more country agnostic but I still found plenty of drama in it. I couldn't find much information about climbing history around all of Patagonia but as I noted on my Fitz Roy post the one piece of amazing rock climbing history worth looking into is that of Cerro Torre and efforts to climb it. You can read climbing.com's article on Cerro Torre or go see the Scream Of Stone movie.


Patagonia: Trail running around Bariloche


Bariloche is part of the Parque Nacional Nahuel Huapi and I read climbers go there to try easier routes than what you find around Fitz Roy. In the end it rained so climbing was not going to be possible for me, but I didn't care, I needed to go out and see things for myself. I could at the very least appreciate the type of rock that was there and get familiar with the place. It fucking poured on me, but I was determined to have fun. I had enough gear to help escape the rain. I decided I'd try to rail run as much as I could. I didn't know how far I'd get.


There was gusty winds that day so they had closed out the chair lifts that get you to the top to make the trekking easier. I had to take the long route, through via Arroyo Van Titter, 12 km each way, to Refugio Frey at 1700 meters high. I ended up trail running most of the route, but walked most of the last ascent part which is pretty steep. It was a total of 24 km and it took me about 6 hours total. The above cabin looking thing was built under a huge boulder, its a Refugio, Refugio Piedritas, owned by the local Club Andino Esloveno. It only fits about eight people, but you can camp around it in the forest.


This was the first glance of real looking rock things. It didn't look climbable but it did look amazing. At times the rain would stop and I'd take off my Gortex Shell jacket but I quickly realized that even though I had a good jacket to protect me from the water nothing was preventing all that sweat from accumulating from my running and I ended up being just as soaked as if I wouldn't have been using my shell jacket. I hoped at least it'd prevent me from getting sick somehow, I wasn't sure. If you have any recommendations for trail running in the rain please let me know. The only thing I can think of is bringing multiple shirts to keep changing. I brought two but both got seriously soaked, even with the Gortex shell on.


At the top by Refugio Frey around Laguna Toncheck I started feeling hail, and the winds were insane, it was seriously nasty conditions, I'm lucky to have been able to at least get one picture without fucking up my camera. The trail is easy to follow and even though it was raining there was still quite a bit of folks on the trails, but what surprised me was seeing a lot of folks without any serious gear on. I saw families with just t-shirts on, and at one point I saw a mother carrying her child on her shoulders. I thought I was getting a work out... This view was promising but the conditions really didn't allow me to get any further. Just by looking at this I can imagine there is great climbing nearby. The place to go seems to have been near Cerro Catedral. Back in the city in Bariloche rock climbing isn't something that you can expect anyone to care over. Contrary to Puerto Natales there are many tourist agencies there that had listed many activities and a few did mention rock climbing but when I inquired about it it seemed there were really only a few local guides and it didn't seem that people took it that seriously. I remember one lady having to take her glasses of to look to me to see if I was serious when I asked her about the rock climbing guide options there as she had them listed as options. The area near Cerro Catedral seemed promising but I couldn't find any climbing books / topos. I'll rule this area out for future trips.


Patagonia: Trekking around Fitz Roy



I read so much about this place and I was finally there. I could not fucking believe it. You get to Fitz Roy through a small town called El Chaltén. Mount Fitz Roy is located inside Parque Nacional Los Glaciares, and  El Chaltén happens to be in it as well. You can see Mount Fitz Roy from El Chaltén! There are two main trekking attractions, you either trek to the base of Laguna De Los Tres to see the Mount Fitz Roy range of mountains or you trek towards to Laguna Torre to see Cerro Torre. I had only 2 days to see around Mount Fitz Roy, so I had to jam in somehow a few days of trek into two days. I was really nervous given that this would be my first time trekking or camping alone, but yet so excited as I knew this was going to be epic.


I crashed at the Hostel Rancho Grande, where tons of other back packers typically crash. Prior to settling in I went to look for local guide books and I found what they call here the local climbing bible, a book called Patagonia Vertical. I ordered a pizza, thinking I ordered only a slice but got a medium pie... I reluctantly ate it, but its a good thing as I would need the carbohydrates the next day, although I didn't know it yet. Back at the hostel a guy crashing in my room mentioned he worked in Antarctica doing guide work for scientists. This fucker was bad ass... and was on his way back home from his season work, figured he'd come check out Fitz Roy prior to his departure. The day prior had just finished a long trek path he advised I should take given the short amount of time I'd have to see things. His recommendation was that I go to Campamento Poincenot, do Laguna De Los Tres to see Fitz Roy and then do Refugio Los Troncos and then head straight to Campamento De Agostini to see Cerro Torre. Cerro Torre was not part of my plans but he insisted it was worth it. The recommended trek seemed a bit ambitious for my experience, I had only trekked once so far and I'd be doing it alone. I wasn't sure if I'd do it yet.


Fuck it, I said. On my first day I trekked 37.72 km just 4.47 km short of trekking a marathon. I managed to record that trek with my phone's GPS, you can view that trek on Google Maps here. Due to fall I had, and being attacked by a bird it will likely be the last time I trek alone. I know what you're thinking... I had seen the movie 127 Hours (2010) a while ago and after watching that I always told myself I'd never do similar activity alone, but hey -- sometimes we learn the hard way. You might not believe me I got attacked by a bird, but I recorded two attempts of this fucker bird taking a dive at me. You can see one dive at 7:22 and another at 8:01. Not sure what type of bird this is, let me know if you can make it out. Nothing serious, all in all it was fun, and the scenery and peace I felt was just amazing.


This was my camp site and that was the view I had all to myself. By now I was comfortable with Satanic Patagonia winds, but the insane winds would not come, at least not at Campamento Poincenot. Across the river there is another camp site called Campamento Rio Blanco and the trekking book I had indicated it was used by Rock Climbers. The holy climbing bible would later reveal to me that such claims were blasphemy, these days given that El Chaltén had so many allocation options rock climbers would not use this camp site to avoid erosion on the park and instead they would go straight to the glacier base camps and camp there. A typical journey to start rock climbing then could take as little as two days. I was pleased, after trekking 37.72 km successfully I knew at the very least I could make it one day to a base camps at Fitz Roy. Now I just have to work on my rock climbing, maybe for the next 20 years, and one day hope to come back for a second type of adventure.


I didn't know much about Cerro Torre but the climbing bible would enlighten me as I camped at Campamento De Agostini the second day waiting for the insane conditions I had always read about to clear up. I woke up before sunrise and managed once again to see the sun melt over rock, this time over Cerro Torre. I looked at Cerro Torre differently this morning with an appreciation of all of the history of effort, lies, death, deceit, anger, effort, and climbing ethics. Never have I read about so much drama over a piece of rock. The closest I can find online for you about this is through climbing.com's article on Cerro Torre. Grab some popcorn and read it for your amusement, in particular the parts about the Compressor Route. If you're lazy a movie seems to cover some of the history with some modifications, Scream Of Stone, I haven't watched it yet.


I ended up climbing Cerro Dos Condores past the Mirador Torre by mistake, thinking there was a path towards El Chaltén there. This mistake set me back by an hour or two but its a good thing as I managed to see this view, probably one of the most fascinating and rewarding views I got to see in all of Patagonia.


Glacier porn. That's what I call this. Now, this is not part of the Fitz Roy area but since Fitz Roy is part of Parque Nacional Glaciares I figured I'd show in this post the southern part of that park. There lies a huge glacier called Perito Moreno. The glacier is about as tall as half the size of a football field. I learned what glacier speed is. Boring. It is still beautiful, but very boring. All these signs about not getting close. Bleh. I should have gone ice trekking with my friend.


I don't know when but I have to come back to El Chaltén and next time I'd stay in the town and take advantage of all the little random things to do there. There is good local rock climbing crags, and I have a top guide for it, you can get to most places by just walking! I dream of seeing that little small town again even in the winter. It must be amazing.