Tuesday, April 8, 2014

Rapid Prototyping and Cosplay: lie ren / jade dragons on the lasercutter

hmm.

things happened over the last month. i guess that's the way of life. can't stay constant.

i'll start with rapid prototyping and cosplay. sadly, no 6-axis knitting robot arms were involved in this, nor lasercut lace.

first time (probably last time) cosplaying: cosplay, costume play. there is no competition and no acting required.

http://en.wikipedia.org/wiki/Cosplay

for me, it was also my first real adventures into sewing, minus my rather sad attempts at vermiculture bags. sorry long dead worms :(

sewing is hard. i guess most first things are hard. but that's a tale for another, longer post.

so three weeks or so before anime boston, brian chan convened a meeting on latches in cosplay. he had also kindly invited a few of us to invade his annual rapid prototyping and cosplay panel. i thought, since i'm probably not going to be in town next anime boston, i may as well do a cosplay. cynthia (man i'm just surrounded by awesome people, do read their blogs) suggested lie ren, a character in rwby. several of my friends were going as characters in rwby.

i... i still have yet to watch any episode containing him that i remember. i barely know anything about rwby. oh well. for me, the primary interest is in making things.

anyway, he has these gun/blade hybrid things. they're supposed to fold up in his sleeves and emit green dust or something.

i pushed off the rapid prototyping / weapons part to the last-minute, since i was pretty confident i could come up with a solution that would work in time. especially since there's been prior art on the internet: $100+ ones you can buy that model the art pretty closely, and then ones that looked like water guns with cloth wrapped around it. the sewing i gave myself all three weeks to work on, since i knew i would consistently underestimate how much time it took no matter what.

so the week before or so, i bought some water guns, you know, just in case the sewing took so long i wouldn't be able to rapid-proto some (non-function, mock, cosplay) guns and only had time to work on the blades.

cost: I think $16.

uhm the friday of the con i decided i should probably start on the weapons, since i was supposed to help out with a panel on saturday. putting the rapid back in rapid prototyping...

1) bandsaw, 'cos i need to attach extended magazines or some non-sense



2) ponder how to create "sanded edges" to thin it down more towards a point at the end. opt in the end to skip it entirely and just do the easiest thing possible

lasercut three identical layers out of mdf and glue it together and call it a day



some blatant tracing from some screenshot i found later, plus scaling based on getting the magazine to roughly fit into the existing grip, and exporting to pdf because stupid coreldraw hates inkscape SVG files and almost everything inkscape exports for whatever reason. ugh coreldraw. i should sink some time into switching over to inkscape on the lasercutter.

one layers takes 1.5 minutes. good.



some of them are flipped. this is because the mdf is rough on one side and shiny on the other, and i want both outsides be shiny.

at this point it's 9 AM, so then I lasercut some stencils out of cardboard (next post) and head off to work.

at 10 pm i come back to working on this, even though i want to continue sewing, mostly because i've learned that actually spraypaint takes 24 hours to dry, not the one hour i was imagining. which means i better finish this part, paint it, and set it drying ASAP.

3) now how to attach my lasercut pieces to the off-the-shelf pieces.

After some pondering i settle on 5-minute epoxy.

clamps!

and some "press-fits" or close-fits, just to give it lots of area to adhere to.

a few iterations later i was satisfied.

the blades were tricky to epoxy because they were heavy and long and not possible to clamp down. i was actually worried about weight and carrying it all day, but it turned out to not too heavy at all.

but mostly, it just required patience. which i had a lot of by that time because i was pretty sleep-deprived and mellow. here they are, propped up on some power supplies to keep blade from falling over.


i epoxied them two or three times: once to tack them down, wait fifteen minutes, then gingerly all around them and set it back on the power supply to cure, and then a third time to fill in any gaps i missed.


the epoxy has got a pretty noticeably different finish than the wood, which i worry about a bit. but turns out it all doesn't matter, no one notices the fine details when you are cosplaying, because you are a large human and a vague resemblance is fine.


