dev page 14 - Dave's Blog

Search
My timeline on Mastodon

IEBlog : Scripting Debugging in Internet Explorer

2007 Sep 7, 11:29Info on debugging script in IE.PermalinkCommentsie ie7 blog javascript debug debugger debugging web development programming vbscript tools tool download browser reference microsoft msdn

Storage robot at your service: a review of the Drobo: Page 1

2007 Aug 7, 1:33A review from ArsTechnica of a backup storage device named Drobo.PermalinkCommentsarticle review purchase backup storage hardware

Backup Notes

2007 Jul 13, 8:30I bought an external backup drive a few weekends ago. I've previously setup a Subversion repository so I decided to move everything into the repository and then back it up. So in went the contents of all of my %USERPROFILE% and ~ directories with a bit of sorting and pruning. Not too much though given its much easier to dump in everything and search for what I want then to take the time to examine and grade each file. What follows are the notes I took while setting this up. It takes me a bit of time to look up the help on each command so I figure I'll write it all down here for the benefit of myself and potentially others...

Setting Up the Backup Drive For Linux
I first changed the filesystem on the drive to ext3. I plugged it into my USB2.0 port and ran fdisk:

sudo fdisk /dev/sda

Useful commands I used to do this follow mostly in order:
m
help
p
print current partitions
d
delete current partition
n
create new partition (I used the defaults)
w
write changes and exit
Then I formatted for ext3.

sudo mkfs.ext3 /dev/sda1

I made it easy to mount:

sudo vim /etc/fstab
# added line to end:
/dev/sda1 /media/backup ext3 rw,user,noauto 0 0

I setup the directory structure on the disk

mount /media/backup
sudo mkdir /media/backup/users
sudo mkdir /media/backup/users/dave
sudo chown dave:dave /media/backup/users/dave


After all that its easy to make a copy of the Subversion repository:

mount /media/backup
cp -Rv /home/dave/svn /media/backup/users/dave/
umount /media/backup

Next on the agenda is to add a cron job to do this regularly.

Subversion Command Reference
On a machine that has local access to the Subversion repository you can check out a specific subdirectory as follows using the file scheme:

svn co file:///home/dave/svn/trunk/web/dave%40deletethis.net/public_html

Note also that although one of my directories is named 'dave@deletethis.net' Subversion requires the '@' to be percent-encoded.
Other useful subversion commands:
svn help
help
svn list file:///home/dave/svn/
list all files in root dir of svn depot
svn list -R file:///home/dave/svn/
list all files in svn depot
svn list -R file:///home/dave/svn/ | grep \/$
list all directories
svn status
List status of all files in the working copy directory as in - modified, not in repository, etc
svn update
Brings the working copy up to date wrt the repository
svn commit
Commit changes from the working copy to the repository
svn add / move / delete
Perform the specified action -- occurs immediately


Setting up Windows Client for Auto Auth into SVN
When using an SVN client on Windows via svn+ssh its useful to have the Windows automatically generate connections to the SVN server. I use putty on my Windows machines so I read the directions on using public keys with putty.

putty.exe dave@deletethis.net
cd .ssh
vim authorized_keys # leave the putty window open for now
puttygen.exe
Click the 'generate' button
Move the mouse around until finished
Copy text in 'Public key for pasting into OpenSSH authorized_keys file:' to putty window & save & close putty window
Enter Key passphrase & Comment in puttygen
Save the private key somewhere private
pageant.exe
'Add Key' the private key just saved.



Checking out using Tortoise SVN
On one of my Windows machines I've already installed Tortoise SVN. Checking out from my SVN repository was really easy. I just right clicked in Explorer in a directory and selected "SVN Checkout...". Then in the following dialog I entered the svn URI:

svn+ssh://dave@deletethis.net/home/dave/svn/trunk/web/dave%40deletethis.net/public_html/

Note again that the '@' that is part of the directory name is percent-encoded as '%40' while the '@' in the userinfo is not.

Windows Command Line Check Out
On my media center I didn't want to install Tortoise SVN so rather I used the command line tool. I setup pageant like before the only difficulty was getting the SVN command line tool to use putty. With the default configuration you can use the SVN_SSH environment variable to point at a compliant SSH command line tool. The trick is that its interpreted as a backslash escaped string. So I set mine thusly:

