velospace’s Sixth Anniversary

January 2nd, 2012

velospace is six years old! Six years in the making, the velospace community continues to grow and connect people passionate about bicycles. The biggest news of our sixth year was stabilizing the site, and virtually eliminating down time and slow server responses.

velospace is what it is because of the amazing velospace community. Thank you to everyone who continues to make this the place to go for bikes. Here is to another great twelve months ahead.

- Greg

Previous velospace anniversary posts:
Year Two
Year Three
Year Four
Year Five

velospace Downtime Due in Part to Vanilla Forum IpHistory Table Overload

February 13th, 2011

The velospace forums launched in late October 2008. Between then and Thursday February 10, 2011 the forums were visited by users with over 1.9 million unique IP addresses. Vanilla, the software that the forums run on, logs each of these IP addresses into a table called “IpHistory.”

The IpHistory table is used to, among other things: calculate user statistics, provide data for the “Who’s Online” sidebar, and so on. The point is that the table is regularly used on the back end. The IP history information is very important from a server administration perspective because we track “bad” users by IP (and other patterns and metrics).

However, with 1.9 million rows being searched every time statistics or the “Who’s Online” sidebar was being called created a huge strain on the velospace server. The MySQL process would start gobbling up gigabytes of RAM, when under a normal load the process would only use around 400 megabytes of RAM. The solution was to move the 1.9 million records out of active use into an archive, which we can still search and use for server administration. We then flushed the IpHistory table, removing all its data.

velospace popped back up immediately after flushing the table. It took approximately 12 hours of troubleshooting to trace the problem down to the IpHistory table. As detailed elsewhere on this blog, the Drupal side of things has hiccups once in a while – though things have been quiet since we upgraded to the most recent version of MySQL. In this case, it took several hours to confirm that the Drupal side was not the source of the problems.

In addition to cleaning out the IpHistory table, some tweaks were made to the site’s my.cnf file, and to some of the Drupal modules we have running. We hope the changes make the site more stable.

- Greg

velospace’s Fifth Anniversary

December 31st, 2010

velospace is five years old! Five years, half a decade, is an eternity for a social networking site to be online. The past year was a good one for us, and hopefully for you too. Highlights from year five include: integrating for sale/want to buy listings in the marketplace, tracking featured bikes, new merchandise for sale, sponsoring the Illini 4000 ride, doing a better job troubleshooting downtime, reopening the friends system, battling spammers, and tracking bike serial numbers.

We give big big BIG thanks to the velospace community for making this a wonderful year. Your enthusiasm, creativity, and love of bikes drives the site. Here is to another great twelve months ahead.

- Greg

Previous velospace anniversary posts:
Year Two
Year Three
Year Four

Speedier and Speedier

October 31st, 2010

velospace is a resource hungry website. Today we started running a PHP cache to cut down on the memory and resources needed to run the site. You should notice quicker page loading and a smoother experience.

- Greg

New Feature: Bike Serial Number Tracking

October 17th, 2010

velospace now tracks bike serial numbers.

You have been able to fill out lots of information about your bikes on velospace since the site went live: frame size, crankset, chain, brakes, rims, hubs, suspension, and so on. Starting today, you can record your bike’s serial number. All serial numbers are privately stored and only viewable to the person who uploaded the bike. Storing serial numbers will help in the event a bike is lost or stolen and you need to provide proof of ownership when filing a police or insurance report.

This screenshot shows the serial number display on my Spicer. I am the only one who can see the serial number, and I have to be logged in to see it.

To add serial numbers to bikes already on velospace, take the following steps:

  1. Log-in
  2. Go-to your my stuff portal
  3. Click on your bike on the top right hand column
  4. Click on the “edit” tab on your bike page
  5. Scroll down to the second to last input box and enter your serial number
  6. Click Submit to complete the process

We would like to give a big thanks to user Ruffinit who suggested this great feature. If you have any ideas for improving velospace please send us some feedback.

- Greg

More Spam Controls, A Never Ending Battle

October 3rd, 2010

