notbenh yaks about stuff on the internet

== stuff ==

Tech-enabled White Man Talks About Equality

First to start this off, yes I am a white male, in tech. If this offends you to the point where my opinion must be discounted please stop reading now, I am only going to make you mad and it’s not worth your time.

For any one that is left that is curious what I have to say, in short:

“equality is trusting that others are capable of dealing with the shock
being offended and compassionate enough to have the conversation”

During my tenure in ‘tech’, I have done my best to be a stand up member of my community. I do my best to manage my personal bias when it comes to my opinions on hiring decisions all the way down to silly conversations that have been had at the bar. I strive to be the best member of my community that I am capable of being. I have done outreach, I teach classes, I have started user groups, I honestly put in the effort.

Though, to some, none of that matters. For a very vocal minority it doesn’t matter what you do, it only matters what you look like. Because of this attitude I have left twitter. I have devoiced my self from Stumptown Syndicate. I have given up much hope of continuing a career in this industry.

I believe in the notion that diversity makes us stronger. Yes, I truly believe that more women in tech is a good thing. Though this has nothing to do with there ‘femininity’ instead it is that any one of any background different from my own will have something to offer. Religions, alternate gender, different race, grew up at the same place for your entire life. It doesn’t really matter how we determine what defines ‘different’ as we are all different in some way. To this end as an industry we need to embrace different in all of its many forms.

Yes, as an industry, we are young, but young should not be synonymous with stupid. We, as an industry, need to stop being infantile. Yes all those ‘different people’ that we want to hire happen to have different opinions on what is acceptable and what is offensive. This too needs to be embraced. As an industry we need to stop accepting some asinine baseline for what is determined to be acceptable. Instead take your ‘offense’ as a teaching moment for both sides. Yes on one end it would be nice to do some self assessment and determine if your outrage is really worth getting worked up over. By the same token be an advocate and attempt to explain why this is hurtful.

If a CEO happened to give money to a political proposition you disagree with, then write a blog post about how you might disagree but accept that others can have a different opinion and that you hold out hope that this individuals past will have no effect on the product. Starting a campaign that forces them to leave just makes this industry weaker because you do not actually embrace diversity and really just desire a monoculture that makes you feel comfortable.

If an individual decides to leave a job because they find that it is impossible to stay then they need to be supported for there decision. Though treating them as a lightning rod for your personal agenda is not helping any one. Including your self, as in the end it only shows that you are a petty opportunist and have no real interest in the larger community.

If a member of the community is involved in some legal action, and you just got done writing a blog post about how public shaming is hurtful then it might be a good idea to not start a smear campaign. Speaking out on twitter, sharing intimate details with out facts, and deciding to shout at any one that happens to not share your opinion only shows that you have no compassion, and no faith in your very own words. You instead are viewed as a bully and you completely undercut your entire position.

These are the actions of kindergardeners on a playground, this is how juveniles work out there aggressions. I expected more from this community, I expected that those that wave a banner of inclusion would actually believe what they say. And yet I have yet to find any organization that is capable of putting the needs of there community before there own personal self interest.

As a community we need to stop giving in to these childish notions. We need to stop giving these bullies the megaphone to shout for us. We might share there opinion today, it might be convent right now to rebroadcast, but two people will never share every view. We as a community have an opportunity to change our ways, we have the power to be better people, to become complex and diverse. We have the ability to apologies and become better people.

Am I willing to be proven wrong, yes I want so badly to be wrong on this whole issue. I want some one to tell me that there is a utopia where folks can have deep discussions on hard topics with empathy and compassion. Where it is completely acceptable to disagree and the conversation is based on respect for a person not an agenda. This is what I hold out hope for, this is what I attempt to foster for as far as my influence can reach. But I am only one person, I can only do so much, and honestly it seems that those with the megaphones are spoiling it for the rest of us.

Mini Review

Recently I got a little knock in the rear of my ‘01 Miata a few weeks ago. Today I finally took it to a local shop to have it taken care of. The rental that I have is a Mini Cooper, the little thing that BMW is selling these days. It generally follows the small on the outside, big on the inside formula from the real one built in the past by proper Brits. From the drivers seat the visibility is good for what it is. The car does indeed ship with seats in the back, though theres not a whole lot of leg room back there. Generally it’s a box, and it does that well. When it comes to motion some zip can be called upon to do things like passing. So all in all I can see why so many love there copy, it’s not bad given the sea of mediocrity that it was born into.

