Steven Hyden for Grantland:

RAM's most polarizing track is "Giorgio by Moroder," in which the 73-year-old Italian disco pioneer talks about the origins of his career over a swirling soundscape […] The song has been dismissed as a hectoring history lesson for bratty club kids. But when Moroder talks about his early ambition to make an album "with the sounds of the '50s, the sounds of the '60s and the '70s, and a sound of the future," he could just as well be talking about Random Access Memories.

I'm a fan of the song, and I'm a fan of the concept of the album. I think that Daft Punk were completely self-aware when they stuck this little nugget into 'Giorgio by Moroder'.

That said, I don't expect I'll listen to RAM more than a few times through. I like the concept, but I'm not feeling the album, itself.

Posted
AuthorJehan Alvani
CategoriesLinks

Good idea from Amy Worrall regarding how Apple might handle App Store trials. I like her concept a lot, but would add that devs should be able to set a flag in iTunes Connect to reset trial periods for all Apple IDs.

Gruber gave it a quick mention. I bet she's on the right track with this one.

Posted
AuthorJehan Alvani
CategoriesLinks

Thus, as long as I am standing in Carlisle, PA, I can’t watch Phillies broadcasts. However, if I go a half hour to the west in Chambersburg, PA, Phillies games are not shown on television, but also are not blacked out in the packages. If I go a half hour to the east in Harrisburg, PA, Phillies games are blacked out in the packages, but shown on local television. Therefore, this tiny strip of land in Central PA is the only spot in the entire country that one can not legally watch Phillies games. It is purgatory for a Phillies fan.

It's completely ridiculous that these restrictions are in place. If the MLB was trying to proctect the local affiliates, they would show the local affiliate stream with the ads intact, and give revenue back to the affiliates. The current state just hurts customers.

If only there was some way to get around MLB's ridiculous blackout policy.

Posted
AuthorJehan Alvani
CategoriesLinks

I’m back on Fever. Years ago, I installed Shaun Inman’s RSS aggregator and reader because I was looking for a way to deal with my sprawling RSS list. Fever’s novel approach promised to show me the most interesting stuff by letting me see the stuff that was being most talked about by people whose opinions mattered to me. I liked the interface, but when the iPad came out, I wanted something that felt more natual on the iPad. As soon as Reeder came out for iOS, I jumped ship to the Google Reader + Reeder bandwagon.

Fever has gotten so much better than when I last looked at it. Its iPad view is vastly more usable than I remember, and the ability to do feed refreshes through a crontab entry on your server is a pretty solid solution. Of course you still have the option to also refresh your feeds when you load the Fever page, so it feels like your feeds are always up-to-date.

It’s also a lot more clear, now, how to use Sparks. I spent the last few years culling my RSS subscriptions. I eliminated nearly every high-volume site, and kept only a handful of feeds from people whose every word I wanted to read. I’m now going back and re-subscribing to a handful of high-volume sites, specifically to use them as Sparks[1].

I’ll probably have more to say about it after I’ve gotten a few days to use it again. But, I’m really excited about it at the moment.


  1. This is definitely going to be a balance that will take a while to get right. I’ve noticed that adding the RSS feed from Pinboard’s Popular Page can create a lot of duplicate entries in my “Hot” view. I’ve done zero research on this, though.  ↩

Posted
AuthorJehan Alvani
CategoriesArticles

I’m using a service called Unblock-Us to specific domains for me. The service is really excellent; a DNS-based service that (I assume) works by accepting DNS requests on their service, they proxying the request and all responses through their network. I say “I assume” because when I emailed Unblock-Us for confirmation, they wouldn’t confirm or deny my assumptions. I guess they didn’t want to give up the recipe to their secret sauce. Can’t blame them.

Now, while Unblock-Us is DNS-based, I’m not too cool with the idea of sending all of my DNS requests across the internet. I cooked up a little modification to my caching DNS server that sends the domains I specify to Unblock-Us, forwarding other requests to public DNS servers the first time, then just serving them up locally. Here’s how I did that.

  1. First things first, I signed up for Unblock-Us[1], and I activated it.

  2. I created a fresh SD card for my Raspberry Pi. You could run this on any Mac or pretty much any Linux distro. I’m sure you could make it work on Windows, though I have no idea how. There are plenty of reasons to use something more powerful than a Raspberry Pi, but I don’t care about them for the time being. The Pi is fine for me.

  3. I got the Raspberry Pi online and gave it a static IP on my network.

  4. Installed BIND 9, a great and really widely-used DNS server.
    sudo apt-get install bind9 on Debian (or Raspbian or Ubuntu) systems.

  5. Modified my configuration files, by adding the following lines to the listed files:

    1. /etc/bind/named.conf.options
      This specifies the DNS servers that my BIND server will forward requests to when it doesn’t already know how to handle them. It’ll take all answers from these guys and cache them until the TTL expires, so it can handle future requests without going out to the internet.

       forwarders {
              4.2.2.2;
              8.8.8.8;
        };
      
    2. /etc/bind/named.conf.local
      This defines the zones for specific domains that will just be forwarded to Unblock-Us’s DNS servers.

      ######
       # Conditional Forwarding Zones: These zones forward their DNS requests as specified
       ######
      
       Zone "unblock-us.com" { type forward; forward only; forwarders { 208.122.23.22; 208.122.23.23; 184.106.242.193; };};
       Zone "domain1.com" { type forward; forward only; forwarders { 208.122.23.22; 208.122.23.23; 184.106.242.193; };}; 
       Zone "domain2.com" { type forward; forward only; forwarders { 208.122.23.22; 208.122.23.23; 184.106.242.193; };};
       ⋯
       Zone "domainN.com" { type forward; forward only; forwarders { 208.122.23.22; 208.122.23.23; 184.106.242.193; };};
      

      The first line, above, sends all requests for unblock-us.com to the Unblock-Us DNS servers (primary, secondary, and tertiary in order). The other lines, I populate with any other domains I’d like to send to Unblock-Us, just by replacing “domain1.com”, “domain2.com” … “domainN.com”. For example, if I wanted to send DNS requests for Google, Netflix, and Apple to Unblock-Us, my file would contain the following lines:

      ######
       # Conditional Forwarding Zones: These zones forward their DNS requests as specified
       ######
      
       Zone "unblock-us.com" { type forward; forward only; forwarders { 208.122.23.22; 208.122.23.23; 184.106.242.193; };};
       Zone "google.com" { type forward; forward only; forwarders { 208.122.23.22; 208.122.23.23; 184.106.242.193; };}; 
       Zone "netflix.com" { type forward; forward only; forwarders { 208.122.23.22; 208.122.23.23; 184.106.242.193; };};
       Zone "apple.com" { type forward; forward only; forwarders { 208.122.23.22; 208.122.23.23; 184.106.242.193; };};
      

      It’s worth noting that Unblock-Us doesn’t support Google or Apple, so while they will properly handle the DNS request, they will not provide any additional benefit. I was just providing them as a configuration example. Netflix is a supported site, and a full list of supported sites can be found here.

  6. Finally, I updated DHCP settings on my router[2] to point to my BIND server as the primary DNS server, and public DNS[3] as the secondary DNS server. As my devices DHCP leases came to expire, they’d check in with the router, and the router would hand them a new lease with the updated DNS settings.

