if($sender = $_SESSION['my_name']){
$query = mysql_query("select * from sent_items where subject = $subject and body = $body");
if(mysql_num_rows($query) == 0)
this_email_is_obviously_spam_kthxbai();
}
22
2009
12
2009
Wishing I could write PHP for Outlook
31
2009
Surpisingly good feedback
Whether by chance or design, I usually have a far more pesimistic view of my own work than others. That’s probably not uncommon, but I still get a healthy thrill whenever I’m greeted by surprisingly good feedback.
In two separate meetings yesterday I was told by entrepreneurs I respect greatly that the web app I’m developing at work could be its own company. Ignoring the hurdles that come with that–that I’m not entirely interested in hurdling–it was really fun to hear that.
22
2009
Design, development and 37signals
The folks over at 37signals, whom I respect greatly but often disagree with, have some very specific ideas about how you should design and develop web applications, especially in that order. They’re big supporters of the idea that the UI is the app, and I think that’s a really valid idea. They’ve talked a lot about how the interface is too often something that is “painted on” at the end and it hurts the final product, mockups should be html and css, not photoshop or (in my case) MS Paint, etc. They like design that they think is good (different from good design, as they often admit themselves).
One problem I have with this whole “design first, make it work later” idea is that it really lengthens the feedback cycle. The idea that a mockup made of things that can be clicked makes sense, but not when it comes at the expense of getting feedback on what you’re doing, which is useless until those clicks are functional.
If you give almost anyone a choice between testing ugly functionality or attractive emptiness, they’ll choose the former. That testing and feedback is crucial, even if you ignore most of it (which is another 37s dogma that isn’t really relevant).
They make the analogy to “paining on a UI” at the end and the “plumbing” behind it. It’s odd, because I doubt a lot of houses paint the walls before the plumbing is installed.
13
2009
Version control
I finally made the jump to properly using Subversion last night thanks to Stack Overflow.
There’s a marked difference in how flippant you can be about errors and data loss when other people are using stuff you make, and as my super top secret project for work is gaining a little more traction, it seemed time to cross my t’s and dot my i’s in the “don’t screw yourself” department.
09
2009
Proof that I suck at sleeping and do better work late
Normally I would write something this short on Twitter, but Twitter is down now.
I just wrote some really awesome code that a lot of people have been asking for. Now time to get 3 hours of sleep.
29
2008
Building stuff in order
My first major software project–that is, the first one that’s been intended for other people to use–has been unecessarily difficult because I skipped the common sense step when deciding what to do next. I originally thought that I should avoid building anything that had a dependency on a system I hadn’t build yet. For example, I shouldn’t build a login system until I figure out how to do password recovery and things like that.
It sort of makes sense, since no one wants to use an application that depends on things that don’t exist. But what I’ve learned is that no one actually uses something that’s not finished yet, they test it. Any if people are willing to test a half-baked idea they don’t care if you need to manually reset their password in the database or if they need to use some dummy login credentials until you have a real signup system.
Thinking really gets in the way sometimes.
28
2008
Logins and passwords
I’ve been working on a social media dashboard tool for a few weeks now and I’ve hit a point where certain features are going to require a layer of permissions. I’ve gotten really wrapped up in learning about the creative ways to make logins secure and spent hours reading about the stuff. A couple of posts have been particularly useful (and I want to make sure I can find them in the future):
“Forgot user password” [Stack Overflow]
“Secure login without SSL” [Marakana]
28
2008
Fun exchange on Twitter about Twitter search
My first ever blog comment led to an interesting conversation on Twitter about tweaking Twitter’s search engine. I’m getting more into programming every day and big data sets with open API’s, like Twitter, are a fun way to test out new ideas.

