What’s New in 2009

With all the ways of releasing information it sometimes gets overwhelming. Twitter, Facebook, blogs, photo galleries, etc, how does one know where to find it all?

It seems emails impact is slipping away, and people more often send messages to me through Instant Message or Facebook. So with that, I am going to start posting photos and blogging more since, i keep getting requests for photos and more.

Its been a while since Leo and I have released a TLP episode for various reasons that have pulled us out of circulation, but that should soon resume…in a new form. I have been planning to lessen the music related coverage in the TLP Show, and make it more of a casual conversation show with possible guest hosts from time to time. Its meant to be an accessory to the other shows we do, rather than a focal point. We will see how that evolves.

As that evolves, so does my skills with video editing software. Its been a long time since my FITV days working on an Amiga VideoToaster and a real control surface for video editing and live broadcast. With my evolution into HD video, I have my trusty Sanyo HD1000, I jumped into the world of Apple getting a Macbook Pro which was powerful enough to handle HD video (this was just under a year ago), and more recently I have been teaching myself Final Cut Pro. A truly powerful video editing package which makes some of the old techniques incredibly easy, and comes with a good stock of templates to get you started.

With that I am starting a new video series called “The Basic Breakdown“, which will be short videos with how-tos on everything from Computers to Cooking. Though I will probably start with cooking, and demonstrating a few of the staples in my culinary life.

I am trying to discover an easy way for people to send me topic ideas or requests, perhaps I will set up a google form like I have for the artist submissions on the TLP Network.

This blog will continue to be a place for technical and personal items, perhaps more person over the coming months, but I am open to requests. Feel free to post a comment or message me in some way.

At the moment I am @db42 on Twitter.

To Blog or Not to Blog

That is the question posed to me by a good friend. A friend that I think should start blogging, and hopefully this post will explain to her, and you, what some of the benefits to blogging can be.

I won’t go into detail of what a blog is, you can find a good article at wikipedia for that.

Why do I blog

I blog because it is an easy way to share ideas, thoughts, or explanations. People stumble onto my blog from time to time, but the people who tend to come back are the ones who know me personally, and are interested in updates on what I am doing or what I have to say. And I’d like to thank them for keeping an interest.

Its a bit more that just standing on a pulpit and saying “I am important”. I find that there tend to be things people ask me to explain, and if one person has to ask, there are many others that want to ask, or will ask.

For me this started back in late 2003, when I was trying to explain “podcasting” to people. I found myself telling different people the same thing over and over. So I decided to write up a post on my website explaining what podcasting was, and how easy it was to do. Then when someone would ask me about it, I could send them to my website for an explanation and links to where they could find podcasts and tools to download them. That is one reason I blog about new technology, or How-To type articles.

My blog doesn’t necessarily stick to one topic, though I tend towards more technology or industrial related topics, I might write more about personal topics in the future.

Why You Should Blog

Posting information online is a way to share it with others. You don’t have to explain things the way I do, one example is letting people know what you think about an article or website you have found. It could be your catalog of news and events that have meaning to you. Or it could be a collection of random goodies (being anything you fancy).

Part of the power of blogging is it can spur discussion and conversation. If you allow it, people can comment on your posts, or start conversations there. This could lead to other interesting topics.

If you have an organization, you can use a blog as a focal point for articles relating to your cause, or a place to post “call to action” type information.

The word “blog” is not necessarily the best description anymore, since most modern newpapers that are online are publish in “blog” format. So what is the difference? Not much, other than as much journalistic integrity you decide to bring to the table.

Readers may find you, you may write something that gets noticed, and more people will read your work, or follow what you are doing/saying. You may only have 2 friends who read what you are writing, does that have value? That is up to you.

There is so much data out there, its tough to find what is good and what is not. However, with so much to choose from, people can subscribe to RSS feeds for sites they like (as in your blog), and dip in when there is a headline or text bit that looks interesting.

So for my friend, who is unsure of the benefit of blogging, the specific example of using a blog for her would be using it as a journalistic review. You read articles online all the time about topics you are passionate about. You read both articles for and against a given topic. It would be interesting to people within that cause to read what your thoughts on a give story are.

In addition to letting people know what you think, you are cataloging articles that are related to the topic, and someone who has a casual interest in the subject can find your blog, and read more about the topic.

Obviously, your interpretations will be colored with your own lens, but its important for individuals to nitpick every story, to separate the “wheat from the chaff” or the “truth from the lies”. There is a lot of FUD being spread around out there, and the wisdom of crowds can help bring the truth to the surface.

Phoning Home: Dynamic DNS Services

As referenced in the first part of my Secure Connection series, you need to know the IP address of your router. If you are behind the router, this is easy, but what if your router/cable modem/dsl changes its address. This happens from time to time, so it would be easier to just assign it a name. This is where a dynamic dns service comes in.

Without going into too much detail, DNS is how blog.infinitepursuits.org in your browser knows to go to the IP address of the server my site is hosted on. But what about a router where your address can change daily, weekly or monthly?