velospace has been dealing with spammers since it first came online in 2005. Over the years I have written about some features and tools we use to manage this problem: moderation, comment throttling, marketplace throttling, rel=nofollow, and manual content reviews. Even with these tools, spam bots continue to hit the site with their full might.

The latest type of spam has been batch account creation with spammy user names and URLs in profiles. The spammers hoped to get credibility with search engines by having links on velospace pointing back to their websites. Even though all these links were tagged nofollow, the spammers still kept on creating new accounts. After thinking about the problem, I’ve gone ahead and removed webpages from user profiles; velospace users won’t be able to post their websites in their profiles. Any websites included in existing profiles won’t be displayed. There are also a few new behind-the-scenes features that will help deal with account spam, but I’m going to keep those details off the radar for the time being.

- Greg

Full Friend Viewing Now Available

September 18th, 2010

You can now look at all friends of any user on velospace. Previously, due to stress on the server, we limited the number of friends viewable to 100 at a time. This limit was necessary as the site grew leaps and bounds to help cut down on server outages.

To view all of a user’s friends, get to their profile page (see e.g. greg’s profile) and scroll down to the Friends part of the page, about half way down. Note: you will only see random friends of a user if they have added any. To see all friends of a user click on the new View all friends link, which will take you to the new feature, which as promised, gives you thumbnails of all a user’s friends. This page lists all of a user’s friended bikes with the most recently uploaded first. Take a look around, and for an amazing list of over 11,000 friended bikes as of today, see CONDENADO’s full list. He is the most prolific friender on velospace by far.

Thanks to suicide_doors for suggesting this great feature. Please drop me a note with any you have.

- Greg

Note To Self: Repair Database Tables When Things Act Up

June 23rd, 2010

Note to self: when Drupal starts acting up, check the /var/log/mysqld.log for corrupt table entries and repair if necessary.

The most recent velospace downtime was caused by the Drupal database “variable” table getting corrupted and pulling down the site. Load on the machine was spiking up around 100 and things were ugly all around. Thankfully the problem was solved and life will go on as usual. We appreciate your patience.

- Greg

Speeding Things Up

June 1st, 2010

Maintenance on velospace is not always a flashy or exciting job. Problems are tough to track down and take a lot of digging, research, and trial and error fixes.

Tonight I found and fixed a problem that has vexed the site: crashes due to inadequate database resources. velospace runs on a MySQL database. As a popular site, velospace gets a lot of database traffic. Previously, MySQL was running out of open files to put and grab queries.

The fix, described here, here, and here doubled the number of files that the database can have open at any given time. The key was increasing the ‘ulimit -s [open files]‘ to 2048 from 1024. This should solve the recent downtime headaches and provide for a smoother experience.

- Greg

Illini 4000 for Cancer 2010 – cross country bike ride fundraiser

April 22nd, 2010

For the second year velospace and the Illini 4000 are partnering up to help support their admirable project.

velospace is sponsoring a great cause this summer and so should you: the Illini 4000 for Cancer.

The Illini 4000 for Cancer is a bike ride across America from New York City to San Francisco to raise money and awareness of cancer issues and cancer’s effects on our lives. Every summer a group of University of Illinois students band together and ride their bikes for 4,000 miles from coast-to-coast in support of this cause through many towns and cities – maybe yours.

The Illini 4000′s mission:

The Illini 4000 is a non-profit organization dedicated to the fight against cancer, the support of those affected by cancer, and the documentation of how cancer impacts the lives of Americans. Through our annual cross-country bike ride, we reach out to new communities and new individuals each year spreading our message of hope and awareness. As long as cancer remains an issue of public health, as long as cancer affects daily life, and so long as cancer takes its toll, we shall continue our fight.

Interested in helping? Pitch in one of three ways:
1. Donate money
2. Host the riders when they are in your town
3. Sponsor the ride

velospace and the Illini 4000 will be working together this summer to support this great cause. Riders will be chiming in on velospace as the ride progresses give us updates and take part in the velospace community.

Social Network Ingredients: 10 Killer Apps and Services We Can’t Live Without

April 11th, 2010

