Field Recording: Underwater Earthquake

This is an epic underwater recording of the 2004 Indian Ocean earthquake that occurred at 00:58:53 UTC on December 26, 2004, with an epicentre off the west coast of Sumatra, Indonesia. The quake itself is known by the scientific community as the Sumatra-Andaman earthquake.

I did not record this myself, I found it shortly after the quake on a scientific site about the earthquake. I recommend you listen to it LOUD. It is truly a humbling sound. Enjoy.

Tsunami Earthquake by musicalgeometry

  • Digg
  • StumbleUpon
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Technorati
  • LinkedIn
  • RSS
  • Slashdot
  • Twitter
Posted in field recording, nature, sound | Leave a comment

Change Your Company Name In XCode

If you want your own company name to be automatically included in your XCode source files instead of this:

//
//  helloworld.m
//  helloworld
//
//  Created by John Smith on 24/10/09.
//  Copyright __MyCompanyName__ 2009. All rights reserved.
//

then it is time to open up your Terminal app.

Terminal 2

OSX Terminal app

You will find it at ~/Applications/Utilities/Terminal.app.

Enter the following in the open terminal (replacing the company name with yours):

defaults write com.apple.Xcode PBXCustomTemplateMacroDefinitions '{"ORGANIZATIONNAME" = "Smith Incorporated";}'

Now when you create new source files in XCode you will see this:

//
//  helloworld.m
//  helloworld
//
//  Created by John Smith on 24/10/09.
//  Copyright Smith Incorporated 2009. All rights reserved.
//

Much better.

  • Digg
  • StumbleUpon
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Technorati
  • LinkedIn
  • RSS
  • Slashdot
  • Twitter
Posted in OSX, XCode, command line | Leave a comment

Digital Storage Oscilloscope On The Cheap

I just received my new Digital Storage Oscilloscope by JYE tech from the Seeed Studio Depot. While it is certainly not as powerful as a full fledged oscilloscope, its compact size and affordable price ($49) make it a handy tool for any electronics maker. For someone just learning about electronics this scope will help them understand the consequences of changing various component values, signal levels or circuit designs of pulse or wave-shaping circuits (oscillating circuits that produce waveforms) or let them take a closer look at serial communications. I’m looking forward to watching the waveforms as I build some simple FM synthesis with basic oscillating circuits.

Digital Storage Oscilloscope by JYE tech

Digital Storage Oscilloscope by JYE tech

Accessories:

Simple probe
Power Adapter (universal input voltage range)

Features:

* Max sample rate – 5M/s (AUTO mode),8 bits
* Sample memory depth – 256 bytes
* Analog bandwidth – 1MHz
* Vertical sensitivity – 100mV/Div – 5V/Div
* Vertical position adjustable with indicator
* Input impedance – 1MΩ
* Max input voltage – 50Vpp
* DC/AC coupling
* Horizontal – 2μs/Div – 10m(minute)/Div
* Auto, normal and single trig modes
* Rising/falling edge trigger
* External trig available
* Trig level adjustable with indicator
* Hold/run feature
* Save up to 6 captures to EEPROM and retain after power down
* Retrieve and display saved captures
* Transfer its screen to PC as bitmap file via serial connection
* Built-in 500Hz/5Vpp test signal
* Frequency counter (only for TTL level input signal)
* 9 DC power supply
* Dimension: 110mm X 65mm X 25mm (without case)

Scope And Schmitt Trigger Oscillator

Scope And Schmitt Trigger Oscillator

A nice bonus of the scope is that it is based on an AVR microcontroller and the creator provides documentation to help get you started hacking the device. Learn to program the scope here, and how to add an external trigger here. If you are interested you can read the operating instructions here.

  • Digg
  • StumbleUpon
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Technorati
  • LinkedIn
  • RSS
  • Slashdot
  • Twitter
Posted in AVR, prototyping | Leave a comment

How To Find What Linux Distro You Are In?

I was recently doing something over ssh on my hosts shared server and realized that I didn’t know what Linux distro I was working in.

Which Distro

My server was running Red Hat

I did some Googling and found a number of suggestions on how to find this information out. Only the last of these three actually worked for me but I thought I would include them because it seems that they work for others on different systems.

lsb_release -a
cat /etc/lsb_release
cat /proc/version

