I Don’t Know Her or Her Friends

Dear Facebook,  your suggest a friend feature is the most worthless thing ever.

Here is the deal, when I first joined Facebook, which was quite a while ago, I was friended by some random girl in Memphis.  At the time I wasn’t picky about who I accepted friend requests from, so I accepted her request and we have been friends ever sense.  Occasionally I consider removing her as a friend, but really I see no reason to. She doesn’t interact with me, and doesn’t post annoying things so I just let it be.

Recently though, being friends with her has given me some insight.  Basically it is that Facebook’s suggest a friend feature is worthless.  For some reason Facebook insists on showing me people that she is friends with.  This makes no sense.  For one thing, I have no mutual friends with her.  Wouldn’t that put her pretty low on the list of people whose friends I know.  Additionally, she isn’t geographically close to me, we’ve never interacted, never lived within 100 miles of each other, and never attended the same schools. If you were going to choose someone on my friend list to use for that feature, she would be the last one on the list.

So Facebook, here is my challenge to you, write a decent algorithm that keeps stupidity like this from happening.  You try hard to sell yourself as a valuable platform, but nonsense like this doesn’t help your sales pitch.

One comment

Can I get a Pause Button with That

Would a pause button be a great feature on some webapps?  RSS readers would greatly benefit from this.  As I’m writing this post there is currently a Woot Off in progress.  This means that my RSS feed from Woot gets about 30-40 items every 4-5 hours.  It would be great if I could just hit pause and then it skips the items that occur during the time period I specify.  

Twitter would also benefit from this. I follow many people who live twitter confences and other events that do not interest me.  This information fills up my Twitter client and I sometimes miss other tweets that interest me.  The only solution I have is to unfollow the offending party and then remember to follow them again the next day.  This is clunky and the ability to skip updates from individual users for a period of time would be a great feature. 

Any other web applications that could use a pause button?

Be the first to comment

The Social Web, an Introduction

The Internet is a wondeful thing.  Everyday, millions of people launch a web browser, go online and consume information in vast amounts.  They socialize using e-mail and post to their friends walls on Facebook.  But the web is becoming so much more and I want to point out a few tools and site than everyone should use.

The point of these sites is to utilize the web as a social medium instead of a consumable product.  Learning to comment, communicate, and participate is not only fun, but you will get a much deeper experience every time you log on.

Let’s start with my current favorite web app, Twitter.  When you first sign up, you are presented with a box asking the question “What are you doing?”.  Looking at this you would think Twitter is like Facebook status messages.  It is so much more than that though.  The best way to learn about Twitter is to watch this video. I use Twitter for many things: I keep up on the latest news, discover interesting websites, follow games, get fantasy football advice, connect with people who share my interests, and get questions answered.

To get started with Twitter, sign up, and start looking for people to follow.  Start with me first.  I go by the name sloped on Twitter.  View to my profile and click follow.  Now you can see my updates on the public tab.  I also recommend doing a search for your location using the search box on top of the page.  It’s a good way to find local users to follow and befriend.  The last place I am going to recommend is twitterholic.  This site shows the top users on Twitter by follower.  There is a good chance that if someone has many followers they are doing something interesting.  Try following a few of them and see what you think, you can always unfollow if you aren’t happy with their tweets. .

The next app that I am going to recommend is Google Reader.  GoogleReader is an RSS reader.  View a quick introduction to Google Reader here.  For those of you who don’t know what RSS is, this video is a must see.  What RSS does is allows you to pull content from a variety of sources across the web.  There are many different readers available, but the benefit of Google Reader is the ability to share items you find interesting.  This allows you to push items to your friends using RSS to, allowing them to read them at their leisure.  It is a much more productive way of dealing with information then emailing your friends and family links.  To subscribe to my shared items on Google Reader go here.

