Many appreciate what he has to say, but then again, he is basically articulating what we all know, and plenty figure that maybe his writing is no longer fresh, and he is just cranking out articles in order to shill his warez:
“This might be a neat opportunity to use Scrum. Once a week, the team gets together, in person or virtually, and reviews the previous week’s work. Then they decide which features and tasks to do over the next week. FogBugz would work great for tracking this . . .”
My position is that most stuff we read is mediocre, and Joel at least writes well, and Joel wears his ulterior motives on his sleeve, so when he starts figuring FogBugz can cure what ails CS curricula, I just figure “and now a word from our sponsors” and my brain hits the fast-forward button.
I think Tom actually has the best reaction to the issue Joel brings up, in that he adds that different people have different learning methods:
We all know there are students that are “visual learners”, “audio learners” and “kinesthetic” learners.
We all know what? Okay, yeah, and “everyone” is talking about this, right? Anyway, Tom, like me, is a learning-by-doing kind of guy who didn’t always “get” the formal CS curriculum:
When I took my undergraduate class on software engineering methodology I felt it was useless because I couldn’t see the point of most of what I was being taught. Most of my programming had been done solo or on a small team. I could not take seriously the problems that were being “fixed” by the software methodologies discussed in our lectures. “Code size estimation? Bah! Impossible, so why even try!”
In my CS days, the bits I enjoyed most were the learning-by-doing: compiling my first C program, bending my mind around recursion and functional programming to complete assignments in MIT Scheme, implementing a virtual spanning tree, and coming up on my own with the idea of a finite-state automaton to parse NWS weather forecasts. (Okay, that wasn’t a CS assignment and I didn’t know how to talk to girls.)
The parts where I fell completely flat were the theoretical classes where we considered bizarre hypothetical problems that didn’t make sense, using Greek letters that didn’t seem to have anything to do with reality. One day my ECE roommate asked how, as a CS major, I would go about sorting one million integers. My response was “why would you want to sort one million integers?” Later I slept through multiple lectures where the best methods of sorting integers were discussed at length. I skimmed the slides so I know that Quicksort performs well and in-place, but that Bubble Sort may work better if your data is mostly sorted, so in my mind that just means that if anybody asks how you would sort one million integers, the correct answer is to ask some questions as to why they need to sort one million integers.
Uh, yeah. Anyway, what was I nattering on about? Joel’s schtick is that CS students aren’t taught to manage large, complex, “real world” projects with lots of moving pieces. CS mostly focuses on the “interesting 10%” like how you would sort a million integers and skips over the boring 90% of hard work like implementing the interface for the customer to provide their million integers and retrieve the results. And Mark Dennehy’s reaction was “of course we focus on the interesting ten percent: the other 90% is constantly changing and best learned on the job!”
But, addressing the “how do you tackle big projects” thing, I think Joel has a point. And his point isn’t new. The point is extra-curricular activity.
Whether you’re a visual learner or whatever, the biggest secret to learning things is to find the thing that you are studying interesting. The very best computer programmers are all fucking fascinated by the challenge of getting the computers to do things within given parameters. Computer programming is fun because when you get down to it, it is a lot like computer games: a person at the interface banging away until they get their dopamine fix by either beating the level boss or getting the damn thing to compile and spit out the correct result.
Well, that is for the learning-by-doing types. Some computer programmers get their jollies by trying to fathom a new and novel method of sorting one million integers. Whatever floats their boat, I guess.
Anyway, long story short, I’m thinking the learning-by-doing types tend to get a little queasy after a few CS theory classes and end up majoring in English in order to score a bachelors degree, but they keep tinkering with the computers along the way, and end up, like Tom and me, as systems administrators, figuring out the best way to keep 1,000 computers running in order to make it possible to sort billions of objects with map-reduce algorithms in constant time.
Oh yeah, and that I agree with Joel that motivated CS students ought to find non-class projects that they are passionate about, and thereby gain chances to collaborate with others on the sort of “real world” challenges that they are likely to face in their professional careers. Back at Illinois the ACM played a big role in this. I myself did some time apprenticing at NCSA and at an ISP, and the big win these days it would seem are the oodles of Open Source projects ready to put interested volunteers to work. And that’s why Google’s “Summer of Code” just sounds like a fantastically great idea.
Glorious Ranger confronts Ultraviolet Thunder over the danger a fish presents to a squirrel’s nuts.
Some people wonder at the recent Achewood story arc, in which Todd, a substance-abusing squirrel, attempts to “piss up a rope” and thereby triggers his transportation into a text adventure game in which he and Kim Jong-il together flee North Korea to found the “PEOPLE’S KINGDOM OF ECSTASY AND WRATH!”
To quote a friend: “Man, Achewood, WHAT THE FUCK . . . I don’t know if [Chris Onstad] is ignorant or nuts.”
So, leveraging my International Baccalaureate high school education, I explained:
He is riffing on a Latin American literary convention known as “magical realism” popularized in the English canon by translations of Gabriel Garcia Marquez.
An example of magical realism can be found in Marquez’ “One Hundred Years of Solitude” when the town of Macondo comes under an insomnia plague. At first, people don’t have to sleep, but then they realize they are losing their memories. So they start putting labels on things to remind them what what they are. And they put a big sign over the main road that says GOD EXISTS. In case one might forget.
In the context of magical realism, it is entirely reasonable that Todd should type with a stutter.
I have always been enchanted by maps, especially transit maps. I have used the London Tube, New York Subway and Santa Clara VTA maps as wall decor. Earlier this year I began working on my own version of a transit map, “just for fun” to cover transit options within San Francisco. I figured I would focus on making a map that would be useful for casual exploration of San Francisco, showing the metro lines and those bus lines which reliably connect between them.
I shelved the project for a while when it came time to move to New York, but I have finally picked up again, due in part to inspiration from discovering this site, and hope to release an “open source” transit map soon.
Speaking of San Francisco, if anyone has a free guest room or couch this Tuesday and Wednesday evening, I would be happy to keep it warm for you! (I have been visiting monthly at my own expense.)
I remembered a dream this weekend. I was walking in Bangkok and it occurred to me I should turn off the data on my smart phone, lest I get raped by the service provider. Then I was kind of pleased to see that my smart phone was my Sidekick 2, because that thing was just wonderful.
Then I said to myself “I’m in Bangkok with a smart phone and its a Sidekick 2 when I know I own a G1, so like, am I dreaming?!” And so my unconscious was like shitshit, no look, it says Sidekick 4! Whoo! Shiny! Wouldn’t that make an awesome Android phone!? And I was like “damn, that rocks! When did we come up with this?”
I’m not 100% happy about it, and it is lacking the SamTrans buses I wanted to add. All the same, I’m rather proud. It is train-centric but features connecting bus routes. I managed to include the three levels of rail transit on Market St by consolidating each service into its trunk lines, which let me gloss over the whole KT thing. My original ambition was to populate it with all the landmarks you wouldn’t find on your regular tourist map, but I sort of moved out of town.
Alas, I like to think that modifying info on the map should be pretty easy for others to do. The SVG file contains multiple layers that can be turned on or off, modified, add a new layer . . . you could totally create your own map based on this, if you like . . .
In selecting the size of this map, I went for a square, because despite its free-wheeling ways, San Francisco is geographically quite square, and figured to make the map 15″ x 15″ . . . if one really wanted to one could slice it in fourths and print 7.5″+ on US Letter-sized paper and voila–your own map!
If anyone finds this map useful or hacks on it, please let me know! Enjoy!
macro index Z '<tag-pattern>~f (cron\|nagios\|root)<enter><tag-prefix-cond><delete-message>'
Now if I hit shift-z, all the mail from cron, nagios, and root is marked deleted. If I’m feeling aggressive I can then hit x, which for me means “expunge” deleted messages. (I came from pine.)
I don’t narrate my life any more, whether for good or for ill. Well, maybe . . . I should try a weekly update. This has been working well at work, anyway.
Saturday, 21 November
On Friday I took Mei out to dinner, since we were going to not see each other for most of a week. We went to an Indian place up near the Kips Bay theater, where we then saw “Where the Wild Things Are”. I think the first time I saw that book I was impressed with its style, and so my Mom thought I liked the story and read it to me a bunch, but I always thought Max was kind of a spoiled brat. At the end of the movie I mumbled to Mei, “if my son pulls that crap he is not getting any chocolate cake.” When asked if he’d get any dinner, I responded that I wasn’t so sure. I wonder if the kid might have some blood sugar issues such that missing dinner may be a bad move.
Saturday morning, Mei was up early to go to work. I slept in a bit, and treated myself to brunch at Teddy’s, which served me two eggs, fried potatoes, Canadian bacon, rye toast, fruit salad, orange juice and coffee for $8.25. Now, Cheryl’s has some tastier food, so I’ll take Mei over there, but if it is just me, I stick with the cheaper, hearty meal.
I went home, washed the dishes and relaxed a bit, until around 1400 when I rode up to Penn Station to catch the 3:45 to Chicago. Now, a plane would have been faster and cheaper, but now that I live in New York, I can “afford” the relative luxury of a train ride home. The train was pretty full, and a guy named Don sat next to me. I got the modem working on my laptop and caught up somewhat on Internet reading. At Albany they took our engine off the train and shunted a series of cars from Boston onto the front. This was exciting to me, so I shot some dark, blurry video from the passenger area.
I treated myself to dinner in the dining car. Lamb shank, half a bottle of wine, dessert, coffee, and conversation with a cute college couple who were switching to the California Zephyr in Chicago, arriving in Emeryville on Tuesday to enjoy Thanksgiving in Santa Cruz. Robin the Film major and Miru the Art History major. They’re both minoring in Making a Living.
Despite ample legroom and a glass of Scotch from the Cafe car, I tossed and turned a great deal. (more…)
After making it home and grabbing a shower, I roamed in search of coffee. Alas, the Tea Lounge was pretty packed, so I wandered down to 5th Ave and ordered a hot chocolate from Ozzie’s. After making sure I was “to stay” they served me in a paper cup with a plastic cap, no whipped cream.
Yeah well, I wandered home and around 4:30pm started watching Nova on the TiVo, but fell asleep hard on the couch.
Monday, November 30
Booked my travel to California for next week. Mei is working night shifts this month but I was able to take her out for sushi this evening.
Tuesday, December 1
Last night I dreamed I was driving an old Beetle in California. Mei was with me and we were going to pick Brian up to take him to dinner. Brian still had long hair but the sides of his head had been buzzed clean.
Wednesday, December 2
Notes from Facebook:
I can only respect a Libertarian if they have the faith in their convictions to homestead in Somalia.
The Constitution enshrines the right to bear arms, in the interests of well-regulated militia. Police forces are a fairly recent innovation, often used in the service of tyranny, like standing armies. Somalia’s system of locally supported militias seems awfully close to a “strict interpretation” Libertarian ideal of limited government, with the burden of personal safety being placed upon the individual.
I walked down to the Tea Lounge for lunch: a giant salad and a pain au chocolat. One man beamed at a friend that the Senate was going to vote today, after setting aside 4 hours for debate. I knew what he was talking about. “You heard about DC,” his friend replied. Later I read a cartoon: why didn’t the Army notice Major Alawi’s erratic behavior? Because he wasn’t acting gay! I laughed out loud.
Thursday, December 3
Today I booked my holiday travel, and this time it is Amtrak all the way. Just over $200 round-trip, but this time my ride to Chicago will be via Washington, DC, where I will switch trains.
On Wednesday I had a small cup of coffee at the Tea Lounge. And a giant salad. That’s the only coffee I have had this week. Trying to “detox” a bit. Quite unintentionally, I haven’t eaten any meat either. A lot of oatmeal. I love oatmeal! Mei is working nights so everything just feels weird. It didn’t help that I managed to watch the six-hour “The Prisoner” mini-series this week as well. I thought it was really very good, and goes well with alcohol, but that means I am out of Scotch.
Tonight I ate a half pound of frozen veggies. Delicious enough but I’m a bit gassy, so it is just as well that Mei is at work.
If I were maintaining a Christmas list, I would add “HP 60 color and black-and-white printer cartridges.”
Friday, December 4
I spent the last of my cash on sandwiches, sodas, flowers, and some whiskey on the theory that Mei might like some tasty sammiches before she had to go to work. Alas, she is off Friday and Saturday night. Doh! We figured we could go see the Mr Fox movie, but ended up relaxing indoors instead. Despite the promised weather report, it did not snow in New York City.
I went to bed with a nasty headache. I rarely get headaches.
Saturday, December 5
I woke up with a scummy throat, and Mei was feeling worse all day. I took her out to Cheryl’s where there was a substantial wait, but it was a deliciously good experience nonetheless. She bought a chicken and stock on the way home and as she set to cooking I went and moved her car, dropping the old printer and scanner at the Goodwill, then scoring a Christmas tree off a friendly French screenwriter outside of the Rite Aid on Flatbush. Back home I sorted through digital photographs while playing “Blazing Saddles” and “Ghostbusters” off Netflix Instant on the TiVo, after which we enjoyed a soup dinner together.
I did not make it to the bicycle recycle store up in DUMBO . . . maybe during the week. I did some Christmas shopping online and built a spreadsheet to track my Christmas gift spending, on the theory that I’ll transfer a certain amount from Savings to cover it all.
What I could also use for Christmas: a wireless Ethernet doohickey for the TiVo HD.
So, I tried Windows 7 beta, and recently scored a copy of Windows 7 for my desktop PC, via employee discount. (I’d be willing to pay $50 for the OS, so $25 isn’t a bad deal. The again, Microsoft sent me some very large checks for my Tellme equity in 2007 so a very small Capitalist part of me is rooting for them.)
It is pretty nice: basically a refresh of Windows XP, with extra spit-and-polish. Zippier, too! It boots and shuts down faster than XP or Ubuntu, and manages OS updates without requiring my intervention and subsequently breaking things, like Ubuntu does. I was musing to my coworkers that if it had the following, I could switch from Linux:
I turn my computers off when I’m not using them. I like that Firefox will remember tab sessions. But waiting for an OS to boot is wasted time.
Despite recent improvements, Ubuntu still takes way too long to boot, and seemingly forever to shut down. Windows 7, by contrast, is pretty darn zippy. I like that!
Winner: Windows 7
System Updates
So, for the record, I’m thinking to turn off system updates on my Ubuntu environments, because they aren’t worth it and they keep breaking my stuff. I’ll just refresh twice a year when the new release comes out, therefor managing the pain of upgrades. Windows updates are more important, given the constant security threats. Fortunately, Windows does that for me without my noticing, save the stupid “I will forcibly reboot you in 5 minutes” thing that hasn’t hit me (yet?) on Windows 7.
Winner: Windows 7
Software Packaging
Windows seems to have made some improvements with software packaging, and I gotta say it is convenient to go to a web site, click on an installer, and a few minutes later have the application running. Of course, then there’s another icon on your desktop and the Yahoo! tool bar has been added to your web browser . . .
On Ubuntu, though, most of the time I go to a shell and type:
sudo aptitude install foo
And there I go!
Sometimes software isn’t available in the central repositories, but 9.10 has made adding some PPAs easier. And sometimes I go to a web site, click on a link to a .deb file, it downloads, the system asks for my password, and the software gets installed without leaving crappy toolbars in my environment. Victory!
Winner: Ubuntu
Virtual Desktops
Ubuntu’s Gnome interface would be nicer if I could drag windows to the side of the screen and they’d pop over to the next screen, like the fvwm2 pager. But, I’m pretty well content with Ubuntu’s virtual desktop ability.
You could probably install a decent hack on Windows 7 to get this, but really, virtual desktops and pagers should be built in.
Winner: Ubuntu
Command Line Environment
So, with Ubuntu I can fire off command shells with wild abandon and do what I need to do. (I’m a Unix system administrator, so I relate to computers mostly by typing commands and scripting.) Windows 7 has a new “PowerShell” feature that implements a few Unix commands. After half an hour of searching I discovered that you can get to the PowerShell by hitting Windows+R and then typing “powershell” — heck forbid we should put this in the start menu or make it available by searching for “shell” but okay . . .
With Ubuntu, I can highlight text by dragging and clicking my mouse. This is just like other environments, but instead of hitting control-C (or, ahem Open-Apple-C) to copy the highlighted text into your clipboard, and control-V (I mean, Command-V) to paste from your clipboard, with Unix, whatever you highlight goes straight to the clipboard, and you paste by tapping the middle mouse button.
That can be a little scary sometimes but once you get used to the convenience you really can’t go back to having to mouse and keyboard to cut and paste.
Hit Alt+Space to bring up the console menu, then type ‘E’ to bring up the ‘Edit’ menu and then ‘k’ to start copying or ‘P’ to paste the text in the clipboard to the console. In ‘copying’ mode, you just use the arrow keys while holding down the shift key to select text, and hit Enter to add the selection to the clipboard.
“Ah, hello, Microsoft? Yes, the 1980s called and they want their primitive user interface back. Thanks!”
Update: You can launch PowerShell is a window that supports text highlighting by dragging the mouse via Start > All Programs > Windows PowerShell > Windows PowerShell. It looks like you can copy highlighted text with control+C and paste with the right mouse button. (Getting closer, I guess!)
Winner: Ubuntu
Focus Follow Mouse
Down in the accessibility menu, there’s an option for “Activate a window by hovering over it with a mouse” . . . but checking that option doesn’t actually change the behavior . . .
I’ll give Internet Explorer some credit; I can type whatever crazy thing I want into the URL bar and the second it realizes I didn’t type a URL, it goes over to Bing. Nice!
But then the default behavior is to create new windows all over. Seriously: what is the point of tabbed browsing if you don’t put stuff in the tabs? The big fail though is that for whatever reason the WordPress HTML editor in Explorer keeps jumping up to the top of the text input window, which made working out this post a seriously annoying experience.
A quick install of Google Chrome and my web browsing experience not only interfaces well with WordPress and pops new windows into tabs, but I can type whatever crazy stuff I want into the URL bar and in a not-be-evil sort of way, it shunts me with due humility over to Bing. So, Chrome is my new default web browser for Windows 7. (And I’ll continue trying out Bing, even though I’m a Google fan-boy.)
Now, here’s the cute things I ran into. I had originally built a model with a TextField primary key. This is fine by SQLite but when Django tries to create a BLOB field you get in trouble asking for it to be unique, never mind a primary key. Fortunately, it was easy enough for me to simply change it to a CharField, which will tell Django to use VARCHAR. (SQLite certainly didn’t mind.)
The other was that neither Django nor SQLite were enforcing field length limitations, so I would hit some errors when loaddata tried to bring in database entries that were too long. I worked around this by raising my length limitations. There was also some ugliness with a UTF-8 string, which I solved by creating the text object in question.
Perl’s “natural language” emphasis and non-obvious locutions encourage developers to document their code. Many times I have put some hard work into a line or a block of code, and ended up writing in some comments as a part of the process.
Python code is nice and readable but often very poorly documented. “The code should speak for itself,” and while it is easier to read Python code sometimes a few human-language comments would save some time and annoyance.
Maintaining Python code is easier than maintaining Perl, but using Perl modules is often easier than using Python modules because Perl developers are kinda forced to explain their work.
One of the first things I had to accept about pydoc is it is almost universally worthless, and even good functional documentation will often omit the sort of useful examples that I am most likely to find quickly intuitive.
This is why I have transitioned so slowly. Python’s strengths breed a certain weakness just as Perl’s weaknesses breed a certain strength.
At this point, I would consider myself approaching bi-linguality, and pretty comfortable in either language. If I have a preference it would be for Python, because I am lazy about documentation and even maintaining my own code, it is a lot easier to figure out what I wrote in Python somewhat after the fact. But my fondness for Perl and its generally more approachable documentation stands, and I’m not about to dis what has served me so long and so well.
I bought a bicycle. There’s a place not far away, Brooklyn Bike and Board, that fixes up old steel-framed bikes because they’re darn tough, then sells them for not a whole lot of money. I spent $250 on the bike, and some more on a front basket and a bike lock. I now have a white, steel, 1-speed bicycle made in France.
I had been avoiding the bicycle thing because Mei is not yet a rider, but on the Greyhound ride back, that college student had mentioned that he’d bought a “recycled” bike for fairly cheap, and rarely spent money on the subway. The prospect of riding around for my own pleasure and exercise pleases Mei. Come Spring we can find her some wheels and learn her how to ride.
Monday, December 7
A day that shall live in infamy or simply “Monday?” For “lunch” I rode up to drop off a bag at Goodwill, and I realized I had totally forgotten my helmet. Fortunately, I made it home safe, then stashed the helmet in the bike’s basket.
When I make coffee I dish the grounds into the filter, and then place the filter into the basket. This reduces the chance of accidentally slopping grounds down between the filter and the basket. Instead I have the occasional accident where I spill coffee grounds everywhere.
Every month or so my Grandmother forwards me another e-mail that has been forwarded to her via a chain of dozens of people who haven’t quite figured out how the Internet works, and these photos are from Miniatur Wunderland, in Hamburg, DE. That’s in the North of Germany, and may likely be on the itinerary of my next trip.
From an e-mail shared with my team at work:
While it is true that I wear dark-framed eyeglasses, post to my highly-customized blog, and Twitter, and uhm, have a 100% telecommute, and just yesterday I bought a “recycled” 1-speed bicycle, I don’t like to think of myself as a hipster, no. And the smart phone and the mini computer . . . gah! This is why I can’t own a Mac or an iPhone or grow a goatee . . .
Tuesday, December 8
Come on ride the snake! Ride it!
Come on ride the snake! Ride it!
Come on ride the snake! It’s a Python!
Wednesday, December 9
New York’s MTA is an excellent system for most parts of New York that existed in the 1920s, when the last major expansions were completed. That means airport service is sub-optimal: ride a local train as far as it will go, then catch a local bus that meanders to the airport.
Note that during peak hours they’ll run that bus line in pairs, but only one bus of each pair runs to the airport. The other goes somewhere else and if you’re lucky the driver will speak up and direct you to the correct bus. If you’re less lucky you can wait fifteen minutes for the next pair of buses.
Note also that if you’re running late and try to use the Virgin America self-service checkin kiosk, it will keep inviting you to try again after you swipe multiple credit cards at different kiosks. If you dig out and enter your confirmation code, it will invite you to try yet again. In this way you’ll not hear the lady announcing that if you want to catch your flight you should come over to the human being right now, because this is the last chance to make it on the flight.
Note also that if you wait behind a family with a newborn and plenty of luggage at security then stroll liesurely to the gate you’ll get to watch the plane you missed push back from the gate and taxi away. And yes, while Google is giving us all free in-flight wireless network access for the holidays, JFK expects you to pay several dollars for the privilege during your hopefully brief wait in the airport.
Thursday, December 10
I helped Todd find an appropriate box into which to pack the extra-large can of Sysco beans.
Friday, December 11
I needed change for Muni so I bought a to-go coffee at the cafe on the corner. I joined a little man at the bus stop as I waited for my cup to cool. He noted my coffee and explained that he was banned from that coffee shop. I offered him a sip, and he worked his way through the entire cup I had only bought for bus change anyway as he repeatedly introduced himself to me as a fan of the Kansas City Chiefs.
Various neighbors passed, exchanging pleasantries with the Chiefs Fan, one saw him drinking from the cup, “that had better be Hot Chocolate.”
“Decaf.”
Apparently I delivered a cup of contraband to a guy who isn’t allowed to drink caffeine.
Saturday, December 12
Mei’s sick. Slept too much, and enjoyed riding my bike down to Roots in the 30 degrees.
I just wrote this up for some test automation. This function gets passed two commands, runs both commands, and returns “PASS” if they match, or “FAIL” with the diff if they do not match.
compare_output()
{
out1=/tmp/output-$$.1
out2=/tmp/output-$$.2
$1 2>&1 > $out1
$2 2>&1 > $out2
diff -q >/dev/null $out1 $out2
if [ $? != 0 ]; then
echo "FAIL"
echo
echo "Details:"
diff $out1 $out2
echo
else
echo "PASS"
fi
rm $out1 $out2
}
echo -n "Test that will fail: "
compare_output 'echo pass' 'echo fail'
echo -n "Text that will pass: "
compare_output 'echo pass' 'echo pass'
It sounds as if Copenhagen will be yet another disappointment. But a boy could dream, right? If it were up to me, we’d just set a world-wide, per-capita ration on carbon emissions. Use current US emissions as the ration for the first year, and then ratchet it down like 10% each year.
Basically, each year you’d receive your carbon entitlement, and then sell it on the market to the energy companies and other carbon emission points identified by the carbon administration as points of emission requiring use of a ration. That money would offset your increased fuel and electricity prices: if you conserve you come out ahead, and if you’re a heavy user, you pay something closer to the true cost of your energy consumption. Viva Capitalism!
As the entitlement reduces each year, you’d have two things going on. The first would be billions of human beings pouring some of their creative energy and talent into finding ways to reduce their own energy consumption. The other would be that you’d see wealthy first-world folks trading through the carbon markets with less wealthy people in the developing world for a shared, equal human right to emit carbon.
The current approach of each nation saying “well, we’ll spend somewhat less than we did at some year in the past when our economy was less developed” is a shell game. And I hate it when Americans are like “well, China’s the largest emitter now!” China has four times the population we have. That means that if they emit more carbon than we do, that the average Chinese is emitting just over a quarter of what the average American emits. China is operating at an insane scale with an infinite number of challenges that threaten basic stuff like food security and national coherence. We want them to take the lead on climate change? No. Our people got us into this industrialized carbon-economy world, and our people can lead us to the post-carbon world as well.
I received an e-mail with the subject “Amazon Associates and Google Blogger Now Integrated” and I was amused in much the same way that I am amused when I see a dog enjoying someone else’s vomit. The e-mail invited feedback via Twitter, but I went to fill out a form. This is what I wrote:
Hello,
I received an e-mail with the subject “Amazon Associates and Google Blogger Now Integrated” and I was like “oh, trainwreck!” Then I realized Google had added a feature so associates could link more easily. That’s cool.
Except, Blogger is a horrible, horrible, truly awful platform. Hopefully you are working so that bloggers on other platforms, like WordPress, can do stuff effectively. (I know I stopped years ago as it wasn’t worth the effort.)
This was troubling: “The new tool allows Bloggers to add links and images . . .”
Why is it troubling? Because there are bloggers, and then there are users of Blogger. I realize that “Blogger” is short-hand for a “user of Blogger” but it also implies that Amazon is thinking that the only bloggers that count are the ones with a capital B.
But the real punchline was:
“Please tell us what you think of our new Amazon Associates for Blogger feature using hashtag #AMZN4BLGR on Twitter”
This is awesome on two levels:
1) “We should collect feedback from users. I know, we can assign our users a hashtag and they can communicate with us on Twitter! We’ll be trendy cool social media mavens!”
2) “Gotta think of a hashtag! Okay . . . let us take the words Amazon and Blogger, remove the vowels, and smash it together with the number 4. Because, after all, if we’re collecting feedback from users and limiting them to 140 characters on Twitter our hashtag should look like a car’s license plate!”
Maybe instead of having a giant social media marketing boner over integration with the most technically awful leading blogging platform you could focus on delivering core functionality to users that should have been delivered four years ago.