27 Sep 2014, 22:40

Photography

Photographers

06 Sep 2014, 16:29

Household

Or in otherwords, how to make stuff around the house instead of buying it. Think of this is a guide to recipes for products … like recipes for food.

06 Sep 2014, 16:20

Permaculture

Books

06 Sep 2014, 16:17

Golang Resources

Ongoing Learning

  • Golang Weekly - A weekly newsletter on the Go programming language

Initial Learning

21 Aug 2014, 14:02

DIY Beard Balm

Ingredients

This recipe and accompanying instructions originally came from the article entitled “Cedar Smoked Beard Balm”.

21 Aug 2014, 14:02

Composting

Just a few notes on composting.

15 Aug 2014, 19:56

Ruby Resources

15 Aug 2014, 19:55

Development

Notes on software development.

15 Aug 2014, 19:55

Worm Bins

A few notes on worm bins.

15 Aug 2014, 19:06

DIY Hair Pomade

Ingredients

  • 1 part Pure beeswax
  • 1 part Coconut oil
  • 1 drop Essential oils

Supplies

  • Double boiler
  • Storage tin

Instructions

  1. Get about an inch of water boiling in the pot.
  2. Pour the beeswax into the bowl and wait until liquified.
  3. Mix in the coconut oil and essential oils.
  4. Stir until liquified.
  5. Carefully pour into the storage tin.
  6. Wait for a few hours until solid.

This recipe and accompanying instructions originally came from the article entitled DIY Hair Pomade for Father’s Day (All-Natural) by Ryan Foy.

TODO: determine exact measurements

15 Aug 2014, 18:11

Fashion

I’ve been attempting to build some sense of my own personal fashion. Most of the time I just don’t care. But sometimes I do, and this is a collection of notes related to those times.

Links

15 Aug 2014, 11:56

Notes

A collection of notes. I’ve made these public mostly for easy personal access. But if they prove to be useful for you or a friend, that’s awesome too.

15 Aug 2014, 05:06

Shoes

I prefer shoes that are built for the anatomy of the foot, not solely for style. However, I also like a stylish shoe. Not very long ago this type of shoe was almost, if not completely impossible to find. Luckily for us, there are now choices!

Barefoot

Yes, barefoot is best. I prefer to be barefoot as much as possible, even when it may not be as socially acceptable as it probably should be.

Sandals

I love Luna Sandals. They are the most comfortable pairs of shoes I own. Okay, so they aren’t the most stylish; oh well.

Luna Mono with Pittards Footbed Source: http://www.lunasandals.com/collections/lunas/products/luna-mono

Barefoot Ted and team absolutely nailed the straps (and footbeds, and soles!). I have a few older pairs, but when it’s time to buy new I will grab the Luna Mono sandals with the pittards foot bed for an everyday sandal and the Luna Oso for trail running madness.

Casual

Lems Shoes makes some nice casual shoes. I own the Lems Mariner which is super comfortable worn without socks. The next shoe I’d like to try from Lems is the Lems Nine2five Coffee&Cream. I figure it’d be good to wear with pants once it gets a bit cooler. The Lems Primal 2 and Lems Boulder Boot are also enticing.

Lems Nine2five Coffee&Cream Source: http://www.lemsshoes.com/Mens-Nine2five-Coffeecream_p_94.html

Vivobarefoot has some great casual shoes as well. I have a pair of [Gobi]() and Ra that are both wonderfully comfortable. There are two problems with the Ra (the Gobi is perfect). One is fairly minor and can be fixed with thicker socks: the back digs into the heel a bit. The other is stylish: the toebox is so wide that it starts looking like a clown shoe at certain angles. Good news though, Vivobarefoot has completely fixed all the problems with the original Ra in the Ra II.

Dress

While I don’t currently have a need for dress shoes, Vivobarefoot’s Bannister, Porto and Lisbon are new luxury styles that I would purchase in a heartbeat if I had to go into the office everyday.

Vivobarefoot Porto in Dark Brown Source: http://www.vivobarefoot.com/us/mens/porto-mens?colour=Dark%20Brown

Hiking

When hiking in sandals is not appropriate, I currently use a traditional pair of hiking boots. But I’d like to replace them with a barefoot alternative, and the Vivobarefoot Off Road Hi is the one I’ll be going after.

Vivobarefoot Off Road Hi Source: http://www.vivobarefoot.com/us/mens/off-road-hi-mens?colour=Dark%20Brown

House

