Saturday, March 4, 2017

Making that Rum Still

I got the idea to make a distilling rig from somewhere. At this point I'm not sure where it came from but I started putting ideas together. I really don't drink a lot of whiskey... says the guy building a whiskey still... but I do like to make things. When I drink I like some dark rum and I'd like to age some whiskey to see what happens. I can jar a few gallons and pack it away; maybe I'll give them as gifts when I retire.

It seemed to me that a pot still is good but it wouldn't be able to get the high efficiency that I'd like. I can do better. When I was searching I found these really cool reflux columns that had sight glasses and tri-clamps and cooling tubes that fed back into the column. That's great and all. But, I've never worked with copper pipe, or plumbed anything, or made whiskey. So I decided to go semi-hard. I will build a reflux column head in 2 inch pipe that reduces to 1 inch for cooling in a chamber rather than a coil. Easy enough to make and cool enough to get nods.
  
reflux still head test fit
I planned for a 2'' copper condensing column. It's hard to find 2'' pipe. Luckily, there is a new +Menards in town and they stocked a great selection of copper pipe. Well, it was in 10' sections so I had plenty to work with. They also had all of the fittings to put together this head. I cut the condensing column to 42 '' long because I will need to cut it down later on to add a connector. The ability to add scrubbers is something that I'm interested in but not immediately. So, in the future I want to be able to split the column and add some scrubbers to get extra distillation. Then take them out for cleaning and such. 
For now I have simply made a tall column that reduces to 1 inch at the top and comes back down. Then it reduces again to a half inch pipe at the very bottom.
If you look close you will see that I have barbs in the shorter pipe. That is a copper cooling sleeve. Pretty neat idea. I didn't think of it and it's not new. It was tricky to get it all put together to see if it was all going to work the way that I wanted but I got it. 

Then I had to take a break and go watch videos to learn how to solder copper fittings. It's not that hard and there are some entertaining ones. I'd recommend it if you're bored. 

Flaring copper pipe with a ball and ball peen hammer I got it done. No leaks except in the threaded barbs. I don't really know if that's a great idea. Seems to be the way to go and I don't mind the small leak because it is only cooling water and it only leaks when I plug the line. Since the line shouldn't be plugged and I have a ton of other things to figure out I will move on. I filled the entire rig up with water in the kitchen sink. My wife wasn't home so it was cool. No leaks there; even cooler. 
Now I have the problem of getting the cook pot to get steam into the column. I've been contemplating this for a while and figure that I could buy a flange for it. As it turns out there are plenty of them out there. But they are expensive as hell and I've already laid out a pretty good chunk of change on this project. So, I will have to play around with what I have. 

Flared pipe test for positionMy stupid pot turned out to be aluminum. Sucks ass. Really sucks ass. Except that aluminum is easy to drill and sand and solder. I can use an aluminum pot for a while until I can justify buying a new one. It also has a hole in the pot lid for the thermometer. I don't want tit there at all but it will be there for now. That's something else to figure out. The hole is a little loose for doing what I want to do because steam can escape from it. A little bit of something will fix it later. I'll find something.

Flanges are expensive, but it looks like they are just flared pipe ends. So I am going to flare my own pipe and run it through the hole I cut in my stupid, easy to cut,  aluminum pot lid.  


Turns out to be pretty easy. I just worked it for a few minutes until I got a feel for the shape and how hard to hit it. I suppose that means I can use a copper collar to fit the flange to the column. So the flange work into the hole in the lid and into the collar. It was cheap; maybe 5 bucks. That's way cheaper than a flange would have been. Once I got it fitted together I hammered it as flush as I could to make a tight seal at the lid.
The next lesson is soldering aluminum when you thought you were soldering stainless steel. I got some expensive solder and brazing rods that wouldn't work with the propane torch I use in the garage. I'll save that lesson for later when I get the stainless steel pot I want with a stainless steel lid. Silver solder doesn't work well here and it made a huge mess. I should have stuck with the regular solder and it would have been a lot cleaner. I'm going to have to do it again in the maybe-near, could-be-not-so-near future. My crappy solder will hold for now.