The final social service that I want to talk about is actually a service many of you probably already use.  During the recent site redesign, Facebook released a great new featured called import.  Import allows you to take your activity across the web and put it on your wall easily.  As you can see you have a variety of options as to what you can import.  I currently import my flickr photos, blog posts, delicious bookmarks, last.fm songs, and google reader shared items.  This is a great way to keep your friends and family up to date on what you are currently interested in.

This feature is what convinced me that I liked the new Facebook design.  Though it is different, I think the inclusion of options like this allows you to share more with your friends and family. 

The beauty of these tools is that the more you use them the more content you start to get from other users.  I have cut down my feeds in GoogleReader as I use Twitter more. I find more interesting content from the people I follow.  As more of you friends on Facebook begin to share more content you discover more information, more songs, and see more of their photos.  Add in the multitude of discussions you can have and suddenly you are not only more informed but you are finding out things about people you never would have before.

Be the first to comment

The Perfect Linux Server Part 1

Designing the perfect Linux Server isn’t difficult, it can be time consuming but with a plan, you should be able to get everything running quickly.  This post will lay out the groundwork of what services the server should provide and how we divide it up among our virtual machines.

The main services that I want the server to provide are web, ssh, mail transport, dns-caching, and file serving. Some additional, but non-essential tasks could be bittorrent, ftp, streaming media, and VPN.  Of course their are a ton of things you could add to this list, but these are the services I feel are the most useful.

The next step is to list the applications that we will need to run to accomplish these tasks.

  • Web Server
    • Apache
    • Mysql or other database is usually necessary
    • PHP
  • SSH Access
    • open-ssh
  • Mail Transport
    • I use Qmail, but there are many options
  • Dns Caching
    • I prefer Tiny-DNS, Bind is also a good choice
  • File Server
    • Samba
  • Bittorrent
    • rtorrent
  • FTP
    • I use SSH for file transfers and you should to
  • Streaming Media
    • Lots of options, ampache and Jinzora are who popular ones.
  • VPN
    • OpenVPN

Some other services that I install to keep an eye on things

  • Munin
  • Nagios

So how do we divide these systems up.  The choice is yours, but for this tutorial I am going to use the following setup.

  • Zeus: Domain0.  This is the top level system that all other servers run on top of
    • Xen
    • Qmail-send
    • Munin-node
    • SSH
  • Pegasus: Web Server
    • Apache
    • PHP5
    • Mysql-Server
    • Qmail-send
    • Munin-node
    • SSH
  • Hades: File Server
    • Samba
    • rtorrent – This makes the most sense here as we will want to access the files downloaded from other systems
    • Qmail-send
    • Munin-node
    • SSH
  • Athena: Monitoring and support services
    • Tiny-DNS
    • Apache – To allow for remote viewing of system status
    • Munin
    • Munin-node
    • Nagios
    • Qmail-send
    • OpenVPN

A few things that I need to point out in regards to this list.  First, I actually installed Samba on Pegasus(Web Server) so I can edit my development files dirctly.  You could host things on Hades and just mount the share under your web root if you wished.  It also would make sense to do all development on a seperate server, I don’t due to the limitations of having one IP address.

A few other points, I don’t actually run an SMTP server on any of my servers.  I use Google apps to receive and store my mail.  Qmail is only installed to send mail from the servers.  It is trivial to install qmail-smtp to allow you to receive mail.  Another change that I would make if I had better hardware would be to seperate the system running apache from the system running MySQL.  This is mainly a security enhancement but is not extremely important.

6 comments

An Ultimate Linux Server Introduction

This site is run out of a server that sits in my basement.  I used to host my websites on a shared web host like GoDaddy, but after spending almost $100 a year and having very little control over my hosting service, I decided that I could run most of my sites from my home.  Of course I don’t get a lot of traffic so this is possible.

Recently however I started to attract some extra traffic here and there.  Nothing major, maybe an extra 25-50 hits a day, but it got me thinking about what would happen if I happened to claw my way to the front page of Digg .  A massive spike in traffic would most likely result in my site crashing.  I can protect myself from this the best I can; tune apache, setup opt-caching, setup caching on Wordpress, and other modifications.  Unfortunately, these can only help so much though when my server has a Sempron 2800+ with less than a GB  of memory.