set SVN_SSH=C:\\users\\dave\\bin\\putty\\plink.exe

The escaping solved the vague error I received about not being able to create the tunnel.PermalinkCommentsbackup technical personal windows svn linux subversion

Chicken Roundup

2007 Jul 11, 3:52I realized that I have short list of chicken related things I find humorous and they're all available for the linking to via youtube.

Chicken: The Powerpoint Presentation. This is a power point presentation of a research paper written in the language chicken. (video)

Bluth Family Chicken Dances. From the show Arrested Development many Bluth family members had their own chicken dance. (video)

Peter Fights the Giant Chicken. A man sized chicken fights Peter from Family Guy for multiple minutes in several episodes mimicking famous action sequences. I must admire the writers dedication to the gag. (video1, video2)

PermalinkCommentsroundup video personal chicken humor nontechnical

Instructables EMP shopping cart locker

2007 Jul 2, 9:04Build a device to remotely lock shopping carts.PermalinkCommentsarticle humor electronics shopping-cart wireless diy via:swannman

Wiimote wiissues

2007 Jun 7, 5:29The other day I had the best idea for my Wii remote. Clearly I should use it to control the rotation of Tetris pieces in my N-dimensional Tetris game Polytope Tetris. One of the issues I described with Polytope Tetris is user input. Given a Wii remote the user could rotate a piece through 3 dimensions in a manner that's much easier to adjust to than particular keys on the keyboard.

Anyway, I did a little research into how this might work. I knew that the Wii remote used infrared for absolute positioning and Bluetooth for everything else (LEDs, speaker, accels.) I bought a Bluetooth adapter for my PC after realizing that none of my computers had one already. I used GlovePIE to ensure that my Wii remote could connect and successfully communicate with my computer. GlovePIE is actually pretty cool -- it provides a simple script layer over the Wii remote to control things like your mouse.

Since Polytope Tetris is in Java I looked for and found a Java library for operating with the Wii remote and a long forum thread discussing its use. I then read up on Bluetooth in Java. Apparently JSR 82 is the name of the standard that describes the API a Bluetooth stack should expose in Java. That is, to get Bluetooth working in Java one needs an additional package for Java that actually implements the Bluetooth Java API. This package would depend on the system so I suppose I can't fault Sun for not including it... Where to find such a package? I found a comparison list of implementations and tried the ones that support javax.bluetooth. None of them worked for me because none can address USB devices it seems or they cost money and I couldn't get the trial version working. I also tried bluesock (not listed on the previous list) which seemed promising and could produce an address for my Wii remote as a connected device but couldn't use that address.

And I thought that after I found the Wii remote Java library it would be easy... Oh well...PermalinkCommentsjava bluetooth wii technical remote jsr82 tetris polytopetetris wiimote

Digg the Blog » Blog Archive » Developers: Upcoming RSS Change

2007 May 22, 10:12Digg RSS extension that includes submitter, digg count, and comment count.PermalinkCommentsdigg rss extension xml feed

Install Debugging Tools for Windows 32-bit Version

2007 May 20, 5:14Debugging tools for Windows executables.PermalinkCommentsmsdn microsoft c++ c debug debugger development download free programming software tool tools windbg windows cdb

hit_parade definition (Developing Feeds with Rss and Atom - Google Book Search)

2007 May 15, 9:16Definition of the elusive hit_parade element in the slash RSS extension.PermalinkCommentshit_parade rss slashdot slash slashcode

Sculpture Garden

2007 May 15, 8:38Tall SculptureLast Saturday Sarah and I went to the Sculpture Garden in Seattle. Its laid out with exhibits all outside running down to the water.

Sarah in the ValleySarah and I followed the trail of sculptures down to the shore and took some more photos on the sand and rocks on the mini beach. There's also a green house but it was closed the day we were there. The glass of the green house is tinted green and the long walls of the house slope down in the back giving a forced perspective to the viewer on one end.

Black Winding ArtThe sculptures aren't roped off rather they mingle with the normal urban artifacts. There are little signs around that politely ask viewers not to touch the art for fear of damage that reminded me of the show Arrested Development.PermalinkCommentssculpture washington personal art seattle nontechnical

New XSLT - IE7 XML Source View Upgrade Part 2