Now that it is all one piece I have to figure out how to get water into the cooling tubes. Most people run tap water into it but I don't really like to waste the water so I got a pump that's supposed to be for fountains. I plan on using the pump to recirculate water from a bucket, or something... I got a couple of buckets at +Menards, too.

 I fired it up for the first time to test the burner and look for leaks. That's the video. It was pretty sweet to see it all work the way it was supposed to. Even with all of the steam leaks I was able to see it get warmer all the way up the column and start puffing steam at 212 degrees. When I turned on the recirculating pump it turned the steam to water and flowed well. Score. The top is heavy and wont stay upright on it's own. I tied it to the garage door opener int he video. Don't judge, I wasn't planning ahead that far.

Works pretty well but the cooling water get really warm. Not nearly enough cooling. Something else that I have to work on. Perhaps I'll use an ice bucket until I can get a good system. I wasn't expecting that but I can fix it. I was expecting to find some leaks to fix but they weren't bad at all. Alcohol vaporizes before water so there may be some more sealing to do when I run a wash through it but I believe that it will be good enough without gasket on the lid. 

I don't have any thermometers in the system except for the one that makes a gaping hole in my stupid aluminum lid. the extra little hump on top was suppose to be for a thermometer but I didn't think far enough ahead to get one, and then I didn't realize that soldering a cap on the pipe makes it hard to get off, or I completely forgot. Either way, it doesn't have one at the top where I want one. I got it covered with a clamp on thermometer. As a matter of fact I got three of them so I can measure the water temperature, too. 

The system works. I put it in the corner and suspended it on a hook so that the weight would be balanced. The water tubes were a little flimsy without support so I attached them to the wall. I'm still thinking that there is a way to cool the water coming out of the cooling jacket without spending a million bucks or running tap water for 6 hours.  


I suppose that I need a good rum recipe now.

Saturday, October 22, 2016

We're modernizing again.



I spent a good bit of time and a great amount of thought into building an Access database to keep track of all of our stuff. Stuff. I know that's not very technically savvy. And there's a good reason. I have guess at most of it. Learning as I go along. I was pretty sure that I needed to keep track of money, time, customers, inquiries, equipment, and some other things that I haven't thought of yet. I'm pretty good at building databases, too. Since I have a background in Information Systems and I currently work as a Simulations Operations guy the database is pretty easy.

That's not to say that I didn't run into problems. I'm not willing to buy the new version of MS Office because there are a number of other programs that we use for document processing and we have multiple platforms in the house. And since I don't really want to buy anything new I didn't get to use the cool new connectivity features. Strike 1: I had to maintain everything because it the database lives on my computer. I was able to export all of the cool report in PDF and send them to Marie. But she didn't read them or tell me when something happened that needed to be recorded. Like an inquiry or consultation.

Not knowing what I need to know from the beginning is a pretty common problem in database development. It seems pretty easy with relational data to add a field here and there and to make modifications. But, who want to do that all the time? Strike 2.

I can't think of a third strike but there was one.

Anyway, I got the notion to look at Honeybook. I got it from Marie, as it turns out. Bit U looked at it and they have some of the features that I couldn't get at. And some that I didn't know I needed. Can I sum this up by saying that these guys have thought way further ahead of me in this photography business management? They have. And it is pretty good.
I recommend it.

Friday, August 12, 2016

Getting the Back Office Ready for Wedding Season



Marie is busy editing the summer wedding work and blogging her work. She's the face; if you sit down with her for a consultation then you'll want to hire her to take your photos.  That means it's my job to make sure everything else works. I think it's a fairly easy formula that I follow:
  1. Pay Attention to the Analytics
  2. Keep Fresh and Relevant Content
  3. Always Update the Plan
