Take back the data – Part 4

I have decided to stop using cloud services and move all my data back to my own computers. Part 1 listed all the cloud services that I use. Part 2 described how I plan to replace my cloud services with my own web server. Part 3 covered the process of setting up the web server hardware and software in more detail.

In this post I’ll describe securing my web server with SSL, setting up my own email server, and the backup system.

Continue reading “Take back the data – Part 4”

Take back the data – part 3

I have decided to stop using cloud services and move all my data back to my own computers. In Take back the data – Part 1, I listed all the services that I use. In Take back the data – Part 2, I described how I plan to replace my cloud services with my own web server. In this post I’ll describe the process of setting up the web server hardware and software in more detail.

Continue reading “Take back the data – part 3”

Trip to New York

We took a trip to New York City to visit my brother and his new baby. We had a great time seeing them and touring the city. They have a nice apartment in Astoria and they were kind enough to let us stay with them for the week.

In addition to meeting my new niece, we also took the opportunity to get legally married. Colorado has separate-but-equal civil unions, but with DOMA struck down, we needed to get married in a state where it is truly legal for the federal government to treat us as married.

We also wanted to go to New York to visit a haunted house called Blackout. Unlike most haunted houses, at Blackout you go through the experience alone, the actors can touch you, you have to sign a waiver, and there is even a safe word. They call themselves a “haunted experience” and I wasn’t really as scared as I was disturbed.

I’ve posted pictures of our sight-seeing here: Gallery.

Continue reading “Trip to New York”

Take back the data – Part 2

I’ve decided to stop using cloud services and move all my data back to my own computers. In Take back the data – Part 1, I listed all the services that I use. The next step is to figure out how to replace them and move my data back. To replace the services that the cloud provides, I need to:

  1. Store my data locally
  2. Backup my data (ideally an offsite backup)
  3. Provide remote access to my data

The first part is easy. The second two are much harder because of how home internet service works.

Internet providers use dynamic IP addresses. Each customer gets a new address every few days/weeks. This is like having a phone but getting a new phone number every week. You could make phone calls to other people, but couldn’t really receive phone calls back because no one knows your number. With dynamic IP addresses, you can talk to other computers, but you have to start the conversation. The consequence of this arrangement is that you can’t really run a website from your home computer.

Broadband companies will sell you a static IP (like a permanent phone number) for a small monthly fee, but since very few people have a static IP addresses, software companies haven’t been motivated to make it easy to setup a home website. So, for most people, if you want to share photos or start a blog, you have to involve a third party like wordpress.com or facebook.

This is really too bad. The promise of the internet was that anyone could publish content that could be seen by anyone else. Now we have a few large companies that are in the business of publishing other people’s content and making money off it. Just like record companies and book publishers before them, many internet companies (Facebook, twitter, flickr, youtube, etc) make money by publishing the content created by other people.

But it didn’t need to be that way. There was really no reason that we couldn’t each have our own IP address and our own personal website. Windows could have made it easy to publish your own content to your own site. Finding and connecting to other people could have been as easy as looking up or sharing a phone number. But that isn’t how things turned out, and now it is quite a bit of hassle to setup your own website. I’ll have another post with a lot more detail about hardware and software setup, but here is the quick summary:

  1. Buy a static IP. We have DSL from CenturyLink and they charge $5 per month to have a static IP.
  2. Register your domain name and point it to that IP address. That costs about $10/year.
  3. Setup a machine as the web-server. This machine should be left on all the time. Most any computer will do for a personal website.
  4. Install apache or some other web server software on the machine.
  5. Keep the OS and web server software up to date, do regular backups, make sure the machine stays on and working.

Once you have a website, it is possible to replicate most of the services that are provided by the cloud. I am going to use software called OwnCloud. OwnCloud is a webapp (a program that runs on a web server) that provides a way to store files, contacts, pictures, music and calendars on your website and share them with just the people you want to share them with. Since OwnCloud is running on my own web server, no third party has access to my data.

Continue reading “Take back the data – Part 2”

Take back the data – Part 1

The recent closures of Google Reader and Catch have reminded me of the quote: “If you are not paying for it, you’re not the customer; you’re the product being sold.” Free services aren’t really free, we are just paying for them with our data instead of our money. If the “free” service can’t find a way to make money with our data, they turn into a pay service or disappear.