Despite understanding the car, I hate it, it just does not work for me. The seats are not comfortable, the whole sitting position is odd. The copy I have is an automatic so this likely plays in to the lag while I wait for the car to go: foot down, one, two, then something happens. The breaks are the same, there is no stopping power for the first half of the pedal travel. You get resistance like something should be happening but you have to keep pushing thru to pull the car to a stop. If this was some little American econobox, I would get the disconnect. If this was a boat sized sedan with an eye to fine leather over handling. I would get the disconnect. But this little thing sold as a spunky little car to get around in. Built by the same company with the tag line ‘ultimate driving machine’, they know what they are doing. Though sadly this whole Mini exercise just feels like an attempt to make a small ‘cheapish’ car, with just enough adrenalin to build expectation, with cute/kitch looks and in the end no soul. It’s your generic hipster stereotype: all looks and posturing but no real substance.

Yes it’s not really a fair comparison some base line automatic that has sold far more copies then my little miata. My car I have worked over to make it mine, the rental has put one the miles faithfully for any one who comes calling. The whole exercise of a rental makes me twitchy, it’s a vehicle that is hoist upon you by circumstance. It’s not like I really wanted this thing anyway, it just happened to be the least bad of the options on the lot. The rental market is just not going to really invest in what I would call a good car to substitute for what I already have.

So the question, how should I view this car? It’s obviously not a drop in replacement, and I need to stop expecting it to be. Sure I could look at this as an extended test drive and really explore the car. I could be very pragmatic and just decide that it’s not my car, I just don’t care about the candy interior and the sad attempt of a driving experience. Pay for the extra insurance and beat the crap out of this thing. Or I could look at it as a sad reminder that the auto industry has moved on from being a purely engineering exercise. The things that I hate about this Mini is that it is not as responsive as my 2001 miata. And in turn, the things that I hate about my current miata is that it was not as simple as my 1997 miata. And as a baseline none of these cars have the simple practicality of the 1971 Super Beetle that I drove in High School.

Times change, expectations shift. I just can’t wait to get my car back.

Check Your Habits

2013 was a great year for me to do some deep self assessment, come to terms with emotions. Over all 2013 was a rough year and given the state of 2014 thus far, I have yet to decide if it has been any better. The upside though is that adversity is how you grow. I have taken the past year to really dig in to what makes my brain tick, I have been picking up philosophy and psychology books like they are going out of style. Some of them have, others have not. I am a slow reader so I have yet to get thru everything but it has helped me become more aware of my self. I feel that I am far more in sync with my own emotions. Thus I have come to a concussion: people, in general, are just shitty to each other.

The key to this conclusion is the ‘in general’ part. Because the world is complex, the brain builds subroutines and shortcuts to help make sense of the world. Why reprocess a bunch of data when you already can assume the answer? Your pet dog comes in to the room, does your brain start to ponder if this is a threat? Mine doesn’t, it’s my dog Trek and he either wants to go out side, snug, or play. These shortcuts are known as habits but they are not limited to pets. At least in my brain, I have habits that help me make meals, I have habits on getting from place to place. I have so many habits that I could not even begin to count them, and this is by design, they are subconscious. These are compiled subroutines that are executed with out conscious interaction.

I had a few paragraphs here about how habits help but you get the point. The key is when we take habits to the next level and abstract out from our daily life. Do all cops hate blacks? Do all whites fear blacks? Do all politicians lie? Do all republicans hate gays? Do all lesbians hate men? Do all men have a lesbian fantasy? The list goes on and honestly the answer to every one of these generalizations is no. If you think about it for just a few seconds you can think of at least one person that you know that would refute each one of these absolute statements. Again because the world is complex our brain has built shortcuts, but that is all that it is a shortcut. Your brain makes a generalization for some reason and you go on living your life focusing on what your brain feels is more important. Are members of the football team bullying you? It might make sense to fear a football jersey. But if the last time that happened was 20 years ago and you still fear a football jersey, is that really the appropriate emotion for the stimulus? Just as you clean out your closet from time to time it is healthy to question why you have the assumptions and shortcuts that make you, well you.

