FewBar.com - Make It Good This is the personal website of Clint Byrum. Any words on here are expressly Clint's, and not those of whatever employer he has at the moment. http://fewbar.com/ Sat, 18 Feb 2017 18:31:38 +0000 Sat, 18 Feb 2017 18:31:38 +0000 Jekyll v3.3.1 Free and Open Source Leaders -- You need a President <p>Recently I was lucky enough to be invited to attend the <a href="http://events.linuxfoundation.org/events/open-source-leadership-summit">Linux Foundation Open Source Leadership Summit</a>. The event was stacked with many of the people I consider mentors, friends, and definitely leaders in the various Open Source and Free Software communities that I participate in.</p> <p>I was able to observe the <a href="https://www.cncf.io/">CNCF</a> Technical Oversight Committee meeting while there, and was impressed at the way they worked toward consensus where possible. It reminded me of the <a href="https://www.openstack.org/foundation/tech-committee/">OpenStack Technical Committee</a> in its make up of well spoken technical individuals who care about their users and stand up for the technical excellence of their foundations’ activities.</p> <p>But it struck me (and several other attendees) that this consensus building has limitations. <a href="https://twitter.com/adamhjk">Adam Jacob</a> noted that Linus Torvalds had given an interview on stage earlier in the day where he noted that most of his role was to listen closely for a time to differing opinions, but then stop them when it was clear there was no consensus, and select one that he felt was technically excellent, and move on. Linus, being the founder of Linux and the benevolent dictator of the project for its lifetime thus far, has earned this moral authority.</p> <p>However, unlike Linux, many of the modern foundation-fostered projects lack an executive branch. The structure we see for governance is centered around ensuring corporations that want to sponsor and rely on development have influence. Foundation members pay dues to get various levels of board seats or corporate access to events and data. And this is a good thing, as it keeps people like me paid to work in these communities.</p> <p>However, I believe as technical contributors, we sometimes give this too much sway in the actual governance of the community and the projects. These foundation boards know that day to day decision making should be left to those working in the project, and as such allow committees like the <a href="https://www.cncf.io/">CNCF</a> TOC or the <a href="https://www.openstack.org/foundation/tech-committee/">OpenStack TC</a> full agency over the technical aspects of the member projects.</p> <p>I believe these committees operate as a legislative branch. They evaluate conditions and regulate the projects accordingly, allocating budgets for infrastructure and passing edicts to avoid chaos. Since they’re not as large as political legislative bodies like the US House of Representatives &amp; Senate, they can usually operate on a consensus basis, and not drive everything to a contentious vote. By and large, these are as nimble as a legislative body can be.</p> <p>However, I believe we need an executive to be effective. At some point, we need a single person to listen to the facts, entertain theories, and then decide, and execute a plan. Some projects have natural single leaders like this. Most, however, do not.</p> <p>I believe we as engineers aren’t generally good at being like Linus. If you’ve spent any time in the corporate world you’ve had an executive disagree with you and run you right over. When we get the chance to distribute power evenly, we do it.</p> <p>But I think that’s a mistake. I think we should strive to have executives. Not just organizers like the <a href="https://docs.openstack.org/project-team-guide/ptl.html">OpenStack PTL</a>, but more like the <a href="https://www.debian.org/devel/leader">Debian Project Leader</a>. Empowered people with the responsibility to serve as a visionary and keep the project’s decision making relevant and of high quality. This would also give the board somebody to interact with directly so that they do not have to try and convince the whole community to move in a particular direction to wield influence. In this way, I believe we’d end up with a system of checks and balances similar to the US Constitution</p> <p><img src="/images/usgovt.jpg" alt="Checks and Balances" /></p> <p>So here is my suggestion for how a project executive structure could work, assuming there is already a strong technical committee and a well defined voting electorate that I call the “active technical contributors”.</p> <ol> <li> <p>The president is elected by <a href="https://en.wikipedia.org/wiki/Condorcet_method">Condorcet</a> vote of the active technical contributors of a project for a term of 1 year.</p> </li> <li> <p>The president will have veto power over any proposed change to the project’s technical assets.</p> </li> <li> <p>The technical committee may override the president’s veto by a super majority vote.</p> </li> <li> <p>The president will inform the technical contributors of their plans for the project every 6 months.</p> </li> </ol> <p>This system only works if the project contributors expect their project president to actively drive the vision of the project. Basically, the culture has to turn to this executive for final decision making before it comes to a veto. The veto is for times when the community makes poor decisions. And this doesn’t replace leaders of individual teams. Think of these like the governors of states in the US. They’re running their sub-project inside the parameters set down by the technical committee and the president.</p> <p>And in the case of foundations or communities with boards, I believe ultimately a board would serve as the judicial branch, checking the legality of changes made against the by-laws of the group. If there’s no board of sorts, a judiciary could be appointed and confirmed, similar to the US supreme court or the <a href="https://www.debian.org/devel/tech-ctte">Debian CTTE</a>. This would also just be necessary to ensure that the technical arm of a project doesn’t get the foundation into legal trouble of any kind, which is already what foundation boards tend to do.</p> <p>I’d love to hear your thoughts on this on Twitter, please tweet me <a href="https://twitter.com/spamaps">@SpamapS</a> with the hashtag #OpenSourcePresident to get the discussion going.</p> Sat, 18 Feb 2017 00:00:00 +0000 http://fewbar.com/2017/02/open-source-governance-needs-presidents/ http://fewbar.com/2017/02/open-source-governance-needs-presidents/ opensource governance openstack cncf Technology Open Source OpenStack CNCF Rust - You Complete Me (And then drop me, because I'm out of scope) <p>To My Dearest <a href="http://www.rust-lang.org/">Rust</a>,</p> <p>Ever since I laid eyes on your braces and semicolons, I knew, there was something special about you. <a href="https://github.com/SpamapS/rustygear">This past winter holiday</a> that we spent together has changed my life. I’ll never be the same. The way you embrace life by being explicit about the death of objects, the way you force me to be clear when I’m borrowing your things. Sure, it was a bumpy beginning. I thought maybe I might run back to safe, warm, python’s arms. But you didn’t give up on me, you kept warning me that I was making everything mutable when I didn’t have to. And now, whatever happens, I’m a better man for having known you. <img src="/images/InLove.gif" alt="Rust, how do I love you, let me count the ways" /></p> <p>Some might say being explicit about the length of our lifetimes is macabre, but I find it invigorating. It’s a reminder that some things will outlive others, and being able to see that, and know the day some of our objects will die is a reminder that most of our data is related, and sometimes we need to spell out how up front to prevent garbage building up, which would force us to pause and deal with it later.</p> <p>And you saved me from modifying my variables in loops. I never even knew how many times I made that mistake and had to double back to fix those errors. I always thought I was being cool, reusing variables, but you called me out and made sure I never did that after I gave them to someone else. This made me frugal with my CPU and memory by helping me think about when and where exactly I’d spend them. Explicit mutability? How about explicit <em>cuteability</em>.</p> <p>And just the other day, when I asked you if we could go multi-threaded together, you didn’t just go along easily. You didn’t just hand me the keys and make me drive the whole process. You challenged me to use mutexes and reference counted pointers. You held my hand while I fumbled through it, and offered encouraging tips, with a lot of reminders to wrap things in safer containers before we went out into the cold, brutal multi-threaded world. Because of you, I’ll never have to feel the cold sting of corrupted memory again.</p> <p>My love, Rust, I don’t know if we can be together. You’re so new to this world and I’m not sure everyone will understand you. But I know I’ll do whatever I can to tell the world about your beauty and grace.</p> <p>Love Always, - Clint</p> <p><em>p.s. lets meet up again around spring break.</em></p> Mon, 23 Jan 2017 00:00:00 +0000 http://fewbar.com/2017/01/a-love-letter-to-rust/ http://fewbar.com/2017/01/a-love-letter-to-rust/ rust programming Rust OpenStack's nova-compute's border is porous - We need to build a wall <p>In the beginning there was Nova. It included volumes, networking, hypervisors, and scheduling. Since then, Nova components have either been replaced (nova-network with Neutron) or forklifted out and enhanced (Cinder). In so doing, interfaces were defined for how Nova would continue to make use of these now-external services, but nova-compute, the place where the proverbial rubber meets the road, was left inside Nova. This meant that agents for Cinder and Neutron had to interact with nova-compute through the high level message bus, despite being right on the same physical machine in many (but not all) cases. Likewise, some cases take advantage of that, and require operator cooperation in configuring for certain drivers.</p> <p>This has led to implementation details leaking all over the API’s that these services use to interact. Neutron and Nova do a sort of haphazard dance to plug ports in, and Cinder has drivers which require locking files on the local filesystem a certain way. These implementation details are leaking into public API’s because it turns out nova-compute is actually a shared service that should not belong to any of the three services, and which should define a more clear API which Nova, Cinder, and Neutron, should be able to use to access the physical resources of machines from an equal footing.</p> <p><a href="https://review.openstack.org/#/c/411527/">We’re starting a discussion in the OpenStack Architecture Working Group</a> around whether this is creating real problems, and how we can address it.</p> <p>What I think we need to do is build a wall around nova-compute, so we can accurately define what goes in or out, and what belongs specifically in nova-compute’s code base. That way we can accept the things that should live and work permanently inside its borders vs. what should come in through an API port of entry and declare its intentions there.</p> <p>But before we can build that wall, we need nova-compute to declare its independence from Nova. That may be as much a social challenge as a technical one. However, I think once we complete some analysis, and provide a path toward a more sustainable compute service, we’ll end up with a more efficient, less error-prone, more optimizable OpenStack.</p> <p>If you’re interested in this, I recommend you come to the next IRC meeting for the <a href="https://wiki.openstack.org/wiki/Meetings/Arch-WG">Architecture WG</a> , on January 12, 2017.</p> Fri, 16 Dec 2016 00:00:00 +0000 http://fewbar.com/2016/12/mr-nova-build-that-wall/ http://fewbar.com/2016/12/mr-nova-build-that-wall/ openstack architecture nova neutron cinder microservices OpenStack The real newcomers taking your job, since 1961, and still going <p>The recent Presidential and Congressional elections in the US shocked me to the core. I, like many of my closest friends, were certain that the American people would reject Donald Trump and the Republican party’s rhetoric.</p> <p>But the election happened, and since then, I’ve been trying to pay attention to the reasons. I’ve had many conversations with Trump voters and the old adage proves true: It’s the economy, stupid.</p> <p>But what’s wrong with the economy? For me, a tech worker in California, the last 8 years have been the best of my life. My pay has risen, and my job quality has gone up. This is true of all of my close associates as well. We simply haven’t seen this economy as anything but a boon. Of course, we’ve worked hard, and played our cards right. But the timing has never been better for workers in the tech sector.</p> <p>However, I’m not ignorant to the reasons behind this. Why is my salary going up, but those of factory workers in Ohio and Michigan going down?</p> <p>Donald Trump would have you believe it is our trade policies and the lack of a large wall on our southern border. The latter is an absolutely absurd idea on its face, but if you think longer, it’s really just a physical manifestation of the frustration of his supporters. They do see Mexican and Central American immigrants working, and they think “They took some US Citizen’s job.”</p> <p><a href="http://www.nytimes.com/2016/09/22/us/immigrants-arent-taking-americans-jobs-new-study-finds.html?_r=0">Economists disagree</a>. In fact, those immigrants who have illegally crossed the border tend to take service economy jobs that are low paying and without benefits. Because they live in fear of deportation, they tend not to exercise their labor rights, and as a result, tend to have a very low job quality. That’s not the kind of job that will “make America great again”. That’s the kind of job that comes and goes over time and leads mostly to a lower class lifestyle. Those who come legally tend to come on visas to fill labor shortages, despite rhetoric suggesting that somehow companies are abusing the H1B and other programs.</p> <p>But what about trade policies? Is it simply too easy to make stuff in China, Mexico, or Pakistan, and then import it back to the US?</p> <p>That is a part of it. Those places don’t have the same worker protections and have a lower cost of living, so one would expect that greedy corporations can make more money by reducing manufacturing costs there, and giving back a bit of the margin in shipping costs.</p> <p>But many things made in factories require customization. One difficulty in putting the product so far from the consumer, is that you can only make to stock. Make to order with a 10 week lead time is extremely haphazard and unpopular with most products. Many of the products still made in the US are of this kind.</p> <p>Also many products require skilled labor to produce. While a T-shirt can be sewed by relatively unskilled hands, and an iPhone can be assembled in stages that require minimal training, a wafer of microprocessors must be created in a high level clean room by automation that is overseen by well trained employees. Certain products are simply so American that it would make no sense to make it anywhere else, such as Wilson Footballs which will likely forever be made in the US unless China decides it wants more concussions and we end up with a Shanghai vs. Dallas super bowl in 2035.</p> <p>Also, don’t forget that these countries have now built their own middle class, and will soon run out of cheap labor as well. There are more emerging economies, but the point is, this isn’t a never ending chain, though it is one that doesn’t end soon.</p> <p>So I would suggest that while globalisation is an important factor, it’s been here for a long time, and no recent trade policies have really added to its impact. Those jobs aren’t coming back because our government wills them to. Tarrifs on Chinese imports will just result in China putting Tarrifs on US goods, and soon you’ll find that companies in the US are struggling to grow because the US economy, while large, is not in fact big enough to sustain itself. Whether you agree with the way in which NAFTA or the TPP were implemented, the economy will experience a huge upheaval without international free trade of some kind.</p> <p>So, globalization took jobs away decades ago. What’s going on now? Why haven’t manufacturing jobs grown with the rest of the economy?</p> <p>Well, I’m sorry to say, but in many cases, I took your job. Not me personally, but my industry has made automation and artificial intelligence a reality. And if you are being relied upon to make things even after globalization, get ready to have your job threatened again. <a href="http://www.historyofinformation.com/expanded.php?id=4071">In 1961 the first industrial robot, Unimate</a> took dangerous jobs away from GM factory workers, and since then plenty more robots have been added to the global manufacturing scene. This was an expensive robot to build and oporate, and so, by the 1980’s, we had already seen that generation of robots take as many jobs as were going to be taken.</p> <p>But lo, a new generation is upon us. <a href="http://science.howstuffworks.com/baxter-robot3.htm">Robots are on the market right now that cost under $30,000</a>, and will do general purpose tasks with enough flexibility to make things to order. This means that for a capital investment of a low end employee’s salary for a year, a factory can replace a human right here in the US. No more benefits, smaller parking lot, no <em>air conditioning</em> or <em>heating</em>, no cafeteria. And they’ll just need to employ a couple of engineers to keep the whole thing running.</p> <p>So what do we do for those displaced workers as automation happens at this level?</p> <p>Well believe it or not, there are <em>tons</em> of jobs that aren’t getting done because of labor <em>shortages</em>. These jobs aren’t just in computers. They are also civil engineering tasks, environmental engineering, and raw science. These are all things that will want you to have specific training, whether it’s a doctorate degree or some specific training in a particular field.</p> <p>But, you don’t have a college degree, you weren’t trained in one of these fields, and your job is threatened so you’re not going to be able to afford to get one.</p> <p>Well, folks, this is where the recent choice of a Republican Majority government is going to make this hard. The republicans are suggesting that if they let those at the top keep more of their money, they’ll build more factories, and invest in more businesses. But the reality is, that will just enable them to buy more automated infrastructure, and keep even more of their profits. They’ll do this 100% under the protection of the US constitution, and there won’t be anything you can do about it.</p> <p>I know, it sounds like marxism to some, but the answer is to <em>raise</em> taxes on those individuals living far above subsistance and even above comfortable middle class lives. We should then use that money to make college and advanced job training affordable, or even free to those who qualify by their academic achievements. That will get us even more engineers and scientists to actually build the world we want to live in, and also more system administrators, repair technicians, etc. to keep the world running. Most of these are safe jobs, and many of them can be done remotely, so you don’t have to move to a dirty, crowded city to take them.</p> <p>And make no mistake, what I’m arguing for is my own salary to be reduced. If there are more people out there who can do my job, I can expect to make less money. But I’d be happy to have less money, if it meant my kids get to live in a world where everybody has a chance to do what they want with their time, and we have the time to take care of the earth the way it should be done.</p> Mon, 21 Nov 2016 00:00:00 +0000 http://fewbar.com/2016/11/automation-will-change-your-job/ http://fewbar.com/2016/11/automation-will-change-your-job/ automation labor future america Life OpenStack needs an Architecture WG - Because we all can't be Gaudi <p><a href="https://en.wikipedia.org/wiki/Antoni_Gaud%C3%AD">Antoni Gaudi</a> designed one of the most beautiful things I have ever seen in my life, the <a href="https://en.wikipedia.org/wiki/Casa_Batll%C3%B3">Casa Batlló</a> in Barcelona. <img src="/images/Casa-Batllo-Barcelona.jpg" alt="Casa Batlló" /></p> <p>While touring the site, the audio tour guide explained multiple times that this entire site, from the basement to the roof, had no written detailed plans. Gaudi had to supervise every aspect of the construction, so that it was exactly the perfect masterpiece it is today. Gaudi is truly a legendary human being, and one of the greatest architectural minds in history. This means that he produced masterpieces, but it also means they can never be duplicated, are nearly impossible to improve, and are even quite difficult to maintain.</p> <p>And it is now, while I’m stuffed into “The giant metal tube” (Thanks <a href="https://twitter.com/robynbergeron">Robyn</a>), that I’m enjoying a rare moment of very clear thought after an <a href="https://www.openstack.org/summit/barcelona-2016/">OpenStack Summit</a> related to “God’s Architect”.</p> <p>The most important session that I attended, and led, was <a href="https://etherpad.openstack.org/p/BCN-architecture-wg">a fishbowl to discuss the Architecture Working Group</a>. Even with <a href="http://lists.openstack.org/pipermail/openstack-dev/2016-June/097657.html">mailing list threads</a>, <a href="https://review.openstack.org/#/c/335141/">review cycles</a>, <a href="https://etherpad.openstack.org/p/architecture-working-group">etherpads</a>, and <a href="https://wiki.openstack.org/wiki/Meetings/Arch-WG">meetings</a> behind us, it was clear from the discussion that there was some broad misunderstanding of what we were doing and why we want it to be a part of the community. We definitely used the time well and I think scraped away some of the boilerplate “we’re a team here we are” boring stuff and dug down to what it is we want to do.</p> <p>In a nutshell, we’re here to look at the Nova, Neutron, Oslo, et. al masterpieces, and write down the plans that were never created before. While there are change specs, and manuals for much of it, quite a bit has no binding theory of operation. As a result, there is quite a strong cargo cult inside OpenStack, leading to forward progress without understanding. This creates an OpenStack where there are more people writing code than can understand code, which complicates every aspect of developing and even operating it.</p> <p>We want to make sure that OpenStack can continue moving forward, and so, we need to write down how things work now, record the current theory of operation, and then collaborate on improvements to those theories and the actual implementations.</p> <p>Without the Architecture Working Group, I’m sure OpenStack will remain valuable and even be maintainable. However, I’d like to see it continue to evolve and thrive even faster, and I’m proud to be working with people to try and provide a safe place to make that happen.</p> Sun, 30 Oct 2016 00:00:00 +0000 http://fewbar.com/2016/10/openstack-architecture-wg-because-we-all-arent-gaudi/ http://fewbar.com/2016/10/openstack-architecture-wg-because-we-all-arent-gaudi/ communication openstack summit barcelona architecture Life OpenStack Open Source People Communicate <p>As I sit here preparing to cross the Atlantic, I am pondering on what we’ll do <a href="https://www.openstack.org/summit/barcelona-2016/">in barcelona</a>.</p> <p>This will be my… (stopping to count on fingers.. running out of fingers…) 11th Summit. Back in the Essex days, I was communicating about <a href="https://jujucharms.com/">Juju</a> whilst working for <a href="http://www.canonical.com">Canonical</a>. It was a fantastic experience to see some of the same communication methods we had used at <a href="http://uds.ubuntu.com/">Ubuntu Developer Summits</a>, and new ones, coming together to form this massive community.</p> <p>This will be the last summit where we ask <em>every</em> technical contributor to join the fray. An evolution of the process is under way, which has been called the <a href="http://www.openstack.org/ptg">Project Teams Gathering</a>. So this may be the last time we do it the way it has always been done, with technical contributors mingling with business folks at the OpenStack Conference. There are some <a href="http://lists.openstack.org/pipermail/openstack-dev/2016-October/105524.html">concerns about this</a>, some even <a href="http://lists.openstack.org/pipermail/openstack-dev/2016-October/105260.html">expressed by me</a>. But I trust those who have been formulating this plan to be dilligent at iterating on it to improve our throughput.</p> <p>And the reason I trust them is that I have seen one constant throughout successful Open Source contributors. We all communicate. I take it for granted how well we actually communicate, given how distributed we are, and how few shared objectives we have. But I think what separates a pet project on github from an Ansible or OpenStack sized project is contributors who communicate early, and communicate often.</p> <p>So, I am very much looking forward to this upcoming summit. I expect that we will all do our best to communicate by listening, recording, reflecting, and adding our voics. But I am also quite excited to see how the new format works out not only at the PTG in February, but also the <a href="https://www.openstack.org/summit/boston-2017/">next Summit in Boston</a>.</p> Sat, 22 Oct 2016 00:00:00 +0000 http://fewbar.com/2016/10/opensource-people-communicate/ http://fewbar.com/2016/10/opensource-people-communicate/ communication openstack summit barcelona Life OpenStack Goodbye Wordpress+Drizzle+AWS, Hello Github Pages <p>For the past 6 years, my website has been running on WordPress, with <a href="http://drizzle.org">Drizzle</a> as the backend database. As far as I know, I’m the only person who was insane enough to attempt this. It required patching <del>Drizzle</del>WordPress to support valid dates (MySQL allows 0000-00-00 in some cases, wordpress uses this heavily), and that patching has just gotten too difficult to keep up with.<sub><a href="#wordpress-drizzle-plugin">1</a></sub></p> <p>This also included running on a <em>t1.micro</em> at Amazon. This helped me learn how AWS works, and that was useful, but at this point, I think the $17/month or so that I’m paying for it isn’t really worth it, and I don’t login enough to learn much anymore.</p> <p>So I’ve decided to make the jump to GitHub pages. I like the idea of having a nice static page for my blog. Comments can happen on social media.</p> <p>Thanks GitHub for giving us coders a place to drop a static web page.</p> <p>And, so long Drizzle, and thanks for all the fish.</p> <p><a name="wordpress-drizzle-plugin">Edit 1, October 10, 09:27 PDT</a>: <em>I also wrote a <a href="https://launchpad.net/wordpress-drizzle">wordpress drizzle plugin</a> to handle the more straight forward elements of Drizzle’s more strict SQL dialect, but that never gave me any trouble once written. The issue with 0000-00-00 is that it is used all over WordPress as a string literal and there’s no single place to change that.</em></p> Sun, 09 Oct 2016 00:00:00 +0000 http://fewbar.com/2016/10/goodbye-wordpress-drizzle-hello-github-pages/ http://fewbar.com/2016/10/goodbye-wordpress-drizzle-hello-github-pages/ jekyll wordpress drizzle aws ec2 github Life Mitaka, you taka, we all taka in Tokyo <p>OpenStack is weird.</p> <p>In past professional lives, when I've taken on projects bigger than myself, I've always had to learn to make peace where there was conflict, and drive past all of the fun houses and arcades to get to an even better, happier, cleaner place at the end of that long dark road. But OpenStack makes that weird because sometimes you literally end up in arcades and fun houses.<a id="more"></a><a id="more-657"></a></p> <p>Take Robot Restaurant. Why wouldn't you put a tourist-aimed show highlighting robots, manga, and taiko drums in a basement in the middle of the red light district? Same question, why not <a href="http://lists.openstack.org/pipermail/openstack-dev/2015-October/076918.html">post to a thread </a>about experimental scheduler rewrites? Like the show, these threads are just a never ending sequence of retorts, with the tanks defeating the panda, and the giant snake defeating the tanks, and the giant laser robot dragon defeating the snake, and then robot ballet, and eventually you forget that the point of this was to save nature and instead you just want <span style="text-decoration: underline;"><a href="http://lists.openstack.org/pipermail/openstack-dev/2015-October/076825.html"><strong><span style="color: #ff0000; text-decoration: underline;">MORE DRAGONS</span></strong></a></span>. <a href="http://www.shinjuku-robot.com/pc/"><img class="alignnone" title="MOAR DRAGONS" src="https://lh3.googleusercontent.com/_6g9nEzO2oQRy3i_cD2yKawnzJYJdrTFAQ2-3DWJCk628u7f6gi_WyiXhVWPSOiecxefC2PCjymgpcNmAcQdutkC_UZ_YxJHfIB60vBuQFkqeuvMFMXOz2SvXKMl9FsE9QLN_GJ68MVB7pvpS-QqCxjsb0kqEzbDexWjNPgFiJ0VMYQjfB-QzyePUctioj5O27tB3Aq3e97f7NkltMK6cXxZ2OUeAwBegt0utLgVzAjVuRX3l9EKUSY8BZepdcgFyLp4xiNav3_5mu6z_K-BmnbgxIX81P87lE5dvo-4WnrJHuiO8ONGUJ1oVb84Uabc0Ow_Q6NuPBJNwikAoAHWJ09DpnxOTcUyb0BPWKe4j_g1DTMNngLpNnTkHSd9_kZJsnTpabUWYFJevCJDOfAabc8hvz3D79RzwYqwDARo-Qn6nFnw5kKP-5q_xRiGbRZyc-mXmfnojAo8rmjzx4V5u-i3ealeQPLoGtDuJXbQFjV39_GyudCJHSocTRLsQIIpcDJF2IUnZnwYVo7d1PiyfugsWTJFNf0d7gAKUDihlGoa=w1920-h1032-no" alt="" width="700" /></a>Whatever the point of this, once you escape it, you realize that while that idea may have been on the road to the end goal of scaling OpenStack up and out, it probably wasn't the next step. And beside that, we haven't even gotten to the summit yet!</p> <p>OpenStack is weird, because a lot of the time you read the code, you think you know what it means, and then you have a conversation whilst walking by a Koi pond, and it shatters what you thought you knew.</p> <p>For instance, I had always assumed that cells were in fact just sharding the control plane for the sake of scaling out the control plane. But whilst strolling past Shinto shrines in the hotel garden in Tokyo, John Garbutt explained to me that cells are so much more. They also are about scaling at the rate that current cells users like to scale their business. The whole control plane that goes along with that scaling unit is just a handy layer around new servers which has some nice aspects like being able to test this new gaggle of servers a bit before throwing the wild and crazy users onto it. This helps me understand why single cells were never pushed beyond a few hundred servers worth of scale now. It also makes me want to double-down my efforts to scale cells up quite a bit, as some of us would like to scale our business in smaller and larger batches. Inner peace achieved.</p> <p>Also, sometimes you think "well certainly people will have just accepted the JVM as their RAM's eventual keeper", and then you find out that there are entire ops departments that flatly refuse to support Java in any way, and if you asked them to run <a href="https://zookeeper.apache.org/">Zookeeper</a> (a java based distributed lock manager++) to help coordinate your python based OpenStack services, they'd probably start looking for a new way to run a cloud. Point one for <a href="http://consul.io">consul.io</a> and abstractions like tooz that will let us experiment and run other things written in the new crop of languages which I like to call "notjava". This isn't a fun house on the way to scaling, this is the arcade. This arcade is similar to the one we wandered into in Shinjuku, where there are many, many old boring looking games that we've all played before, are still fun, and actually work great, and a few new shiny games that look fantastic, but are supremely crappy and mostly just take your money. My advice: either play street fighter (Zookeeper), or rock that new Taiko drum thing (Consul).<a href="http://consul.io"><img class="alignnone" title="Taiko Drums as a Service" src="https://lh3.googleusercontent.com/uBj0FEomq76TpdneR5iqsoVREJhXSbyX2p_hWbIoXPz9VexkmokxW7UvKPFlX493zOSF5DcedUhNVvh90L_twlntqH9CZOTZn5XxKM1KUMqrGV5wbz_jUA0TyYST5pRnHTqIrJ0axDLAKwHaQij2p7WGDg-CCgDS7m9mlIBj6bsXjefAGTaoqYOBkPiquhEXEbN87nLL47ynoNAiJY6ee_m1lGKfBiGR8-D20n4I71q7gjLlOMsqA3QaSc50SEMoOYKS4p2eg1SSQxzw-jWeb6ZUNPP2rJeDU9-RyCFXmEzKQiTo3jretYIqUyApWZqsV_SkZnO7NA7l0vgvY3woZN26rhQLkYIa31kS6KnjsnhzquPgXmz7A55hM1i2MUK8vpM_iH2Ti3XHYiyd5vYHntumno_SpTiuLseCJS7dhHSrxBQsSAe5DU2duE4lQC-A5TRsiPqp0VNTN3nqHTbC4y_bTzpVhNCwz2EEUzT7qjzTWw1TBd8FKyv_ODYM2JTf1oouGBAp14qEBvQnztgqjx5F7wTtUuSKn7cJ8pS3HitZ=w829-h1105-no" alt="" width="700" /></a>Whatever you do, <strong>make sure you're doing it because it gets you out of that arcade as soon as possible</strong>. You're not making a distributed lock thing, you're making an OpenStack!</p> <p>And after wandering around all of these fascinating places, and sampling all of these grand ideas, one realizes that all you really want is something fresh and new that hasn't been sitting around getting older. So instead of chatting into the wee hours over Yoichi Whiskey and so many bottles of sake, you turn in early, wake up at 0600, and wander alone into the fish market for sushi breakfast. And there, you realize that you do not need to wait for others in OpenStack. Certainly, tell them where you're going, and why you're going to bed early and doing things that might confuse them. And if they ask to come, be polite and offer them a way to join you. But ultimately, get your sushi. Enjoy your <a href="https://review.openstack.org/#/c/230183/">fresh ideas</a>, and enjoy implementing them. Sure, you might wander into the wrong subway station, take 3 stops in the wrong direction, even drop a receipt, shaming your entire nationality when you force a thoughtful Japanese person to pick it up and inform you of your transgression politely. But ultimately, you will find your sushi, and as a result, your belly will be full, and commerce will continue, whether you participate or not.</p> Tue, 03 Nov 2015 18:52:34 +0000 http://fewbar.com/2015/11/mitaka-you-taka-we-all-taka-in-tokyo/ http://fewbar.com/2015/11/mitaka-you-taka-we-all-taka-in-tokyo/ Scalability openstack mitaka tokyo zookeeper consul cells sushi Life Scalability OpenStack One small step for an open source developer, one giant leap for OpenStack kind <p>The great thing about working in Open Source is that often one can drive a single mission through multiple organizations to an end goal that makes the most sense for the community. I hope that some find the changes I made to OpenStack while at HP useful both inside HP, and outside. They were a fantastic employer and I'm eager to see where HP Enterprise goes from here.</p> <p>That said, I'm extremely excited to be joining IBM to work on OpenStack from a different angle. We'll be doing some really cool things, and I just can't wait to get the ball rolling! In fact I won't have to wait as today is my first day, and I'm here in North Carolina at the Research Triangle Park to begin my assimilation into the borg.. er.. to be oriented for employment at IBM.</p> Mon, 21 Sep 2015 11:00:24 +0000 http://fewbar.com/2015/09/one-small-step-for-an-open-source-developer-one-giant-leap-for-openstack-kind/ http://fewbar.com/2015/09/one-small-step-for-an-open-source-developer-one-giant-leap-for-openstack-kind/ cloud openstack ibm hp Life OpenStack Self Reflection: Collaboration requires trust <p>Medical doctors have a fairly well understood job, at least on the surface.. I think. People arrive in front of them, and describe their problems with a specific mind to get those problems solved. A medical doctor observes, listens and examines, and then takes action based on incomplete information. They may decide to run tests, or take a best-effort guess at a treatment plan. At this point, they are prescribing to solve problems which the owner of the problem cannot solve themselves.</p> <p>Engineers sometimes act like doctors. Specifically, I have often acted in this way in the past. At times, this works out well. A confused set of engineers describes their issues, and I can respond with strategies to fix them.</p> <p>However, when an engineering effort reaches a certain size, this simply does not scale. As the doctor, you will either be crushed under the weight of so many requests, or you will be operating under such stress that your information will be wildly inaccurate and your understanding of each team's problems will be skewed.<a id="more"></a><a id="more-640"></a></p> <p>I've been in this situation, and often start to draw tribal lines subconsciously. The use of the word "<span style="color: #993300;">they</span>" instead of "<span style="color: #339966;">we</span>" is a good indicator of when you've decided people are not part of your tribe. And by drawing these lines, you shrink your sphere of concern to a level that allows you to continue prescribing solutions. If the other tribe enters, they are not looked as a whole group with real issues. They are part of "they", and thus get the same answer: "Do it my way or be gone."</p> <p>I've often felt that this was justified. I've said things to myself or others in my tribe like "We are doing something a bit radical, so it's natural for <span style="color: #ff0000;">them</span> to fight it." or "<span style="color: #ff0000;">They</span>'re just frustrated because this is so different from the way <span style="color: #ff0000;">they</span> do things."</p> <p>This is all garbage. This is caused by trying to prescribe and act like the doctor, rather than being a collaborative and helpful engineer. Collaboration means listening, and applying a reasonable amount of both scepticism and trust with your peers. It means forming working groups and being "<span style="color: #99cc00;">we</span>" and "<span style="color: #008000;">us</span>", and making sure that the members of that group that aren't part of your usual tribe are aware they are peers in the effort.</p> <p>The main reason to do this is trust. Without trust, you start to make decisions, conscious or unconscious, that exclude the untrusted parties. Pretty soon it gets even less comfortable because now you have secrets, and likely they do too.</p> <p>After this, whoever is doing the prescribing (such as me in some recent dealings) finds themselves prescribing solutions to the wind, because those who were untrusted and treated as inferior will find a way to go forward without you.</p> <p>So, I hope that somebody finds the advice I have recently given myself useful: collaborate, avoid prescribing, and always be aware of the impact your actions may have on trust.</p> Wed, 28 Jan 2015 08:57:52 +0000 http://fewbar.com/2015/01/self-reflection-collaboration-requires-trust/ http://fewbar.com/2015/01/self-reflection-collaboration-requires-trust/ Life Engineers