MEE - The Michael Edwards Experience

January 2, 2010

the river

Filed under: Uncategorized — medwards @ 2:55 am
the river is always there for me.
its grim majesty against my small self, I see my place.
in its tumultous surface, frozen solid, I am shown how to be stoic.

when I am overwhelmed
by chattering people
flippant diversions
empty of the urbanity
the silence drowns it all, and me with it

in the softness of the night I go to the river
but I go to challenge the river:
"Here is my Life! I choose to risk it against you,
to show that It is still my own."
and once I have made my proof,
shown that I make the decisions that determine my Life,
the river is there for me.

May 6, 2009

the meaning of life

Filed under: Uncategorized — medwards @ 1:23 pm
Always we strive to surpass ourselves
our small limitations
in recognition of a world
greater than us.

January 19, 2009

Dear Rails, Please Remove The Stick From Your Ass

Filed under: Projects — medwards @ 1:40 pm

So as some of you know, a very favourite project of mine is the Edmonton Free Library (code here). It’s built on a technology that many of you are familiar with: Ruby on Rails. Overall, I’ve been extremely happy with it, the growing pains are mostly over and I’m moving on to actually knowing what I’m doing. Part of this I have to lay at Brendan’s (bct) feet for being a very flexible dude about convention, but knowing most of the best ways to do things (omg rake db:migrate…. why is this not in the screencasts? It’s so fucking awesome).

Now there is one thing that bugs me though… this two-space indent thing the Rails community has going doesn’t really fly for me. I want to highly emphasize that I prefer two-space code indenting to four-or-other weird space indenting forms. If you’re going to use spaces, it’s better than the other options. And if you really like it, thats cool, I don’t really care. Personally I prefer custom-widthed tabs, and I won’t rehash the common reasons why. What is important either way is that you follow a single convention. Or so I thought.

NetBeans IDE for Ruby was pretty good… but I couldn’t get the indenting to work right, and it was really just a flashy editor. Not really worth the overhead of starting the entire thing. I eventually got pointing to vim /w rails.vim.

I want to be clear: rails.vim is FUCKING AWESOME. I haven’t even begun to tap its potential, but its so good that I can’t handle it. But all its indentation is done with two spaces. That’s fine, its the convention, logically that would be the default. So I set .vimrc for noexpandtabs and set my tab width.

Strangely, this does not work.

I had literally spent two full days thinking I was nuts (and working only on .rhtml files where our indentation conventions hadn’t been established yet anyways) before I gave up, tracked down the rails.vim website (I got it via an Ubuntu package), and hopped into #rubyonrails (one of the channels suggested). The following is a paraphrasing of the dialogue (nicknames have been changed so nobody gets uptight about being identified):
[medwards] Hey has anyone tried configuring rails.vim to use non-standard indentation?
[R] No that would be retarded
[P] Why would you want to do that? 2 spaces is the standard, duh.
[medwards] That’s great guys, I just want some help. If you disagree with my preferences, thats cool but I don’t think you need to be an ass to me about it.
[Q] some link to pastebin with vim commands
[R/P] more random disparaging remarks about why anyone would use different indentation, the implication that I am an utter moron, omg horizontal scrolling, etc.
[medwards] /ignore R P
[medwards] Q: Thanks, but my .vimrc hasn’t worked yet… btw thanks for not being a dick”
[Q] medwards: Oh, maybe try .exrc? Also, two spaces IS the standard and you should really use it…
[In my head: oh. my. god.]

Yeah. #rubyonrails. Go there if you want help figuring out if you can sustain a bunch of implications that you have no idea what you’re doing. OK, whatever, they’re uptight assholes, the other channel to try is #vim (I am ever hopeful). So I ask the same question:
[T] medwards: I advise against it but it is supported
[medwards] tpope: I’ve already got the raking over the coals in #rubyonrails
[T] types the command I need
(I should have shut up around here)
[medwards]overall I love rails.vim man
[medwards] it’s really awesome, but this indentation holy war is getting kind of ridiculous…
[T] it’s ridiculous to come into the one community that’s actually managed to standardize and then not follow it.
[In my head: fuuuuuuuuuckkk]