This is not to say that chaining a habit is easy, but awareness is simple to obtain and it is the start to any type of change. All you have to do is ask why when you notice that you did anything that feels like it just happened. Watching TV and happen to flip by a football game and you all of sudden get all amped up for seemingly no reason, ask your self why. Introduced to a person of another race, instantly have a presumption about them, why? Feel that you are inferior to that guy for cubes over who you have never really met but just seems intimidating… why? The trick is to not just stop at the first answer, but to keep asking why, keep going until there really is not a good answer to the simplest question in the world. Be your own nagging 3 year old:

  • Woah I just avoided that whole group of teens at the mall!
  • Why? Well they looked scary.
  • Why? There were like 12 of them.
  • Why does that matter? Well I guess it doesn’t.
  • Ok so why did you avoid them? I guess it was that one big guy?
  • So do you think you have a fear of big guys? Guess so?

Does this imply that you have resolved anything? No! But becoming aware helps you make better decisions despite your emotional reaction to things. For example if you know that you have a habitual fear of large men, then that might explain why you generally avoid that guy a few cubes over? He might have never talked to you, never been in a meeting with you but if he goes to the gym then you might have already determined that he is out to get you with no evidence.

If you do not come to terms with your own bias, if you do not question your own habits from time to time. Then you will be just as guilty as any one else and at some point you will find your self being shitty to some one else just because of a silly little habit of yours. It sucks but, hay, the world is a complex place, right?

Pondering a Life Beyond Tech

As this year comes to a close it is that time to look back and assess what has become of the past 12 months and honestly:

2013 can go jump in a lake for all I care

What started out like any other year has been a collection of low-lights like having to say good night to a dog or loosing a great friend to depression. While sad and tragic as both of these events were, they were personal. They both were events that leveraged the positive side of my social network, we became closer as we dealt with the shared loss.

Though what bothers me more is when I look back on this year it will not be the sad moments that brought me closer to my friends. Instead going to be shitty backstabbing that pushes a community apart. For example the perl community was all up in arms over a CoC. Which happened to be an interesting precursor for the inverse. The negative reaction and general unsocial atmosphere caused me to give up on twitter entirely.

While the loss of connections with friends is in it self a sad event. I am more disappointed that organizations and people that I once respected for being advocates for positive change decided instead to take an emotional shortcut and behave in a negative manner. Even though they clearly stated that this is not productive.

So here I am, December 2013 pondering if I should completely walk away from this broken community. I used to feel loved and supported by this community. I used to feel like we had a shared vision for what a better future could look like for all, indiscriminate of any label. Though sadly this year has shown me that key members of this community would rather push an agenda of hate. Is it even worth my time to continue to associate my self with such people? I am left feeling that my time would be better spent doing something that I enjoy.

I would rather continue to teach as at least folks are generally grateful for my time. I would rather do fun things with my car as that is actually fun. I used to be an artist with much more then code. Hate, depression, and generally ugly feelings: join the rest of the year at the bottom of the lake, I have better things to do with my time.

Cold Brew Coffee

The process of ‘making coffee’ is just a process of relying on osmosis to extract chemicals from coffee beans into water. If you use a French press you are using heat to accelerate the process. Espresso adds pressure to further reduce the time to that tasty cup of coffee. Though the process of cold brewing coffee goes the other way, by removing the desire for a quick cup of coffee you can let water do its own thing.

First I should state that I am by no means an expert. What I will describe here is just my process. Also I should note that I do not measure much in the kitchen. Just like my grandma I do most things by feel. Please take this as a guide and experiment; see what works for you.

Remember that this is just coffee. It’s cheap to play, so play!

the setup To start, I use an old peanut-butter jar purely because it was what I had at hand. Any non-reactive resealable container will work just as well. Unlike other methods of brewing, you are not making just a single cup of coffee. I find my jar provides me with a few days’ worth of coffee extract. As you play you will find what works for your particular coffee habit.

beans in a jar With a containment device sorted, the next step is beans. I tend to use a fine grind. My thinking is that I will get a more complete extraction due to the greater surface area, though I have no evidence to back up this hypothesis. These grounds then go in to the peanut butter jar, about an inch of grounds in a 7 inch jar, so let’s say a 1:7 ratio of coffee to water.

Next step is the liquid: just simple water. As with any beverage, use water that you will enjoy drinking. Remember that this is the majority of your final beverage. If you do not like what comes out of your tap, then filter it.

make a slurry I add enough water (let’s say 1/3 full) to cover the grounds. At this stage the goal is to just make sure that all the grounds are wet. By adding only enough water to cover at this step it allows me to swirl the water to make a slurry and look for dry pockets (difficult without a clear vessel). If you need, grab a spoon or chopstick and make sure that there are no dry pockets. It would be a shame to miss out on any coffee goodness which could be extracted.

