Webdigs.com, (with symfony inside) recognized as “kick ass” by Future of Real Estate Marketing

Future of Real Estate Marketing, a pretty awesome real estate blog, listed Webdigs.com as one of 10 “kick ass” real estate search sites.

This project would have been MUCH more difficult without Symfony providing structure, keeping the teams code somewhat consistent, taking care of so much drudgery.


I got to admit, this was pretty cool, but not as cool as this

Twin Cities Real Estate is a Investors market

I’m not an agent, but I have been working on webigs.com for over a year now as a Developer. From what I’ve seen I feel fairly comfortable shooting my mouth (blog) off saying that the Twin Cities is not a Buyer’s market, or a real Seller’s Market.

I say this because the repo houses are dragging the aggregate numbers down and scaring sellers into lower prices, that are probably more in tune with prevailing wages. At the same time the Repo twisted numbers are causing buyers to make low ball offers and / or be unnecessarily nervous because of the uncertainty in the market.

From the data I see, and my experiences in multiple failed attempts at purchasing a home, decent well built houses at a fair price will sell fairly quickly to people who intend to live in the house.

Where the market gets really interesting is the opportunity to invest in real estate. Right now I think a lot of money has been scared out of the market, and the inventory of Bank Owned houses that that will take some work and 3 months of messing around is up. These barriers to entry are not unacceptable to someone who has bought and sold residential properties before. The upsides are the lower prices for Bank or Corporate owned prices and the good market for good houses.

My advice, for what little it’s worth, is if you’re an investor now is the time to put money into Real Estate. If you’re a home buyer, don’t think you’re going to get some amazing deal, but expect a fair deal. If your selling well the times are not as outstanding as they were, but they’re still pretty darn good.

Whatever you do use Webdigs.com and get 2/3 of the buyers agent commission back, or if your selling a easy flat fee of $2000. It’s hard to screw up when you’re saving that much to start with and you have a whole team of experienced agents working with you the whole way.

TableKit a easy sortable table based on Prototype.js

Many times using scripts I find on the Internet turns into kind of a hassle. They are usually unfinished side projects, or are kind of bloated and slow.

TableKit is not one of those scripts, it’s fast & easy to implement. Development time was low, and the designers didn’t complain too much about working with it. What it lets you do is create a html table slap in some ID’s & classes, load the js, and you have a really nice sortable table. This sort of elegance in design is never easy and the folks at Millstream Web Software have done a great job on this.

I used it on the Real Estate site I’m working on webdigs.com/mywebdigs (free sign up required) to organize our users favorite saved houses. I’ve found myself using it a lot for my own home search.

Happy Birthday Symfony (1st Symfony recruiter call, Zend Framework, & a happy client)

This last week has been really got me feeling pretty positive about the future of the Symfony PHP framework.

Last Thursday Erica Guay (erica D0T guay AT Sapphire.com) called me and is the first recruiter to ask me if I knew the Symfony framework. She’s got a pretty awesome opportunity near Boston, MA to fill if anyone is interested.

The next Tuesday I went to a presentation at Sierra Bravo here in Minneapolis, MN about the Zend Framework and Lucene. Maybe I’m a fanboy but it really looks like Zend has some catching up to do. Lucene is impressive and there is a Symfony plugin for it. Justin, Tom, and the rest of the Sierra Bravo Crew have already cranked out 5 Zend Framework sites but when I showed them the development environment in Symfony someone in the crowd literally said “wow”. It was admittedly a pretty nerdy bunch, when Justin (the presenter) mentioned a design patterns book he liked the guy next to me tapped his chest and made the peace line and said “that’s who I’m down with” 🙂 If you are interested in attending their next presentation RSVP here.

The 3rd thing that reminded me how great Symfony is was just today when I showed a client an Admin Crud that I had created in about 30 min. He was pretty excited, and it’s nice to have happy clients.

Yahoo Pipes is kind of a big deal

Yahoo Pipes allows anyone to create their own mashup in a method very similar to creating a flowchart.

After messing around just a little I was able to create 2 pretty cool little mashups:

The first one geocodes garage sale locations and puts them on a map. Not very well, but it was really easy to do, so it was still worth the effort

