Monday, January 30, 2012

Yarn Hanging Project

Spoiler Alert : This is what this blog post is about
Window Yarn Hangings



I love yarn. I have a collection of yarns in particular that I love the most. They are fuzzy and soft and lovely and later become the key ingredients to my monster recipes. I enjoy touching and seeing my yarn, as all classic knitters/crocheters do. Unfortunately, for the longest time my yarn lived in an ugly box pushed into my Ikea shelf... which meant I'd need to pull it all out in order to comb through my precious collection.

Old yarn box

Having solved a similar problem with my fabric collection a while ago, I knew action must be taken... and I had a good idea of what action it was.

A friend of mine is an avid knitter. Back in college she strung up twine in her studio apartment and used cloths pins to hang several lovely skeins of yarn from it. I will never forget how classy and tasteful they looked.... however A) I've accumulated more yarn since college then we both had back then and need a more compact solution and B) I keep most my yarn in tightly coiled balls which clothespins can't actually grip.

Good yarn collectionWhat to do? Well, the solution of course involved pins. All good things involve something sharp, yes?

First off it started with me realizing all my yarn balls kept unwinding as they rolled about. For the balls thick enough, this was solved by coiling the tail around a T pin and sticking it into the ball. I fucking love T pins- so useful!!

That got me thinking... which lead me to my floral/hat pins. I do not love them. They are super long with a pearly head- which is why I got them- but utterly impractical. They bow under too much pressure- and by that I mean any at all- and don't actually mesh well with my pins and T pins for solder bugs. I however had a box of, like, a gazillion of them to find some use for them.

Solution : stick the hat pins through the yarn balls & skeins and hang them from something!
Yarn ball hanger assembly


The supplies and tools are simple :
  • Tools
    • Scissors
    • Hot glue gun
    • Hole punch (optional)
  • Supplies
    • Floral / hat pin (1 per)
    • Buttons (1 per)
    • Cork-board (only a tiny section used)
    • Chain(s)
    • Hot glue
    • Thread / v. thin yarn


The cork-board came from a hardware store (6 flat squares) and has proven useful for a number of projects and makes an excellent work surface. Using scissors, cut tiny squares (~1 cm x 1 cm) or- as I later discovered- you can use a hole punch to achieve cleaner results. Select a complimentary color button for the yarn you're going to hang.

Cut a length of thread (you'll quickly figure out what's right... ~5 inches to start with) and tie one end through one of the button holes. Hot-glue the cork-board bit to the button, trapping the short thread end in place for neatness purposes.

Take the other end and tie it tiny loop through it (small enough that the hat pin's top can't pass through). Stick the hat pin through the loop, spear as many yarn balls/skeins you want and jab that hat pin end into the cork board bit. Bam! You've got yourself a little hanger.

Yarn ball hanger side AYarn ball hanger side BSample yarn ball hanging

Next you take a chain and hang it somewhere. The chain I got came from a hardware store and was perfect. Note that each link is C shaped with a tiny gap where the ends meet. This gap was just the right size to slide the hanger's thread through, which made hanging and re-hanging the yarn extremely easy. I got 2 types of chain (the color variation is too subtle to see in the photos), used a pair of pliers to separate them into smaller chains, and then hung them about my craft room.
Yarn ball hangers


I tried to separate and hang them by color. It definitely highlighted my extreme love for the blue-green spectrum and how I really need to stock up on some more reddish hues. The hanger loops slide in and out of the links so easily that shuffling and hanging the yarn clumps has not proven to be a hassel at all. The hanger construction process is super easy so I don't expect any problems as my collection grows either. Now I can easily trail my fingers across my favorite yarns as I come in and out of my room making my craft room even more awesome.

Not owning the apartment we live in, I don't feel I can drill into the ceiling, as would be my preference.... so the only issue now is where to expand to when I (eventually) run out of the chain space I now have. I still have a ways to go however so... we'll tackle that problem when we get there...

Saturday, January 28, 2012

Haywire : Movie Review


Haywire is a fucking awesome film.

I just walked through the door and I am compelled to write a glowing review for it right god damn now. So indulge me for a moment (this is neither code, nor crafts... but it is about a woman breaking into to typical masculin rolls while still maintaining her femininity which I feel is a subject near and dear to my heart and relevant to the mood of my blog)

Haywire is a great action genre film. It stars Gina Carano, an actual MMA fighter, as Mallory, our hero. There's a plot, a rather classic one, that is neither offensive nor groundbreaking. There's acting, which while having several notable, respectable named actors remains reasonable but does not really call attention to itself. There's some dry and subtle comedy sprinkled here but no collection of terrible/great one liners. And then there's the action. There's fight scenes, certainly, but also running and climbing and driving and handling of weapons and one's self that all scream high quality.

The real highlight and draw of this film is the well choreographed actions and the actors abilities to deliver them so well. It's certainly not an arty violence like Crouching Tiger, Hidden Dragon but it's no Drive. The blows and impacts are jaring and, at times, even a little uncomfortable to watch but the gore is minimal. Violence in the real world is bad, but I enjoy a film like this for its ability to display such technical tallent and skill while also getting the viewer's adrenaline up a notch or two. My viewing companion, Andy, noted that the entire film was very tightly done-- no extra exposition, plot, or characters. Its 1:33 in length and everything feels put together, progressing steadily, and focused on plot points tied to intense action sequences.