Hopefully one of these will work for you.

  • Digg
  • StumbleUpon
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Technorati
  • LinkedIn
  • RSS
  • Slashdot
  • Twitter
Posted in *nix, command line | Leave a comment

Nudge: Online Music Making & Sharing

From Hobnox comes Nudge. “Nudge is a virtual-instrument widget designed for self-expressive online music making & sharing.” Try it out, right here, right now in your browser. (assuming you have Flash, sorry iPhone users)




If you like what you come up with you can use the ‘Get & Share’ button in the top right corner of the widget to email, link, embed or spread your creation.

Also by Hobnox is Audiotool, a music production environment in your browser. Super fun. Be warned, you may loose hours of your life if you follow the links.

  • Digg
  • StumbleUpon
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Technorati
  • LinkedIn
  • RSS
  • Slashdot
  • Twitter
Posted in instrument, online | 1 Comment

Hello Arduinome!

I finished the electronics of my Arduinome a couple weeks back and have been having a blast using it in the little spare time I have these days. I am anxiously waiting to hear back from machinecollective.org regarding ordering one of their amazing enclosures. I also have a tilt sensor from Seeed Studio coming for added fun. Here are some pics:

Arduinome running mlr

Arduinome running mlr

Rainbow ribbon cable

Rainbow ribbon cable, Arduino & unsped shield

Arduinome wiring

Arduinome wiring

  • Digg
  • StumbleUpon
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Technorati
  • LinkedIn
  • RSS
  • Slashdot
  • Twitter
Posted in MaxMSP, arduino, instrument | 2 Comments

iWasHere iPhone App Free For A Limited Time

iwashere

I have made my iPhone app iWasHere free for a limited time to encourage more users to start creating networks with their friends.

Creating a new network

Creating a new network

Augment your reality with iWasHere!

iWasHere is a geo-locational social networking message board. iWasHere allows you to create an augmented reality by enabling you to leave a message at a specific location which can then only be read at that location. You can write to a Public network that is readable and writable by everyone, or you can create your own private networks for just you and your friends.

Use iWasHere to leave a note for a friend at a bus stop, outside their work or in a park. Read or write reviews of stores and restaurants right outside their doors. Make a virtual community message board in your neighborhood. Hide directions to a secret party or a surprise proposal. Create a treasure hunt that uses virtual clues or do virtual geocaching. iWasHere can be whatever you want it to be. The only limit is your imagination!

Get it while it is free!

marketing_badge

  • Digg
  • StumbleUpon
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Technorati
  • LinkedIn
  • RSS
  • Slashdot
  • Twitter
Posted in AR, app, iPhone | Leave a comment

Building An Arduinome

I finally got together all the parts that I need to build myself  a monome clone.

Arduinome parts

Arduinome parts

Arduinome is a clone of the open source monome 40h which uses an arduino microcontroller.

Wikipedia says, “The monome is an eight-by-eight grid of backlit buttons which connects to a computer using a USB cable and the Open Sound Control (OSC) protocol. Originally developed as an open ended performance interface for electronic music, its developers have said “The wonderful thing about this device is that it doesn’t do anything really.” As a result, developers have begun to use the monome as an interface for other types of software, from text displays to games.”

Here is some video of vimeo user ro using a monome 256 running mlr and a monome 40h running vu_spec (part of the monome_base), which is an 8 band spectral display.

I am following the build instructions posted by Curious Inventor. I started soldering all the LEDs and diodes last night. In an hour and a half I got through all the LEDs and a quarter of the diodes. (there are 64 LEDs and 64 diodes) I think I should be able to finish the diodes tonight and get started on the unsped arduino shield.

I am waiting to hear back from machinecollective.org about when a case will be available to ship. The sooner the better. I can’t wait to use those blinky lights and soft buttons to mash things up with MaxMSP, Ableton Live and Max for Live.

  • Digg
  • StumbleUpon
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Technorati
  • LinkedIn
  • RSS
  • Slashdot
  • Twitter
Posted in MaxMSP, OSC, ableton, arduino, make | 1 Comment

Retrieving JSON Data In iPhone Apps

As described at www.json.org, JSON (JavaScript Object Notation) is a lightweight data-interchange format that is easy for humans to read and write and easy for machines to parse and generate. The JSON format is one of two things; a list of name/value pairs that can be realized as an object, record, struct, dictionary, hash table, keyed list, or associative array or an ordered list of values which in most languages is realized as an array, vector, list, or sequence.