So I decided that something had to be done, I considered a few alternatives, but as I looked over the software and hardware landscape, I decided to focus on virtualization.  I decided to purchase some additional memory and setup a Xen hypervisor.  There are several benefits to this.

  1. If my server was brought to it’s knees, I am be able to ssh into my system and hard reboot remotely.
  2. Improved security as I currently run numerous services on my server.  I can isolate my internal services from the external services.
  3. I can setup monitoring, and receive alerts if a service or host fails.  Without Xen, if my host failed I wouldn’t receive alerts as the monitoring system was down.
  4. A great learning opportunity and a chance to write about it.
  5. It makes sense financially. I spent $50 on memory, which is cheaper than most hosting programs.

For those of you who don’t know, Xen is a virtualization technology that allows you to host “Guest” operating systems on a single piece of hardware.  You have your initial OS that you boot into as you normally would, then you can boot additional systems on top of the original system that independently.  These systems are fully operational and can do pretty much anything a non Guest OS can do.  The systems share the available hardware resources but the performance hit is minimal.

Throughout the next few weeks I will be putting up a series of posts that will describe the steps it takes to create what in my opinion is the ultimate Linux server.

Be the first to comment

Tweetbar and Hahlo – The perfect Twitter setup

Sorry for writing another Twitter post, but it’s currently my favorite application.  I have been spending quite a bit of time trying to find the best Twitter client.  As I run an AMD64 version of Ubuntu, many of the great Adobe Air client’s are not available to me.  And to be honest, the Twitter clients that are available for Linux just aren’t that great.

I fought with Adobe Air for a while but finally gave up.  Hopefully Adobe releases a 64bit version of Air soon because I would love to try out some of the apps on that platform.  In the meantime I discovered a wonderful way to use Twitter in Firefox.  I started using Hahlo last week.  I also have Twitterbar installed in Firefox.  Until today I was using Hahlo in a tab, but I realized today that this website was a perfect candidate for being loaded in the sidebar.  How do you do this you may be asking.  First add Hahlo as a bookmark.  Then go to the bookmark and right click and choose properties.  You will see an option on the bottom of the screen saying “Load this bookmark in the sidebar”.  Check that box, load the bookmark, and you have the result on the right.

Now Hahlo is great, it has a few small issues, but nothing major.  For some reason whenever I start following someone in Hahlo device updates get turned on.  But for following your twitter storylines it rocks.  You can tweet in Hahlo but I don’t really like the interface for some reason.  To remedy this I installed Twitterbar.  This extension allows you to post to Twitter using your address bar in Firefox.  Just type your tweet into the address bar and hold your mouse over the dot on the right side.  You will get feedback on how many characters you have left.  Click the dot and it posts to Twitter.  This makes more sense than it sounds I promise.  Give it a try, you might like it.

Oh and follow me at Twitter http://twitter.com/sloped

One comment

How Twitter brought me back to Social Networking

Funny story, as I started writing this post I tried to go to Twitter and guess what, Fail Whale. You can’t make this stuff up.

Yes, the Fail Whale is irritating, but Twitter is the best thing to happen to the web in a long time.  In fact it got me interested in the Web, when for a long time I had no interest in anything other than reading the news and mindlessly perusing the top stories on Digg.

Not that I “got” Twitter at first, in first actual tweet was on May 6th of 2008, but I signed up in July of 2007 to utilize a web service that interfaced with Twitter.  Then Twitter got big, at least around the tech world.  For a while it was all you heard about, so I decided that maybe using Twitter would be a good idea.  So I started following some of the more prominent twitterers.  Suddenly I started so see the usefulness of Twitter along with the fun in Twitter.

How cool was it that I could sms a message to Twitter and get an answer from the cloud, of course for this to work I had to build my network.  To build my network I had to make some connections, so I started using Twitter on a weekly, then daily, and then sometimes hourly basis.  Sometimes it was to post link I found interesting, other times pointless observations, or maybe to microblog a Twins game.