velospace is a social network for bicyclists. Like all social networks, velospace depends on a mix of software to produce the product that people come back. Over the years we have tested, adopted, modified, and become fans of several different apps and services.

The following are our top 10 favorites:

  1. Drupal - the foundation of velospace. Drupal is the open source content management system that velospace is built on. Drupal is the plumbing behind the content-rich side of the site. Though Drupal has its quirks, and resource hog tendencies, it is responsible for delivering tens of millions of page views to bike enthusiasts. Back in 2007 I shared some thoughts about Drupal and niche social networking sites.
  2. Vanilla - the forum software. Vanilla is the open source message board system used on velospace. Vanilla is a very clean threaded discussion setup that integrates cleanly with Drupal. Vanilla and Drupal are crosslinked so users can pass seamlessly to and from each part of the site, though there are completely different code bases for each.
  3. WordPress - the blog platform. WordPress is the open source system used to run the velospace blog. WordPress is amazingly adaptable blog software that has required very little in the way of maintenance over the years – besides for some drive-by hacking that plagues it.
  4. Google Analytics - the web traffic monitor. Google Analytics tracks and displays an amazingly detailed picture of velospace’s web traffic. With millions of page views a month, it is vital to know where users are spending their time. Google Analytics provides the tools to discover and track what users are up to.
  5. Pingdom - the external uptime monitor. Pingdom is a service that pings velospace every minute from a number of servers around the world. These pings are stored and charted, showing uptime, downtime, and response time for the site. Studying response times and tracking downtime helps us track down their causes, and gives us an opportunity to make changes to prevent them from happening in the first place.
  6. Google Apps Email – the external email provider. Google Apps Email is Gmail for your own custom email address. Maintaining an email system is a pain: spam is a constant companion of any non-Google email account. Google Apps Email lets us link the velospace domain with the Gmail infrastructure – wonderful!
  7. Quantcast – the public web traffic monitor. Like Google Analytics, Quantcast is a web traffic monitor for velospace. However, the results of Quantcast’s monitoring are public.
  8. Jungle Disk – the backup system. Jungle Disk is a software and service backup solution that sits on the velospace server and sends backups into Amazon’s cloud storage facility. Anyone who has lost electronic data knows the importance of backups, and Jungle Disk makes things simple. velospace has some experience with data loss, making this a vital part of our operation.
  9. Twitter - the communication tool. Twitter is another way for velospace to interact with users and to market its content to a wider audience. We use Twitter to advertise bikes and to market the site. Its a simple and effective way to spread word and we have built internal tools to make tweeting out featured bikes a snap.
  10. Monit - the internal resources monitor. Monit keeps track of velospace server resources. The software provides statistics on CPU, RAM, database, and other services that help us figure out what is causing downtime and slowdowns. Data from Monit, paired with data from Pingdom, enables us to figure out the time frame for issues affecting the quality of service we provide. Once we have a time frame we can look at the server logs and see what the heck happened.

Each of these apps and services plays a part in delivering the bikes and other content you see on velospace. If a website is the sum of its parts, the 10 items above are at least 90% of what drives the site. Do you have a favorite app or service that you think would help velospace? Let us know!

- Greg

velospace Merchandise Now Available!

April 9th, 2010

Merchandise Partnership Between velospace and Faction Cycling Co. Alive and Kicking

velospace and Faction Cycling Co. are proud to announce an exciting partnership that launches today: Faction is now the provider of high quality merchandise for the velospace community.

velospace gear

velospace and Faction Cycling Co. are both dedicated to serving the needs of passionate cyclists. velospace is a social network for bicyclists and Faction Cycling Co. is a bicycling merchandise provider. The partnership ensures that velospace users are able to express their love for bicycling in full through creative, high quality, premium merchandise.

Today’s launch features a line of shirts including the velospace classic “gray” tee and a vertical discharge design. Jump on these shirts soon! The initial run will be available for a limited time.

Future offerings will include more tees, jerseys, and cycling caps.

velospace gear

Featured Bikes

January 29th, 2010

