Fridge Coffee For a Fiend

I've been drinking iced coffee every morning for the last 6 years, to say I am a morning zombie iced coffee fiend is an understatement.  I drink it so regularly that I know how to translate my order in all the chain languages (iced venti unsweetened iced coffee).  So when my friend Ian told be about his cold brew fridge coffee method, I was ready to hunt down the best process, for the best cup of iced coffee.  I tried Ian's method of mixing water and grounds and leaving it in a jar overnight and found that straining the grounds is a pain in the ass.  I decided to sew a muslin bag to hold my grounds (like a coffee tea bag) and had mixed results.

  • If I pack the muslin bag too tight, that water doesn't penetrate all the grounds.
  • My ratio of grounds to water needed to be double (48 tablespoons for 1 gallon)
  • Although delicious, cafe du monde is a strange coffee to cold brew with (super weak)
  • So far, cafe bustello is king for this method

 

Tagged as cafe bustello , fridge coffee
Written by Andrew Konkol on September 10th, 2012 | 0 Comments

Craft and Function

Finding a pair of jeans that fit well and look well has been a challenge of mine for quite some time.  Easily put, I am big & tall, not one or the other, both.  Through the years I've worn poor fitting Old Navy Jeans and then got a breath of fresh air when Indi Denim came out.  It now seems that Indi Denim is out of business, therefore I can't find good looking custom jeans over the internet.  A couple of weeks ago I visited Nashville and went to Imogene + Willie.  Great looking denim jeans weren't the only thing I vibed with, it was the ethics, principles, and passion that goes into everything they produce.  Easily put: they make simple, high quality products.

 

When I buy something, I want it to be awesome and last forever.  The checklist I use to buy tools pretty much gets applied to everything I purchase.

  • How long will this last me?
  • Does it function well?
  • How flexible is it?

 

From an early age I've followed a pretty simple mantra "if it doesn't exist, make it."  I've got a big frame, off-the-rack shirts suck.  I decided to go all in and start making button-down shirts, creating patterns from already owned shirts.  I spent a few nights doing this and finally got to the point of sewing a shirt together when I realized that I cut the patterns wrong, 3 yards of fabric out the window.  This kind of trial and error went on for a few weeks and I ultimately got frustrated and gave up.

 

A couple of months ago I took a leather workshop class at the Chicago School of Shoe Making which re-sparked some motivation to create garments again.  Since my trip to Imogene + Willie I took a sewing class at The Needle Shop in Chicago, my girlfriend has also taken up leather purse making.  Through all these events I've been inspired to make jeans.  But this time it's going to be different! I'm going to go slow, steady, and focus.

 

Whenever I get into a project I do a shit-ton of research, planning, and come up with a bill of materials.  I torture myself with details because I want to know EVERYTHING about EVERYTHING.  So here is what I have found out so far:

  • I should use raw indigo selvedge denim (because its traditional and cool) Cone Mills produces this in USA
  • I should use rivets
  • I should get awesome top stitching thread
  • I should make a pant block pattern (sloper)
  • I should then  make a pattern using the sloper as the baseline and adjust based on how I want the jeans to fit
  • I want to do a button fly

 

References:

 

I ordered a copy of the book mentioned above and the next step is creating a pant sloper for my measurements, then creating a mock-up pair of jeans using cheaper material and seeing how they fit.

Tagged as jeans , sewing
Written by Andrew Konkol on August 20th, 2012 | 0 Comments

Spur Network Configuration Manager Has been released

Spur is a web based network configuration manager. It allows you to ssh or telnet to any device and run commands through a web front-end.The results of these commands are stored and can be diff'd. You can get alerted whenever a diff is found.  You can extend Spur's capabilities by writing your own modules for different types of equipment.

Spur is comprised of:

  • Tratto - a ssh/telenet framework built on-top of pexpect
  • A custom written "cron" which allows you to create and schedule repetitive tasks
  • Customized django skin
  • Cisco syntax highlighting via syntax-highlighter
This project is in beta, I need people to help test.  I have not used spur to configure any network equipment as of right now.

System Requirements

  • Python
  • Django 1.4+
  • Sqlite, mysql, posgres
which python # find out if you have python installed

#django installation
wget http://www.djangoproject.com/m/releases/1.4/Django-1.4.1.tar.gz
tar xzvf Django-1.4.1.tar.gz
cd Django-1.4.1
sudo python setup.py install

#sqlite installation
sudo apt-get install sqlite

Python Requirements

  • django-mptt
  • pexpect
  • croniter
  • pytz
sudo easy_install django-mptt
sudo easy_install pexpect
sudo easy_install croniter
sudo easy_install pytz

Spur Installation

git clone https://github.com/akonkol/spur.git
cd spur

#edit this file to match your enviornment
vi spur/spur_settings.py 

#create an admin user
python manage.py syncdb 
python manage.py runserver 0.0.0.0:8000

#Create a cronjob for spur
crontab -e
* * * * * /path/to/spur/manage.py spur-cron

Browse to spur http://your_fqdn_or_ip:8000

Thanks for checking it out.

Tagged as cisco , django ncm , spur tratto
Written by Andrew Konkol on August 2nd, 2012 | 1 Comments

Automatically Creating Initial_data fixtures for Sites.Site

This is an ultra-hacky way to create initial_data fixtures for django admin's Sites.site.  Create a variable in settings.py such as "FQDN" then create a dictionary with all the values and wrap it with a list, import json and dump the list into json and write it to app_name/fixtures/initial_data.json


settings.py:

#ADD your own variable
FQDN="www.whateversite.com"
full_path = 'path/to/project/project_name/app_name/fixtures/initial_data.json'
print full_path

try:
   with open(full_path) as f: pass
except IOError as e:
   print str(e)
   site_fixture_dict = {}
   site_fixture_dict['pk']=1
   site_fixture_dict['model']="sites.site"
   site_fixture_dict['fields']={'name':FQDN,'domain':FQDN}
   site_fixture_list = [site_fixture_dict]
   import json
   json = json.dumps(site_fixture_list)
   f = open(full_path,'w')
   f.write(json)
   f.close()

Now any time you run ./manage.py syncdb a fixture will be created then loaded into the database

Tagged as django , fixtures settings.py , site sites.site
Written by Andrew Konkol on August 1st, 2012 | 0 Comments

Spur - Network Configuration Manager

I've been developing a web front-end for tratto.  This front end is called spur and allows you to run commands on any ssh/telnet available device and store the outputs.

  • Web configured cron jobs
  • Any command set
  • Define your own operating systems
  • Run diff's on command outputs
  • Since you can run any command you can do things like backup configurations from cisco routers and switches
  • Get alerts on outputs, diffs, and failures
  • Synatx highlighting

I'm looking to release this for free via github in the near future.  Meanwhile here are some screenshots:

 

 

 

Tagged as cisco , ncm pexpect , spur ssh , telnet
Written by Andrew Konkol on July 30th, 2012 | 0 Comments