fill up the jar Once everything is wet, top off the vessel with water, and seal it up. Most of the time I put it in the fridge though this is mostly to make sure that it is out of the way. If you have counter space then room temp will work just as well. Again this is another variable that you can play with as the main goal here is to let the water do the extraction over time.

Then we just let it all sit. Because this is a slow process, there is less risk in missing on the timing. I have done runs as short as 18 hours and as long as 48. I have found that 24-ish hours is a sweet spot, just enough time to let the water do its thing completely and not so long that I forget about it. For me the beans play a much larger role in determining the outcome then a few hours on either side. However I bet that anything in the 12 hour or less range will tend to be a bit weak when it comes to the final outcome. If I remember I will go give the jar a shake or two throughout the day but I have not found that this is a strict requirement as osmosis is a very powerful ally.

Lastly, when you feel that your brew is done, it’s time to filter. If at all possible disturb the jar as little as possible as most of the solids will have settled in the bottom. Anything still in the jar is less that has to be filtered at this stage. I pour the content of the jar in to my French press without the filtering mesh (yet), and let things settle for a minute or two. Again the thinking is what is in the bottom here is not going to end up in my cup. From here I apply the press filter and pour thru another metal filter in to my final containment device.

For me having a separate brew and storage vessel gives me the flexibility to be brewing while still having something to drink. Though again this is not a strict requirement. When I was starting out I let the French press settle and then would rinse out the jar and just pour the cold brew back in to the same jar I brewed in. It’s glass, it doesn’t care.

So now that we have our coffee, what should it taste like? It might be my reliance on metal filters but my cold brew always has some fines. Therefore is a body to it that I do not get with other brewing methods. Also the words strong and mellow come to mind. It does have a bit more zip, though this is likely due to a stronger concentrate of all the coffee magic being extracted from the bean. There is a different flavor profile that happens with cold brewing when compared to a hot method, even for the same bean. I am guessing that there are some elements that just can not be extracted in the cold, or possibly are destroyed in the hot. For example, I do not get much of the tannic bitterness that I find with the hot methods. If you like an acidic cup of coffee, this is not the process for you.

Lastly, what can you do with this stuff? The trick is to stop thinking of this as coffee to be had one cup at a time. Cold brew becomes an ingredient to be added to things. Like your coffee warm? Use 1/2 cup cold brew and 1/2 boiling water and now you have a cup of “drip” coffee. Rough day at work? 1/2 cup cold brew, a splash of water and 1/3 cup of low-shelf whiskey. Got the post-lunch-naps? 1 shot straight up. The possibilities are nearlyendless when it comes to what this stuff can do.

So there you have it: cold brewing. Enjoy!

Many thanks to @brewpony for the beans and the lovely @vmbrasseur for making my words make sense!

Tracking Time Should Not Be Hard

I go thru bouts of trying really hard to be organized. I am going thru another such event and have decided to dust off my old time tracking script. It effectively is a journal of context changes that are stored in such a way that timing can be inferred from. I still like the concept but the interface was overly complex and the reporting was not able to deal well with anything more then a single day.

Thus time to open up the hood and get to hacking. I’ll save the details for another post if I really want to go down that rabbit hole, instead I would rather focus on usage.

1
  time.pl personal:blog write about time tracking

So the key here is that the first ‘word’ is expected to be the project. Any use of : is to denote a sub project, in this case I am working on this very blog post. Like I said: simple.

So that’s great, slow clap it’s simple but how is this time tracking? Great observation, the secret sauce is that what time.pl is doing here is it is taking note of the time and then adding both a timestamp and every thing to a single log file:

1
  [Mon Jun 3 18:02:35 PDT 2013] personal:blog write about time tracking

So now I am writing the post, but when I am done I am going to then have some dinner. Thus when I change context, I just make a note of it.

1
  time.pl off dinner

Because each entry is stamped, we can code a report that will do the diff for each entry and the ‘next’ and infer the amount of time that was spent on it. In effect just track your context changes, and let the robot do the work for you. EXACTLY!

As a bonus, to make all of this possible you end up with a journal of everything you did in the day. For me I use this as habit tracking. Do I really spend that much time on email? Wow, I spent over an hour on coffee breaks today. Congrats, you spent more then 2 hours on personal projects!

All of this is possible by noticing when you change context and making a little note of it.

If you wanna play along the code is all up on github feel free to play along.