I was fortunate that both Google Reader and Catch allowed me to download my feeds and notes before they closed. I just had to spend the time to find replacements and transfer my data. Between these two closures and the revelations that world’s spy agencies are working really hard to monitor and record my data, I have decided that I would like to take back ownership of my data. Continue reading “Take back the data – Part 1”

GenCon 2013

We attended GenCon in Indianapolis with Mesa Mundi. Mesa Mundi had a booth setup in the vendor room where they had two Monolith touch screens and a Microsoft PixelSense screen. They also had a table in the exhibit hall with another touch screen where attendees could come for hour long games on the table. We spent most of our time in the exhibit hall running games of Hansa Teutonica, Bio Infiltrators and the rest of our touch games. I enjoyed the convention and really liked watching people playing Hansa.

Continue reading “GenCon 2013”

Scoring the Nutrition of Foods

Part of the Food Cost Calculator project is to determine the nutritional value of different foods. The program can be used to calculate the cost of a food per calorie or weight. But I also want it to calculate the overall nutritional value of the food and the cost per nutrient.

There are certainly a lot of different opinions about what makes a food healthy. The program will have flexibility for a user to set up the scoring system based on the nutrients available in the USDA database.

One way to score a food is to calculate how much of the recommended vitamins/minerals the food provides. Another thing to consider may be the amount of fat/carbohydrate/protein in the food.

This post will describe the scoring system in the food cost program and how I setup the scoring system for myself.

Continue reading “Scoring the Nutrition of Foods”

Home Cooking Costs Project

I read the book Make the Bread, Buy the Butter: What You Should and Shouldn’t Cook from Scratch a few months ago and it got me thinking about the cost of cooking at home. I recommend the book (and/or her blog) for the personal stories and recipes as much as for her advice about what to make at home. The stories are funny and the recipes have been consistently good. But everyone is different in how much they value their time and enjoy cooking; and the book is targeted toward people who consider cooking a hobby and are willing to do in their free time.

I enjoy cooking and have lots of free time, so her advice is pretty good for me. If she says you should buy it, you should buy it. I thought that I had found one exception: Rice pudding. I figured that she just didn’t try (or want to recommend) using a pressure cooker. My rice pudding was pretty good, especially warm, but Kosy Shack was better, especially the next day. And tapioca is better anyway.

Each recipe in the book has a cost to make and the price to buy. I double-checked her prices for the first few recipes that I made and they were pretty close. A direct comparison is difficult in many cases because the store-bought item and homemade item are too different (hot-dog buns are a prime example).

As I got more curious about how much different foods cost to make, I started to wonder which of the things I eat are the best value and how home cooking compares to dining out in terms of cost. I also wanted to consider the nutritional value of the foods and to include (like the book did) the energy costs involved. I started tracking this in a spreadsheet, but it was too much hassle to keep track of which foods I’d entered already and to do all the conversions between different amounts of foods. So I started looking for software that would help.

Nine years ago I created a FoodDiary program because I was curious about how nutritious my diet was. Was I getting all the vitamins and minerals that I needed? What about all the amino acids? This was about the time that I was giving up beef and pork and I was worried about missing some proteins (I wasn’t). I considered re-writing that program to track food costs but I was turned off by the idea of revisiting the old wxWindows (a C++ graphics library) code. Instead I downloaded the trial version of the popular Living Cookbook software. Their software is pretty nice, and it allows you to track food costs and will figure the cost of a recipe. It has some pretty severe limitations though:

  • You had to enter a food price for a particular quantity (their choice) of the food
  • When you updated a food, the program had to update all the recipes that contained that food. This process took 15-30 seconds for common foods.
  • A recipe couldn’t contain another recipe.
  • When entering a recipe you have to enter each ingredient twice: once for the description and once for the nutrition data.
  • There is no way to “score” a food. You can look at the amount of each nutrient, but there is no way to consider it as a whole. This was the main focus of my FoodDiary software.

So I finally decided to write a new program to do exactly what I wanted. I probably come to this conclusion a bit too easily and often. I think it’s because it is so easy to underestimate how hard the program will be to write. I had the same problem when I was getting paid to program: I’d take my best guess, double it, and often be way under.