When talking about barefoot shoes, one can’t forget Soft Star Shoes. I partly lied about the Luna Sandals being the most comfortable pair of shoes I own earlier. For summer, that is definitely true, but the Roo Moccasins win that award in the colder months. Sometimes I wear them out, and yes they look funky (they come in custom color configurations too), but sometimes it’s worth embracing your inner elf for the sheer joy one experiences when wearing his or her elfish moccasins out for a day.

Soft Star Shoes Roo Moccasins Source: http://www.softstarshoes.com/adult-shoes/moccasins/adult-roo-moccasin-suede-forest-chocolate.html

Links

12 Jul 2014, 10:04

Hosting multiple domains with Nginx in Ubuntu 14.04 on Digital Ocean

So I was having problem with my previous server. Now that I’ve rebuilt everything I’ve realized that the problem I was having could have been easily fixed with my previous install. But, it doesn’t matter; it was time to upgrade from Ubuntu 12.04 to 14.04 anyway.

The goal of the server is simple: host two domains using Nginx. The problem I was having with the 12.04 install was that I could never get the second domain to serve up the right files; it would always serve up the first domain. This turned out to be a problem with the Nginx configuration. I thought this was the case at the time, but since the install wasn’t doing anything else anyway, I thought it was a good time to rebuild and start from scratch.

There are four articles of importance here:

  1. Initial server setup with Ubuntu 14.04
  2. How to install Nginx on Ubuntu 14.04 LTS
  3. How to set up Nginx server blocks (virtual hosts) on Ubuntu 14.04 LTS
  4. How to install and use Fail2Ban on Ubuntu 14.04

There is also a fifth article that may be useful to you: How to set up a host name with DigitalOcean.

The following is a quick summary of commands and configuration for the four articles listed above.

Initial server setup with Ubuntu 14.04

  1. Login: ssh root@[server_ip_address]
  2. Change the root password: passwd
  3. Add a new user: adduser [username]
  4. Give root priveleges to new user: visudo
  5. BACK OUT IMMEDIATELY with CTRL-X and export EDITOR=vim ;-)
  6. Give root privelges to new user: visudo

    [username] ALL=(ALL:ALL) ALL

  7. Alter SSH configuration: vim /etc/ssh/sshd_config

    1. Update port: port [port_number]
    2. Refuse Root Login: PermitRootLogin no
    3. Allow only certain users (careful!): AllowUsers [username]
  8. Restart SSH: service ssh restart

  9. Test SSH config from new terminal

    1. ssh -p [port_number] [username]@[server_ip_address]
    2. sudo vim
  10. Exit the root terminal: exit

How to install Nginx on Ubuntu 14.04 LTS

  1. Install Nginx:
    1. sudo apt-get update
    2. sudo apt-get install nginx
  2. Check the installation: curl http://[server_ip_address] or curl http://[domain_uri]

How to set up Nginx server blocks (virtual hosts) on Ubuntu 14.04 LTS

  1. Create a directory for each domain’s files:
    1. sudo mkdir -p /var/www/[domain1]/html
    2. sudo mkdir -p /var/www/[domain2]/html
  2. Change ownership to each directory:
    1. sudo chown -R $USER:$USER /var/www/[domain1]/html
    2. sudo chown -R $USER:$USER /var/www/[domain2]/html
  3. Make sure the permissions of the web roots are correct: sudo chmod -R 755 /var/www
  4. Create sample pages for each site:
    1. vim /var/www/[domain1]/html/index.html -> HTML
    2. cp /var/www/[domain1]/html/index.html /var/www/[domain2]/html/index.html
    3. vim /var/www/[domain2]/html/index.html -> HTML
  5. Create server blocks for each domain:

    1. sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/[domain]
    2. sudo vim /etc/nginx/sites-available/[domain1]
        server {
            listen 80;
            listen [::]:80;
    
    
            server_name [domain1] www.[domain1];
    
    
            root /var/www/[domain1]/html;
            index index.html index.htm;
    
    
            location / {
                try_files $uri $uri/ =404;
            }
        }
    
    1. sudo vim /etc/nginx/sites-available/[domain1] /etc/nginx/sites-available/[domain2]
    2. Adjust the second domain’s configuration to match the domain name and appropriate directory locations.
  6. Enable the server blocks and restart Nginx

    1. sudo ln -s /etc/nginx/sites-available/[domain1] /etc/nginx/sites-enabled/
    2. sudo ln -s /etc/nginx/sites-available/[domain2] /etc/nginx/sites-enabled/
    3. sudo vim /etc/nginx/nginx.conf and make the following change: server_names_hash_bucket_size: 64;
    4. sudo service nginx restart

How to install and use Fail2Ban on Ubuntu 14.04

TBD.

12 Jul 2014, 05:00

Einstein on reading