How I Use Tdone to Tdid Todos

I’ve recently gone on yet-another-get-my-life-in-order kick. I tend to get these once a year, I get all excited about making lists and stuff. I spend a bunch of time working out how to build a list. I get all meta, I start to get worked up over tools, I get infatuated. Then after some amount of time I come to the realization that this is way more work then is really needed for such a simple job. I stop trying at all and I still some how get stuff done.

This time around I got mad and yet again starting building my self a todo list manager as everything I tried seemed like I was right back to my old tricks. I don’t want to end up having to manage my management tool. So I though about what was the absolute minimum that I wanted: an ordered list that was simple to edit and visible from anywhere. It had to be so simple that I will still use this in a week… so I built tdone. Some 50 lines of slightly wordy perl that wraps around a file. It can add a line, it can remove a line, it can sort the lines and it can display the lines of the file… that’s it. This file is expected to be an env var, this way the user can manage it, not the code.

Because I wrote this for me, there is next to nothing when it comes to syntax: any number of leading +’s are seen as a marker of priority and are used to sort the lines of the file (more first, none last). This is the only “actionable” aspect of the line, everything else is just a trip for the color-coding. I have been leading a word with : to mark it as a tag, and @ as a location. This allows me to say something like :

++ :blog about :tdone @laptop

The : and @ are here only for the visual punch, they are used as markers for coloring, tags are green, locations are bold but that is all they do.

So this is the foundation, just a file and some simple code. Now here’s the magic of the simple-tool mind set. This file sits in a folder that is watched by Dropbox, thus every machine that I sit behind will have access of this list. This includes my phone, so everything is covered for me but you can build this how ever you wanted to. Wanna have some history for your list, set up a simple guard script that commits all changes to some git repo and syncs… it’s simple. Hooks, notifications, just about anything is possible by hooking things with IFTTT or any of the event services.

So this is my setup, let’s see how long I stick with it. If you think this is something you would find useful, feel free to grab the code and run with it. Want something different fork it and make it your own. Have fun and be productive!

Learns You a Version Control?

Version control sounds like a big complex topic, and to some degree it is. Though like most things in software I’m sure you already have a great understanding of what version control does. So let’s put on our “hats of pretend time” and start off with a little story:

I have an important paper that I am writing. Things are going great: only 3 more pages to go. Ooop, I just deleted that last paragraph but I didn’t want to do that. Click ‘undo’ and ~whew~ , it’s back.

Tada!’ I just used version control. Undo works in this case by remembering what I did (delete). Because it stored a little bit of history on my paper it can then ‘undo’ that action to get me back to a previous state of my paper (before the delete). The problem with undo is that it is the most simple version control: in most cases it only remembers one thing.

Well that doesn’t seem like a good thing. What if I wanted to see what my paper looked like yesterday? So how do I get around the history limitation? I can save my own history! For example, after every paragraph I write I save off another version of the file–paper_1.txt for the first one, paper_2.txt for the next and so on–so that even if I completely deleted everything I would still have a back up and only lose the paragraph that I was working on.

Now that I have started to build a system I have the ability to save my history. No longer do I have to worry about closing my paper and losing the undo history; it’s all saved elsewhere. I have a way to know what version came before and what came after. I can look back and see how my paper grew as I worked on it. All of these things are now possible because I have access to the history. And really that is all a version control system is: a way to access the history these files. It allows for all sorts of interesting things to all of a sudden become possible because you no longer have to focus on making everything perfect. Having version control is a net that allows you to safely experiment and always have a safe place to land if things go badly.

Lets take this story a bit further. Let’s say that I really didn’t do my research and I soon realize that my entire premise is wrong. The good news is that I only have to edit a few paragraphs but they are all over the place and it could get really messy. I have some really good stuff in here and I want to make sure that I can look back at this version, but how am I going to remember that this is the version of my paper right before I changed direction? Ohh! I can save a copy of my paper and call it paper_wrong_premise.txt and that way I can refer back to it at some later point.

Again, this is a version control concept, it is often called a ‘tag’. All we’ve really done is create a version, though this time we gave it a descriptive name rather then a forgettable number. Now as a human I no longer need to remember was it paper_26.txt or paper_29.txt that I made the change.

And now for something completely different! I’m finding that my paper is kinda dry and boring. It would be way more interesting if I changed the format to be more like a play. This way I can make it a conversation, I can add humor, I can make it interesting. But this is a big drastic change to my paper. Is there a way I could create a new version that I could work from so that I could try out the conversation idea but if I don’t like it I could later just throw only that part away? There sure is! I could make a copy of my paper and call it paper_play_1.txt.