Ok, I’m going to be blunt: This is bullshit. I am not Microsoft coming from on-high to embrace, extend, and exterminate. I am coding a project, with a person who agrees that my indentation style is fine with them, and so we have agreed on a convention on coding style. This is hypocrisy, blasphemy, apostasy, or any other term I could come up with. I am not doing a massive insult and destroying Ruby on Rails by using TABS instead of SPACES. Oh. My. God. People. Grow UP.

The colour of my car is a purely personal outcome, and it happens that I want a blue car. Get over it. Because all your cars are red with white stripes is not something that is massively important, your convention is not the holy standard. I wish this was simply an attitudinal problem of specific people in this community, but the utility and popularity of rails.vim is going to make this more of a pain soon. See this excerpt from rails.vim doc file:

A value of 2 is used for ’shiftwidth’ (and ’softtabstop’), and ‘expandtab’ is
enabled. This is a strong convention in Rails, so the conventional wisdom
that this is a user preference has been ignored.

In conclusion: The Rails convention ([whine]theeeee staaaaannnddaarrrddd[/whine]) is so important that it means that we do not follow vim convention (aside: in the process undermining the very idea of standard and convention which is meant to ENABLE wildly divergent implementations). This coding style zealotry goes far above and beyond the required zeal for aesthetically pleasing code. In fact I felt very much like I was programming in the Cathedral and not the Bazaar. This is not community, it is monoculture.

The discerning (or spittle-ridden) readers might wonder why I wrote such an angry little note. It’s a good question: I want to reiterate that Rails is really really good so far. Concerns about scalability aside, I’m happy that I’m on it. What I want to demolish is this Rails-messiah/golden-boy concept: Rails can do no wrong, Rails does it right (ALL THE TIME NO EXCEPTIONS), Rails is so amazing I should lick the feet of the two-space indenting crowd. This isn’t entirely their communities fault: Outsiders have been treating Rails like the new AJAX, becoming Rails groupies in unquestioning droves. There needs to be some critical thinking on their side of the fence that includes ways to make their stack into something other than a strait-jacket. While I may have previously been fairly dismissive of the entire disagreement centred around ruby gems, I am now forced to wonder if this is a cultural issue where the Ruby on Rails community thinks they are too superior to enable other developers to develop their own way.

For those who cite the classic mantra: “If you don’t like it, fix it.” Well, I plan on it.. I’m working my way through rails.vim scripts to figure out how the indenting is done and will make a pull request once I have done so.. in the meantime I give you the command I was given for my .vimrc:
autocmd User rails set sw=4
(unfortunately this merely changes my auto-indent to 4 spaces… adding noexpandtab/ts doesn’t seem to do anything because either the autocmd is only parsing the first argument, or the rails.vim stuff never inserts tabs so the tab settings are irrelevant. Maybe both. I’m now looking at ~/.vim/plugin/[rails-toolkit.vim,rails.vim,surround.vim,supertab.vim] but I’m pretty green at this).

December 9, 2008

Libertarians Can Be Smart

Filed under: Daily Rambling — medwards @ 3:57 pm

So Paul Graham wrote a pretty smart article about how inducing safety controls also creates ‘economic drag’ (I just made that term up). I have a soft spot for the guy having read “Why Nerds are Unpopular” (which is an excellent starting analysis of the failure of our system of education. He names the roles of the schools, but draws minimal motivations for them from the economic system that creates the needs for those roles. Still it’s good stuff, you can’t expect too much from libertarians :P)