The second one combines 5 different Job search feeds into one, checks to see if the titles are unique, and then sorts the results in descending order by published date. I still prefer indeed.com for looking for Job information, but if I can also grab the feed to format myself to fix those problems.

All in all, it’s pretty cool stuff. I think I have a real world use for an aggregated real estate news feed on www.webdigs.com already

Coming Soon: “PHP Web 2.0 Mashup Projects” Book Review

PHP Web 2.0 Mashup ProjectsI should be receiving a “PHP Web 2.0 Mashup Projects” from PACKT publishing in the mail sometime soon, once I get it I’ll try to have a review up in a couple of weeks.

If you are interested check out the full book description at PACKT publishing

I’m pretty excited about it, I was planning on starting a personal mashup project to link Craigslist garage sale postings with google maps, so this book is coming along at exactly the right time.

Usability and creativity

So I was taking my morning stroll through popUrls when I came across two articles. One about CrazyEgg, a really cool tool for gathering usability statistics, and the other this really random, unconventional, whimsical, unprofessional, unattractive, outdated, not entirely original, and really really effective website for some hippie named Miranda July. (FYI – I call anyone who puts effort into being creative a hippie, although if they are mall style crafty I just block them out of my mind)

Anyway Miranda July’s site is a mess, she did it with a camera, a fridge, & a stove. However, despite me being 100% UNinterested in her product I read ALL THE AD COPY. I haven’t even read all the add copy for sites I’ve made myself, it’s miserable marketing gobly-gook because that’s what clients expect from “professionals”.

I think this sort of grass-roots, direct from the source w/0 any middle men, advertising is what will cut through the ad clutter so well described in this Frontline episode.


The lesson here is that once again “Content is King” and the ROI on details is difficult to gauge and probably not a high as most people think.

However…. if we go back to the the majority of the the marketing messages I(we) need to communicate a camera and a kitchen full of appliances might not be a sufficient tool-set, and a client probably wouldn’t “get it” anyway.

Enter CrazyEgg I read a really good introduction at Read/Write Web. I haven’t tried it yet but I think I’m going to push for it on my current project.

I’m tired of writing


Jay Pipes MySQL bottlenecks lecture

So last Thursday the majority of the MoCo Web Development team and I attended the MySQL Meetup featuring Jay Pipes of MySQL. It was hosted at Metro State U. in Minneapolis, MN the facility was top notch (read: they had pie and coffee 😉

Jay Pipes is an excellent speaker whose enthusiasm about MySQL is contagious. If you get a chance to hear him speak or back him into a corner for 20 questions I highly suggest it.

The thing Jay Spoke about that was most relevent to what I’m doing now was Horizontal Partitioning [article] [manual] which is taking a table with a very large amount of rows and breaking that heap into a series of smaller groups that can be intelligently loaded into memory on a as needed basis.

The obvious way for to do this for my, and I’d assume many projects is by, year. This would speed things up because my project’s users are most likely to only need to access the current year’s information. If I only ask MySQL to load up a table containing the current year then that’s a much smaller bite to chew.

Horizontal Partitioning can also be done with a hash of one or more other columns, which makes it very flexible, and very useful for medium to huge projects.

On a related topic I also realized that I’ve been asked by my supervisor to investigate the benefits of Vertical Partitioning before either of us knew what to call it. Essentially it’s breaking up tables and adding one-to-one relationships between them. This allows frequently accessed sections of the original table to be accessed in isolation without having to load a bunch of unused fields to memory. I’m lead to believe that some db’s handle this pragmatically but MySQL does not.

Another key points were that the most cost effective way to mitigate a MySQL bottleneck is to add more RAM to the server. This is essentially throwing money at the problem, but less money that the equivalent labor costs associated with other solutions.

Lastly the common yet important advice of “use the smallest data container possible” because “a BigINT is twice the size of a INT but a INT is twice as fast”.

There were many many other gems from this lecture, but I forgot my notes at work and I’m tired of writing

Update (4/1/06 9:21PM) — I found this useful list of tips & tricks also partially written by Jay Pipes http://forge.mysql.com/wiki/Top10SQLPerformanceTips