velospace tweets out an awesome bike every weekday (and usually a few extra on the weekends). We’ve been keeping up with our promise back in October of 2009 to share bikes with anyone who wants to follow-on. To date we’ve featured 77 bikes (which only leaves 14,267 to go).

You’ll notice that all featured bikes now have a “Featured Bike!” badge near the top of their bike page.

We picked these bikes because we think they are awesome and because they make us smile. Send us your suggestions for bikes on twitter (@velospace) and we’ll get you sorted out. Ride on!

- Greg

mod_deflate + velospace = Faster Bikes For Everyone!

January 24th, 2010

velospace has grown by leaps and bounds over the past four years. As traffic and content have both grown, so too has the stress on the hosting infrastructure. One of the ways to speed up the site is to tweak and rewrite intensive database queries. Another way is to tune the Apache server configuration.

Beginning Today mod_deflate Is Active, Saving An Average Of 75% Load Times On Non-Rich Content

mod_deflate is an Apache tool that compresses all non-rich (i.e. non-image) content on the server before it is sent to the visitor. Put another way, using mod_deflate the server zips all of the non-image content, sends it over to the user, who then unzips it on their end. The result is a lot less bandwidth being used because it is all packaged into a compressed file. Today I took the plunge and implemented mod_deflate on velospace after following (and modifying) a MediaTemple guide.

The efficiencies gained by implementing this new tool are enormous: for example, the velospace homepage has 26.52 kb of compressable content on it. mod_deflate shrinks that down to 7.43 kb in transit – savings of 71.98% per request! Considering the hundreds of thousands of page views a month, each of which will have similar bandwidth savings, the benefit of running mod_deflate is clear.

Another example is the velospace bicycling forums homepage which clocks in at a heavy 45.84 kb without compression. mod_deflate compresses that down to 5.55 kb now in transit – saving 87.89% of the bandwidth it would have taken yesterday.

The bottom line is that tools like mod_deflate help keep busy websites like velospace up and running in the face of constant traffic. If you have any questions or suggestions about keeping velospace running smoothly feel free to drop me an e-mail.

- Greg

Keeping Things Clean And Tidy: Spam Control On A Social Networking Site

January 16th, 2010

velospace is a thriving social network. Bikers contribute to a steady stream of photos, sales, comments, and private discussions. The value of velospace, like any social networking site, comes from the content generated by its users. Because the site relies on user contributed content, the tools for adding content must be easy to use. We have a simple user registration forum, easy to use uploading and comment tools, a flexible private messaging system, and so on. Erecting barriers to user participation would result in less content being added and ultimately result in a less valuable site.

Balancing simple participation and spam is tough.

Encouraging users to contribute as much as possible is important, but the tools which let legitimate users engage one another also gives spammers an easy route to post their crap. There is a tension between ease of use for users and controlling the constant flow of crap that spam bots put out there.

velospace uses a couple of less-than-obvious tools to control spam that you may be interested in:

  1. Each link posted to any public part of the site is treated with rel=nofollow. nofollow nullifies any value a spammer tries to get by slipping links onto velospace in hopes that their page will show up higher on search engine result pages. Drupal modules and Vanilla plugins have completely automated this process, requiring no human intervention (thankfully!).
  2. Every bit of content with a link included is reported and reviewed. Database queries allow us to quickly review content that contains links, and spam users are deleted when they post crap almost immediately. This is a time intensive job, but the result is important enough to make it worth out time.
  3. Moderation tools are very important and have been in place and used since March of 2008. As we said back then:

    This tool gives users a direct say in the quality of the content on the site – if someone tries to lower the value of velospace by spamming the site, posting derogatory comments, or otherwise being a jerk – the community can raise its voice and be heard.

We are always looking for new ideas when it comes to spam control. If you have any ideas please send us a feedback note.

- Greg

New Marketplace Feature: Want To Buy / Looking For Listings Now Integrated

January 3rd, 2010

Today marks a step forward for the velospace Used Bike Marketplace: anyone wanting to buy a certain bike part or looking for a particular bike part can now post their requests in the Used Bike Want To Buy / Looking For Marketplace.