As I’m sure you guessed by now most version control systems have a way to do this too, it’s often called a branch. You can almost think of it like a tag but in reverse. A tag explains what has happened whereas a branch is a way to explain what is about to happen.

So that was fun. I have a much better paper in the conversation format, but in the new format I could never really get page 1 worked out any better than the old boring page 1. So I’ll just leave the conversation paper as page 2 and beyond. I’ll copy in the boring page 1 and save that of as my paper_32.txt (or what ever the next number is) as I want this to now be the main version of the paper that I work from.

In version control speak this is known as a merge, it’s a way for you to collapse the work from one branch on to another branch. In this case I collapsed the work that I did from paper_play onto the main paper branch.

There. I think that the paper is good enough, but it always helps to have some one else look it over. I want to have you read my paper, I want you to be able to make some changes and I want to know what changes you made. I can save this off as paper_to_be_reviewed.txt and email it to you.

This is where version control gets really fun, distribution and sharing. Effectively, what I did here is I created a branch for you to play in. You can make any changes you want and they don’t get in my way. Conceivably I could continue to work on my main paper branch if I wanted to and you can work on the to_be_reviewed version. Later we can merge our changes, or if I really wanted to get picky I could only take part of your changes. It really doesn’t matter because they both have their own little tracks of history.

Ok story time over. Let’s review

Version control is just a system that allows you to keep the history of something. In this example it was my paper, but it can be anything. The version control system will have a way that I can keep this history in order and allow for me to look back in time and see how things grew. This system allows me to play without fear of losing anything. I can experiment and see how it works out. If I like it, I keep it. If it was a complete failure, so what? I just roll back to something that was working. Version control allows me to collaborate with others and reduce the frustration because every change is ideally tracked on it’s own. Version control allows me to play safely and not care about the consequences.

RANT: FUCK YOU OCTOPRESS

WTF: Why do developers of software hate there users so much that they activly decide to make the simple and expected things hard when they should be easy! For example user.github.com gh-pages expect to deploy to master, and I’m sure that just about every other self hosted thing will expect that master is the production branch… So it seems that Octopress, the blogging package for “Hackers” would follow suit? ~GASP~ they don’t, they have this sources branch, THAT THEY DON’T CREATE FOR YOU, that you have to read thru the Rakefile to even figure out WTF is going on?!?

So thanks to @jhelwig that got sorted by renaming master to source and then the rake magic seems to build master under the hood. I don’t even understand why this was a good idea, other then master now only has the generated code and not everything else. If the point was to “hide passwords” then you can simply just add the config files to the ignore file. Unless I’m completely miss the obvious it seems like we are inventing a new workflow just for the fun of it.

With the core of things up and apparently running… we now get to creat a post:

> rake new\_post["silly name for a post"] 
Creating new post: source/_posts/2012-03-15-silly-name-for-post.markdown

~sigh~ really last time I checked most unix tools only complain on error, so building a script that’s telling me that it’s going to think about something is completely pointless. Further more what my expectation was is that I wanted to create a new post, with your blog softwarez, as in I want to type… thus why are you now expecting me to COPY that file name and then tell vim (currently set as $EDITOR bu the way) to fucking edit that file. I’m guessing that it would be all of what 1 possibly 2 lines to make that a system call in the rake file. So again why not make this simple for the user? Oh that’s right this is a tool kit for hackers so we expect that all the users of this toolkit have the ablilty to solve this problem for us so we don’t need to care about them. =(

Problems are designed for fixing, so lets first take care of that HORRABLE fuck rake and it’s silly pass me prams like nothing else. As a perl dev let’s make this simple by making a ’new’ script. Now all I have to say is :

> new post another silly post
Creating new post: source/_posts/2012-03-15-another-silly-post.markdown

That’s progress, so now can we tell rake to just do what I wanted and not tell me that it was able to create a file, OH LOOK, the rake file says that it wrote the file before it writes the file… FAIL. Lets fix that up… so that’s done. Now lets have the Rakefile actually DO something usefull for me by having it kick start this file with my $EDITOR.

There… now I have a system that’s WAY more user freindly… and it only took what an hour… and I’m not a ruby dev. Thanks again to @jhelwig for talking me off the ledge and letting me know that most of this could be worse.

– notbenh~