Posts Tagged ‘twitter’

Deckin’ Gentoo into Tweetin’

Tuesday, August 23rd, 2011

Editor’s note: if you don’t plan on installing TweetDeck on your Gentoo box anytime soon, you can probably skip this post…

Ever since I’d started using Twitter, Echofon or the Twitter website itself had sufficed for my needs.

But recently, I found myself using Twitter in different ways—separate accounts, mostly1—than I had in the past and needed a client with a few more features.

Echofon’s releases have continued to slide in the quality department ever since they started wrapping their API keys in weird native XPCOM libraries, and on Linux at least, there’s been an annoying bug for the last few releases where the popup background is totally transparent, and takes 3-5 seconds to paint, making it impossible to read any text2.

I know some people who swore by TweetDeck though, so I decided to give it a try on my Mac at work a few weeks ago. I’ve found it to be a very capable client for what I’m starting to need.

I decided to try installing it on my (Gentoo3) Linux laptop, so I could use it at home.

After some Googling, I found some instructions from 2008 for doing exactly this.

The instructions worked… mostly; I needed to make the following minor changes:

  1. As you might expect, both AIR and TweetDeck have changed since then; one major problem is Adobe keeps moving the link for the AIR SDK around (which you need, because they apparently don’t ship just-the-runtime on Linux [anymore?]). This is the current link: http://www.adobe.com/products/air/tools/sdk/thankyou/linux.html.
  2. When you get to that page, you need to have JS on so that the auto-download starts; in some awesome release engineering failure, the link-to-the-thing in the “If it does not start, download it here”-text IS DIFFERENT (and won’t work with the 0.38.1 version of TweetDeck) than what you get if the download JS fires4.
  3. There is one minor error on the instruction page which will trip you up: it says to launch the app with: /opt/AIR-SDK/bin/adl -nodebug /opt/AIR-apps/application-name/META-INF/AIR/application.xml /opt/application-name; directory naming preferences aside, this is wrong. The second argument should be the same as the directory-portion of the first argument, i.e. /opt/AIR-apps/application-name in this example.
  4. If you get the error message “Invalid application descriptor: descriptor version does not match runtime version” that’s because you downloaded the link-the-”OMG DOWNLOAD HERE”-text links to, which won’t work5
  5. When I got TweetDeck launched, it came up (looked as pretty as the Mac, too!), but immediately started complaining about it “having trouble using some of your passwords that are stored securely on your machine. Clicking Submit6 will clear this data so that you continue to use TweetDeck”; it’s nice enough to send you to a FAQ page, but this page talks about deleting your Gnome keyring and all sorts of other draconian solutions; read the ENTIRE PAGE before following any of its instructions.

    In my case, it turned out that since I’m using XFCE (but still have all the Gnome goop installed), Air couldn’t figure out that it wanted to use Gnome7; you need to set GNOME_DESKTOP_SESSION_ID=1 in the environment, and it will work fine.

Other than that, everything has seemingly worked OK!

the only (notable, admittedly) problem that I’ve run into is when I click URLs that aren’t something TweetDeck loads internally, nothing happens; I have to copy/paste.

That may be something with my default web browser in the Gnome goop not being entirely set, though.

I’m looking forward finding all the various bits that kept everyone raving about TweetDeck!

_______________
1 @SoberBuildEng for professional stuff, @preed for personal stuff, and the always-popular @ShitPreedHears for… “stuff”
2 Let’s not discuss the bit about how these types of Firefox extensions aren’t the type Mozilla cares to support anymore, cf. rapid release, and say we did…
3 No ricer jokes!
4 Which, for the record, is a 32 meg file: 95af29afa9b01d0b75d430f854f1c3a061f3fbf7 AdobeAIRSDK.tbz2
5 It’s an old version of the SDK that isn’t compatible with the current version of TweetDeck
6 Which is confusing, because there’s only an “OK” button…
7 It actually told me this in the terminal: Unknown desktop manager, only Gnome and KDE are supported

Tags: , ,
Posted in blahblahblah, tipstricks | 4 Comments »

V843

Not Everything is the Circus

Tuesday, August 9th, 2011

It was the quintessential Twit-versationTM.

Mike Shaver tweeted a couple of weeks ago “you can make a surprising amount of stuff happen just by making people believe it’ll happen, and that it’ll be fun to make it so.”

I replied—admittedly sarcastically—that he, “clearly [had] never been a build engineer.”

Shaver corrected me, but didn’t address the point I was implying. And then it devolved into a critique of analogies, never again to return to the discussion.

Fin.

Thing is, even though my reply was sarcastic, I really did want to substantively discuss it; it’s a topic I struggle with constantly1.

Let us be honest: the core principles and tasks involved with configuration management often provide a roadblock to software development. Anyone saying otherwise is deluding themselves2.

Learning some new tool, merely to submit code you’ve already written to some magical file-store? That’s annoying. Even having to check in3 puts a speed bump in developers’ cognitive flow.

Monitoring some rainbow-colored waterfall of build information after you check in? More distracting annoyances. Plus, it takes4 time.

Coordinating and documenting changes to the official build environment instead of just making them? “Why do I have to do this?”

And yet, all of these are (just a few of the) bread-and-butter tasks for a well-run build/release organization, and they’re all widely regarded as best practices for modern software development.

Obviously, the friction on developers’ work flows and on development teams themselves created by these activities can be reduced5. But they can never be totally eliminated. And none of those tasks are particularly “fun” for developers.

Just like scrubbing the bathroom toilet isn’t “fun.”

Or chemotherapy: not “fun.”

Getting permits for that remodeling project? Wouldn’t describe that as “fun.”7

Doing the fourth release in two days from the Christmas dinner table: no fun.

But they’re sometimes necessary. And we do them because the alternative is worse.

Unfortunately, motivational-speaker pablum won’t change the fact that they’re necessary, nor address the lack-of-fun involved.

I sincerely would love to get people genuinely excited about Perforce integration procedures or release environment reference specifications or build system tools8, so that developers didn’t think of all of these things as such chores.

I would love it if it were as easy as parroting that these things are fun, but as someone who’s been in this role for almost a decade now9, I can tell you it’s never been that simple. It has always relied more on a combination of pain/risk avoidance, management support, and resource allocation and less on “motivational mantras.”

That was my point.

Of course, to the prospect of finding new mantras to try when “No really, this will be fun!” doesn’t work, I say: I’m all ears.

_______________
1 I had gotten distracted from writing this post, to the point I hadn’t finished it; when I ran into exactly this issue again this week, I decided to…
2 Or trying to sell something
3 Sorry, sorry, “push”
4 “Wastes”
5 Especially when the release teams serving them aren’t resource constrained6
6 A niche I find myself having a knack for randomly continuing to fall into…
7 Turns out: my roommate probably wouldn’t either…
8 Ok, maybe not GNU Autotools
9 And who’s still doing it

Tags: ,
Posted in Preed on Build/Release Engineering, blahblahblah | 4 Comments »

V783