I’m sticking this here because I thought some of you might find it helpful. This isn’t a solution for those who are less than technically inclined. To be honest, I don’t know enough about BIND to really troubleshoot it, but there’s tons of helpful documentation online. If I learn anything significant, though, I’ll post more about it.


  1. An affiliate link. If you sign up with this, I’ll get a little kickback. If you don’t want to use my affiliate link, here’s a non-affiliate link.  ↩

  2. Or DHCP server, if you run a seperate DHCP server. I’m running it all from my AirPort Extreme, though.  ↩

  3. I’m using 4.2.2.2, just like the forwarder on my BIND server.  ↩

Posted
AuthorJehan Alvani
CategoriesArticles

I'm not a big Folder Actions user; a lot stuff that Folder Actions is designed for, I accomplish with some shell scripting & cron jobs, or Hazel.

I was surpriesd to find that when I tried to set up a new Folder Action in 10.8.2, it wasn't available; "Folder Actions Setup…" wasn't an option in the "Services" menu for any folder. Apparently, it's a pretty common problem for Mountain Lion users. Here's how I fixed it.

  1. Create ~/Library/Scripts/Folder Action Scripts/ & drop the folder action script you want to add in there.
  2. Strangely, open System Preferences → Keyboard → Keyboard Shortcuts, and click the "Reset to Defaults" button.
  3. Scroll up to the "Files & Folders" section, and make sure that the "Folder Actions Setup…" listing is checked.

My guess is that if you were like me and had some custom keyboard shortcuts when you upgraded from 10.7.x to 10.8, it borked up the Keyboard Shortcuts upgrade, which in turn borked up the Services menu. Dumb.

Source: topsites://
Posted
AuthorJehan Alvani
CategoriesArticles

Beautiful, really well thought out redesign of the iPhone lockscreen by Brent Caswell. There's not much I disagree with in here; although I'm not sure I'm down with how he defines what gets control of the "grabber". It could be confusing if I sort a card to be the first card, or if a card takes control of the first card.

Posted
AuthorJehan Alvani
CategoriesLinks

Prabhakar wrote an ant algorithm to predict foraging behavior depending on the amount of food – i.e., bandwidth – available. Gordon's experiments manipulate the rate of forager return. Working with Stanford student Katie Dektar, they found that the TCP-influenced algorithm almost exactly matched the ant behavior found in Gordon's experiments.
"Ants have discovered an algorithm that we know well, and they've been doing it for millions of years," Prabhakar said.

Amazing.

Posted
AuthorJehan Alvani
That's what Bakardy stole from Teller: not the secret, but the magic. In his hands and in the hands of his desperate customers, Shadows risked becoming another Origami or the Zig-Zag Girl. It risked becoming ordinary, remembered for what it was only in eulogies.

A great article by Chris Jones in Esquire about Teller's quest to protect one of his most awe-inspiring tricks. See also this 2008 Las Vegas Weekly article about the briefly-mentioned "The Red Ball" trick that teller spent eighteen months working on before he performed it. Actually, I consider the 2008 article required-reading before moving on to the Esquire article.

For what it's worth, they're great Instapaper fodder.

Posted
AuthorJehan Alvani
CategoriesLinks
The TSA’s mother, DHS, has admitted now that their porno-scanners are only good for peep shows, and have asked DARPA to step in and make more bad-ass scanners for them. So TSA got all hot and bothered installing these scanners in 2010, now have more than 700 of them in operation, and just two years later they need new ones?

That’s what I call effective fiscal spending.

There just aren't words for how much of a gigantic failure the TSA is. Go read all of Ben's article. It's short. If you aren't furious by the end of it, you aren't hooked up right.

Posted
AuthorJehan Alvani
CategoriesLinks

I use Screen and a trusty USA-19HS for serial terminal emulation. Whipped up a quick TextExpander snippet to get me a new Screen, with baudrate options. Maybe you'll find it useful.

screen /dev/tty.KeySerial1 %fillpopup:name=Speed:1200:2400:4800:default=9600:14400:19200:38400:57600:115200%

TextExpander Configuration

Example

Posted
AuthorJehan Alvani
CategoriesArticles