Previously all want to buy requests were posted on the velospace forums in a bloated thread that was hard to track and keep up with. The new system uses the same technology as the existing Used Bike For Sale/For Trade Marketplace and is much easier to navigate and manage. This new feature should cut down on erroneous forum posts and keep relevant content contained to the right part of the site.

Also new is a four-tab navigation system for the Marketplace: Browse For Sale Listings / Browse Want To Buy Listings / Post For Sale Listing / Post Want To Buy Listing. Each of these tabs clearly directs users to the right place, no more confusion about where to look or post!

If you have any suggestions or questions feel free to contact me.

- Greg

Fourth Year Anniversary

January 1st, 2010

velospace turned four years old this past month and things are looking great: velospace is the best online social network for bicyclists thanks to your help. When velospace turned two and three years old the future was bright, but these days things are even better.

The past year saw many incremental changes, tweaks and fixes to the site. In addition to making velospace run smoother than ever before we sponsored two amazing not-for-profit programs that use bicycles to do good: the Illini 4000 Ride for the Cure and Charlie’s Freewheels Project. More recently the velospace twitter feed has been buffed up to serve amazing bikes from the archives every weekday.

2009 was an amazing year for velospace and 2010 is shaping up to be better. New features, more content, merchandise and bug fixes are all in the works.

- Greg

Daily Bike Tweets from the velospace Archives

October 22nd, 2009

If you follow the velospace Twitter feed you’ll see that we are tweeting out one amazing bike a day from the extensive velospace archives. There are nearly four years worth of some of the most interesting and jaw dropping bikes ever created and we are proud to share them with you.

A fresh bike will be posted every day Monday through Friday on the feed – if velospace stopped accepting bikes today we tweet out about 67 years worth of bikes at this rate!

Follow velospace on Twitter and get more bikes in your life.

- Greg

velospace: Doubling Server Specs

September 16th, 2009

If you’ve used velospace lately you’ve probably noticed some slowness, downtime, and generally crappy service. Sorry.

The trials and tribulations of velospace’s growth and impact on server architecture is documented in this blog and on the status updates twitter feed.

velospace was running on a MediaTemple Dedicated Virtual Base with upgrades for a total of 768mb of RAM.

velospace is now running on a MT DV Extreme with 2gb of RAM.

The problem with the old setup was that the virtualization software, Virtuozzo, has hard coded memory limits for processes. When velospace usage resulted in high load and memory use (e.g. when the site got a spike in traffic) Virtuozzo would hit its memory limit (kmemsize), shut down the Apache process for 5 minutes and then reestablish the process. MediaTemple doesn’t have Virtuozzo set up to allocate additional memory (in a burst-type configuration) when necessary – the software just kills processes.

The new server setup should take care of things for a while. In addition to more than double the amount of RAM the DV Extreme also has more CPU cycles allocated which should keep the site smoother under heavy load.

If you have any questions drop me a line.

- Greg

Charlie’s FreeWheels Project – sponsored by velospace

August 30th, 2009

velospace is extraordinarily proud of its members, and whenever one of us goes down we all feel your pain.

One of the first velospace users, Shiznaz, a/k/a/ Charlie Prinsep was killed by a drunk driver in August of 2007 while riding his bike in Canada. Some of Charlie’s friends and family have worked hard over the past two years to set up a not-for-profit group to spread Charlie’s love of bicycles: the Charles Prinsep Initiative.

In Charlie’s memory the group has launched a program to help youth from the Regent Park area of Toronto earn bicycles by participating in a build-a-bike summer workshop program. The program is called Charlie’s Freewheels. The pilot program has gone very well and the group is looking for volunteers and donations to help it grow.

velospace proudly sponsors the Charles Prinsep Initiative along with their pilot program Charlie’s Freewheels. Please consider donating if you have the means – this is a great cause in the name of one of the founding members of the velospace community.

From the CPI website:

In life, Charles held a steadfast belief that an individual’s actions could make a difference. He cared about the environment, and continually sought to find ways to reduce his own environmental impact. Charles was also passionate about cities, constantly envisioning simple and practical ways in which the urban culture he so appreciated could become more environmentally responsible. Charles was also a deeply creative person; for him, art was everywhere and in everything. Cycling was a medium that connected so many of his interests; bicycles offered him an environmentally sustainable transportation alternative through which he could explore the urban environment, and were also works of art in themselves. We invite you to get to know Charlie. Visit his blog: The Double Cross.

- Greg

OMGWTFBBQ velospace Not Accessible?!

August 21st, 2009

velospace had a bought of unavailability the past few days. The Drupal database has been periodically corrupting itself, resulting in permissions based issues. The symptom is that users see white pages on the site and can’t access the Drupal versions of velospace, but can still access the forums (which are run on Vanilla software).

The fix is convoluted but follows these steps, posted here for posterity:

Step 1: reestablish baseline permissions in the corrupted tables
INSERT INTO users (uid, name, mail) VALUES ('0', '', '');
INSERT INTO users_roles (uid, rid) VALUES (0, 1);
INSERT INTO node_access VALUES (0, 0, 'all', 1, 0, 0);

Step 2: empty the cache and sessions tables

Step 3: clear out anonymous access rights in /admin/access

Step 4: reestablish anonymous access rights in /admin/access

Thanks for your patience – looks like we are back in business.

- Greg

Fourth Batch of Small Site Updates

August 8th, 2009

Since February of 2009 I have made an effort to update velospace, the places for bikes on a semi-regular basis, and to let you know about it. Update #1, #2, #3, and today we have #4.

In addition to the small site updates, 2009 has brought quite a few anti-spam measures, including: a 60 second comment delay, 15-day wait period for new users to post sales, and a one forum thread per day per user limit.

In continuing the effort to update the site, I have a few small changes to let you know about:

  • The “for sale” button at the top of the site has been replaced by a “buy / sell” button that links you to either the used bike marketplace to browse items for sale or the used bike parts want to buy thread on the forums. Thanks to user eaglerock for the excellent suggestion.
  • The “thumbnails” button at the top of the site has been renamed “photos” to be a bit more clear about what you are getting when you go there. The bike thumbnail photos page itself now has browse by category links at the top so you can easily drill down into your favorite type of bike.

- Greg

Third Helping of Small Site Updates

August 7th, 2009

Some more recent small updates to velospace that you may be interested in:

  • velospace bicycling forum users can create one new thread per day. This was put in place to prevent trolls from spamming like mad, you can make as many comments as you like.
  • added velospace tweet tracker to the front page. If you are on twitter, follow-us and include “velospace” in your tweets to show up on the tracker.

As always, I am always open to suggestions for features, bug fixes, and tweaks to the site. Drop a note on the forums or send me some direct feedback.

- Greg

Additional Anti-Spam Measures

July 24th, 2009

On suggestion from the velospace bicycle community I added another anti-spam measure tonight:

New users must wait 15 days before posting sales.

15 days may seem like a long time, but with nearly 25,000 members velospace has grown leaps and bounds over the past few years. In order to cut down on spammers and scammers the quarantine on posting sales should cut back on fraudulent posts in the velospace used bike marketplace.

This measure, combined with the 60 second comment delay put in place in April 2009 are both useful tools in the fight against the barbarians at the gate. Next up is throttling user account creation by the same IP. Some spammers will create 15-20 accounts in a row with spam URLs in the profiles to try and get some extra Google juice. What they haven’t recognized is that all the URLs are nofollow so the links are meaningless… but tell that to an automated spambot and you don’t get much in return!

If you have any suggestions, as always, please contact me.

- Greg

Second Smattering of Small Site Updates

July 23rd, 2009

Based mostly on excellent suggestions from the velospace bicycling community, I put in a few hours tonight and updated a few things:

  • added reload button to bottom of Thumbnails page
  • 50% more space in bike text fields
  • reduced vertical spacing on site by moving search box up and crunching space between menu and main content pane
  • the list of forum discussions started are now properly sorted on user profiles, see e.g. Greg’s profile
  • the velospace home page includes the 5 most recent velospace related tweets

If you have any suggestions please add them to the feature wish list thread.

- Greg