Looking into the analytics we can tell that the majority of people that spend any time on our website is female and between 18-34 years old. That's exactly where we wanted to be when we were writing our business plan last Fall. Our website is attracting the right attention and it is producing a fair amount of feedback. It is safe to say that we are appealing to the right audience. Now we just have to step up our game.

We ended up with some fresh content through the spring that looks great on Lininger~Rood.com. We did some absolutely magnificent events and met some great couples. Every single one got us closer to having a well balanced portfolio to start this year with. We never focused on the content. It was more about telling the stories of our customers most intimate moments, capturing them in time, and allowing them to share their moments with the world. Their story is the why.

Once we had the why, we started working together to get the how and what. And we're still at it. I mean, the reality is that Marie takes pictures. She loves it and she would do it even if there was no business. But to be in business and provide a value to the customer we had to work backwards from their story to the right pictures. The why doesn't change, but the how and what will keep changing as we evolve and as the market changes. That change is what make us continue to search for the most right answer. 

The Lininger Rood Wedding page.
It holds true that the mobile site produces more traffic than the desktop mirror, but not as much as we expected. It is fairly typical for us to maintain separate site that look and feel the same but are optimized for the platforms that they run on. ShowIt makes it pretty easy to maintain both mobile and desktop sites. We did create new pages styles on the mobile site for Wedding and Family events. The interface looks great and packs a lot of content in a small space. It take some guess work to figure out what the right content is. We guessed. But I think we guessed right enough.

Advertising is an art if you don't have a huge budget. No homegrown startup has an ideal advertising budget so it's always important to figure out how to read the analytics and respond somehow. We started with paying Facebook, Google, and the Knot with targeted adds. Eventually, the numbers showed that Facebook wasn't getting business conversions so we dropped the paid adds and promotions. Free exposure from Blogger, Instagram, and Facebook brings it home just fine. The tools will tell you what is working, not what is not working. So, it takes some experimentation. I cover all of this in my book so I won't go too deep there. What I found out putting all of this together is that art doesn't have a set way to create success. We will keep changing the way we advertise, and the way we promote, and the way present our work. 

So, that leaves us thinking about what we need to take us into the next year: new equipment and services. Equipment upgrades are always in order. We planned to spend as much money as we could keeping our inventory up-to-date and ahead of demand. Marie loves the Nikon D750 and it does a great job for the services that we provide. But it may be time to look for a second camera body. The logical choice is to get another D750 so that we don't have to learn a new set of features. That will provide a good back-up for Marie if something happens goes wrong with her camera and gives us the option to provide an in-house second photographer.

We have been acquiring lenses as the need arises. There are so many different options that we have to prioritize the lens to the service. Our next lenses will give us greater ability to get close-up shots in more detail. Light kits, reflectors, and remotes are always options for spending any additional cash influx.

New services are exciting. They are exciting to think about and exciting to try to create. This business will demand certain things but other things require the photographer to provide. Marie has started building books of her work to showcase her work. We haven't started selling photo albums but I suspect that the year will build into that as we get to some of the more exclusive venues on the calendar in the upcoming year.

Python script runs the world!
One of our couples asked for a photo booth at their reception. Naturally I jumped at the opportunity to develop something that we can use. It gets me out of the shadows. I begun to play with ideas and settled on using a Raspberry Pi with a touchscreen monitor, I wrote a couple of hundred lines of Python to control the user interface, a small camera, a photo printer, and if I connect to a WiFi hot spot, then I can email and blog the photos on the spot. I have a good interface and an idea. Certainly I will need Marie to put the face on it so it looks like something great and I think we will have a winning product.


I am excited about this for a few reasons.
1. It's cool. Everybody loves a photo booth at a party. It's boas and fake mustaches for everybody.
2. We can make photos and videos to include in the wedding packages. We already do beautiful formal photos but now we can include the candid party pictures.
3. It puts branded photos in potential customer's hands.
4. We can built our contact database by having the printed photos with logos, targeted emails, and blog content tied to
5. It is a new revenue stream that customer will pay to use at our events.
6. There is a development opportunity to produce and sell on a large scale.

