Showing posts with label rave. Show all posts
Showing posts with label rave. Show all posts

Sunday, February 13, 2011

10LocalCoupons.com

I realize I haven't blogged since I un-retired. So here's the story...

We sold RegionalHelpWanted.com in February 2008. After a year and a half off, I founded a new company with my previous partners to see if we could duplicate that success. (Anyone can get lucky once, but if we could do it again, maybe it it was more than luck?) We are using the same exact business model: working with local media partners using unsold inventory to advertise a local website on a revenue share basis. Instead of help wanted ads, or personal ads which is at the root of what Cupid.com was/is, this time around we are targeting coupon advertising. So in Nashville you'll hear ads for 10NashvilleCoupons.com on radio and see them on TV, and in Portland OR the website is 10PortlandCoupons.com, but it is all one website serving local content to you based on how you get there. Hopefully, you'll find your local pizza guy on there soon, or a discount on an oil change nearby.

Not only is the product different, but the software stack is a complete switch. RegionalHelpWanted.com we did in ColdFusion, Cupid.com in .net, both on IIS against SQL Server. All on Windows. 10LocalCoupons.com is done in django, an awesome framework for Python, on Apache behind nginx against postgreSQL, all on Ubuntu. I'm really enjoying the new way things are done. Much of the tediousness of writing control panel type stuff -- record insert, updates, deletes -- for customer service and accounting needs is a gimme with django's admin package, allowing my development team to hit the ground running. The django community has been a great resource to us.

So the software landscape is very different, but the hardware difference between old and new is even more dramatic. In our previous endeavors, we were paying about $1500 a month per web server for managed services. Now, using open source software on Amazon's EC2, we pay less than one tenth of that. It's a running joke every month when I announce our EC2 cost. My guess is about half of that comes from dropping Microsoft licensing fees, the rest is from virtualization efficiencies and dropping the human support.

Not all things are different however. This new project has given us the opportunity to hire back several of the awesome people we've worked with in the past. That has made it easy for me to go back to work.

I'll be blogging more soon about what we are up to, and pointing out things I've learned along the way, but for now know that I am having tons of fun.

Tuesday, January 27, 2009

Web Developers: Don't Reinvent the Non-secured Wheel

I'm thinking about beginning another web project. Before one gets coding the fun part of any web application, though, there is tons of core code that needs to we written: login, user management, session management, user registration, logout etc. But writing secure applications can be tricky, and any attempt to roll your own is likely to have security flaws. Open source can solve both of these problems: the code is already written, letting you get onto the fun stuff; and if it's been vetted by a large developer community already you get the security benefit of past mistakes fixed.

One might think that reference implementations would be readily available for these in all web languages, and that we would all be using them by now.

Kudos to OWASP for developing it themselves, in their Enterprise Security API (ESAPI) Project. It details all the functions that a secure application needs. Much more, though, they also offer reference implementations in Java.

I'd love to see the web development community support this project by developing reference implementations in pHp, ColdFusion, and .net. Implementations in each of the popular frameworks would go a long way toward making the web a safer place, and would make the development of every new web application that much easier.

Wednesday, December 3, 2008

Songbird to relase your music from iTunes

With the release of Songbird 1.0, I get one step closer to moving from Windows to Ubuntu. If Apple won't make a Linux client, then I'd love to drop iTunes. Ars technica does a nice writeup.

Other items anchoring me to Windows, for now:
- Quicken
- PC Games. Steam really needs to make a Linux client. And of course, the games themselves. I'm playing only Enemy Territory: Quake Wars these days, but am close to moving on to something new. Unless WoW or EverQuest drag me back in.

Monday, May 26, 2008

Google Street View for Real-estate Investors

A real-estate agent who I trust a lot happens to be in North Carolina a lot this year, and is on the look out for investment properties for me. She found a great single family home in Hillsborough that came on the market that morning, and it sounded like it was priced right. I went to Google maps, hoping the satellite view would give me some sense of the neighborhood, since I'd be making an offer site unseen. Not only did I find the satellite view, but also a Google Street View of the front on the house. This is a very residential area, so I was quite surprised. Within a few clicks I had checked out a dozen houses on the street and felt very comfortable with what I saw. We made an offer and it was accepted.

Google Street View will certainly become such a useful tool for us we will take it for granted. Until then, it'll be amazing to see how it changes the way we live and do business.

Wednesday, March 5, 2008

Compete Aquired

Mashable reports Compete Acquired by TNS for $75 Million. Compete offers free public web metrics, like Quantcast. Unlike Alexa, in that it doesn't suck.

I predict that in five years either Compete and Quantcast will be purchased by Google, and the new company will *replace* Nielsen/Net Ratings and comScore. Information wants to be free, and the industry desperately needs a trusted third party to step in so we can all start comparing traffic using the same measuring stick. Mergers and acquisitions rely on this data, and beyond the top 10 sites, Nielsen and comScore methodologies can't see through the data storm.

The survivor will combine data that works by getting anonymized data from a significant portion of ISPs, like HitWise does, and data gathered from javascript that can be copied and pasted onto your website -- does this part sound like Google Analytics to anyone? Google also has the peering relationship with ISPs to get the first part done. And they have the "preventing fraud" chops to get it done right.

Nielsen will not be trusted any more then it currently is (not a lot) and it's Golden Age has past. comScore hasn't shown it can do a better job. Long live {insert successor here}!

Tuesday, February 5, 2008

Google hearts Cupid

In the past I've blogged about Cupid.com running afoul of Google's mystical algorithm. That's a thing of the past, now it's the first search result for the term "cupid."

