Technology

SOPA and PIPA Explained

SOPA and PIPA are copyright bills that are coming up to a vote soon in US Congress. SOPA – the “Stop Online Piracy Act” – is the House version, and PIPA – the “Protect IP Act” – is the Senate version. You may have heard SOPA and PIPA mentioned in the news recently. You may also have noticed that over 7,000 sites around the Internet were inaccessible yesterday (January 18). Those 7,000 sites were protesting by self-censoring, and yesterday alone over 7 million Americans called their representatives in opposition to the SOPA and PIPA.

Someone asked me to provide a non-technical explanation of these bills, to understand what is at stake.

SOPA and PIPA are intended to protect copyrighted materials and stop piracy (as their names would suggest). However, what they do to combat piracy is to create a national censorship system. On the frontside of the Internet, search engines like Google and Bing would be required to remove listings for any sites accused of containing links to infringing material. On the backside of the Internet, servers known as nameservers would be required to block access to any accused site. A nameserver is the technology that tells your web browser where to go when you type “google.com”. This level of nameserver-level blocking is already prominent in countries like China and Iran.

An earlier copyright law from 1998, the Digital Millenium Copyright Act (or DMCA), required copyright owners to request that material be removed from websites and services. In SOPA, that requirement would be directed to the websites themselves. All websites and services would be required to immediately remove links to copyrighted materials, or else their domain would be blacklisted and their site shutdown. Most user-generated content sites such as Wikipedia, YouTube, Vimeo and Flickr would be forced to shutdown, as it would be technically unfeasible to keep up with enforcement on such high traffic sites. Social networks like Facebook, Twitter and Google+ would also likely not be able to continue operations, as any post or comment that contained a link to copyrighted material could potentially shut down the entire site.

Protecting copyright is important, but far-reaching censorship isn’t the way. We can take action and prevent these bills from becoming law. Wikipedia has provided a ZIP lookup tool to point you to the online contact forms for all your representatives.

Bookshelf

The Virtual Making of Things

I love it when Cory Doctorow tweets out a request for ideas for his next MAKE Magazine column. Near instantly, my Twitter feed is flooded with wonderful and intriguing ideas, each one as fantastic as the next. This time, the ideas caused my brain wheels to spin feverishly, and then I had a light bulb.

I’m a web developer – that is, I spend a good portion of my time writing code. I tap into APIs (Application Programming Interfaces) and manipulate the steady stream of data. Just last month, I wrote some code to interact with the Google Geocoding API and the FCC’s Census API. Enter a US address, get back a census tract (the neighborhood-sized organizational units that the Census Bureau breaks cities and counties into). Developers love taking data and making it do useful things.

Writing code is the virtual making of things.

I’m not talking about making things like in Second Life, where you can write a script to create a virtual object in a virtual world that does virtual things. No, I’m talking about writing code (and building upon others’ open code) that makes something that is useful in the real world. The 50,000+ developers on Apple’s iTunes App Store and Google’s Android Marketplace are makers. Hundreds of thousands of apps that transform our smartphones into task managers, alarm clocks and weight-loss coaches.

Now, imagine a world where everything is programmable. Every physical object has an address and an API. In Doctorow’s Makers, he describes an inventory system where every object in your house is addressable. Take that a step further, where every object in your house is programmable. Not just the obvious, like the refrigerator that orders missing ingredients from your weekly recipes, or the central heating/cooling that adjusts temperature based on who is home and how they’re feeling. I’m talking about MAKE-style innovation – appliances that talk to each other, bookshelves that recommend your next novel, tables and chairs that adjust themselves to the user, gardens that monitor and adjust soil nutrients. If you’re thinking that sounds like artificial intelligence, you’re right – it nearly is. But until AI can achieve sentience (self-awareness and self-control), all of these pseudo-intelligent objects must be pre-programmed by developers.

Such is a world where software developers are the stewards of our daily living. And the makers at MAKE and all around the world are building the hardware to take us there.

