Archive | Make RSS for this section

Found

Some interesting reading this morning.

Shirt Pocket software is working on fixes for SuperDuper!, the state-of-the-art backup software for OS X. The biggest issue right now seems to be the unconventional system that Apple is using for hiding file compression from applications (which seems to be necessary for backwards compatibility). The great news is that even without these fixes, SuperDuper! is not experiencing any data loss. Dave Nanian’s article is here.

If you want to learn more about Snow Leopard’s file compression or ANYTHING ELSE, check out John Siracusa’s massive 23 page review at Ars Technica. While I understand that some users are finding Snow Leopard more of a Service Pack than a new OS, I have to say that I’m loving some of the features. The new changes to Expose alone are worth the $30 bucks to me. You can read up on the Expose features and other cool bits over on the TidBits blog. Try hitting the Expose key and then tabbing through your applications. FUN!

It sounds like the new hero Massively Multiplayer game, Champions Online is off to a rough start. They ratcheted down the effectiveness of players who participated in the beta. This is called a ‘nerf’ in the MMO world. Matt Franklin contrasts this with the rate at which the lead MMO (World of Warcraft) is making game play (especially beginner game play) easier and easier.

This Commodore 64 Visual Debugger is incredible. You start out with a window that shows EVERY address in memory and then zoom in to look at specific locations. The waves of memory changes during file loading are neat! I can’t wait to run this thing while playing Paradroid!

Backblaze has a how-to article up about the homebrew storage solution they’ve created. 7 terabyte 4U servers for $7,867.

JKK checked out the Nokia N900. It merges the best work they’ve done on phones and the work they’ve done on Internet Tablets (Nokia 770, N800, N810). It looks great and has a lot of power in the OS (Linux/Maemo) and the hardware. The Internet Tablet community must be really excited!

PAX, Penny-Arcade’s SOLD-OUT Video Game and Geekery convention (which started yesterday) just added 1,000 tickets.

Alex King spent some time these past few weeks trying to figure out which Network and BlackBerry Phone to use. He wanted to use a BlackBerry Bold, but ended up with a Tour on Verizon. His story is full of the idiosyncrasies of various carriers and devices. Part one. Part two.

Jack Shedd has some things to say about HTML 5. If you are watching the HTML 5 changes closely, Jack’s sentiments will likely resonate with you, including the frustration AND the respect for the team.

Lifehacker has an article on creating a Snow Leopard Hackintosh for $900 (plus the price of Snow Leopard standalone which is $169). I’d be interested in seeing a $500 model.

Python + OS X + Arduino + BlinkM

I have a bunch of BlinkMs and an Arduino from an old project and I spent some time with them this weekend. This time, I used Python on a Mac to connect. I learned a little in the process, so I thought I’d share.

1. I used darwinports‘ Python2.4 and the pyserial library.
2. On the Arduino, I flashed the BlinkMCommunicator code available here.
3. When writing to the BlinkM’s eeprom, you need to pause briefly before sending another command.
4. The attached code uses decode(“hex”). I’ll explain that design choice later.
5. The code assumes you have 3 BlinkM’s hooked up to the Arduino with their addresses set as 1, 2 and 3.

import serial
import time

def toBlinkM (ser, command):
	print ">\t Sending "+command
	ser.write(command.decode("hex"))
	print ">\t\t Sent "+command
	
def setBlinkMToPlaySimpleScript (ser, address, color1, color2, color3, color4, duration, fadespeed):
	# example: write line 0 of script 0 on BlinkM 1
	# 	01	Start code
	#	01	BlinkM address
	#	08	bytes to send
	#	00	bytes to receive
	#	57	command: write line
	#	00	script number	
	#	00	line number
	#	20	duration
	#	63	fade
	#	20	R
	#	20	G
	#	00	B
	
	print ("> Playing Simple Script on "+address)

	toBlinkM(ser, "01"+address+"0800570000"+duration+"63"+color1)
	time.sleep (.2)
	toBlinkM(ser, "01"+address+"0800570001"+duration+"63"+color2)
	time.sleep (.2)
	toBlinkM(ser, "01"+address+"0800570002"+duration+"63"+color3)
	time.sleep (.2)
	toBlinkM(ser, "01"+address+"0800570003"+duration+"63"+color4)
	time.sleep (.2)
	# last line: play script 0 1 time
	toBlinkM(ser, "01"+address+"0800570004"+"00"+"70"+"000100")
	time.sleep (.2)
	
	# set script id 0 to a len. of 5, 1 repeats 
	toBlinkM(ser, "01"+address+"04004C000501")
	time.sleep (.2)
	
	# set fade speed
	toBlinkM(ser, "01"+address+"020066"+fadespeed)
	time.sleep (.2)

	# play script id 0 
	toBlinkM(ser, "01"+address+"040070008000")
	time.sleep (.2)

			