There are a host of services that will allow you to update this number. I personally use dyndns.org, though Open Directory has a whole list of these services.

Once you have registered an account (for free) you need to have a way of updating this information. Many routers have this built in, however if yours does not, you can run a program on your Server that can update the address for you. Dyndns.com has an updater, and if you google “dynamic dns update client” you will find many apps for whatever OS you run. I have used ddclient under linux for many years now.

That is it, now you can create your own easy to remember name for your computer.

Secure Connection Series: Port Forwarding and SSH

From our general outline, this article will revolve around the first three items:

  1. Open a Port on your home networks router/modem
  2. Install OpenSSH on your home machine
  3. Configuring the SSH server: sshd_config

Port Forwarding
Most networks today are set up with a router or firewall between you and the internet at large. Because of this fact, we need to make you (or your home computer) accessible to the Internet. We do this through “Port Forwarding” where we assign a port on your router (or firewall) to forward any traffic to a specific port on your home machine. [More information on ports]

For our purposes I will start referring to your home computer as the Server (since it is serving your data), and your remote computer as the Client (since you want to connect home to the Server).

So our network looks like this:

Server <–> Router <–> Internet <–> Client

As a best practice, it is recommended that you use a port other than the default port for your application. Its a very basic means of security, but by making it something different than the default makes it harder for someone to find it on a casual scan.

For our example I will choose port 30000 on the router and forward that to port 22 on the Server.

Now the tricky part: How do you configure this on your router? Unfortunately, I can’t tell you because there are too many choices out there. However, here is a whole list of guides for many routers can be found at portforward.com

Personally, I would recommend loading the DD-WRT firmware on your router if your router is on their supported devices list, and follow their instructions for port forwarding.

Once this is done, the Internet can get to port 22 on your Server machine, which is where SSH will reside.

SSH – Secure SHell
You can find all the info you would ever want to know about SSH at OpenSSH.org. However, the basics of it is that it is a server and client application that will allow you to establish a connection between computers securely.

A brief analogy I will use is that of the postal system. When you connect to a website (with http://) this is just like a postcard in the mail. Anyone can read what is going on between you (the client) and the website (the server). With a Secure SHell connection (or when you view a webpage with https://) an encrypted tunnel is created. This is like sending a letter in a priority envelope, however its really more like sending a letter inside a locked safe since letters can be easily opened by a third party, which is illegal.

In order to build this secure connection or tunnel, you will need to have the SSH server program running on your Server machine.

  • Linux: this is typically included by default, but if its not just use whatever Package Manager your system uses and install OpenSSH-server or sometimes packaged SSH.
  • Mac OSX: ssh is built into the latest versions. To enable it, all you need to do is open up System Preferences, go to Sharing, and then enable Remote Login
  • Windows: You will need to download and install the ssh server from SSH for Windows (Note: I have no experience with the ssh server on Windows)

Once the ssh server (known as SSHD) is installed and running, it is ready for connections, and is listening on Port 22 of the Server, and Port 30000 of the router is forwarding to it.

A word of warning: At this point your Server is exposed to the internet, and you can log in using any of the user accounts on the Server computer. If you have accounts with insecure passwords, then someone may easily access your system by hacking those passwords.

It is at this point we look to add some protective measures.

Configuring the SSH Server: sshd_config
The configuration file for SSHD is sshd_config and is located on linux at /etc/ssh/sshd_config and on Mac OSX at /etc/sshd_config
We will look into advanced settings in the future, but for now we want to restrict which user accounts can login using ssh.

Open sshd_config in an editor and add a line to the bottom of the file:

AllowUsers username

Where username is the login name you use for your system. You can add multiple users by simply putting a space between the names on this line.

You may also notice at the top of the file

#Port 22

This allows you to change the port SSHD listens on. If you change this port, you will need to make sure your router is forwarding to whatever port you changed it to, and not the default ssh port 22. The # symbol in this file means the line is commented out. If you want to change this port simply add a line with Port number

After making changes to your sshd_config file you need to restart the server.
This can be done in linux by executing the command

sudo /etc/init.d/ssh restart

in Mac OSX by disabling and re-enabling through System Preferences -> Sharing
and in Windows by restarting the sshd application.

Connecting to your SSH server
Now that your server is running, go to your client machine and attempt to connect.
From Linux or Mac OSX, go to a command line and simply type:

ssh -p 30000 username@routeraddress

Your router address can be found by going to whatismyip.com, or using a dynamic dns address as I will describe in the following post.
If you want to test this from the Server itself, you can use the command:

ssh username@localhost

There are various graphical applications you can use to connect to your Server, I cannot list them all, but common ones are Putty (Windows), WinSCP (Windows), Cyberduck (Mac OSX), Konqueror (Linux), etc.

At this point you have a fully functioning way to create secure connections from a remote computer to your home computer, and be able to transfer files back and forth, and even remote control your desktop.

In the next segment, I will go through creating a security key pair, and how to further secure your computer by using key encryption instead of a password. This can save you time by not requiring you to type in a password, and will be much more secure from attacks on the server.