two layers of spraypaint (one to cover most of it, and then the second to cover the back, which i picked last because the paint would still be tacky and would come off on my hand during the con, but it'd be facing me and no one would notice) and i'm done. actually, one thing i learned: spraypaint doesn't like to stick to plastic, so you should rough up the plastic beforehand.

i didn't do that, or any of the hand-paint detailing, or anything at all. but it was still fine and great.

and i am never ever doing that much sewing again.

Sunday, March 16, 2014

Biking to the Arboreturm, Walden Pond from Somerville, MA

There were two days of 40s-50s temperatures a few weekends ago, so I decided to bike to the Arboretum and then the following day to Walden Pond.

Arnold Arboretum (near Forest Hills T stop)

I left around 11:30 am and arrived at 12:45 am at the Arboretum, with earphones in one ear trailing to my cellphone GPS (kind of dangerous, but effective). Here is a mural I saw along the way which I'd never seen before.

rough bike directions





 We went into Jamaica Plains for lunch. Along the way, we saw a take it - leave it - street library, which I found pretty cool.

 
Walden Pond (around 2-3 miles away from some commuter rail station)

The next day I woke up at 2 pm and felt like going somewhere, since I didn't have anything to do until 6 pm. After a bit of googling I settled on biking to Walden Pond. It felt ambitious but doable, but I would have to leave almost immediately to get there before sunset.

rough biking directions


After biking on some highway for a bit, I reached the start of the MinuteMan bike bath. This path (pictured above) was very nice and flat but wet / slushy / icy in many parts despite a day and a half of nice weather. Good thing someone told me to wear rain boots, to bring extra socks, and not to expect to go fast!


I left at 3pm, bought some snacks and gatorade, and headed out by myself. Too impromptu to find anyone to go with me. There was a large section after the bike path just on the side of the road, which actually meant on the road because


if you biked on the side of the road you ended up in the mud / giant puddles. Good thing I was wearing rain boots!


5:12 After walking up 3 or 4 hills and then biking some more, I arrive at the Walden Pond State Reservation, which isn't actually where Walden Pond is.

Walden Pond is across the street.


The pond was frozen over and still covered and snow, while the sun was setting by this point. Only two other people were there. It was really nice and tranquil, disturbed only by the sound of me noisily munching on food rawr delicious fluids and trail bars.


Well, after a few minutes, I headed back out, since it was getting dark. I failed at getting directions to the closest commuter rail (commuter rail, because biking back in dark icy conditions on the side of roads without bike lanes sounded like a terrible idea) beforehand, figuring I'd rely on GPS and that I should get on the road ASAP to get there before dark. Lo and behold, when I tried to go back, not enough 4G signal for usable GPS. fail. And then I on top of that I got a flat (and I definitely did not have a spare tire or pump). Luckily some really nice strangers who came out of the state reservation wearing snowshoes had a car nearby which could haul me and my bike to the commuter rail station.


$8.00 for a ticket back, and $6 (I think?) for a replacement inner tube. Ah well. So it goes. I also had issues on my bike with the shifter chain falling out (I have an three speed internal gear hub) when I replaced the inner tube, but that's a tale for another time.

I didn't even feel too tired at the end of my 15 mile trip. Bikes are great!

Wednesday, February 19, 2014

Ubuntu Hardware Course Screencasting: Screenpainting + live webcam feed (12.10, wacom CTL-480, zoom h1, Ardesia, gtk-recordmydesktop, OpenShot, cheese, key-mon, Arduino)

Hello dear friends!
Today I’m here to talk about screencasting a hardware course in Ubuntu using tools that are free (no-cost) to use. I had some issues that were cinnamon-on-ubuntu specific, and others I’m still not sure the cause of, but overall I’m pretty pleased with how things turned out.

Left: Cheese; Right: Arduino, Ardesia; Bottom: gtk-recordmydesktop; Overlaid Writing/Drawing: Ardeisa



Hardware setup:
  1. USB webcam on a tiny tripod
  2. wacom tablet (CTL-480) -- to get this tablet working in Ubuntu, see step 1, step 2
  3. Zoom H1 recorder with v2.0 firmware (for USB mic support in linux) -- to see which firmware version you have, simply turn on the recorder and at the top it will say “2/00” if you have version 2 (shown without USB cable)
  4. and then I had the iteaduino (arduino clone) and 
  5. my laptop
  6. secondary laptop for displaying the script

Lower Screen Resolution

My default resolution is 1600x900. First step, Lower the screen resolution to 1280x720 to make text readable at lower dpi and file sizes smaller (and thereby make your lower-bandwidth internet users happier!)

1) Install gnome-session-fallback.
sudo apt-get install gnome-session-fallback
This is because I’m running cinnamon and can’t get the display to change resolutions unless I log in as gnome-classic instead. You need gnome classic WITH effects for Ardesia to work, by the way.

2) Open a terminal (alt-f2, gnome-terminal). Run gnome-control-center. Click on "Displays". Lower the resolution to 1280x720, which is standard HD resolution (youtube uses 16:9).

Get Alt-Tab Working Again