ser = serial.Serial('/dev/tty.usbserial-A4001lcU',19200, timeout=1)

counter = 0

print "> Waiting for Arduino."

while 1:
	serialline = ser.readline()
	if (serialline):
		print serialline.strip()
	if ('ready' in serialline):
		break

print "> Arduino ready."

# tell #1 to stop animating
toBlinkM(ser, "010101006f")

# tell #1 to show only green and red at 1 bright
toBlinkM(ser, "0101040063010100")

# tell #2 to stop animating
toBlinkM(ser, "010201006f")

# tell #2 to show only blue and green at 1 bright
toBlinkM(ser, "0102040063000101")

# tell #3 to stop animating
toBlinkM(ser, "010301006f")

# tell #3 to show only red at 3 bright
toBlinkM(ser, "0103040063030000")

time.sleep (10)

setBlinkMToPlaySimpleScript(ser,"01","404040","FF0000","0000FF","FF0000","05","10")
setBlinkMToPlaySimpleScript(ser,"02","400000","FF0000","800000","FF0000","05","10")
setBlinkMToPlaySimpleScript(ser,"03","000000","FF0000","000000","FF0000","20","10")

Laser Etching at TechShop

I Laser Etched Daleks and Patapons into a Moleskine notebook for my daughter last night. Epilog 45 W Laser (raster, p25, s50) at TechShop.

Here’s a photo!

TechShop – Laser Cutter

TechShop was fun. Learned how to operate the Laser Cutter for cutting, etching and scoring.

Classes:

Basic covered safety, equipment and basic technique. We learned how to use Corel Draw and the “printer” driver that sends instructions to the cutter. We learned how to start and stop jobs and signs to look for that might indicate a bad cut or a fire hazard. We also learned how to set the focus (AUTO FOCUS IS BAD). The class was 2 hours long and the instructor, Laura, answered tons of questions. Of particular interest was learning which materials work best with this laser.

Advanced was about an hour long. We covered a lot of Q&A as well as tips and tricks to make it easier to find the right settings (speed, power) for a given material.

The classes were great and the instructor was top notch.

Facilities:

The machine is an Epilog Helix Laser Cutter. It’s 45 watts. (Actually, there are two of them.)

The software is CorelDraw X3.

My Take

Patapon: I normally can’t stand rhythm games, but this one is a ton of fun.

iPhone SDK: Finally! Looks great to me, but I am not happy about the ‘no background apps’ policy. I’d like 3rd party chat apps and feed readers to be able to alert me from the background. Hopefully, background capabilities are coming.

OS X Leopard’s “Alex” voice: Text to speech is normally pretty crappy. I’m glad Apple invested in a voice that speaks clearly, even if it does require 700MB of disk space!! I’m working on a simple OS X app that connects to Google Reader and reads articles aloud.

Jericho: Canceled AGAIN? Really? At least there’s still Torchwood, Doctor Who, Lost, BSG and Smallville (major spoilers in this week’s promo – be careful).

Arduino: I’m having a lot of fun with mine. An Arduino plus a series of BlinkMs is a great combination.

MacBook Air: I’ve had mine for 2 months and I love it. The combination of mobility, screen size and performance it provides makes it much more useful than the notebooks, umpcs, pdas and internet tablets I’ve used in the past. Meanwhile, the flexibility, usability and safety provided by OS X gives this machine a huge advantage over similar Windows-based laptops. It’s my main computer, now.

WaterField’s Racer-X Laptop Case: The Racer-X is perfect for me. Not too big, not too small. It stays upright do to a solid rectangular bottom, which is really nice – it makes it a little heavier but it’s worth knowing it’s not going to tip over. The Air is in a zippered into a lightly padded, secure pocket. The other zippered pocket is big enough to hold the charger, my cradlepoint PHS, a usb hub, a medium sized ora book or my Kindle, a tiny usb HD (for backups and extra storage) and some other misc stuff. It’s small enough that I have to think about what I want to keep in it, but not so small that I have to leave anything important behind. I bought the black version with leather handles. The build quality is terrific and I can see it lasting for a LONG time.