Friday, March 11, 2011
iPad Guitar version 3
On episode 1422 of Buzz Out Loud, JC from San Diego suggested an iPad guitar with iPhones as frets. I only had one iPhone lying around, so I had to use my Android phone and my old iPod Touch. I used Lego for the neck, since Mega Bloks are a little bit big.
I think the next step will be to carve something like this out of a 2x4.
Monday, March 7, 2011
iPad Guitar from Mega Bloks version 2
I built a better version of my original iPad Guitar with Mega Bloks.
I'm learning how to drive a CNC router, so a wooden version may be forthcoming.
(Dis)Assembly video
Friday, March 4, 2011
iPad Guitar with Mega Bloks
Playing with Mega Bloks tonight with my kids, I remembered Brian Tong mentioned on Buzz Out Loud about iPad GarageBand needing a guitar-shaped case. So we built something.
(Dis)Assembly video
Maybe I'll build something out of wood after GarageBand comes out. With pegs for a guitar strap.
---
Update I've built a better version.
Thursday, March 3, 2011
Moving photos from a camera card with AutoHotkey
Just wanted to share a somewhat rough script I wrote using AutoHotkey (since my Python skills are weak and Windows-only is fine) for moving files from a camera SD card to folders organized by month.
I also set up an AutoRun.inf to run the compiled script when the card is inserted, similar to these instructions.
I also set up an AutoRun.inf to run the compiled script when the card is inserted, similar to these instructions.
; AutoHotkey Version: 1.x
; Language: English
;
; Script Function:
; Moving files from camera card (E:\DCIM\{etc}) to photos folder (H:\Photos\{date}) and then deleting them
; You may want to change H:\Photos\ throughout the code to something that actually exists on your computer.
; Language: English
;
; Script Function:
; Moving files from camera card (E:\DCIM\{etc}) to photos folder (H:\Photos\{date}) and then deleting them
; You may want to change H:\Photos\ throughout the code to something that actually exists on your computer.
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
; Since the script is running from the camera card, we can use the variable A_ScriptDir to tell which drive letter the card got mounted as
SetWorkingDir %A_ScriptDir%\DCIM\
IfNotExist %DriveLetter%:\DCIM\
{
MsgBox, 1, PhotoMover, Something is wrong, perhaps the camera card is not in the card reader.
IfMsgBox, Cancel
Return
}
; show a (sort of fake) progress bar and set the initial variables to zero
Progress, b,, Moving Photos, Moving Photos
Progress, 0
PhotoProgress = 0
VideoProgress = 0
; move the JPG files
; the 0 means don't include folder names, the 1 means recurse into subdirectories
Loop, *.JPG, 0, 1
{
; trim the date variable to the format YYYY-MM
StringLeft, FileDateYear, A_LoopFileTimeCreated, 4
FileDateMonth := SubStr(A_LoopFileTimeCreated, 5, 2)
FileDateYearDashMonth = %FileDateYear%-%FileDateMonth%
; make a month folder, if it doesn't already exist
IfNotExist H:\Photos\%FileDateYearDashMonth%\
FileCreateDir H:\Photos\%FileDateYearDashMonth%\
; move the file to the appropriate folder in H:\Photos
FileMove, %A_LoopFileFullPath%, H:\Photos\%FileDateYearDashMonth%\
; Show (and increment) a progress bar
PhotoProgress+=1 ; increment the PhotoProgress variable
Progress, %PhotoProgress%
}
Progress, Off
if ErrorLevel
MsgBox, Well that didn't work... %ErrorCount% photos were not moved.
; and now move the MOV files
; first the progress bar
Progress, b,, Moving Videos, Moving Videos
Progress, 0
; the 0 means don't include folder names, the 1 means recurse into subdirectories
; we should probably do this for *.AVI files too
Loop, *.MOV, 0, 1
{
; trim the date variable to the format YYYY-MM
StringLeft, FileDateYear, A_LoopFileTimeCreated, 4
FileDateMonth := SubStr(A_LoopFileTimeCreated, 5, 2)
FileDateYearDashMonth = %FileDateYear%-%FileDateMonth%
; move the file to the appropriate folder in H:\Photos
FileMove, %A_LoopFileFullPath%, H:\Photos\%FileDateYearDashMonth%\
; Show (and increment) an approximate progress bar
VideoProgress+=1 ; increment the VideoProgress variable
Progress, %VideoProgress%
}
Progress, Off
if ErrorLevel
MsgBox, Well that didn't work... %ErrorCount% movies were not moved.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
; Since the script is running from the camera card, we can use the variable A_ScriptDir to tell which drive letter the card got mounted as
SetWorkingDir %A_ScriptDir%\DCIM\
IfNotExist %DriveLetter%:\DCIM\
{
MsgBox, 1, PhotoMover, Something is wrong, perhaps the camera card is not in the card reader.
IfMsgBox, Cancel
Return
}
; show a (sort of fake) progress bar and set the initial variables to zero
Progress, b,, Moving Photos, Moving Photos
Progress, 0
PhotoProgress = 0
VideoProgress = 0
; move the JPG files
; the 0 means don't include folder names, the 1 means recurse into subdirectories
Loop, *.JPG, 0, 1
{
; trim the date variable to the format YYYY-MM
StringLeft, FileDateYear, A_LoopFileTimeCreated, 4
FileDateMonth := SubStr(A_LoopFileTimeCreated, 5, 2)
FileDateYearDashMonth = %FileDateYear%-%FileDateMonth%
; make a month folder, if it doesn't already exist
IfNotExist H:\Photos\%FileDateYearDashMonth%\
FileCreateDir H:\Photos\%FileDateYearDashMonth%\
; move the file to the appropriate folder in H:\Photos
FileMove, %A_LoopFileFullPath%, H:\Photos\%FileDateYearDashMonth%\
; Show (and increment) a progress bar
PhotoProgress+=1 ; increment the PhotoProgress variable
Progress, %PhotoProgress%
}
Progress, Off
if ErrorLevel
MsgBox, Well that didn't work... %ErrorCount% photos were not moved.
; and now move the MOV files
; first the progress bar
Progress, b,, Moving Videos, Moving Videos
Progress, 0
; the 0 means don't include folder names, the 1 means recurse into subdirectories
; we should probably do this for *.AVI files too
Loop, *.MOV, 0, 1
{
; trim the date variable to the format YYYY-MM
StringLeft, FileDateYear, A_LoopFileTimeCreated, 4
FileDateMonth := SubStr(A_LoopFileTimeCreated, 5, 2)
FileDateYearDashMonth = %FileDateYear%-%FileDateMonth%
; move the file to the appropriate folder in H:\Photos
FileMove, %A_LoopFileFullPath%, H:\Photos\%FileDateYearDashMonth%\
; Show (and increment) an approximate progress bar
VideoProgress+=1 ; increment the VideoProgress variable
Progress, %VideoProgress%
}
Progress, Off
if ErrorLevel
MsgBox, Well that didn't work... %ErrorCount% movies were not moved.
Tuesday, November 3, 2009
new blog
Since my job now involves blogging about technology, I'll be posting here less often.
In case you hadn't noticed already.
Anyway, if you want to check out my other blog, it's at eipstech.blogspot.com.
In case you hadn't noticed already.
Anyway, if you want to check out my other blog, it's at eipstech.blogspot.com.
Saturday, October 31, 2009
Google Apps slideshow
Here's the link for my Google Apps presentation:
Friday, October 23, 2009
podcast presentation
So you want your students to podcast
What’s a podcast?
Episodic downloadable audio (or video) content.
Does not require an iPod.
Usually has an associated RSS feed.
Recommended Podcasts
Technology: This Week in Tech
Science: Quirks and Quarks, Science Update
Social Studies: Stuff You Missed in History Class
Math: Math Grad
English Language Arts: CSTW Writers Talk
Arts: CBC Arts Podcasts
Medicine: White Coat, Black Art
How to create
Hardware (microphones, pop filters, etc)
How to create
Software
How to publish/share
hosting and syndication
Music/Sound Effects
Legal Issues
Copyright or Creative Commons
Now let’s podcast…
Subscribe to:
Posts (Atom)