Can you tell that this is my new favorite part?

As long as we can stay in this magnificent city, then we will continue to grow along our planned path. Not too fast and not too slow.

Saturday, August 6, 2016

Photo Booth Code Base

#!/bin/bash

from tkinter import *
from tkinter import ttk
from tkinter import font
import RPi.GPIO as GPIO
import subprocess, time, os
from picamera import PiCamera
import smtplib
from email.mime.text import MIMEText

GPIO.setmode(GPIO.BCM)

#define GPIO / pins
PUSHBUTTON = 24
PRINT_LED = 22
POSE_LED = 18
READY_LED = 23

#set up pins
GPIO.setup(PUSHBUTTON, GPIO.IN)
GPIO.setup(PRINT_LED, GPIO.OUT)
GPIO.setup(POSE_LED, GPIO.OUT)
GPIO.setup(READY_LED, GPIO.OUT)

GPIO.output(PRINT_LED, True)
GPIO.output(POSE_LED, True)
GPIO.output(READY_LED, True)

#setup the main window as "win"

root = Tk()
root.title("LRP Photo Booth")
root.option_add("tearOff", False)

menubar = Menu(root)
root['menu'] = menubar
menu_file = Menu(menubar)
menu_edit = Menu(menubar)
menubar.add_cascade(menu=menu_file, label='File')
menu_file.add_command(label="Exit", command=root.quit)
menubar.add_cascade(menu=menu_edit, label='Edit')
#add options here to open text editors for the email file and such

ttk.Style().configure("TButton", padding=10, font='helvetica 34')
ttk.Style().configure("TEntry", padding=10, font='helvetica 34')

g_name = "Tell us your  name"
g_email = "youraddress@mail.com"
myFont = font.Font(family = "Helvetica", size = 34, weight = "bold")

mainframe=ttk.Frame(root, padding="12 12 12 12")
mainframe.grid(column=0, row=0, sticky=(N, W, E, S))
mainframe.columnconfigure(0, weight=2)
mainframe.rowconfigure(0, weight=2)

ttk.Label(mainframe, text="     Press Here and Get Ready!     ", font = myFont).grid(column=1, row=1, columnspan = 3)

#set up the camera
camera = PiCamera()
camera.resolution = (1275, 767)
camera.hflip = False
camera.vflip = False

#define functions
def TakePicture():
        l_photoName = time.strftime("%Y%m%d_%H%M%S")
        snaponePhoto('TL')
        snaponePhoto('TR')
        snaponePhoto('BL')
        snaponePhoto('BR')
        subprocess.call( ['montage', '-tile', '2x2', '-geometry', '+5+5', '*.jpg', '/home/pi/Pictures/'+l_photoName+'.jpg'] )
        sendorDelete(l_photoName)

def snaponePhoto(photoName):
        camera.start_preview()
        time.sleep(2)
        camera.capture(photoName +".jpg")
        camera.stop_preview()

def send(l_name, l_email, l_photoName):

        #send the photo to email
        subject = 'LiningerRoodPhotography'
        mutt =  "mutt -s "+subject+" "+l_email.get()+" john.r.rood@gmail.com < /home/pi/GUI/body_text -a /home/pi/Pictures/"+l_photoName+".jpg"
        ml = subprocess.Popen([mutt], shell = True)
        ml.communicate()
        mutt =  "mutt -s "+subject+" "+l_email.get()+" john.r.rood.update@blogger.com < /home/pi/GUI/body_text -a /home/pi/Pictures/"+l_photoName+".jpg"
        ml = subprocess.Popen([mutt], shell = True)
        ml.communicate()

        #print the photo to the local printer
        printer = "lpr -d SELPHY /home/pi/Pictures/"+l_photoName+".jpg"
        #subprocess.Popen([printer], shell = True)

