• Daniel Shiffman works as an Assistant Arts Professor at the Interactive Telecommunications Program at NYU’s Tisch School of the Arts. Originally from Baltimore, Daniel received a BA in Mathematics and Philosophy from Yale University and a Master’s Degree from the Interactive Telecommunications Program. He is the author of Learning Processing: A Beginner’s Guide to Programming Images, Animation, and Interaction and a founder of Page Seventy Three Productions, Inc. a non-for-profit theater company dedicated to producing and developing the works of emerging playwrights.
  • This page contains a simple Treemap library for use with Processing It is a minor adaptation of Martin Wattenberg and Ben Bederson's Treemap Java Algorithms collection, released under the Mozilla Public License. Only a small percentage of the original code has been altered from their original library. The reference covers the details.

    The Processing library can be found here: library.zip. Unzip the file, and place the treemap folder into your Processing → Libraries folder. Restart Processing if it's already running so that it picks up the new library.

    Reference and source code is included with the download. This code was packaged for the book Visualizing Data by Ben Fry for the examples in Chapter 7.

  • new diff algorithm that knows more about the kind of data we are pushing – large files containing compiled executables.  Here are the sizes in bytes for the recent 190.1->190.4 update on the developer channel
  • bsdiff and bspatch are tools for building and applying patches to binary files. By using suffix sorting (specifically, Larsson and Sadakane's qsufsort) and taking advantage of how executable files change, bsdiff routinely produces binary patches 50-80% smaller than those produced by Xdelta, and 15% smaller than those produced by .RTPatch (a $2750/seat commercial patch tool).

  • Normally smartphone events are tightly coupled to your phone device itself. When your cell phone is ringing, your phone speaker plays a ringtone. When you get a new text message, your phone displays it on its screen. Wouldn't it be thrilling to make thoses phone events visible somewhere else, on your wearable, in your living room, on your robot, in your office or where ever you want it to occur? Or would you like to use your smartphone sensors, like the accelerometer, light sensor, compass or your touchscreen to control other devices? 'android meets arduino' is a toolkit, basically consisting of an Android application and an Arduino library which will help you to interface with your phone in a new dimension. You can build your own interfaces almost without any programming experience.
  • Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It's intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments
  • DOSBox is a DOS-emulator that uses the SDL-library which makes DOSBox very easy to port to different platforms. DOSBox has already been ported to many different platforms, such as Windows, BeOS, Linux, MacOS X…

    DOSBox also emulates CPU:286/386 realmode/protected mode, Directory FileSystem/XMS/EMS, Tandy/Hercules/CGA/EGA/VGA/VESA graphics, a SoundBlaster/Gravis Ultra Sound card for excellent sound compatibility with older games…

  • Native Client is Google's technology to host native applications in the browser.  It is not ActiveX and it is not Java.  I will let you go to the Google Native Client site to learn more, but suffice to say that it is going to change everything (I hope!). 

    When I first read about Native Client, I was struck by the possibilities.  The more I thought about Native Client, the more I started to talk to my coworkers about Native Client as "The Plugin to Rule Them All."  The project is open source and I have been following the development of the project for years now.  In the beginning, it was esoteric CPU architecture stuff, but it has recently started to become high level.  As I write this in mid-2011 on the eve of Google IO 2011, I can definitely see that they are nearing release.

  • Readability is a browser bookmarklet that takes a crack at wiping out all that junk so you can have a more enjoyable reading experience. It works with all the latest browsers and its success rate is pretty respectable (we'd guess over 90% of web sites are handled properly).
  • Version control, also known as source control or revision control is an integral part of any development workflow. Why? It is essentially a communication tool, just like email or IM, but it works with code rather than human conversation.
  • The PHP Fog application stack is designed to provide reliability, easy of use, scalability, and speed. From the incoming HTTP request to the delivery of your critical data and features, we’ve baked in redundancies and optimizations in every piece of the stack to deliver reliability and speed. We’ve talked to thousands of customers to understand the pain points and build an infrastructure that automates scalability and makes deployment and management of applications easy. Developers love us, and IT departments need us.
    (tags: hosted php)

  • DBDesigner 4 is a visual database design system that integrates database design, modeling, creation and maintenance into a single, seamless environment.

    It combines professional features and a clear and simple user interface to offer the most efficient way to handle your databases.

  • Design, publish and share database schemas and let your community enhance, discuss and search on them easily.
  • ated_at"=>"2008-01-14T04:33:35Z"},
    "f
    (tags: github)
  • E is a new text editor for Windows, with powerful editing features and quite a few unique abilities. It makes manipulating text fast and easy, and lets you focus on your writing by automating all the manual work. You can extend it in any language, and by supporting TextMate bundles, it allows you to tap into a huge and active community
    (tags: editor)
  • DACP is similar to the well-known DAAP, using Bonjour MDNS to find libraries, then using HTTP requests with binary responses to transfer data. After a few days in front of packet dumps, I have most of DACP decoded.

    With the protocol now reverse engineered, I wrote an Android client in about a week. Now you can remote control your iTunes from your new Android phone when it arrives later this year. This works out of the box without installing any extra software on your PC or Mac. Here's a quick video in action on the emulator:

  • Bonjour, also known as zero-configuration networking, enables automatic discovery of computers, devices, and services on IP networks using industry standard IP protocols. It is a key component of Apple applications (e.g., iTunes, iPhoto), services (e.g., MobileMe) and devices (e.g., Apple TV, and Airport). Developers can easily leverage Bonjour from both Mac OS X and iOS.
  • The specification for IPv4 Link-Local Addressing is complete, but the work to improve network ease-of-use (Zero Configuration Networking) continues. That means making it possible to take two laptop computers, and connect them with a crossover Ethernet cable, and have them communicate usefully using IP, without needing a man in a white lab coat to set it all up for you. Zeroconf is not limited to networks with just two hosts, but as we scale up our technologies to larger networks, we always have to be sure we haven't forgotten the two-devices (and no DHCP server) case.
  • Bonjour can do some pretty rad stuff. It can automatically find and configure printers on the local network, discover webservers and automatically present a list of them to Safari, have text (or A/V) chats and send files over iChat to other network users, and stream music and photos using iTunes and iPhoto. But Bonjour isn’t just limited to Apple’s own, oh no, an increasing number of developers are improving their applications by adding Bonjour technology. For example, SubEthaEdit and VoodooPad Pro both use Bonjour to share and collaborate on documents, Address-O-Sync uses it to syncronise address books across networked Macs, and a Bonjour Browser has even been crafted to show all bonjour services currently being broadcast.