But, really, the main reason I'm so over-the-moon about this is because Gina is female. We've seen films like these by Jackie Chan, Jason Statham, and Bruce Lee before. Vehicles to display our heros awesome powers. But this one is a woman. Just... dwell on that a moment. There have certainly been action movies with female leads before-- I saw and liked Angelina Jolie's Salt (2010) for example and while it has some good action, and certainly looks similar at a high level... it's not the same. It lacks the technical bite that this film has. Jolie can act, but her action and violence is more arty or at least staged. I just can't buy her really swinging at someone or for that matter anyone ever landing a real punch on her. This film is about how bad ass Gina is. How well she can sell the intensity of a fight scene. She gives and takes and then gives some more and wins.

There are several shocking shots of Mallory getting taken by "surprise" at the start of an attack. These are sudden and disturbing because it's just some dude suddenly lashing out at her, a (very very) latent fear in my own mind and perhaps other folks. This happens though because like all good and classic heroes, Mallory doesn't start fights-- she just finishes them. Once the initial punch is thrown however the fights explode into action and it's a level playing ground.

It might be sexist to discuss Gina's looks, but since I'm equally happy to dwell on male leads, we'll call it fair game. I find it also very heartening that we see her in several stages of dress-- bruised post fight, all dressed up, casual, and later in intense butt kicking mode (which- spoiler alert- involves her hair being braided back into very compact corn rows and made me ridiculously happy in its extreme practicality). She's a lovely lady with a figure I can believe in. Since she actually is an MMA fighter it shouldn't be surprising that she actually looks like she can throw a punch but still-- it's kind of surprising. The fights don't ignore the fact she's a woman (several times her opponents easily lift her off the ground) but it does not dwell on the fact, which is pleasing. A final note should be made that she cleans up quite well and has the most lovely lips that I've seen on screen in quite a while. She is what and how I imagined Nolan's Catwoman to be. Non of that Hathaway nonsense.

Gina hasn't really been in any real film before and I have high hopes that this isn't her last. I plan on going to see the film again with Adam* and look forward to the chance to see her in something else later. Ideally beside that Kiwi from Tarantino's Deathproof, Zoe Bell, and amazing French parkour gentleman David Belle. I'm actually quite curious about how this film came together will be reading what I can about it.

In a closing note, really, this film is fucking awesome. And, really, it's not just the action. The supporting actors are all fantastic, I think particularly Bill Paxton's character. Also Michael Angarano's. Let me not fail to mention that the magical Michael Fassbender is in this as well. Every flavor of evil/bad he portrays is delicious. The man can do no wrong.

* Adam is willing/interested in seeing this film because it's directed by Steven Soderbergh. I should also note, before anyone's hopes get too high, that this test fails the Bechdel Test. And as of this posting it has an 80% on Rotten Tomatoes (86% from critics)

Wednesday, January 11, 2012

Programming in Paris

Still in Paris. Things are going ok. Did you know that there are NOT fireworks around the Eiffel Tower on New Years? We didn't. No biggie, but still... a pinch of a let down. Adam emailed the Rick Steves Paris 2012 travel book we have with the correction.

So, yeah... no fireworks. And there was this whole being sick for a week thing... Spent a lot of time in our rental sleeping... and... sleeping... there was some reading at least. And sadness.

But! But! Things have been getting done! One of which was the porting of my Java Stereogram program to HTML5! The algorithm is from http://www.techmind.org/stereo/ which is great. Very dry, but I did eventually wrap my head around everything it was doing... back when I implemented it the first time ~3.5 years ago... It was a sample code project for a job application, and after combing through what I wrote back then I'm shocked I ever got hired. It was my first Java project after school and clearly I had a lot to learn. Amusing that I'm using the same project to learn/poke at HTML5 with... I've no doubt I'll look back later and wince at how ugly it all looks...

Took a little under a week of scattered work. Mostly debugging. Fucking lack of typed variables! Ran into lots of "Javascript doesn't have ints" problems... yes, yes, you can cast the value... but remembering to cram everything back into int format is not the same as/far more trixy then just having values that are and will always be int. Grrr...

----- Java ------

int b, c;

int a = b - c/2;



----- javascript ------

var a = Math.floor(b + c/2); // WRONG

var a = b + Math.floor(c/2); // CORRECT

Adam gave me a hard time about it after I found the problem. I mean, *yes* I know the difference between the two and I realize why I was getting problems.... but... when I'm re-writing code quickly, I feel like it was an easy mistake to make... :(



Another gotcha I ran into was with Canvas (a major part of the learning exercise). When trying to scale an image, remember to transform before drawing the image.... This makes total sense when I think about it (and given how other graphics stuff works) but, again, slipped my mind.

ctxt.scale(scale, 1); //don't be retarded, remember this goes BEFORE the .drawImage call
ctxt.drawImage(otherCanvas, 0, 0);

A final thing to note is that I'm using this project as an excuse to finally work with git. Yes, I know I can set git on my own, but I didn't see the harm of using github to track the work. Now all I need is an actual web hosting service to host the page! Anyway, I'm still very much working on the Stereogram code so don't judge too harshly by what you see uploaded now... I'll post again when it's pretty (and hosted) : https://github.com/sithel/Web-Stereogram-Generator

Todos:
  • Lift code to let you save canvas images
  • Made the page less ugly
  • Make sure everything works (just now fixed another rounding bug)
  • Add some tests
  • Provide sample images for depth maps and tiles (the quality of the tile can greatly affect the result!)
  • Find hosting for it
  • remove JQuery need- only used that because I was lazy initially