def sendorDelete(l_photoName):
        global myFont
        l_name = StringVar()
        l_name.set(g_name)
        l_email = StringVar()
        l_email.set(g_email)
        photoName = l_photoName

        def sendButtonAction():
                send(l_name, l_email, photoName)
                contactBox.destroy()

        contactBox = Toplevel(root)
        contactBox.title("Enter Your Contact Info")

        contactFrame=ttk.Frame(contactBox, padding="3 3 12 12")
        contactFrame.grid(column=0, row=0, sticky=(N, W, E, S))
        nameBox=ttk.Entry(contactFrame, textvariable= l_name, font = 30, width = 40).grid(column=2, row=1, columnspan =2)
        emailBox=ttk.Entry(contactFrame, textvariable= l_email, font = 30, width = 40).grid(column=2, row=2, columnspan =2)
        ttk.Label(contactFrame, text="Your Name:", font=  myFont).grid(column=1, row=1, sticky=S)
        ttk.Label(contactFrame, text="Your e-Mail:", font= myFont).grid(column=1, row=2, sticky=S)

        sendButton = ttk.Button(contactFrame, text = "Send It!", command = sendButtonAction).grid(column=2, row=3)
        deleteButton = ttk.Button(contactFrame, text = "Start Over!", command = contactBox.destroy).grid(column=3, row=3)

        for child in contactFrame.winfo_children():child.grid_configure(padx=5, pady=5)

def exitProgram():
        GPIO.cleanup()
        root.quit()

pictureButton = ttk.Button(mainframe, text = "Touch Here To Start!", command = TakePicture).grid(column=1, row=2, columnspan = 3)
exitButton = ttk.Button(mainframe, text = "Exit", command = exitProgram).grid(column=3, row=3, sticky=E)
for child in mainframe.winfo_children():child.grid_configure(padx=5, pady=5)


mainloop()

Friday, August 5, 2016

LiningerRoodPhotography

The Next LRP Photobooth Photo Bomb Star Is Here!

Thanks for using our photo booth. We hope that you had a great time and enjoy the pictures. It's what we do.

Monday, May 9, 2016

Mocking up the Prototype


That sounds all fancy, but I'm just trying to fit everything into a box.

I got a Selphy CP-1200 for the instant printouts. It was easy enough to install in Rasbain through the installer. I set it as default and it printed correctly the first time. The feed tray is obnoxious and I hate the way it pokes out the front of my box but I'll make it better in the production model. 
The whole design has changed since i started. I have a printer now and I wasn't going to use one at all. You may ask how I can have a photo booth with no printer, and I can certainly understand the question. But photo paper is expensive and it is easy to instantly email the photos to the people taking the photos. 
I was able to make a cable mounted push button out of a switch, iPhone charging cable, an air fitting, and some heat shrink tubing. Again, it wasn't exactly the look I wasted but it's functional. You can also see my 50mm pancake lens that in going to mount as a prop. I had originall intended to use my Nikon D3200 for the camera but it doesn't make sense when I can use a $30 camera to get really good photos and not have the liability of having my backup camera haning out with a bunch of drunks taking selfies. 
So, I'm waiting now. I ordered a few led's and a 7 in' touchscreen display for the front. Once I get that I'll be another $100 bucks in but it'll all be there. A little more coding to work the bugs out and I'll wrap it up.

Sunday, May 1, 2016

LRP Photo Booth featuring GeminiHeart7

The Next LRP Photobooth Photo Bomb Is Here!

This was one of the first automated blogs that I posted with the Raspberry Pi. Since then I've changed the camera, image size, where the logo is, and some of the scripts to make it email the customer instantly. Blogger is pretty good about allowing email updates but I'm looking for a way to share it to Favebook and Twitter, if I can. That's a lot harder because I have to find a way to get the customers email address from them and into the camera.
But the idea is to blog every montage to the LRP Party Page, wherever that is. And email it to the customer. I may be able to post to to FB eventually but I'll have to create a desktop app to look the person up by email and add tag them. That's not easy for a guy like me.