Okay, now we’re running Ubuntu 12.10 with gnome classic fallback, and ugh Alt-Tab doesn’t work wtf. To get it working:

sudo apt-get install compizconfig-settings-manager
sudo apt-get install compiz-plugins
ccsm

Then go to Window Management > Application Switcher > Enable. Okay now I also have ultra-fancy alt-tab swoosh effects too, but at least I have alt-tab.

Drawing on the Screen:

sudo apt-get install ardesia

Ardesia is great! It’s very easy to use, is in the ubuntu repositories, and provides multiple options for drawing on the screen. See first picture at the very top (where I show how it can toggle between wiggly, smoothed wiggly, and squareish lines, as well as draw arrows), as well as this one:



However, when I try to screencast in Ardesia, the audio (whether I use the internal mic, or the zoom H1 as a USB mic) is unusably choppy.

Thus, we use yet-another-application for the actual screencasting!

For screencasting (recording the screen)

I used gtk-recordmydesktop.
sudo apt-get install recordmydesktop.

This had a bit of a learning curve for me. There is a tray icon that shows or hides the main window, and when you hit “Record” the main window goes away automatically. It doesn’t save the file as anything usable at first, when you stop recording it begins encoding and then saves as an OGV file in the directory where you selected in the “Save As” dialog in the main window. Also, since we have a stereo mic with the Zoom H1, I went to advanced settings (upped the frame rate to 25 fps as well) and increased it to 2 audio channels. I don't know if this actually affected the output, but presumably it does.

Officially youtube doesn’t support ogv, but I haven’t had issues with uploading the OGV files this application created.

For a live view of the hardware

I used a webcam connected to Cheese and then resized cheese until the lower toolbar disappeared.
sudo apt-get install cheese

I had a laptop camera as well. To choose the external webcam instead I simply went to Cheese > Preferences > Device  and chose "USB2.0 Camera /dev/video0" instead of "1.3M HD Webcam /dev/video1".

For USB Mic

For a comparison of the audio quality using my internal mic versus using the Zoom H1, see:

 
With laptop mic
 
 With Zoom H1 as USB mic

Connect the Zoom H1 to the computer. On the screen it will blink between “USB Card and USB Audio. Hit the red record button when it says “Audio”, then hit the red button again to accept the audio settings. Now go to
gnome-control-center > Sound (or “Sound Settings…” under the volume tray icon in the gnome panel). Under “Hardware” you should see “H4 Digital Recorder”.



I set it to “Input” only (instead of duplex) to be safe. Then, under “Input”, you should see “H4 Digital Recorder Analog Stereo.” If you don’t see it in “Input”, but it shows up in “Hardware”, try rebooting your computer -- that did the trick for me.

For displaying which keys are pressed

I used key-mon.
sudo apt-get install python-pip
sudo pip install key-mon

For syncing audio and video, or video editing

Say like me you initially didn’t figure on using yet another application to get non-choppy audio simultaneously recorded with the video screencast, and instead have a .wav file from your zoom recorder and a .ogv file from your screencasting tool. How do you sync up the audio and video files appropriately?

PiTiVi was sad for me. I liked pitivi, because it displays the audio waveform, which is useful. However, the video preview was really choppy (unusable for syncing purposes) even when I selected “video thumbnail 1/100 sec” and the export didn’t work.

Use OpenShot.
sudo apt-get install openshot

The export settings are pretty self-explanatory. For now, I’ve settled on using “Device> AppleTV” as the settings I use. “Web >Youtube-HD” probably also works. When I tried manually selecting “H264” and “AAC” audio like youtube recommends, though, OpenShot gave me a .h264 file that youtube grudgingly accepted and converted for me (but I couldn’t open in VLC or anything locally). So… just stick with the “simple” export settings and everything is great.

By the way, OpenShot 1.4.3 doesn’t like to import OGV files on my computer (pops up an error, “ogv not supported). Therefore:

Convert OGV to AVI or MP4

Use ffmpeg or avconv to convert the OGV file into AVI or mp4 and then import into OpenShot.
ffmpeg -sameq -i ardesia_project_2014-19-2_18\:11\:24.ogv output.avi
or
avconv -i ardesia_project_2014-19-2_18\:11\:24.ogv output.mp4

Then open the AVI file into OpenShot, along with the WAV audio file, drag-and-drop to sync the files, and then hit export.


Voila! 

You have a video :)
For an example of the output, see http://www.youtube.com/watch?v=8ZgO082rD2g. It's a bit fuzzy, probably in part because I recorded it in 4:3 (1024x768) instead of 16:9 which it was converted to (1280x720). But the text is mostly legible.