The social group Ninja Networks throws a massive party at Defcon almost every year. In the last few years that I’ve been involved, they’ve taken on larger scale projects and built custom badges for the exclusive Ninja Party. This year we took on our largest project yet: building an entire cellphone network. Continue reading
Category Archives: Hacks
Can you bypass Content ID with hue rotation?
Sorry, your browser doesn’t support this Canvas demo.
Well, if you subscribe to the Betteridge school of thought, you know the answer already: No. But that doesn’t mean we can’t have some fun.
document.addEventListener(‘DOMContentLoaded’,function(){var v=document.getElementById(‘v’);var canvas=document.getElementById(‘c’);var context=canvas.getContext(‘2d’);cw=canvas.width;ch=canvas.height;v.addEventListener(‘play’,function(){draw(this,context,cw,ch)},false)},false);function draw(v,c,w,h){if(v.paused||v.ended)return false;c.drawImage(v,0,0,w,h);setTimeout(draw,20,v,c,w,h)} Continue reading
EasyEars.js
I’ve been keeping up with Code Year‘s JavaScript and CSS lessons since the beginning of the year. As part of that, my Syyn Labs friend David Guttman has encouraged me to participate in the JS.LA meetups. Last week David happened to present a new tool he had developed: EasyEars.js. EasyEars helps you build sound reactive javascript by using the Web Audio API. Give EasyEars an MP3 and it will give you audio data representing the lows, mids, and highs. It’s the same sort of data David uses to build live visualizations like Sonic Stalagmites. My favorite part of this project though is the live demo page you can play with.
David mentioned that one of the things that he loves about visualizations is the ability to connect unrelated things. As an example of this, he noted that many years ago he read a review of Monster Rancher that stuck with him. It covered the game’s ability to generate new monsters based on completely random CDs inserted into the game console.
Controlling Onkyo / Integra receivers via RS-232
About six years ago I bought a home theater system with an Integra DTR-4.6 receiver and for some reason last weekend I suddenly wanted to control it remotely. I’ve never really used the actual remote control because the receiver sits in easy reach of the couch and the remote has about 50 buttons when I only use three. I generally leave my receiver at the same volume and just switch the input from the Mac mini to the Xbox 360 and back. I thought it would be nice to power on the receiver from my desk across the room with the proper input selected.
Continue reading
New adventures in avoiding YouTube Content ID
YouTube has Content ID, an automated system where publishers can identify and remove their works from YouTube if others upload them. This is why if you search for popular shows, you’ll usually only find shaky-cam or horizontally flipped versions on YouTube. Cnelson alerted me to the latest wrinkle embedded above: tinting the whole video to avoid detection.
I’ve been curious about the lengths people will go to post content. A couple years ago, Scott Smitelli tested the audio identification engine to see just how much he had to modify a track to have it go unnoticed. Andy Baio has recently covered how YouTube’s Content ID puts too much power in the accuser’s hands.
Dixie-Narco Coke machine free soda vend
My friends received a free soda vending machine manufactured by Dixie-Narco for their workshop (if you’re picturing a soda machine right now, it’s probably manufactured by Dixie-Narco). They wanted it put into free mode so they didn’t have to constantly pump quarters into it. I searched the the internet and found many many people adding momentary push buttons to simulate a coin deposit. I also found $50 one-off relays and even people selling $30 jones plugs to do it. I then found one post describing the right way to do it (cache): Continue reading
Projection mapping business card cubes
I’ve hung onto a few boxes business cards over the years (these particular ones being from Netscape) with the intention of doing a project. I followed the instructions from the well known business card Menger Sponge project to turn 348 cards into 58 identical cubes. The cubes are quite resilient and resist falling apart; even the structures built with them are far more solid than you would expect. 58 cubes isn’t significant, it’s just how many matte white backed cards I had. Continue reading
Google Reader tip: The non-subscribed share
I enjoy the community I’m part of on Google Reader. They share interesting stories and leave insightful and humorous comments. I use Reader for the majority of my content consumption and it is the place I’m most likely to share an article I’m interested in than anywhere else (Twitter, Facebook, Google+). If you’re subscribed to a feed, it’s just a single click to share a feed item with your followers. If it’s content you find while browsing the web, there’s a handy Note in Reader bookmarklet that will share what you highlight on a page.
The Note in Reader bookmarklet works fairly well but usually you’ll see some weird formatting as it struggles with a chunk of HTML divorced from its stylesheet. The following is what I try to do instead of using the bookmarklet: I click on the page’s RSS icon like I normally would when subscribing to a new feed. This loads the feed into Google Reader and shows you a preview of how the feed will appear. Instead of clicking the Subscribe button, I scroll through the feed and find the item I want and use the share buttons as I would normally. It shares the item and I don’t have to do any sort of cleanup removing the feed since I never actually subscribed.
The key benefits of doing this are: The shared item will look way better since it’s appearing exactly like it does in the RSS feed and not scraped from the site. The item you’re sharing is the canonical version; you’ll see Likes by other users and if someone you follow is a feed subscriber and shares the same item you’ll see it globbed in with yours. Finally, it’s only one more click than sharing an item from a feed you’ve already subscribed to and you don’t have to mess around highlighting a selection.
… okay, so the benefits aren’t that crazy, but they’ll certainly keep your Reader shares neat and tidy.
Rooting Droid X Gingerbread and installing Netflix
My Droid X is running Verizon’s official build of Android 2.3.3 (Gingerbread) which is version 4.5.588. Luckily, there’s a very easy tool for rooting this: GingerBreak. Once you have root access you can run the BusyBox installer. I then used adb to get a shell and remount the /system filesystem read/write. I edited build.prop using vi to change two lines so the phone would pass Netflix’s model check. After that, the Netflix app just works. You do need the latest version and not the original leaked apk.
Managing multiple Twitter accounts via SMS
I have a handful of twitter accounts associated with specific events or websites. They’re often updated automatically with no regular intervention by me—I usually don’t even know their passwords. Everything works pretty smoothly until I need to do a manual update. Take the @hackerdrinkup account: It updates automatically with the week’s location, but if something unexpected comes up, I need to update it with the new venue. Many pro mobile twitter clients support multiple accounts and Brizzly supports up to five. I do these updates so rarely that it doesn’t feel worth the expense or setup time… and even if they were setup it still relies on my phone’s sometimes flakey data connection. I set out to build a simple solution that would work with a bare minimum connection. Continue reading