[Before I continue, I should disclaim any actual knowledge of Paul Graham's political position... his sort-of free marketeer outlook along with being a solid coder means I can make educated guesses]

But I should get back to “Artists Ship”. The crux of Graham’s essay is the consequences of certain corporate behaviours:

The gradual accumulation of checks in an organization is a kind of learning, based on disasters that have happened to it or others like it. After giving a contract to a supplier who goes bankrupt and fails to deliver, for example, a company might require all suppliers to prove they’re solvent before submitting bids.

The paper trail, bureaucratization, management approval, and all the other niggling irritations in large organizations are the obvious sign of this behaviour. Graham talks about costs, and being a programmer talks about how these behaviours are particularly irksome to programmers:

Here’s a sign of how much programmers like to be able to work hard: these guys would have paid to be able to release code immediately, the way they used to. I asked them if they’d trade 10% of the acquisition price for the ability to release code immediately, and all three instantly said yes. Then I asked what was the maximum percentage of the acquisition price they’d trade for it. They said they didn’t want to think about it, because they didn’t want to know how high they’d go, but I got the impression it might be as much as half.

Graham points out that 5000 dollar projects turn into 500000 dollar contracts once a company committee has to manage it, simply because the coders don’t want to babysit them extensively and all their big corporate bullshit. He’s absolutely right. That’s because he’s smart. But as a free marketeer he hasn’t delved any deeper. What this highlights is symptoms, not root causes, though he hints at the roots of where this comes from:

Programmers, though, like it better when they write more code. Or more precisely, when they release more code. Programmers like to make a difference. Good ones, anyway.

For good programmers, one of the best things about working for a startup is that there are few checks on releases. In true startups, there are no external checks at all. If you have an idea for a new feature in the morning, you can write it and push it to the production servers before lunch. And when you can do that, you have more ideas.

This is a common realization about programmer work ethic, more thoroughly explored in “The Hacker Ethic”. As a programmer I can corroborate these ideas, and thanks to Grahams negative characterization of what DE-motivates programmers I think I have a better metaphor.

What we are talking about here is INERTIA. Programmers love inertia, they love the feeling of dynamism, rapid feedback, and really going somewhere quickly with their work. It’s like driving, do you like driving fast or laboriously slow? One is safe, but not that exciting. The system of checks is intended to make a group slow down. It induces drag, friction, resistance, entropy — whatever you want to call the act of actively killing inertia. And it’s safer, but it comes with a cost. Programmers are not linearly less effective, we become exponentially less willing to work as inertia drops away. Graham points out some non-programmer cases as well where the consequences are losing business and efficiency.

One can extend this beyond business, or even personal projects to the world at large. A recent pleasure of my life has been linking long-held truisms I received from thoughtful authors such as Frank Herbert and to my current political philosophy and life in general. In God Emperor of Dune he says:

The social forms by which cities make the attempt [to survive] are worth study. Remember that there exists a certain malevolence about the formation of any social order. It is the struggle for existence by an artificial entity. Despotism and slavery hover at the edges. Many injuries occur and, thus, the need for laws. The law develops its own power structure, creating more wounds and new injustices. Such trauma can be healed by cooperation, not by confrontation. The summons to cooperate identifies the healer.

Linking back to Graham’s essay, the institute/structure of law can be seen as a societal attempt to reign in ‘human nature’ as people perceived it. Obviously there are dangerous elements/people/thoughts, and we should work to restrain those. Just as businesses work to prevent making mistakes that cost money we should work to prevent mistakes that cost people lives. But such simple characterizations are again not accounting for the cost/drag/entropy that unbending checks create. The question to ask ourselves is: “Do we live lives that are fulfilled? These checks do save lives, but do they cost us our lives as well?”

There is ample evidence that the system of laws we live in has had a significant negative impact on our society. Graham has argued, at least in software, that letting it hang loose is a better overall strategy than insisting on safety at every step. Anarchists would argue that a rejection of State and Capital is the societal equivalent, with similar benefits.

I’ll conclude with the middle-ground. Bureaucrats (corporate, government, and otherwise) want unbending workflows to determine their decisions for them. It allows them to escape responsibility when things still go sour, while lending the illusion of business-like activities and responsibility to their jobs. Again, we refer to Frank Herbert in God Emperor of Dune:

The difference between a good administrator and a bad one is about five heartbeats. Good administrators make immediate choices … [that] usually can be made to work. A bad administrator, on the other hand, hesitates, diddles around, asks for committees, for research and reports. Eventually, he acts in ways which create serious problems … A bad administrator is more concerned with reports than with decisions. He wants the hard record which he can display as an excuse for his errors … [Good administrators] depend on verbal orders. They never lie about what they’ve done if their verbal orders cause problems, and they surround themselves with people able to act wisely on the basis of verbal orders. Often, the most important piece of information is that something has gone wrong. Bad administrators hide their mistakes until it’s too late to make corrections … One of the hardest things to find is people who actually make decisions.

There is something special here. I have always been struck by the simple truth of this quote, and for the first time feel like I have something to add. In all of humanities endeavours having a ’system’ or ‘checks’ isn’t necessarily bad, but to execute decisions entirely constrained by them is a mistake. We must watch ourselves (and fellow participants) for the dangerous behaviour of disavowing our own responsibilities in actions. The system provides good guidelines but slavish adherence to it produces a legion of robots who are incapable of responsible decision-making. Instantly shooting from the gut all the time isn’t helpful either as it doesn’t take into account wider context and experience. As with many things in life, the key is walking the fine line between those two states, and succeeding for a long period of time will manifest more positive results no matter the decisions to be made.

December 7, 2008

This Shit Be Banging

Filed under: The Soapbox — medwards @ 9:27 am

So I’ll admit it. It is only in the past week that I decided to give a flying hoot about our Parliament. To be blunt, they’re all a bunch of stuck-up assholes and I don’t really care that the Conservatives feel all hard-done by now, which makes the coalition feel all persecuted, which makes the Conservatives..etc.etc.

There are two nice things that result from only starting to pay attention now:
First off, the world is taking off:
Clashes Between Fired Workers and Management
Unpaid Textile Workers Clash with Riot Police
Immigrants and Anarchists Erect Barricades
5000 Prisoners Hunger Strike
Hunger Strike Ends After Government Promises Release
Nurses Occupy Ministry of Health

This is just what has been reported to libcom from Greece and ignores the rest of Europe. The rest of Europe includes Italian students “We Will Not Pay For Their Crisis,” Spanish auto-worker occupations, and a variety of unrest in the British Isles. I’m just keeping my eye on Greece because I have a feeling they’ll be the next Argentina (occupied factories, the whole lot).

Recently, some mainstream coverage: Riots in Athens after Police Shooting

I find myself growing more sensitive to responses like these to state and capital. The recent financial crisis helped highlight both the inequity in distribution and the inequity in in treatment for many people. Many people are prepared to put up with less-than-ideal conditions, but not while the fat cats keep getting their meals. The amount of money being poured into banks is unfathomable to most people on working incomes, but worse is the realization that capitalist wealth is secured but no-one will bail them out when things go south.

Just today I saw Republic Windows Workers Occupy Factory (video on fb ). Chicago plant workers are doing a factory occupation! Just three months ago the much-asked question: “Is there something different about other countries? Why don’t we occupy plants?” but in the heart of Obama-land we have the answer: When the full breadth of inequity is so obvious that you would have to be a fool to ignore it, people are prepared to act.

Right now they are demanded redemption from the state, which is where our parliamentary crisis comes in. The Chicago plant workers still believe in the legitimacy of their state and its laws, that these things will come through for them. North across the border you have a different perception of our government, as conservatives try to claim themselves as the true defenders of ‘democracy’ you increasingly see the non-voters coming out of the woodwork and taking their rightful positions as detractors of the ENTIRE system rather than piecemeal critiques of one ridiculous side over another. And for (perhaps) a brief period, people of all parties will be receptive to this point of view.

So in different parts of the world I see mass rejection of capital, locally I see the seeds of mass rejection of state. Moments such as this are sensitive ones, they could be precursors to the social upheaval necessary towards a more equitable world. It is all too easy to see these forces linking up and generating the mass-movement for the new millenium, but it should be tempered with the realization that it is easy for each of these sides to be ignorant of one-another. People who reject the state, all to easily fail to see that they must simultaneously reject capital, and vica versa. To those reading this, remember that all great moments fizzle when you fail to unilaterally reject all systems of oppression: To reject one but not the other is to give all the strength of the first to the second. There is still time, and we can make this bridge. It has been built before, we can build it again, and with the wisdom of our past missteps.

(and as a completely tangential point I enjoy the title of this post as it is from this penny arcade comic )

October 6, 2008

man, the uncool info

Filed under: Uncategorized — medwards @ 7:33 pm

So a guy I’ve known through ICQ for awhile sends me a message:

"Hey, do you want to join our wargames team?"

Wargames being a cool hacking contest I was considering awhile back. Dave threatened to delete my account if I even thought of practicing on his box, and all the people I knew with Windows were running decent firewalls. Where’s a newbie hacker supposed to practice? That was awhile ago, I still have dreams of becoming the master hacker but I know I’m behind the curve and am slowly relegating myself to the slower and no less noble task of becoming a programmer. Also I have an assignment due on Wednesday, and need to finish a different rough draft for tomorrow.

"neg, no time manola"

Some of you may wonder what ‘manola’ is. You are not alone.

"manola?"
"pretend its like 'man' only cooler."

At this point most of you (I hope) will realize I’m talking about the general language usage of ‘man.’ A select few of you will give me my amusement for the day.

"So it gives my information about other commands, only it's cooler?"

You should hopefully sit mystified by this statement before realizing what he’s said. If you sit their mystified for a very long time, don’t worry, it is an obscure reference.

July 29, 2008

another little poem

Filed under: Uncategorized — medwards @ 12:10 pm

Man, I think the bus makes people emo or something…

The raindrops
fling themselves
Desperate

Sadly
The window is closed
Splat. Done.
 
 
 
But raindrops are immortal
Drops are reborn
Reconstituted
to try
again, again, again
 
 
 
I am a raindrop
But I do not know
if I can again afford
hope
that your window is open

July 28, 2008

a little poem

Filed under: Uncategorized — medwards @ 8:26 am
On the bus
        cattle car
I stare outside at the city
                         open fields
and dream after revolution.
       lust
I dread the end of my journey
     am resigned to      culling
where I will work
               be slaughtered

May 6, 2008

Student Exploitation, is BACK

Filed under: Uncategorized — medwards @ 5:30 pm

So I was hustling to the LRT when I saw some people putting up summer work posters. Curious, I looked at the next one down the wall… it was for Vector Marketing. I ripped that fucker down and stuffed it in a trash bin. Since then I have probably cleaned about 5 of their posters, but I’ve already seen several with the phone numbers ripped off.

Maybe you think I’m kind of crazy for ripping these posters down, but the truth is Vector Marketing exploits students and any other naive worker they can get their paws on. See this summary from 2002 and this recent story.

These are not a couple of people who had a bad run, I personally know two people who went through this and all they had to show for it at the end of the summer is an expensive set of knives (damned fine knives, but students need money, check tuition increases). The behaviour of supervisors and the entire workplace environment leaves a sickening taste in my mouth.

I consider it a public service to stymie any attempt by these people to rope more workers in. If only for the sake of other students, please warn your friends and do your part to save a student from Vector.

(FYI, I am 100% sure I read that a major students union, or students union alliance denounced Vector Marketing, however I cannot seem to find this via google… if you remember the news item, please forward it to me. I can’t really narrow the date range down.. sometime between 2002 and 2005 I think)

April 24, 2008

medwards goes to Maui

Filed under: Uncategorized — medwards @ 10:55 am

Facebook photo albums are here and here. Music is Blackhole by Muse and Saturn Strobe by Panthu du Prince.
Next Page »

Powered by WordPress