Original photo by heipei, via a CC License

MacBook Pro

Mac-based Web Development

MacBook Pro

A few people have asked me what I use for web development on the Mac. I dabble in PHP, (x)HTML, CSS, and Javascript all day long, as well as poking my head around MySQL databases and checking in and out code from SVN repositories. I do all of this from a 15″ MacBook Pro (late 2007, pre-unibody). Since Mac OS X is UNIX-based, I could do all of this from the command line with vi, nano, svn, mysql, etc.

But being a Mac user, I like to take advantage of the gorgeous graphical user interface. Here are the applications (all free!) that I use for developing on Mac:

  • FTP/SFTP/WebDAV – Cyberduck
    Cyberduck is an open source FTP client that feels right at home on Snow Leopard. There are a ton of features, and seamless integration with many text editors. I’ve heard that Transmit is the best FTP client for Mac, but it’s not free, and Cyberduck has everything I need, including a duck for a Dock icon. Because I need that, you see.
  • Text Editor – Fraise
    Fraise is an open source text editor with syntax highlighting for nearly every language, a snippet library, advanced find and replace (in all open documents, even!),  split window and function bookmarking. If that sounds like a lot, it certainly is, but Fraise still feels like a lightweight, simple text editor. It’s based on the now-defunct Smultron. That’s the wonder of open source – stop developing your project, someone forks it and continues for you!
  • MySQL Editor – Sequel Pro
    HOLY AMAZING COW, Sequel Pro (which is open source and free, despite the name) is a game-changing SQL browser that maintains a list of all your MySQL servers/databases, and allows for extremely fast editing and maintenance. If you hate phpMyAdmin with a passion (as I do), you’ll love Sequel Pro. The only downside is that your webhost must support remote connections to their MySQL servers (GoDaddy doesn’t, for example, but DreamHost does).
  • SVN – svnX
    svnX is probably the best free GUI-based SVN client for Mac right now. It’s interface isn’t extremely intuitive, but it’s definitely better than the alternatives, and a little more fun than remembering all the svn command line options. Make sure to download the latest stable release from Google Code (that’s what I linked), not the developer’s website that shows up top in Google searches.
  • File Comparison – FileMerge
    Apple’s FileMerge is included with Xcode as a part of the Apple Developer Tools. It provides a graphical interface to the traditional diff command, letting you compare two different versions of the same file for changes, as well as file ancestry comparison. Before I discovered FileMerge lying around on my hard drive, I used the open source DiffMerge.
  • Command Line Tools - Terminal
    The built-in terminal emulator in Mac OS X is comparable to similar offerings from Ubuntu and other Linux distros. Nothing special, but you’ll feel right at home if you’re familiar with *nix systems. I use Terminal for SSH, SCP, and scripting tedious tasks, like backups or disabling comments across an entire WordPress network.

Photo by Peter Fuchs, via a CC License

Pygmy Hedgehog

New Theme, and Hedgehogs

Pygmy Hedgehog

This post doesn’t have anything to do with hedgehogs, I just think this photo is freaking awesome.

We’re experimenting with a new theme on philipandjenny.com, one that hopefully will work side-by-side with jennycain.com. The theme base is Mystique by digitalnature. It has a ton of options! If you are a WordPress admin, definitely give the Mystique theme a peek.

Speaking of WordPress, I just recently published a plugin called Dev Corner Badge. It’s not much (and really doesn’t do much!) but it scratched an itch so I figured I might as well share it with the world. Plus, publishing it to the WordPress Plugin directory makes it dead easy to install from any site.

Photo: “african pygmy hedgehog” by Adam Foster. Some rights reserved.

New Hosting!

We just finished up switching philipandjenny.com to a new hosting service, DreamHost. DreamHost really is a dream when it comes to running a website. I highly recommend it. If you find any problems in the RSS feed or elsewhere on the site, let me know.

I also just upgrade to WordPress 3 and converted to a multisite install. Now we can start setting up jennycain.com (Jenny Cain Candy?).