Our business model of advertising on local radio means we don't have to play the PPC game or get crazy worried about our Google search results, as long as we do well for branded search. For example, if you search for "online dating", the competition to get on that page is fierce/expensive, and we just haven't engaged in that pursuit.

Today I noticed, however, if you search for "online dating" or even "dating," Google's new "Searches related to" section includes "cupid.com" or "cupid." Very cool. Nice to be finally getting our props, just in time for Valentine's day.

Google, Cupid.com hearts you too.

Tuesday, January 29, 2008

Web Analytics software compared

One of my favorite quotes, I don't know who said it originally but I got it from a high school math teacher "If you change the questions, the answers will change accordingly."

Public kudos to Stone Temple for their 2007 Web Analytics Shootout, a head-to-head comparison of how several different web analytic packages running concurrently on the same sites reported different outcomes. A must-read for anyone who produces or consumes data like site page views, unique visitors, and conversion rates.

Too bad WebTrends and Omniture were not included in the broader study, each one was only used for one site in the study. It'd be great to see if the findings were true on more heavily trafficked sites.

Saturday, January 26, 2008

Huppahs.com launched

My sister Maria and I launched her web site this week (on her birthday, in fact). It's very basic php and for now the only method of payment is thru PayPal -- kudos to Maria for that idea and for coding hooks for their cart.

The final version will be fully LAMP. My friend/employee Jeremy Price is hosting for us on his Linux box. Apache (duh), pHp 5 and mySQL on its way, after we get the credit card processor account set up.

So check out Huppahs.com, even if you not currently planning a Jewish wedding.

Friday, January 25, 2008

Eclipse 3.3.1 in Ubuntu

If your Eclipse install under Ubuntu just took a crap like mine did due to a bad update (shhhrrrr, it got rolled back), you may be looking to upgrade to the latest and greatest version of Eclipse, and don't want to wait until it finally gets added to the official repository.

Many thanks to Ivar Abrahamsen for writing How to install Eclipse in Ubuntu. He posted it to the Ubuntu wiki as Eclipse Web Tools so find an up-to-date version there.

Friday, January 4, 2008

Selenium and CAPTCHA

Selenium is a great tool for the automated testing of web applications. CAPTCHA is a way to prevent automated tools from accessing your web applications. So the two are mutually exclusive, by design.

Selenium can only be used to test a web app protected by CAPTCHA if a human intervenes for the test. So, if you are testing an 8 page transaction that includes a CAPTCHA on page 2, for example, you can still save tons of time by automating everything else with Selenium but have the test pause for human interaction during the specific section that requires a CAPTCHA response.

This example assumes you are already familiar with how to write a Selenium test, in HTML.

... the first part of your test goes above here...



<tr>
<td>clickAndWait</td>
<td>login</td>
<td></td>
</tr>

<tr><td rowspan="1" colspan="3">human tester must enter CAPTCHA...</td></tr>
<tr>
<td>waitForPageToLoad</td>
<td>60000</td>
<td></td>
</tr>
<tr>
<td>waitForTitle</td>
<td>Title of Next Page Here</td>
<td></td>
</tr>

<tr>
<td>type</td>
<td>FieldOnNextPage</td>
<td>Test</td>
</tr>



... continue on with the rest of your test. That worked for me in TestRunner, at least when the speed was set to slow.

If you are only going to be using TestRunner, as opposed to using a tool like ant to run Selenium tests during a scripted build, you could more easily just insert the following Selenium command into your test, forcing the test to wait until you click the Continue button in TestRunner:




<tr>
<td>break</td>
<td></td>
<td></td>
</tr>



Note: if you are a scammer, screw you. Further note to scammers: the preceding code won't help you in your scam pursuits, because it doesn't defeat CAPTCHA, it just allows a human to do what only humans can do and let the bots do the rest.

Wednesday, November 7, 2007

Loving Ubuntu 7.10

When my sister asked me to help her with a web site in April, I took the opportunity to expand my professional skills by developing it in LAMP: Linux, Apache, MySQL, and pHp. I'd dabbled with Cygwin when I knew shell scripting was best suited to the task at hand, but that was the extent of my open source skills.

So I took a laptop that was past its prime -- the network card only worked intermittently, and the graphics capability meager -- and installed Ubuntu Feisty on it. It's worked pretty well, and I've been able to muddle through the learning curve to get the project underway.

I'm an update-aholic, so when Ubuntu 7.10 "Gutsy Gibbon" was released, I was edgy and feisty (lol) to get it. There were several kinks: first attempt failed because duh! I ran out of battery power. Second attempt: my network card went on vacation again. Sigh.

I tried the Live CD, then got back on track with the Alternate version. Luckily plenty of other computers around to allow for sneaker-netting.

The Apache upgrade was another hiccup: I had to re-configure pHp and chmod permissions.

I brought it into work and one of my IT guys wrestled with the wireless NIC to get that on our office network. I never could get that done under Feisty. But now I can easily roam, connecting to my home or office network without intervention whenever I'm in range.

But I confess: I love Ubuntu 7.10 for the eye candy. Transparent terminal. Clearlooks, Darklooks depending on mood. Transparent panels top and bottom. I'm a sucker for transparency, it seems.

Friday, August 31, 2007

New code? Bah.

I found myself telling one of my developers yesterday "We've been doing this for years now. If you find yourself coding anything from scratch, you're probably doing something wrong."

In that vain, props to the War of Stuff blog for the code necessary to add Digg, del.icio.us, reddit onto my blog.