So my network started to grow, I now have 33 followers, and have updated almost 200 times.  The funny thing is that as I started using Twitter I found it easier to blog, and then I started to participate in online discussion more frequently.  One thing led to another and soon I’m participating in the web instead of just observering.  And it all started with a simple service that let you post short messages.  Now I participate in numerous networks including Linkedin, Digg, Flickr, and Facebook.  I hope someday this pays off in some useful way, but for now I am glad I’m actually participating instead of just consuming content.

One comment

Great Conky Tutorial

I just discovered this wonderful conky tutorial at Linux Owns.  I am planning on writing up a tutorial combining this one and my Compiz tutorial so it works well in Compiz.  Of course if you don’t use different wallpapers on each desktop, linuxown’s tutorial is a good starting point.

Linux Owns – Create a Custom Conky Setup

Be the first to comment

System Monitoring Applications

When was the last time you knew what was normal for your server?  Have you ever had a suspicion some process was eating up your resources? Ever left for vacation and want’d to know if your web server went down?  These are some of the questions that a good system monitoring application can help answer.

Before I left for vacation I installed Munin and Nagios.  These are two mature system monitoring applications.  Munin keeps track of various bits of system information; the number of apache processes, system load, mysql queries, and other useful statistics.  Munin’s benefit is it keeps a historical record of system status and displays it in graph format over day, week, month, and year.  This can allows you to monitor your servers to determine if anything out of the ordinary is occurring.

Nagios is well suited to monitoring your system and services to determine if there are problem and send alerts if detected. It can monitor your apache services, ssh, disk space, and other critical apps.  Though Nagios does allow you to review some historical data, Munin is better suited to this task.  When I first installed, Nagios was configured to monitor http, ssh, root disk space, processes, number of users, and swap space.  These were sufficient for my needs, but it didn’t setup alerting.  I was kind of short on time, and Nagio’s configuration is complicated, so I didn’t get alerts setup before I left.  This defeated the purpose of installing Nagios to monitor my server while I was on vacation but I could still log in and check my system status if I wished.

One caveat to consider when installing Nagios on a single server, if you are monitoring the localhost and something goes wrong which makes the system inaccessible, it doesn’t do much good to get alerted to the problem.  The best approach would be to setup a separate monitoring system.  Using Xen or another virtualization product would be a good idea in the case of a single piece of hardware.

Remember that even with good monitoring software installed, Murphy’s law applies.  This means that your monitoring system will fail before any of your other systems.

Be the first to comment

Samba and Case Sensitivity

Here is an oddity in Samba that I ran across tonight. I was working on updating my mp3 player for my trip home. I wanted to transfer over some AFI, but when I went to view all the albums I had available, only one of my albums was visible. I logged into my music server and browsed to the appropriate directory. I had three directories, AFI, Afi, and A.F.I. Looking in them, A.F.I had the album that was visible in Amarok, Afi was empty, and AFI contained the missing albums.

Thinking that was odd, I opened up the drives under nautilus and browsed to AFI, this showed all the albums, then I browsed to Afi. Surprisingly it contained all the albums to, but when I tried to play a song in the directories I received an error.

A quick google search brought up this. I appears that Samba by default is case insensitive to work with Windows. So when it translated Afi and AFI, it listed the files in both folders, which had the side effect of causing some odd problems with my music collection.

It was a simple fix, originally I had this configuration:
[media]
comment = Media Drive
path = /media/storage
read only = yes
write list = conner

I added the appropriate configuration directive:
[media]
comment = Media Drive
path = /media/storage
read only = yes
write list = conner
case sensitive = yes

Then I restarted samba and my problem was fixed. One caveat is that if you were accessing the drive using Windows, there is a possibility that this could break some things, so be careful and test.

Note:  I know I could have deleted the empty directory, but I wasn’t 100% sure that the problem didn’t exist in other parts of my collection.

Be the first to comment

This work by Conner McCall is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License