JSON logo

JSON logo

The JSON format is often used as an alternative to XML to transmit structured data over a network, its biggest use being in Ajax web application programming.

Below are instructions for how to retrieve and parse JSON formatted data in an iPhone app.

Adding JSON Framework To Your XCode Project

To use JSON in an iPhone app you first need to download the JSON Framework for Objective-C from its Google Code page.

When it is downloaded, mount the DMG.

Finally, drag and drop the JSON directory onto the Classes folder icon in the Groups & Files panel in XCode.

Retrieving JSON Data

First of all make sure that you include the JSON.h file in your implementaion(your .m file):

#import "JSON.h"

To retrieve JSON data use an NSURLConnection to issue an HTTP request. To do this you will need an NSMutableData variable to hold the response data. Create it in the interface (.h file) with:

NSMutableData *responseData;

and

@property (nonatomic, retain) NSMutableData *responseData;

and don’t forget to synthesize in the implementation (.m file):

@synthesize responseData;

Next you need to make an HTTP request with NSURLConnection so start by initializing responseData:

responseData = [[NSMutableData data] retain];

Then make the request:

NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.someurl.com/somefile.json"]];
[[NSURLConnection alloc] initWithRequest:request delegate:self];

Then you need to include the following methods to process the NSURLConnection and save the JSON data into the responseData variable:

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
	[responseData setLength:0];
}

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
	[responseData appendData:data];
}

- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error {
	label.text = [NSString stringWithFormat:@"Connection failed: %@", [error description]];
}

Making Use Of The JSON Data

To make use of the JSON data use the connectionDidFinishLoading: method. Here is an example with some simple error checking:

- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
	[connection release];

	NSString *responseString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
	[responseData release];

	if ([responseString isEqualToString:@"\"Unable to find specified resource.\""]) {
		NSLog(@"Unable to find specified resource.\n");
	} else {
		NSDictionary *dictionary = [responseString JSONValue];
		self.someVariable = [dictionary valueForKey:@"somekey"];
	}
}

In this connectionDidFinishLoading: method you can use any of the key names you know to be in the JSON data to get their values and store them or use them as you need.

Hopefully this helps you to get started using JSON data in your iPhone apps.

  • Digg
  • StumbleUpon
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Technorati
  • LinkedIn
  • RSS
  • Slashdot
  • Twitter
Posted in code, iPhone, online | 2 Comments

Arduino 0017 Released

The latest version of the Arduino IDE has been released.

Arduino IDE

Arduino IDE

From the arduino.cc website:

“The open-source Arduino environment makes it easy to write code and upload it to the i/o board. It runs on Windows, Mac OS X, and Linux. The environment is written in Java and based on Processing, avr-gcc, and other open source software.”

Arduino 0017 Release Notes:

0017 - 2009.07.25

[documentation / examples]
* Many new and revised examples from Tom Igoe.

[core / libraries]
* Updated LiquidCrystal library by Limor Fried.  See reference for details.
* Updated Firmata library to version 2.1 (rev. 25).
* Replaced the Servo library with one (MegaServo) by Michael Margolis.
  Supports up to 12 servos on most Arduino boards and 48 on the Mega.
* Improving the accuracy of the baud rate calculations for serial
  communication (fixing double-speed problems on 8 MHz Arduino boards).
  Thanks to gabebear.

[environment]
* Synchronized with the Processing 1.0.3 code base (rev. 5503), bringing
  many improvements (listed below).
* New icons and about image by Thomas Glaser (envis precisely).
* Support for multiple sketch windows.
* The serial monitor now has its own window.
* Comment / Uncomment menu item (in Edit) and keyboard shortcut.
* Increase and Decrease Indent menu items (in Edit) and keyboard shortcuts.
* Support for third-party libraries in the SKETCHBOOK/libraries folder.
* Libraries are now compiled with the sketch, eliminating the delay when
  switching boards and the need to delete .o files when changing library
  source code.
* Arduino now comes as an app file (in a dmg) on the Mac.
* Adding the Arduino Nano w/ ATmega328 to the Tools > Board menu.
  • Digg
  • StumbleUpon
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Technorati
  • LinkedIn
  • RSS
  • Slashdot
  • Twitter
Posted in arduino, code, prototyping | Leave a comment