When I was hired at dealnews.com in 1998, my primary focus was to get our message board (Phorum) up to speed. I had written the first version as a side project for the site. Message boards were a lot simpler back then. Matt's WWWBoard was the gold standard of the time. And really, the functionality has been only evolutionary since. We added attachments to Phorum in 2003 or something. That was a major new feature. In Phorum 5 we added a module system that was awesome. But, that was just about the admin and not the user. From the user's perspective, message boards have not changed much since 1997. I saw this tweet from Amy Hoy and it got me to thinking about how message boards work. Here is the …
[Read more]
Amy Hoy has written a blog post about why forums are crap. And she is right. Forum software
does not always do a good job of helping people communicate. I
have worked with Amy. She did a great analysis of dealnews.com that led
to our new design. So, she is not to be ignored.
However, as a software developer (Phorum), I see a lot
of problems and no answers. And it is not all on the
software. Web site owners use forums to solve problems that
they really, really suck at. Ideally, every web site would
be very unique for their audience. They would use a custom
solution that fits a number of patterns that best solves their
problem. However, most web site owners don't want to take
the time to do such things. They want a one stop, …
Well, neither did I until today. HA!
Velocity is a new O'Reilly conference
dedicated to "Optimizing Web Performance and Scalability".
It starts next Monday. Yesterday I was contacted by
Adam Jacobs of HJK Solutions about taking part
in a panel discussion about what happens when
success comes suddenly to a web site. I think he thought I
was in the bay area. Little did he know I am in
Alabama. But, amazingly, I was able to work it all out so I
can be there. I wish I had known about this conference
ahead of time. It sounds really awesome. Performance
has always been something I focus on. I hope to share some
and learn …
MemProxy 0.1 is out! It has taken me a
while, but I have finally gotten around to releasing the code
that I credited with saving us during a Yahoo! mention. It is a caching proxy
"server" that uses memcached for storing the cache. I put
server in quotes because it is really just a PHP script that
handles the caching and talking to the application servers.
Apache and other HTTP servers already do a good job talking HTTP
to a vast myriad of clients. I did not see any reason to
reinvent the wheel. Here are some of the features that make
it different from anything I could find:
-
- Uses memcached for storage
- Serves cache headers to clients based on TTL of cached
data
…
So, we had a cron job hanging for hours. No idea why.
So, I started debugging. It all came down to a call to
in_array(). See, this job is importing data from a huge XML
file into MySQL. After it is done, we want to compare the
data we just added/updated to the data in the table so we can
deactivate any data we did not update. We were using a
mod_time field in mysql in the past. But, that proved to be
an issue when we wanted to start skipping rows from the XML that
were present but unchanged. Doing that saved a lot of MySQL
writes and sped up the process.
So, anyhow, we have this huge array of ids accumulated during the
import. So, an in clause with 2 million parts would
suck. So, we suck back all the ids in the database that
exist and stick that into an array. We then compared the
two arrays by looping one array and using in_array() to check if
the value was in the …
Well, it has been almost a month. I know I am late to the
blogosphere on my thoughts. Just been busy.
Again this year, the Phorum team was invited to be a part of the
DotOrg Pavilion. What is that? Basically they just
give expo floor space to open source projects. It is
cool. We had a great location this year. We were
right next to the area where they served food and drinks during
the breaks. We had lots of traffic and met some of our
power users. IMVU.com is getting 1.5 million messages per month
in their Phorum install. They did have to customize it to
fit into their sharding. But, that is expected. A guy
(didn't catch his name) from Innobase came by and told us that
they just launced InnoDB support forums on their site using
Phorum. Cool. So now …
While I was at the MySQL Conference, I sat down with Michael
Kimsal of WebDevRadio and recapped the two talks that I gave at the
conference. I have uploaded the slides so you can follow
along if you want.
One to a Cluster - The evolution of the
dealnews.com architecture.
MySQL Tips and Tricks - Some simple tips and some
of the more advanced SQL we use in Phorum.
Thanks Michael. Any time you need a guest, just let me
know.
I was reading a post about The Swag Report and realized that I stayed so busy at the Phorum booth (and a little at the memcached booth) and preparing for my talks, I did not bother to go around and collect any swag from the conference. So, if you are a vendor and want to mail me some swag that I missed, you can send it to: Brian Moon, 198 S. Hillcrest Rd., Odenville, AL 35120. Of course, I expect nothing. But, ya never know what product I might pimp because of a t-shirt. =)
A
A