Raw Caching Performance in Ruby/Rails
Last week, I set up memcached with a Rails application in hopes of further improving performance after getting a recommendation to pursue it. We’re already using many Rails low-level caches and fragment caches throughout the application because of its complex role management system. Those are stored in NFS on a NetApp filer, and I was hoping switching to memcached would speed things up. Unfortunately, my http request performance tests (using ab) did not back this up: using file caching on NFS with the NetApp was about 20% faster than memcached from my tests.
I brought this up to Jon, who suggested we run performance tests on the caching mechanism only rather than testing caching via full http requests, given how many layers of the stack are involved and influence the overall performance number. From the console, I ran the following:
$ script/console # This app is on Rails 2.3
> require 'benchmark'
> Rails.cache.delete("test")
> Rails.cache.fetch("test") { [SomeKlass.first, SomeKlass.last] }
> # to emulate what would potentially be stored with low-level cache
> Benchmark.bm(15) { |x| x.report("times:") { 10000.times do; Rails …performance ruby rails
Google+
Over the weekend, I dug into Google+ a bit. I wanted to share a few notes about the experience with my coworkers and the world.
Speed
Google has done a great job on performance from what I can tell. They’ve followed their own recommendations on optimization by doing things like implementing CSS sprites, caching static assets, and gzipping content. I can’t do performance tests on my authenticated account at WebPageTest.org, but the perceived performance is great.
User Interface
Parts of the user interface look similar to Facebook. But Google deviated from their norm of utilitarian/pragmatic design according to this article, and I appreciate their focus on aesthetics here. This combined with the speed makes for a delightful user experience.
Circles
Google offers limited sharing functionality with what they call “Circles”, similar to Facebook groups. In my case, I have the following circles:
- Friends
- Family
- End Point
- Web People (professional contacts)
- Photography
Circles are integrated into every part of Google+, which makes it easy to limit posts, photos, videos or other content to individuals or circles. In addition to limiting sharing permissions, you can also limit viewing …
social-networks
Home router problems with .0 IP address
In our work the occasional mysterious problem surfaces which makes me appreciate how tractable and sane the majority of the challenges are. Here I’ll tell the story of one of the mysterious problems.
In Internet routing of IPv4 addresses, there’s nothing inherently special about an IP address that ends in .0, .255, or anything else. It all depends on the subnet. In the days before CIDR (Classless Inter-Domain Routing) brought us arbitrary subnet masks, there were classes of routing, most commonly A, B, and C. And the .0 and .255 addresses were special.
That was a long time ago, but it can still cause occasional trouble today. One of our hosting providers assigned us an IP address ending in .0, which we used for hosting a website. It worked fine, and was in service for many months before we heard any reports of trouble.
Then we heard a report from one of our clients that they could not access that website from their home, but they could from their office. We couldn’t ever figure out why.
Next one of our own employees found that he could not access the website from his home, but he could from other locations.
Finally we had enough evidence when a friend from the open source community …
hosting networking
We are hiring: Ruby on Rails Developer
This position has been filled. See our active job listings here.
Job Description:
End Point is looking for a talented software developer who can consult with our clients and develop their Rails web applications. We need someone that focuses on the client and will deliver quality, tested code.
About End Point:
End Point is a 15-year-old web consulting company based in New York City, with 20 full-time employees working remotely from around the United States. Our team is made up of strong e-commerce, database, and system administration talent that leverage a variety of open source technologies.
We service over 200 clients ranging from small mom and pop shops to large corporations. End Point continues to grow this year and we’re looking for intelligent and passionate people that want to join our team and make a difference. We prefer open source technology and do collaborative development with Git, GNU Screen, IRC, and voice.
What is in it for you?
- Work from your home office or our Manhattan based headquarters
- Flexible full-time work hours
- Strong balance of work and home life
- Bonus opportunities
- Health insurance benefits
- Ability to move without being tied to your job location
What you will be doing:
- Consulting with clients to determine their web …
ecommerce jobs-closed ruby rails
Competing with the big players in e-commerce
While attending the Internet Retailer Conference and Exhibition in San Diego last week I had a few moments to speak with Nathan Barling, the CTO for Shoebacca.com. During our conversation he mentioned he would be speaking at the conference in the track titled: “Small Retailers: Winning Strategies in a tougher market”. I attended his talk and was impressed by the things that Shoebacca is doing to appear larger then they are, which helps them compete with the big players in their industry such as Zappos. The tactics that Nathan discussed can be applied to many industries in e-commerce and for all sizes of businesses, even those on limited budgets.
One of the first things Nathan discussed was to make your policies clear and to highlight them on the site so that people are aware of the rules. Nathan recommends this, especially in the case of Shoebacca, where many of their policies encourage people to shop on their site, by reducing risk to the customer. Some of their policies include:
- Free ground shipping
- Free return shipping
- 365 day return policy
- 110% price match for 14 days
Nathan mentioned many 3rd party tools that they leverage at their company, along with open source tools they …
clients conference ecommerce open-source magento
DBD::Pg UTF-8 for PostgreSQL server_encoding
We are preparing to make a major version bump in DBD::Pg, the Perl interface for PostgreSQL, from the 2.x series to 3.x. This is due to a reworking of how we handle UTF-8. The change is not going to be backwards compatible, but will probably not affect many people. If you are using the pg_enable_utf8 flag, however, you definitely need to read on for the details.
The short version is that DBD::Pg is going return all strings from the Postgres server with the Perl utf8 flag on. The sole exception will be databases in which the server_encoding is SQL_ASCII, in which case the flag will never be turned on.
For backwards compatibility and fine-tuning control, there is a new attribute called pg_utf8_strings that can be set at connection time to override the decision above. For example, if you need your connection to return byte-soup, non-utf8-marked strings, despite coming from a UTF-8 Postgres database, you can say:
my $dsn = 'dbi:Pg:dbname=foobar';
my $dbh = DBI->connect($dsn, $dbuser, $dbpass,
{ AutoCommit => 0,
RaiseError => 0,
PrintError => 0,
pg_utf8_strings => 0,
}
);Similarly, you can set pg_utf8_strings to 1 and it will …
database dbdpg git open-source perl postgres
Internet Retailer exhibits of note
Last night concluded Internet Retailer Conference & Exhibition 2011 in San Diego. We had a lot of good conversations with attendees and other exhibitors at the End Point booth, and our Liquid Galaxy with Google Earth was a great draw for visitors:

The majority of exhibitors at the show were offering software as a service or productized ecommerce services. A couple of our favorite small SaaS companies, both for their knowledgeable and friendly technical staff, and for their challenging some of the less-beloved incumbent giants in the space, were Olark, offering a SaaS live chat service, and SearchSpring, with their SaaS faceted search service. We look forward to trying out their services.
Some of the more dazzling software demonstrations at the show were:
-
Total Immersion, an augmented reality solution. Their TryLive Eyewear demo had us looking into their webcam and trying out different eyeglass frames that were overlaid on our video image in real time.
-
Styku, a company offering 3-D virtual fitting room software. They had an amazing video demo of mannequins modeling different clothes, and it’s all customizable per visitor who wants to use his/her measurements to be fitted …
company conference ecommerce
End Point at IRCE 2011
We are in full force with a booth at at Internet Retailer Conference 2011 in San Diego. The exhibit hall opened yesterday afternoon after the last few stragglers flew in from North Carolina (me) and Idaho (Jon) to join Ben, Rick, Carl, and Ron.
We’ve had a steady flow of booth visitors interested in hearing about our core ecommerce services and Liquid Galaxy. We’ve also heard from a few companies interested in partnering, which is a nice way to learn about the latest popular technologies in ecommerce, such as mobile and tablet opportunities, live chat integration, real-time user interactivity ecommerce features, and shipping integration and analytics.
Stop by if you’re here and interested in hearing more about End Point’s open source consulting and development services!

Here at IRCE 2011!

Ben navigates our Liquid Galaxy display.

Rick navigates through San Diego before a team dinner.

Ben & Carl pose in front our our Liquid Galaxy display.
company conference ecommerce visionport travel
