random($foo)

Archive for the ‘Web’ Category

Firefox Developer Edition

Wednesday, November 26th, 2014

I run a lot of browsers – I’ll usually have 3-4 running, a mix of Chrome, Canary, Safari, and Firefox Nightly. With Mavericks, I switched to Safari as my default browser on my MBA due to its power efficiency.  Unfortunately, Yosemite breaks the SIMBL plugin I was dependent on, so it was time to move on.

Chrome has been getting sluggish and I’ve really been liking what Firefox has been up to, but the latest Nightly builds have been not so dependable (I blame e10s but maybe that’s unfair) and since I’m traveling again, daily 90MB downloads isn’t ideal, so I decided to give Firefox Developer Edition a shot.

Turns out, it’s pretty great! It has a dark simple, theme, by default. Is pretty snappy, and the developer tools look great (although at this point I’m so used to Chrome’s keybindings that it’s been a bit awkward switching).

The one fly in the ointment was that 1Password wasn’t playing nice. Luckily, there is a solution. Just upgrade to the latest beta extension and the latest beta version of the app and it’ll work.

If you use Evernote, you’ll also want the beta Clipper that brings it to parity w/ Chrome and Safari.

Lastly, one of the things that I really got spoiled by was Chrome’s particularly elegant “hold CMD-Q to quit” option. While, ever so slightly less elegant, meta-q-override/warn-before-quit does the trick.

I’m currently using Firefox Developer Edition as my new default browser.

The Future of Social Networking

Monday, September 29th, 2014

Ello blew up this week. It’s new and shiny and does some interesting things. That being said, it’s not where social networking or how we use the Internet needs to go.

If you want more reading:

I had posted some of my own initial thoughts, which is that the ideal social network should be end-user controlled and distributed and decentralized. A natural pre-condition is there should be an open protocol, but it’d be worth fleshing out the type of functionality that’s required (I’ll have to revisit some relevant thinking I did in the early 2000s in decentralized SNSs, the mid-2000s on permeability/privacy, and the late-2000s on Y!OS).

FWIW, the more interesting social networking-related project I discovered is an open source, decentralized, massively-distributed 3D simulation engine called Lucidscape. It is explicitly designed for an open metaverse. (See also: Open Cobalt née Croquet)

Blocking Southwest Wifi’s Header Injection With Adblock

Thursday, November 14th, 2013

Since I’m using a new browser, had to re-add custom rules to block Southwest Airline’s obnoxious header injection. (They slap a bar on top of every single HTTP page while you surf – this is *after* paying for it). Here’s the adblock rule I’m using:

connected.southwestwifi.com/unb/*

Making Safari Usable

Tuesday, November 5th, 2013

One of the things that Activity Monitor’s “Energy Impact” fields have made obvious is that Safari 7.0 is significantly more energy efficient than both Chrome 30.0 or Firefox 27a1.

After regular usage, Safari has an Average Energy Impact of about 4-5 5-6 vs Chrome and Firefox hovering at about 8-9. For comparison: Airmail averages about 3, Spotlight is about 2, and Dropbox 0.75. Playing a 720p H.264 MOV in Quicktime Player is about a 9, and playing a 720 H.264 MKV in VLC is 20+.

Recently I’ve been migrating away from Chrome and back to Firefox, as the former has gotten more sluggish, and the latter has gotten a lot faster (Chrome is still my preferred browser for dev and the only option for SSBs), which actually has left me in a good place to try switching to Safari, as I’ve pared down my “necessary” plugins:

  • 1Password 4 – 1Password 4 is a huge improvement and the new way it works w/ browsers (as a simple frontend that interacts w/ a menubar app) makes all the browsers extensions work equally well (previously, the Firefox plugin would constantly freak out). With all the recent hacks, having unique passwords is more important than ever and I can wholeheartedly recommend 1Password.
  • Adblock – Safari only supports Adblock, not Adblock Plus but they both work well enough
  • Lazarus – if you’ve ever lost something you typed into a text box due to a browser close/crash you’ll want this. Available for Chrome, Firefox, and Safari
  • Evernote Clipper – I use Evernote for storing everything. Chrome’s extension is newer/fancier (and has some unique features) while Safari and Firefox are both an older version (but serviceable). I sort of like how the older version works so I’m not really complaining, although it is a bit curious.
  • Pocket – I’ve been using ReadItLater/Pocket for years. All the plugins add a “save to pocket” to the context menu, which is pretty much all I want. The Chrome version is a bit nicer since it has a colored icon in the context menu that actually makes it noticeably easier to us.

I also am using QuickStyle for Safari, which is like Stylish for Firefox or Stylebot for Chrome, but that’s more of a nice-to-have.

The most annoying thing I’ve found so far with using Safari, and probably the biggest reason I’ve never stuck with it, is that CMD 1-9 are mapped to the bookmarks bar and not switching tabs. It’s confounding (especially as I hide and don’t even use the bookmarks bar).

The solution for this is a SIMBL plugin called SafariTabSwitching – there is an installer on the Github page so installing is a snap, and the latest version is updated for Mavericks and is working great.

There are still a couple other niggles (only a single tab unclose), tab-close focusing is different, both Chrome and Firefox have a very useful contextual status bar (ie, when you mouseover a link, the URL shows up in the bottom left), so we’ll have to see if switching to Safari gives enough battery life to make it worth it. I’ll probably be updating this in a week or two w/ how it turns out.

How to Install Pida on OS X

Thursday, August 4th, 2011

For some reason, I got it into my head that I wanted to try out Pida (a Python IDE that embeds Vim or your editor of choice) on my Mac. Well, actually from the description, it sounds pretty cool, right? The screenshots are pretty neat too. Unfortunately, the end result on OS X is somewhat less than compelling.

However, it was a huge fight getting it setup, so I figured I’d write this down for posterity.

There is a PIDA MacPort, however there is no maintainer, it’s for Python 2.6 only, and it didn’t work out of the box for me. You’ll need to fight it enough that you might as well go whole hog. Here’s how I got Pida running w/ MacPorts python27.

First the ports:

sudo port install librsvg py27-gtk py27-gnome dbus-python27 py27-notify-python
sudo port install vte +python27
sudo port install vim +python27 +x11 +gtk2

Then the Python libraries:

sudo easy_install py
sudo easy_install pygtkhelpers
sudo easy_install Logbook
sudo easy_install bpython

Next, after grabbing the source, your build environment:

PKG_CONFIG_PATH="/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/pkgconfig" PATH="/opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin:$PATH" python setup.py build_ext --inplace
running build_ext

Now, you’ll be able to run, but you may get a dbus error (which won’t let you select your editor among other things). Here’s how I made sure that dbus was running:

launchctl list | grep dbus
sudo launchctl load -w /Library/LaunchAgents/org.freedesktop.dbus-system.plist
launchctl load -w /Library/LaunchAgents/org.freedesktop.dbus-session.plist
launchctl list | grep dbus

Note above that dbus-system should be as root, and dbus-session should be loaded as the user.

Once I did this I was able to get up and running, however the Python shell subprocess throws an exception for me, and the font rendering and overall look, and of course all the non-vim keyboard shortcuts are painfully alien. Sadly, if you’re looking for a vim-like IDE-ish solution on the Mac, I think Vico, while quite new and still incomplete, is probably a better bet. If you’re looking for better Python introspection/debugging with a not-totally-awkward keyboard shortcuts (and incidentally, dead easy OS X installs), Reinteract and iep look to be the best choices I’ve found. (There’s also Spyder, which has a python26 Macport, but it depends on qt4-mac which may cause your MacPorts to build the world.)

Downtime, Ubuntu Sysadmin Notes

Wednesday, June 22nd, 2011

After 511 days of uptime, I decided it was time to bite the bullet and do a version upgrade. The `do-release-upgrade` command did what it said on the tin, and the upgrade from 9.10 to 10.04LTS was pretty straightforward (some downtime waiting for the disk to fsck, and requiring ops to manually reset). Unfortunately, the upgrade made WordPress pretty unhappy. Some combination of WP, APC, and potentially WP Super Cache? Instead of using Ubuntu’s APC (3.1.3p1-2) I switched to a pecl install (3.1.9). This didn’t solve things, so I bumped up the apc.shm_size to 128M…

I’ve been lackadaisical lately w/ my sysadmining, but with the unfriendly waters, I took some time to tighten the ship up a bit. I probably be publishing a little “hardening Ubuntu for really lazy/busy devs” guide soon.

Tech Predictions, Five Years Later

Tuesday, June 14th, 2011

Five years ago, inspired by a Yahoo! Answers question (their top answers), I put on my tech futurist hat and wrote up some quick prognostications about
Which products, used by few today, will be essential in five years? This was published, incidentally, on Vox (now defunct). Are you getting that mid-2006 vibe yet? Well, it’s been five years (that was quick), so maybe we should take a look.

I won’t reproduce my original article (linked above), but I’ll go through each of the predictions and make some comments:

  • Software as service is standard – My prediction was that social networking, media sharing, and all kinds of apps would be increasingly integrated/prepackaged OOTB. I think that this has been born out, certainly on the mobile and device front, although this year may be the inflection point for the desktop (iCloud, ChromeOS, etc). Even without that, probably the majority of consumer computing is now service/browser based. I find myself totally dependent on many cloud-based services (Evernote, Checkvist, DropBox, Google Docs, GMail/GApps, Twitter, FB, etc). Also, the majority of my small business’s software is also cloud-based.
  • Global digital identity / reputation / relationship system – my prediction was that online/offline personas, relationships, and physical presence would be tied together, potentially controlled by a single company. I think in mid-2006 I would have guessed Google would end up taking it all, but FB was a strong contender, and they’re on top at the moment. Still, as of mid-2011, this ball is still in play, and there are certain components (location, reputation) that are still almost complete tossups. Note: while FB has been enormously successful and will almost certainly be the first Internet company to hit 1B actives, there are some signs that it may have peaked in its developed markets, so it’s not invincible. There’s also a lot of potential left in terms of social utility that’s still completely unexplored (and only in the most superficial ways in many other cases).
  • Digital media – I predicted streaming/wireless syncing of media from anywhere. While iCloud was only just announced (to compete against Amazon Cloud Drive, and Google Music) and music has been lagging a bit (although celestial jukebox services like Spotify and Rdio have been hitting it out of the park, so maybe unfair to dismiss music completely), we’ve seen this come true much more for video. Maybe this is due to the competition traditional TV/Film has faced from the YouTube/Internet video juggernaut (my first YouTube video, uploaded just over 5 years ago). Netflix in particular, which not only has overtaken web traffic, but also BitTorrent. Expect the cord-cutting to accelerate. One last observation. Amazon’s current homepage menu now completely highlights digital goods:
    Amazon.com: Online Shopping for Electronics, Apparel, Computers, Books, DVDs & more
  • Smart phone – I think I hit this one 100% percent. Not much to say about it. Well, one caveat is that while there were rumors of an iPhone floating around for years, it wouldn’t be announced for another 6 months. Apple gets huge props for single-handedly helping to drag the lagging handset/telecom industry into this future, as well as totally shaking things up with its App Store. I’m sure there are some charts somewhere that show recent numbers on mobile vs fixed Internet use, but if that number hasn’t been crossed, I’m sure it will be soon.
  • RFID – I was totally wrong. At Lensley, we’ve been doing some neat RFID integrations with clients, and RFIDs have had huge adoption in thing that touch people’s daily life, like in supply-chain and public transit (as well as less well thought out ways, like US Passports). On the whole, though, they’ve remained too expensive and too niche to get much consumer love (kits from Sparkfun notwithstanding). While NFC in Android (an RFID-compatible superset) has gotten lots of hubaloo, there’s pretty much zilch in terms of real world use, much less anything remotely spimey. We’ll have to see how mobile payments pan out over the next couple years. (2012?)
  • Self Monitoring – While the Quantified Self has been getting some traction (a conference! breathless writeups!) and there are a proliferation of services and devices (Runkeeper, FitBit, Gowear Fit, Zeo, Withings, etc), this is still a pretty niche/nascent movement. I have no doubt it’ll keep growing, and there are some pointers (the proliferation of Feltron-like reports for social activity, checkins) that there’s a tipping point approaching. We’ll see
  • Personal Aggregators – I saw the other day that Flipboard’s at 400M flips/month, and one might argue that Facebook’s news feed algorithms, modern blogs (Gawker, HuffPo, Engadget, etc), or even Twitter have stepped in to fill big roles in terms of filtering the bombardment of crap, but it seems like treading water. I would have expected some smarter/more robust attention management tools to have been developed, but maybe I’m completely wrong on how most people handle infoglut.
  • Shared everything – obviously wrong about fine-grained privacy. Facebook has given us a “mostly private enough sort of for now” model that’s been pretty sucessful. Certainly at moving everyone torwards the social-everything model (you win some, you lose some).

Of my long-shots (things that I thought would be awesome), we actually got one of them in a huge way. At the time I had written this, I just received my iRex Iliad ($700) after waiting for years for an honest to goodness E-Ink device. Sadly, it was a pretty useless white elephant of a device. However, the display was phenomenal, so I threw it on the list. In late 2007 Amazon released the first Kindle, and a few weeks ago, Amazon announced that it is now selling more Kindle books than print books. The Kindle 3, BTW, was the best-selling product in Amazon’s history.

3D printing/fabrication has gotten a lot more traction (even a recent Stephen Colbert interview), as has the maker movement in general. Although it’s still niche, the pricing is right. At $1300, the Thing-O-Matic is cheaper than most people’s first laser printer.

AR HUDs, are as ever, another 5 years away. (The OVF on my X100 is pretty sweet though.)

OK, that’s all well and good. But how about the things that I missed completely. Here’s a short list:

  • Location – while I tangentially mentioned location, I never listed LBS, mapping and other location services explicitly. Looking back, this is a 100% obvious thing, considering how much usage has exploded since. My only excuse is that being hip-deep/working for so long on local/map/mobile stuff at the time probably blinded me to how ubiquitous it wasn’t for the rest of the world while writing this. (I was working on geocoding/map/checkins at Upcoming, and from ZoneTag to Checkmates, to Yahoo! Maps, I was surrounded by all kinds of crazy LBS/geo/mobile stuff).
  • Twitter – I probably first saw Twitter about a month after I wrote my original post. At the time it was “twttr” was a completely different beast – very SMS focused, like group chat. I passed, and didn’t even bother signing up until a few months later when visiting with friends in the UK (it got a lot of early traction because it was cheaper than texting). It took a while (early 2007?) for me to really get to grips with Twitter (writeup here). Kudos to Jack, Noah, Ev, et al for trying out something new, and then working at it for years to refine it. It’s gone through a lot of transformations (mostly for better)…
  • iPad – I was a close follower of the Mobile+UMPC+Tablet industry at the time, and if you had told me that in a few years Apple would have released a friggin Dynabook with 10 finger multitouch, 10 hour battery life, amazing responsiveness, and an a complete App Ecosystem (backed by 10s of millions of sister devices), selling for $500 I would have smacked you. After which, I’d have gone out and bought a lot more Apple stock. Like the iPhone when it launched in 2007, the iPad came from a few years in the future and dragged everyone else, kicking and screaming.
  • Wikileaks – Even during the year of the iPad launch, however, probably the biggest and most unexpected story of 2010 was Wikileaks (some of my favorite writeups). It has literally changed the world, and the most amazing thing is that it’s been a story that’s been in the making for years, if not decades. Wikileaks and many other stories happening right now (the Arab Spring, Anonymous, LulzSec) in many ways epitomize Clay Shirky‘s postulate that “Communications tools don’t get socially interesting until they get technologically boring… It’s when a technology becomes normal, then ubiquitous, and finally so pervasive as to be invisible, that the really profound changes happen.”

OK, in hope of publishing soon, I’ll be wrapping up now. No 2016 predictions from me, but maybe it’ll be worth catching regardless up in a few years. For those that are really interested in the things catching my attention these days, here’s a spring graph I made early last year:

On My Mind

Update: An editor from the International Business Times dropped a line yesterday with a few questions. Here’s the writeup they did today in the Luxury and Brands section today: Blogger Correctly Predicted the Future in 2006 (Mostly)

SCHED Mobile Maps for SXSWm

Thursday, March 17th, 2011

(cross-posted from the SCHED blog)

Hey SCHEDxSWers. SXSWm is in full swing, so it’s a bit of a crazy time to push out new features, but what the hell, right? In that spirit, here’s a new feature I’ve been working on that has been super-useful for helping me navigate around.

Simply put it’s a map layer that includes your SCHED as well as every other event that’s happening over the next few hours. But wait, there’s more! Since we have a few thousand people making SCHED’s this year (yeah!), we actually have some decent data on how relatively busy any specific show is going to be. When you click in, that’s represented by the length of the red bars (with longest being most busy).

I’ll be trying to add a couple more features, over the next couple days, but I think it’s pretty useful as is and we’d love to hear your feedback as we whip this into shape.

Map Overview Map Detail

Here are directions on how to get this working on iPhone and Android (we haven’t tested anything else yet, so let us know how it works elsewhere. It’s just a KML map, so it should work anywhere that supports it).

This is the map URL, replace ‘lhl’ with your username:

http://atx.sched.org/lhl/map

On Android, all you have to do is type this in the Google Maps Search Bar. Make sure you type the whole URL with http and it’ll give you what you see in the screenshots.

On iPhone, unfortunately, you lose all the detail information with the default map, but if you go to http://maps.google.com/ in Mobile Safari and type in the Google Maps Search Bar it should work.

On iPhone, there’s a free app called My Maps Editor that you can use (it’s great, but you need to click in preferences to make it refresh), and on both, loading your map URL in Google Earth also works.

Let us know how it works for you (though it’s fresh untested code with sharp edges, so it might not!) and feel free to send bug reports to lhl@sched. If none of the directions make sense, don’t worry, we’ll push it into the main mobile site as it gets more baked soon.

Old Code: pystatsd-flickr

Friday, March 4th, 2011

I was digging out some old code and realized that it might be useful for some, so threw it on github. Nothing special, just a lightweight python port of some of the old Flickr statsd that I wrote… almost two years ago. (time flies!)

If you’re looking to run something fancier in production, it looks like Etsy has some great stuff going on (see also).

Anyway, if you just want a quick graph and/or don’t want to setup Graphite, the code I’ve put up should get you generating an RRD pretty quickly.

Making sure WordPress is up-to-date

Saturday, February 19th, 2011

For anyone that has to manage many (any?) WordPress instances, keeping it up to date can be a real PITA. (I don’t expect WP to ever have an SSH vs FTP based auto-update).

The best way to make life a little easier is to move over to using svn tagged versions. Then you can simply switch over the next time a security vulnerability is patched with a simple ‘svn’ switch.

Here’s some simple bash-ness that’ll help you know when to upgrade. In *theory* you could run this on cron and have it auto-update, but I’m assuming that if there’s a DB schema update required, you’ll need to watch over it, so probably not something you want to run on production without some verification:


installed_version=`svn info $yourwp | grep URL | cut -f 2 -d' '`
current_version=`/usr/bin/lynx --dump --nonumbers http://core.svn.wordpress.org/tags/ | tail -n 2 | head -n 1`

if [ installed_version != current_version ]; then
  # this is where you could get fancy and do an svn switch and update
  echo `date` | mail -s "WP is out of date!" yourmail@example.com
fi