Reading, after a certain age, diverts the mind too much from its creative pursuits. Any man who reads too much and uses his own brain too little falls into lazy habits of thinking.

– Albert Einstein

12 Jul 2014, 04:44

First post using Hugo

Ahhh, new beginnings. About the only time I ever write something is when I am changing software. I suppose it’s time to change that.

12 Jul 2014, 04:38

About Me

Hi, I’m Justin.

My interests are in permaculture and ecological design; software development and architecture; running, kettlebells, diet and overall fitness; photography; and many tiny, specific little things.

This is mostly a place to share a few things with my future self. Bonus points if you find something of value too.

Want to get in touch? Email me at: the at justinlanghorst dot com, or tweet in my general direction @justajot.

11 Jul 2013, 16:23

Octopress on S3

I’m currently working on redoing a company website, moving from WordPress to Nanoc. Since the new website will be static, and mostly a single-pager for a while, we now have the option of moving from a traditional host to the Amazon S3 datastore. Before committing a company website to the process, I decided to go ahead and move this blog over to S3 (it uses Octopress) first. Here are a few notes that I jotted down along the way.

Sign-up to S3 and create buckets

Amazon has excellent documentation for hosting a static website on S3. I basically followed this excellent walkthrough. To begin, create two buckets for your domain, one with the “www” subdomain and one without. Point the “www” bucket to the non-www bucket, and keep all your files there. Or just ignore the “www” version entirely if you don’t care to resolve the www subdomain to your website. Some might say it’s deprecated anyway.

Add S3 deployment to Octopress

Jacob Elder wrote about deploying Octopress to S3 and also included a bit of code for deployments using s3cmd. Check out the blog post for detailed info, or just update your Rakefile with the contents of this patch.

Updates to Jacob’s patch

I ended up changing a few things from Jacob’s code, mostly just adding the option to use reduced redundancy since the contents of my website are most definitely “durably stored elsewhere”.

## – S3 Deploy Config – ## # Requires s3cmd. brew install s3cmd or see http:/s3tools.org/download s3_bucket = “justajot.com” s3_delete = false s3_reduced = true

That’s the config, and this is the Rake task:

desc “Deploy website to Amazon S3” task :s3 do puts “## Deploying website via s3cmd” exclude = File.exists?(“./s3-exclude”) ? “–exclude-from ‘#{File.expand_path(‘./s3-exclude’)}‘” : “” ok_failed system(“s3cmd sync –guess-mime-type –acl-public #{exclude} #{‘–delete-removed’ unless s3_delete == false} #{‘–reduced-redundancy’ unless s3_reduced == false} #{public_dir}/ s3://#{s3_bucket}/“) end

Create routes, switch DNS servers

Keep following Amazon’s walkthrough. Once you’ve switched over your DNS servers to point to those listed under the Route 53 entry, all you have to do is wait a bit to see if you did everything correctly. If you’re reading this, I’m guessing everything my attempt was a success. ;-)

18 Jan 2013, 00:34

Using AirPort Utility 5.6.1 in Lion

So I’m in the beginning stages of planning a whole-house automation system. Since music is pretty damn important to me, the first part of this system I’d like to get right is whole-house audio. I want to be able to play music in pretty much any room I’m in, all controlled from my phone or tablet. Since I’m already running Apple products everywhere, it just makes since to use an AirPort Express for each zone.

To get things started, I have an older version of the AirPort Express that plugs directly into the wall. It hasn’t been updated in a while, but my OS X systems have. I’m currently running Lion (not Mountain Lion) and the current AirPort Utility application (version 6.1) doesn’t support the old AirPort Express. The older version that does support it only runs on Leopard/Snow Leopard. Or so it says. What to do?

Well, there is an excellent explanation here. I’ll forgive the errors in the title of his/her site because the solution and walk-through are great.

