Sunday, May 20, 2012

trendnet TV-IP422W: how to take time lapse videos using a NAS

I wanted to setup my trendnet TV-IP422W to record images or video snippets at a regular interval to my network attached storage (NAS) so I could then convert them into a time lapse video. I just figured it out, but the setup wasn't obvious to me, so I thought I'd post what works in case it's helpful to anyone else. From the setup page, go to Event Server, then Network Storage. It should look like this:


  • Samba Server Address: enter IP address or name, nothing extra
    • xxx.xxx.xxx.xxx or nasname
    • if you use the name, do not enter slashes like this \\nasname
  • Share: top directory, no slashes
    • something like Volume_1
  • Path: 
    • something like /ipcamfolder/ or just ipcamfolder
  • When you click on the Test button, it should write a text file to the folder and popup a message saying it was successful.

Now go to Event Config and Schedule Profile and add a new profile for the days and times you want to record pictures.

Go to Event Config and General to set how long to record for each time - I left it at 1 second, the minimum.


Go to Event Config and Schedule Trigger to enable recording, select the schedule, and pick the recording interval.

Now I have a ton of 1 second .avi video files that I need to combine to make 1 time lapse video. I'm using windows 7, so the simplest thing for me to use is Windows Live Movie Maker (WLMM).

WLMM can only load so many videos at a time, which got annoying, so I ended up using Lifehacker's AVI-joiner to combine all the avi files. Then I open the long avi file and speed it up with WLMM.


Sunday, May 13, 2012

python v3 answers to MIT python course

I went through the MIT (gentle intro to programming) python course with my cousin. We decided to use python 3 to get some extra practice since the course material is all python 2. A few times, I found myself wishing I had the answers to check my work, or when I felt I was doing something wrong. Also, it was occasionally hard to get the code provided to work with v3.

So I decided to post my answers just in case it's useful to anyone else. Obviously I'm no expert since I'm going through an intro class, so keep that in mind if there's something wrong or if I did something in a weird way.

Individual zip files for each homework set:
  • HW1 - cipher.py, conditional_examples.py, height_example.py, hw1.py, input_example.py, loop_examples.py, loops.py, rps.py
  • HW2 - hw2.py, nims.py, opt2.py, pig_latin.py, string_and_lists.py
  • Project 1 - hangman.py, hangman_lib.py, hangman_lib_demo.py
  • HW3 - hw3.py, queue.py, stack.py
  • HW4, (v3 graphics.py is here) - ana_clock.py, car.py, dig_clock.py, tetrominoes.py, wheel.py
  • Project 2 - game_of_life.py, game_of_life_template.py
  • Final Project - tetris_template.py, tetris.py

One zip file for all homework:

Thursday, May 10, 2012

attaching a bobike mini to a bakfiets

My kid outgrew the infant car seat, but wasn't quite ready to sit on his own on the bakfiets bench, so a bobike mini can be used to help transition to the bench.
The folks at MyDutchBike sold me the bobike, gave me some info, and pointed me towards this helpful flickr page for ideas. In order to make room for two bobikes or to use the bakfiets seatbelts, one side of the bobike needs to be shaved off, along with the metal leg posts. Since I only have one kid for now, and I was pretty sure I couldn't cut the edge off without making it all ragged, I decided on a different method. After staring at it for quite awhile, I decided I could use a 1" wide rachet tie-down strap to attach the bobike to the bakfiets seat.
I tested it out and it worked great, but the problem was that the only point of attachment is the two little seat pivots, which don't look like they would hold much. So I decided to drill two additional holes and move one of the seatbelts to the center.

Here is the left seatbelt removed with two holes drilled in the center.

Left seatbelt migrated to the center.

The slightly tricky part is using the ratchet tie down to attach the bobike to the bench. The tie down passes through two slits at the back of the bobike, and around the metal bars in the front. The bobike comes with it's own seatbelt, but I cut it off, leaving just the rigid crotch strap.

This is the rachet attachment underneath the seat. The seat is short, so I had to hook the ratchet to itself in the shortest possible configuration.

 And here's the finished product. The bobike is still only attached to the bench. But with a kid buckled in, the seatbelt adds an attachment to the bucket. 

Since I already have two eyebolts installed for the infant seat, just to be extra anal about safety, I added two quickdraws, so even if the bench totally fails, the bobike isn't going anywhere.

We did a little dry run in front of the house and Silas seems to love being able to see where we're going.