Indy GiveCamp 2011

This past weekend, I participated in Indy GiveCamp. I wanted to share some of my experiences over the weekend, and how everything turned out.

What is Indy GiveCamp?

GiveCamp is an event where web designers, developers and database administrators get together donate their time to provide software or web sites for charities. This allows charities to not have to worry about getting their website updated or trying to figure out how to pay someone to do it.

Indy GiveCamp contained around 40 volunteers. We were able to help 7 different charities.

We were assigned to our teams around 8pm on Friday. The goal was to have a brand new website ready to “hand over the keys” by 2pm Sunday.

Read more ›

Upgrading to Gitolite from Gitosis

Git

I have been using git as source control for all of my projects for a little while now. Now that I am getting used to git, I like it a lot. It’s a bit of a different style than other source control management systems, but it seems to work well. I am starting to store lots of things in source control. Not only my programming projects, but also my random helper scripts and configuration files that I write. Basically, anything where in the past I would simply rename the file to “File.old”, it makes more sense to add it to source control instead. That way I can go back as many versions as I need to (without having an .oldX) and also see exactly what I have changed.

Gitosis vs Gitolite

I started off using Gitosis for repository management on my server. I wanted to be able to clone repositories and commit updates easily. While Gitosis works; I have decided that I want to migrate to Gitolite for a few reasons:

  • Gitolite is still being maintained — Gitosis is not
  • Better user management of repositories. Allow different users different access. I.E. I can do everything, but a friend is unable to delete files permanently.
  • Multiple keys per user. I have a few different machines that I develop on, and each machine has its own ssh key. Gitolite allows a nice format where one user can have multiple keys without cluttering up the config file.
  • I don’t like how I have to use MyRepository.git when cloning with Gitosis. Gitolite allows simply a clone of MyRepository.
  • Easier to create new repositories.

Read more ›

Sendmail Masquerading

I got tired of having my sendmail server send mail from user@Pulsar.NotLlamabyte.com instead of user@NotLlamabyte.com. I went on to research how to change this. I found sendmail masquerading that would do exactly what I wanted.

Read more ›

SPF Records

I have recently been helping a friend get his sendmail and redmine server up and going. He used my previous post(s) to get everything set up. But, during testing it appeared that no emails were actually getting sent. Even though the sendmail log file showed a “Sent” status for them.

Eventually I checked my spam folder, and found all the test emails I had sent from his server. After trying to figure out why emails from his server were getting treated as spam instantly, I came across Sender Policy Framework (SPF) records.

Read more ›

Configure Redmine to receive emails with sendmail

Information

I have a redmine install that I am using for my personal projects. It helps me log tasks/features that I want to implement in my projects while I think of them instead of “Oh, I really need to remember that for later!” (The remembering never actually happens).

Redmine.llamabyte.com

I am using a pretty standard sendmail configuration to allow redmine (and some other programs) to send emails easily.

Redmine also has the ability to receive emails as well, and add them as issues/tasks to projects.

That way, I can send an email to redmine@NotLlamabyte.com with:


Add a new feature to allow sending emails if the program crashes.

Project: myNewProgram
Tracker: Feature
Priority: Urgent

And, redmine will parse that and create a new Urgent feature request on “myNewProgram” project with the text “Add a new feature to allow sending emails if the program crashes.”

This will be great for creating tasks from my phone, or as a “Feature Request” button in my actual programs themselves, so my users can easily request things.

Read more ›