Briefly, here’s what you need to do:

  1. Download the disk image from [http://support.apple.com/kb/DL1536]().
  2. Mount the image / move AirPortUtility.pkg to your Desktop.
  3. Open Terminal, and cd ~/Desktop ; mkdir tmp ; cd tmp.
  4. Extract the payload: xar -x -f ~/Desktop/AirPortUtility.pkg Payload.
  5. Extract the app: gzcat AirPortUtility.pkg/Payload | tar -xf -.
  6. Open up the app located withing the new Applications directory.

Following the instructions above allowed me to finally fix my old AirPort Express to get it showing in my AirPlay list again. Now I just need to buy a few more to get audio in each room. I think it’s time to go listen to some music. Yup.

30 Aug 2012, 22:48

On pens

What goes well with notebooks? Pens! Since my last post was about notebooks, it only makes sense for this one to be about pens. Right? Right.

Earlier this year I was on an all out yetti hunt to find the perfect notebook after Moleskine completely screwed their previously lovely square-ruled notebook with ink dark enough to compete with my own writing. The quest was successful after I found my perfect notebook in the Behance Dot Grid Journal. The bright green strap just does it for me.

For the Dot Grid Journal, my favorite pen so far is the Papermate Flair UF. The Fisher Space Pen is great if you’re into ballpoints, as is the Parker Jotter. And while I have the stainless steel version, I far prefer the lime green (yes, bright green is a favorite color of mine). The weight and feel is a bit different too, and I actually like the colored plastic versions better.

If I were still writing on Moleskines, there is no question what pen I would be using: the Pilot Hi-Tec-C. And to make things more interesting, there have been a few successful Kickstarter projects for better housings.

My choice would be the Render K. Just something about it. I haven’t felt like forking over $40 just yet though. Hmmm, the PHX-Pen looks interesting as well. Decisions, decisions.

13 Jan 2012, 16:34

A search for the perfect notebook

I’ve been on a mad hunt for the perfect notebook the last few days. Not a laptop. Certainly not one of those spiral notebooks typically used in gradeschool. No, just a regular black notebook. Oh, but with graph lines. Not blank. Not ruled.

My last Moleskine Squared Notebook is nearing completion with 11 pages left. Why the hunt? Why not just buy another one? There are several Barnes and Noble stores near me that sell them, BUT, there’s one major reason why I won’t do it again – the graph lines are TOO DARK!

It wasn’t long ago that the Moleskine Squared Notebook was the perfect one for me. Except for being a bit pricey, I loved everything about them – the color of the paper, the graph lines, the way the binding allows the notebook to lay flat when you have the notebook open. Oh man! Anyway, while I’m sure you care about the details of what works for me (I know you don’t), that isn’t the point.

After calling a few places and driving around to several different stores in the area, I came up with nothing. Needing a notebook immediately, I gave up and bought a ruled Moleskine from B&N. But, here is what I found.

After a large search around the area, I wasn’t able to get my hands on a physical copy, but apparently Piccadilly makes exact replicas of the Moleskine notebooks on the cheap. Apparently they are both made in China. I wouldn’t be surprised if they are made by the same company.

Ecosystem has a really nice line of notebooks themselves. They use 100% post-consumer recylced paper and are 100% USA made. Awesomeness. Unfortunately for me, their Architect line of notebooks just isn’t what I’m looking for. The lines are printed dark and are much too small. If I was looking for a ruled journal, I would definitely consider them – their flexi cover is amazing and I just love their story.

Markings sells a line of products at Staples and Target. I find their cover disgusting and refuse to use it.

Behance sells the Dot Grid Journal, which looks pretty interesting. I know I was looking for a squared ruling, but if the dots aren’t too dark, it could be perfect.

UPDATE! The Behance Dot Grid Journal is the best notebook I’ve ever owned. Plus, their customer service is awesome.

UPDATE #2 It appears as if the lines in the squared Moleskine notebooks are back to normal - yay!

UPDATE #3 Lately I’ve been using nice printer paper, folded up twice to make four squares. I actually like this better than a notebook for daily notes - keeping around five pages with me at a time. I think I’ll punch holes in them and put them in a binder.

31 Oct 2011, 15:59

pbcopy | pbpaste, and opening a new terminal tab in the current working directory

While I try my best to improve all areas of my life continuously (kaizen), sometimes I fail to perform with exemplary status. Countless times a day I have the need to open a new Terminal tab in the same working directory. Before today, I issued a pwd command, copied the output using the mouse, Command-T, and cd Command-V. Ugh. That’s a convoluted mess.

When I was growing up and mastering conventional memory management in DOS for the sole purpose of viewing various graphical demos from around the world, I knew about and how to use every command available within the operating system. Even though that’s probably not realistic these days, it’s something definitely worth shooting for over time (hmmm Linux from Scratch. If the same were true today, then I would have already been using the pbcopy and pbpaste utilities.

Now I can simply pipe the current working directory to the clipboard:

pwd | pbcopy

Open a new terminal tab or window, and use a combination of cd and Command-V or pbpaste to get back to the original directory:

cd `pbpaste`
cd [Command-V]

While pbcopy and pbpaste are excellent utilities, they aren’t the best solution for what I originally set out to do: open a new tab in the current working directory. I’m sure there is an even quicker way to get to the same current working directory, probably with an AppleScript, and I suspect that OS X Lion has an option for this in Terminal, but for now, pbcopy will do the trick.