Disclaimer: This is a blog post about a CryptoParty presentation, the contents of which should not be construed as official Freeside statements. Any opinions presented in this blog post by the author do not in any way represent an official endorsement of these opinions by Freeside Technology Spaces, Inc., nor is intended to reflect the views of Freeside and its membership.Recently, Freeside hosted a CryptoParty where I gave an introductory presentation on steganography. Like all my CryptoParty presentations, this wasn't very technical, but I did introduce some (very) basic techniques.

The first tool that everyone should know about is exiftool. exiftool reads and writes to the metadata section of a variety of image formats. I showed an excellent illustrated example of Exif metadata in the JPEG format, which has some great diagrams which show how a JPEG file's bytes are laid out. There's also C# .NET code included to extract and modify this data, if perl's not your thing (Note: perl should not be your thing).There are many uses for Exif metadata. The most common use is by camera manufacturers. You may have heard that digital photography can record data and store it into the photo itself. This is how and where it happens. It's not just a timestamp, either. Your camera, especially a smartphone camera, can store information like GPS, your phone firmware version, the OS it's running, model number, IMEI, and other information that can unique identify your camera as the source of the photo.

Facebook, Google, and other social media use this feature to conveniently place the location of where the photo was taken when you upload it to their service. This is great when you want to let your friends know that the picture of you standing in front of the Grand Canyon was taken at the location of the Grand Canyon (for those friends of yours that don't know what the Grand Canyon looks like). It's less awesome when you've called in sick to work on Thursday and post a picture of a cool looking bird on Saturday, especially if you work in Atlanta and that bird was on the outskirts of Panama City. Your employer can put two and two together.Thankfully, there are tools to strip out metadata from images. Consider using some before posting to social media! There's always opt-out, too (you don't have to post everything to Facebook).You can use exiftool to extract the information from some of the images in this blog post. For example, with the "Snakes are Awesome" image, we can run the following command at the terminal:

Note: "$2" was removed when I wrote the value to the image, because $2 is a variable in Bash shell and the command was looking to substitute a value for it (which was nothing).

In this way, you can "hide" a URL in a picture. It's not very well hidden, but a person or software tuned to detect this sort of thing can fish it out. Still, it's a great way to communicate a "secret" with others that's not immediately obvious. There's also no reason the data you store in metadata can't be encrypted.

Text steganography is the next step up in hiding information in plain sight. For the presentation, I demo'd spammimic, an online tool that takes a string and hides in within spam, a fake PGP signature, or even characters that make it look Russian! Let's say I want to send the message, "The only limit is yourself" - spammimic can make this look like a spam email:

Dear Friend ; Thank-you for your interest in our publication . If you no longer wish to receive our publications simply reply with a Subject: of "REMOVE" and you will immediately be removed from our club ! This mail is being sent in compliance with Senate bill 1627 ; Title 6 , Section 303 ! This is NOT unsolicited bulk mail [...]

The way that works generally is by taking the characters and mapping them to a known snippet of spam. Note how the punctuation is always space-punctuation-space. If you know about spammimic, it's not difficult to write some software to detect and test for this sort of thing. Now, go through your spam folder and see which ones have hidden messages!

So, computers are basically machines that process strings, so anything you do with text is probably easily suited to reverse engineering and therefore, easily detected by three letter government agencies.

There's a very simple technique to hide a zip file within a JPEG or GIF file. The reason this works is that JPEG/GIF files are interpreted and identified by the header, whereas zip files are read from the end of the file. So, in browsers and operating systems, the image will be rendered while the zip file remains obscure.

This technique is not without its drawbacks. For starters, depending on the data, you can really blow up the size of a JPEG or GIF (which are typically less than 500K in size, which is being generous!) A single PDF file could be 1-2MB. So, a naive software detector can simply scrape social media sites like Tumblr and Twitter and put aside images in excess of a certain size threshold. Still, you have to know to look for that. Most casual human observers will see a picture and think nothing of it.

This does nothing more than use the *nix command cat to append the zip file to the end of the image. In this case, we have appended a PDF file with Microsoft's menu of services to law enforcement to the back of an image of a taxiderpy polar bear. As you can see from the output of ls, the file size has increased from 40K to 1.6M.

Note: Blogger was able to detect that something was off about the taxiderpy image when attempting to upload it to this post. To fetch the actual file, download the original presentation.

Extraction is easy - you simply attempt to unzip the JPEG or GIF. Note that unzip warns about some extraneous data at the start of the file, which is the image, of course:

There's some more advanced techniques that hold up better to closer scrutiny. For example, the same technique that professional photographers use to include a watermark can be used to hide a URL or other piece of data in a photo. Video is another great medium to hide information. In a complex animation or sequence, you could flash some secret text to the screen in a subtle way. The "key" that the recipient needs to read the data is the exact frame number.

For more good times, come to the next CryptoParty! We also archive all the past presentations and information discussed at CryptoParty on our wiki. I'll be trying to get these into blog post format, to fill in the blanks between the slides, as it were.

Motobrain began when I decided my options for a vehicle fuse panel where too limited. I wanted something better. A buddy and I started chatting about what we might want from a fuse block and I started drawing schematics and making prototypes. My first idea was an actual fuse panel that could measure system voltage and total current draw and had fused circuits. It's "killer" feature was that all the outputs were interchangeable so you could select the type of output you wanted. It had card slots and the card slots and the cards I developed with for high side switching, low side switching, USB charging, and analog inputs. It was cool, but not really durable enough for an automotive environment.

It was going to be controlled from a dedicated unit wired to the gizmo above. The more I thought that through, the more that was foolish since we all have computers in our pockets already, our smart phones. So I did a full reboot and decided to do a Bluetooth 4 gizmo, that was completely weatherproof. That meant I needed to get rid of the fuses and the interchangeable cards. The most practical card was the high side switching card so I decided to go with those. I designed in 8 channels because it was enough for most setups I could imagine and still was a comfortable size to fit on any vehicle. Motobrain was born.

It has gone through several variations mainly surrounding the signal inputs and how the current and signal actually go in and out of the Motobrain. In the photo above, you can see that system was designed with wires terminated inside the potted electronics. That is an easy way to do it but requires that I supply the wire and that it is right for all the customers needs. That seems like a big "if" to me, so redesigned the output board with screw down terminals and I have finally found the product I want to sell.

Then I needed to figure out how to cast these things. This is not a skill I've ever learned so it took some time to figure it out. At first, I thought I would 3D print the mold in hard plastic, place the electronics in that and then pour in the resin. It seemed like a fine idea. It wasn't. I burned a couple grand on that before I gave up.

I ultimately got pretty good at this technique...

...but this is just not how to do this job though. People kept telling me to make a silicone mold and it will be easy. I fought the idea because I didn't want to learn yet another skill when I was this far down the road. It was necessary though, so I purchased Solidworks and drew up a perfect replica of Motobrain and had it 3D printed.

Then I ordered some fancy silicone and cast some fake Motobrains to learn how.

When I was finally confident that I figured it out I made some REAL ones.

I built a pick and place machine so I could build up my Motobrain project easier. I used MDF for the platforms. 12mm rail and linear bearings for the Y and Z axis bearings. THK linear motion guide for the X axis. The Z axis is a piece of carbon fiber tubing attached to a piece of laser cut acrylic. The nipples on the tube are 3D printed.

The laser cutting was done by OSHStencils.com. The bearings were purchased at Amazon. The 3D printing was done by approto.com.

Everyone seems to either want, have or use a 3D printer now
a days. I bought my first printer kit in 2012 and I quickly noticed I wanted a
one with more capabilities but since all of the high performance models were so
expensive I designed my own. Eventually I designed a $4,000 printer that I
could sell for $1,400 on KICKSTARTER.

There were a few things that I wanted the
printer to have: two nozzles, Bowden extrusion, enclosed build area, and a
moving xy gantry.

The two nozzles seems like an obvious choice for anyone who
has printed before simply because it allows you to create way more interesting
prints than you could otherwise. For example dissolvable support, multiple
colors and multiple materials (which is pretty cool). I did notice on other
dual nozzle printers, however, that having two big stepper motors created a
massive moving mass so if I wanted any sort of respectable speed I was going to
have to go Bowden style.

Another pet peeve I have is a moving y-axis.
There are big debates on the RepRap IRC and even in the forums about what is
better for the print, a moving Y or Z. I will stand firm on the fact that moving
your print rapidly back and forth is a ridiculous idea. It definitely looks
cool and makes life easier in some regards, but having a variable moving mass
that is semi-molten does not seem like a good idea…

Now that I knew what I wanted to do, I starting creating a
CAD model of the overall design of the printer. This wasn't too difficult just
time consuming. I used V-Slot for my frame and thankfully they have Sketchup
models that anyone can download so it gave me a good starting point.

Once I started building the frame it became quickly apparent
that extrusions require some effort to get them in tight tolerances for a
square frame. This was the process that was recommended by Paul F.

How To Cut 80/20 Extrusions (within 0.002”):

1.Cut the rough dimension with a band saw

2.
Make square first cut on each side using the mill

3.
Bolt an endstop for the extrusion at the required
length to the mill

4.
Cut the first piece. Now that you have an endstop at
the length of your first piece all of the subsequent pieces should be the exact
(or close) length

5.
Take your second piece make a first pass then flip it
butt it up against the endstop and then cut the excess with the mill.

Super square frame on a flat sheet of glass

With my frame done the next step was to create the x and y
axis. This was a little bit difficult because I did not just want to copy
existing printers. I don’t particularly like the Ultimaker’s X/Y set up even
though it does produce great results. I wanted to be a little more creative so
I decided I was going to use my frame as the rails for my Y axis. Since I had
V-slot already I decided to use it for my X-axis. The details were a little
weird to work out, but I think it turned out nicely.

Building the Z-axis was a little bit more
difficult because the print bed was so large and I was concerned about the
print bed bending as a cantilever beam. I eventually settled on a design using
a tri-point mounting system with V-Rails. For the production model, however, I
will change the design to something with less flex. For a production model I
would focus on making the whole z-axis assembly of only 2 or 3 pieces to
minimize play between the interfaces. After using the printer for several
months I think a 4 point mounting system is a better choice because with cyclic
heating and cooling the print bed appears to sag in the corners where it isn't supported.

Laser engraved logo on the side wall. Fun Fact: all the radii in this design are different ratios to pi

With the basic mechanics completed it was time to add the
print bed, nozzles and enclose the printer. The print bed you will notice is
actually white plastic and not glass. This plastic is a plastic from GE called
Ultem 2300 and I thank the delta printer google groups because they were
definitely helpful in brainstorming ideas for a new print surface. Unfortunately
nobody really sells this plastic in small sizes so in small quantities it is
really expensive. However, it is an amazing print surface so far I can say that
it is great for printing PLA, ABS, HIPS, Carbon Fiber, NinjaFlex and LayWood
filament. Nylon really should be printed on Garolite simply because it is
impossible to remove from Ultem (I may have destroyed a couple prints proving
this).

Enclosing the printer was actually pretty interesting
because I got to work with a laser cutter. I laser cut most of the parts based
off of my CAD but I ran into trouble when making the top cover. The Bowden tube
requires a large amount of room so that it doesn’t break the filament or create
too much friction so I need a tall top cover. Initially I made a square box which
was pretty ugly, so I figured it needed to round the edges. My first attempt
was to learn how to bend acrylic and that didn’t turn out so well….

I spent a day trying to get the acrylic to bend at a 90
degree with a 4” radius. Unfortunately I failed pretty hard but that is what
Makerspaces are for, failing and learning!

I did some digging and figured that the best way would be to
make the bend out of acrylic a laser cut living hinge and I think it turned out
pretty well.

The last part and probably the most interesting was the
extruder. I needed an extruder that fit the E3D DMfit connectors and I really wanted it to only have one bolt for
ease of use. Actually, the first one I made was very similar to the makerbot
extruder, without a tensioning screw, but because I am printing in so many
different materials it didn’t work since each material needs a different amount
of idler tension. It took around 4 different prototypes until I finally created
a mechanism that works.

Overall I think the printer turnout splendidly and it makes
some really great prints too. Check out the time lapse of a massive D20 below.
There are also many example prints on www.lathon.net
and the kickstarter . I really enjoyed this project and I
hope I can make LATHON’s for other Makers and engineers because, for us, a 3D
printer is just as important as a hammer.

I purchased one of the new FLIR E4 thermal imaging cameras (TIC) a couple weeks back because I am working on a new project called Motobrain. It is an automotive power distribution unit with a nominal current capacity of 100A. For those not in the know, 100A is a TON of current! Because this project is designed to move so much current and will be small I need to understand its thermal characteristics very well. To that end I've been operating the device and taking measurements. What I found is that I just could not get the kind of detail I wanted. The reason is that the resolution of the microbolometer in the FLIR E4 is not very high and the lens does not allow you to get very close to the device under test (DUT). The means that you cannot just zoom in after you take a photo either. So, what is a person to do if they want to take a macro photograph with a consumer grade TIC? Go to Amazon.com of course! I purchased a Gallium Arsenide (GaAs) lens meant for a CO² laser for about $40 and waited patiently for it to arrive (via ox cart it would seem, it took weeks) from China. Then I mounted it up in a highly technical lens mount (a paper CD case cut with scissors and stapled together with the lens inside). This provides me a focus distance of about 2 inches which is great for close up work on a PCB. Different lens sizes will provide different focusing distances. I chose a 50.8mm lens.

The lens.

The lens installed on the TIC

The photo on the left is with the new macro lens attached. The photo on the right shows the previous closest in focus image I could make. Both photos are looking at the same part of the PCB. My lens mount is causing some vignetting which I can fix if I want to bother to make a nicer lens mount on the laser cutter. Honestly I am quite satisfied with the current image quality. If it ain't broke, don't fix it.

The photo on the left shows an SO-8 PowerPak MOSFET glowing nice and warm. You can even see its drain and gate pins. The photo on the right is the same image from the same distance without the lens installed which shows you what it looks like out of focus. This is a significant improvement at a trivial expense compared to the cost of the instrument.

This final image shows the same portion of the PCB as above only with the current flow having just been removed. You can see clearly the temperature gradient as we get further from the MOSFET. Neato!

I (Ben Bradley) have made several of these for my personal use. My early bookcases were three feet wide, but moving was a process of putting books into boxes, moving the shelving and the boxes, and putting the books back on the shelves. It was unknown whether the bookcase would hold together if tilted while fully loaded, because it was too heavy to pick up when fully loaded

This one was assembled at Freeside after the November 5 Open House and is based on my current design, as follows:

Compare the lengths of the 6-foot boards. They can differ by 1/4 inch or more. Choose the two longest for the sides. If their lengths are different, cut the longer one to match the shorter one.

Cut the two remaining ones into eight equal-length pieces. The length of 17 3/4 works well as it gives enough space for the saw kerf and a little extra for variations in length.

Sand one side of each of these (this will be the top side where books rest on it), and on one long edge, sand a "curve" along the edge so it is rounded off. Alternately, use a roundover bit in a router to round this edge.

Put the side edge of the first or "bottom" shelf piece against the side of one of the side pieces at one end. A clamp may help here. The rounded edge should NOT be next to the bottom of the side.

The diameter of the hole drilled for screws depends on the screw size used. Older projects used #6 drywall screws, where a 1/8" drill bit work well, but the Home Depot used for parts for this project only had #6 (slightly larger) screws, and a 5/32" bit was used successfully.

Drill a hole about one inch from the front or back edge so that it goes through the side and into the shelf piece equidistant from the top and bottom (for a 3/4" shelf this will be 3/8" from the edge, but I always eyeball it as the center - it's good enough), and into the wood about as far as the screw will go, or perhaps 1/4" less than the screw (set the drikk into the chuck to extend this distance). Be sure to drill straight, so the hole is parallel to the shelf and the screw won't come through.

Screw the screw in, using a drywall screw setter bit. This is a Phillips bit with a metal ring around it that will cause the bit to slip out of the screw once it is just below flush with the wood. This gives excellent strength and prevents accidentally screwing the screw too far into the side, which is easily done with an electric drill/screwdriver.

Drill a second hole the same one inch distance from the other side and put a screw in it. Drill a third hole midway between the other two and put a screw in it. I do it in this order as it's easier to eyeball the middle of the board near the edge, and then it's easier to make the hole in the middle midway between the other two that are already drilled.

Drill the other side of the shelf to the other side piece as above, so that the two side pieces are parallel.

Make two "spacer" pieces of wood using scrap (such as a length of 1" x 8" or smaller), exactly 9 3/4" long. This will be the distance between shelves, and determines the height of the books that will fit between the shelves. Be sure the top and bottom edges of these pieces are parallel, as this is needed for the shelves to all be horizontal.

Put the two spacer pieces along the side pieces and touching the bottom shelf, and place a second shelf between the sides so it touches the other ends of the spacers. This gives a precision height to the shelf without measuring. Make sure the rounded over edge of the shelf is on the same side as the rounded over edge of the bottom shelf. Drill holes and use screws to attach this shelf. Pull out the spacer pieces. They may be moderately tight, but can usually be removed by hand.

Continue attaching shelves in this way until you get to the top shelf. Align the top of the top shelf with the tops of the side pieces, and drill and screw it.

Cut the 4' x 8' by 1/4" plywood to the dimensions of the back of the bookcase, which should be about 19 1/4" x 6 feet. Align it with the back (the side opposite the rounded over shelf edges), and attach it using 1" screws spaced about every six inches.

This bookcase is for Octavo sized books, and the top shelf is just large enough for mass-market paperback books. I've made a similar shelf that fits (almost?) all Quarto sized books and magazines with 1" x 10" boards cut about 14" wide (five shelves per 6-foot plank, seven shelves per bookcase) and with 11 3/4" spacing between the shelves.

These bookcases may weigh 200 lbs fully loaded, but can be moved by one person with a handtruck. Push on the side until the bottom lifts up, put down on the handtruck, then pull back with one foot on the handtruck axle, and move while balanced as shown in the photograph. It can lay down in a pickup truck bed, or stand up in a tall enclosed truck with it tied to the walls.

The Infinity Portal is a 10 foot tall archway with a 7 x 4 ft infinity mirror inside of it. The mirror is made with two-way acrylic, so you can push on it to warp the effect for people on either side of it. It is lit with addressable LEDs, so there is a counter-rotating rainbow vortex in there too. You may remember seeing our write-up about prototyping the design a few months ago.

Defying all expectations, the thing actually survived both events that we brought it to! So we're really happy with it and will find a place to keep it in the mean time.

We actually (surprisingly) did a pretty good job of documenting this build, so we cut it together into a video to show how we built this huge, epic piece of art. Enjoy!

Again with the weekly (more or less...) list of delectable offerings by Freeside, your friendly local dragon and hamster breeder.

Sunday, 10/20: Freeside Laser: Basic Usage and Safety at 2pm
Learn how to use Freeside's new Laser Engraver/Cutter (wiki page). You'll learn how to use the software toolchains to cut or engrave vector and bitmap artwork into a variety of materials. And after the class, you'll be eligible to schedule a one-on-one session an approved user to supervise and assist with your first project, and thereby gain authorization to use the laser unsupervised. That's right. Just you and the laser. $40/person. Pay on Meetup.

Tuesday, 10/22: Chump Car Build at 7pm
Ever wanted to race a car, build a moving art project, or learn to work on a car? Here is your chance to do one or all three! Please join us at Freeside to learn more! And it's totally free, man.

And simultaneously...

Tuesday, 10/22: Open House at 7:30pm
Where the house is open, and the tours are free. If this is your first time to visit Freeside, or you want to hang out with the members, here's your best chance. Happens every week, but you want to go this week, I promise. Free, so long as you are more than 50% organic, original human material.

Wednesday, 10/23 and Thursday, 10/24: Introduction to Electricity, Magnetism, and Energy at 7:30pm
In this class you will learn the terminology of electricity, magnetism and energy. You will learn some of the history behind the works and discoveries of Einstein, Maxwell, Tesla, Faraday and many other experimenters and theorists from the past to the present. We will not avoid discussing controversial aspects of the differences in the views of these larger-than-life individuals. Two nights only! (Attend one or both nights!) $20/person. Pay on Meetup.

As always, check out the Meetup for more info, and to RSVP to classes and stuff. And don't forget to take a snapshot and email it to me!

Step right up, ladies and gents! Never seen such fine taxidermy before? The best in all the land!

I see a lot of disappointed faces - you there, reading the article! You some kind of Internet-dwelling, city slicker? Oh, you are. Very well then - that's totally not a problem! What's that you say? What's going on?!

Welcome to the Trading Post - tales from the wild and unsane world of hackerspace skills trading.

One of the key benefits to being part of a community of skilled people with diverse backgrounds is that you're surrounded by opportunities to try something new and learn from each other.

Whether you're into taxidermy, python, arduinos, or rebuilding arcade machines, you can leverage your skill set to learn new skills from other hackerspace members. If you successfully find a match, then that's what we at Freeside call The Gift of the Magi moment. Cherish it.

This week, I promised Paul I'd get his website hosted and up and running with Wordpress. In exchange, he'd let me take his Introduction to Milling class for free.

My project was simple: machine a new set of jaws for Freeside's bench vice.

The first step in the process is measure, measure, and measure again. It was little later reflecting on all this that I realized all that talk in middle school about proper measurement and significant figures. We spent a good hour on the measurements themselves. After some quick instruction with calipers, and how to draw the plans for the part, I went through and filled in all the measurements, twice - then Paul re-measured, and we were good to go.

Freeside has a vertical mill on loanation from Paul. It's a pretty awesome machine - it wasn't until I actually got hands-on experience with it that I got some serious appreciation for how versatile it is. The first thing I learned how to do was to aligning the machine vice. A dial indicator was traversed across a machine square, and put the vice in alignment. So, in a sense, more measuring. Accuracy is king - Paul told me we could machine at a thickness less than a human hair. This is more than enough for our bench vice jaws!

The milling itself is a straight-forward process, once you understand how the measurement on each axis corresponds to the measurements on the part's plans. At some point, we had to make some spindle speed adjustments by changing the belts.

After all the milling was done, we drilled out the screw holes, and used another bit to taper them. The final step is to use a file to smooth out each edge of the machined part.

The end product is that there to the right. Shiny!

Although I ran out of the time we had agreed on to finish the pipe jaws together, Paul added those in later. Now, we just need one more to complete the set!

We had a small scare trying it out on the bench vice, when the screw holes didn't line up properly. It just ended up being a matter of not having them wide enough, so crisis averted!

Besides making something useful for Freeside, I really got a serious appreciation for all the time and skill that goes into manufacturing. There's some interesting problem solving that I wasn't used to, especially when you're faced with the constraint of one mistake completely messing up the part.

It's about time for Atlanta Mini Maker Faire 2013 (10/26). LearnToSolder.org and Freeside Atlanta are once again hosting a free Learn to Solder tent. Last year's tent was a huge success, teaching around 100 kids (aged 4 to 80) how to solder together a basic electronic kit. This year, we hope to double that number, but we need help!

We've got all the supplies, irons, solder, project kits, helping hands, band aids and burn gel. What we need are volunteers to supervise and mentor the kids in constructing the kits. These kits are simple, and designed for first timers, but gives them something they can be proud of and show off. You're there to help troubleshoot (solder bridges, cold joints), teach (show them how to do the first joint), and supervise (make sure they know which end of the iron is the hot one), etc.