2007 May 11, 8:55Last time, I had written some resource tools to allow me to view and modify Windows module resources in my ultimate and noble quest to implement the XML content-type fragment in IE7. Using the resource tools I found that MSXML3.DLL isn't signed and that I can replace the XSLT embedded resource with my own, which is great news and means I could continue in my endevour. In the following I discuss how I came up with this replacement for IE7's XML source view.

At first I thought I could just modify the existing XSLT but it turns out that it isn't exactly an XSLT, rather its an IE5 XSL. I tried using the XSL to XSLT converter linked to on MSDN, however the resulting document still requires manual modification. But I didn't want to muck about in their weird language and I figured I could write my own XSLT faster than I could figure out how theirs worked.

I began work on the new XSLT and found it relatively easy to produce. First I got indenting working with all the XML nodes represented appropriately and different CSS classes attached to them to make it easy to do syntax highlighting. Next I added in some javascript to allow for closing and opening of elements. At this point my XSLT had the same features as the original XSL.

Next was the XML mimetype fragment which uses XPointer, a framework around various different schemes for naming parts of an XML document. I focused on the XPointer scheme which is an extended version of XPath. So I named my first task as getting XPaths working. Thankfully javascript running in the HTML document produced by running my XSLT on an XML document has access to the original XML document object via the document.XMLDocument property. From this this I can execute XPaths, however there's no builtin way to map from the XML nodes selected by the XPath to the HTML elements that I produced to represent them. So I created a recursive javascript function and XSLT named-template that both produce the same unique strings based on an XML node's position in the document. For instance 'a3-e2-e' is the name produced for the 3rd attribute of the second element of the root element of the XML document. When producing the HTML for an XML node, I add an 'id' attribute to the HTML with the unique string of the XML node. Then in javascript when I execute an XPath I can discover the unique string of each node in the selected set and map each of them to their corresponding positions in the HTML.

With the hard part out of the way I changed the onload to get the fragment of the URI of the current document, interpret it as an XPath and highlight and navigate to the selected nodes. I also added an interactive floating bar from which you can enter your own XPaths and do the same. On a related note, I found that when accessing XML files via the file URI scheme the fragment is stripped off and not available to the javascript.

The next steps are of course to actually implement XPointer framework parsing as well as the limited number of schemes that the XPointer framework specifies.PermalinkCommentsxml xpointer msxml res xpath xslt resource ie7 technical browser ie xsl

Java Bluetooth.com - Development Kits

2007 May 11, 1:44Comparisons of features and prices of Java bluetooth libraries.PermalinkCommentsbluetooth java library download programming research:wii-remote

Part II: The Java APIs for Bluetooth Wireless Technology

2007 May 11, 12:51Tutorial on programming Java apps using bluetooth.PermalinkCommentsbluetooth java sun development reference tutorial article research:wii-remote

Wireless Application Programming with J2ME and Bluetooth

2007 May 11, 12:38Sun's introduction to bluetooth.PermalinkCommentsbluetooth tutorial article development sun research:wii-remote

jUSB: Java USB 

2007 May 11, 12:17Java API for using USB devices. May be possible to use JavaBluetooth with USB Bluetooth dongle if also using jUSB.PermalinkCommentsjava library api usb research:wii-remote

www.JavaBluetooth.org

2007 May 11, 12:02Java API for communicating with bluetooth devices.PermalinkCommentsbluetooth java code library programming research:wii-remote

Using MCL Files

2007 May 3, 11:33How to easily add portals/websites as entries into Windows Media Center's menus.PermalinkCommentsmsdn mce windows microsoft development

Design & Development: Here Come the Ponies

2007 Apr 1, 10:57A 'My Little Pony' RPG from the makers of Dungeons and Dragons (April Fools Day). The pink beholder at the bottom is possibly the best part.PermalinkCommentshumor rpg d&d game my-little-pony

The "Works on My Machine" Certification Program (Coding Horror)

2007 Mar 21, 11:32A badge I think I can apply to many of my personal projects. Note to self: remember this later when someone breaks the build.PermalinkCommentsbadge certificate humor programming development software

CSSFly - Edit websites on the fly!

2007 Mar 20, 6:06View and temporarily edit the source of websites. Your changes to the source will be reflected immediately.PermalinkCommentscss webdesign tools design development javascript website
Older EntriesNewer Entries Creative Commons License Some rights reserved.