I created a Craigslist Multiride Search web application which allows you to search for rideshares across multiple Craigslist sites from one page. For most of Craigslist searching on only one site (confined geographic area) is good enough, but because ride shares span across large areas it is helpful to be able to search multiple Craigslist sites. For instance if you are trying to get a ride out of Indianapolis to the west coast it is helpful to check not only the Indianapolis Craigslist but also the Chicago, Cincinnati, and maybe even New York sites for people passing through who could give you a lift. This tool allows you to search multiple sites with the same query at the same time.
The page will attempt to auto locate your device. If that fails manually enter your location. It is pretty flexible as to what counts as a location. A zip code or city / state will work fine. If you want change the distance around your location the tool will look for local Craigslist sites. Click “Refresh Location”. The text should update to show how many sites are selected, click on it to see which sites are selected (and deselect any you do not wish to search) and where they are in relation to your location.
The enter the number of days old the posts can be. Any posts older than this will not be shown in the results. Finally enter your search term and click “Search”. Entering “.” in the search term will return all rides for all locations selected.
The rides will begin appearing below the top grey box, sorted by date regardless of which site they came from. Additionally rides posted today will be highlighted green, yesterday highlighted yellow, and rides from two days ago will be highlighted light yellow.
I used IDV Solutions’ United States of Craigslist data set for the location of each Craigslist site. I uploaded this data into a MySQL database using the spatial extension. The code behind this is on GitHub.
Posted by Matt Skorina on Mon, 24 Jun 2013
My Nikon D70 has no internal settings to take pictures at periodic intervals (intervalometer). I created a handheld remote which uses the triggers the camera periodically after an adjustable amount of time with an infrared signal to the camera.
I used an ATtiny85 to manage the time between trigger and to create the complex infrared signal. Besides the microcontroller there was the IR LED to do the triggering, a red LED to inform the user when a trigger happens, a potentiometer to adjust the delay between photos, and a button to manually trigger the camera. I had a PCB made to house the circuit in a pretty package. I glued the PCB onto a 2xAA battery holder. Given that most camera triggers are powered by coin batteries I expect it to last a long time. I made a mistake in the layout of the PCB and wired the IR LED to the reset pin. I dremeled away that trace and soldered a jumper to another pin but the schematic and board here don’t show that.
The videos below were taken using this intervalometer to trigger about every 15 seconds.
Posted by Matt Skorina on Sun, 19 May 2013
High speed photography can be accomplished by making the room dark, taking a long exposure with a normal camera, then triggering a flash right when the action to be photographed happens. Because the room is dark no light will be recorded unless the flash is on. The length of the flash determines how fast an object can be captured without motion blur.
To experiment I measured the time a flash lasts using a photocell and oscilloscope. The internal flash on my Nikon D70 could go as short as about 200uS while the flash from a disposable camera lasted about 1mS. I also took pictures of a spinning fan blade. The longer exposure length of the external flash is visible in the motion blur of the fan.
While the internal flash would be capable of taking “faster photos” it would require the camera to be triggered very precisely to capture the exact moment. I read that the IR remote for the D70 can suffer from several milliseconds of lag, which would make it very hard to capture an event. Additionally the flash is directly above the lens and can not be moved, which might not be ideal. For these reasons I decided to go with an external flash based off a disposable camera.
Inside the disposable camera (CVS branded in my case) is a circuit to boost the 1.5V from the AA battery to about 300v and a trigger mechanism to provide excitation voltage to the flash tube. There is a switch on the camera to enable/disable the flash, which I shorted out because I always want to enable the flash. The trigger is two thin pieces of copper placed directly over the lens. When the shutter is opened it bumps into the pieces of copper and makes them touch, this triggers the flash.
A flash tube is triggered by a high enough voltage source applied across it to ionize the gas inside it (usually Xenon). This ionized gas is conductive which allows the energy stored in the capacitor (which is also relatively high voltage at around 300v) to be dumped through the flash tube. This rush of energy knocks electrons out of their orbital states, which results in a burst of energy (light).
From inspecting the PCB traces I think when the trigger switch is shorted the inrush of current from the 1.5v supply is fed through a small transformer. This boosts the voltage (only on the initial change form 0v to 1.5v) up to some high voltage. This high voltage is applied to the flash tube which causes the arc over so the energy stored in the main capacitor can be discharged. I don’t measure this trigger voltage so I attached a relay (rated at 250V AC) to the trigger. This would enable me to trigger the flash completely isolated from the high voltage. I also installed a 12k resistor across the terminals of the flash capacitor through a relay. When power was not applied to the relay the resistor would discharge the capacitor in 30s and when power was applied the resistor would be disconnected from the circuit. I also removed the AA battery and connected wires to provide the 1.5V from a separate supply.
I built the system into a box and using some of the circuitry from my Foot Keyed CW Transmitter created a force based trigger. When enough force was applied to the force sensitive resistor its resistance would change enough so the voltage across it would go above the threshold on an opamp comparator set by a potentiometer. This was then run through a transistor to supply enough current to drive the relay. Dropping or breaking something on the resistor pad provided enough force to trigger the flash.
Posted by Matt Skorina on Wed, 1 May 2013