Computer Programming

Yes, a bit specific, but I need to store some links!

Using PHP's ArrayObject to Implement a Primitive Data Tainting System for URI Parameters

[Turns out there's a PECL extension for tainting: http://www.php.net/manual/en/book.taint.php
So this article is already kind of obsolete.]

Comparison Shopping for Toilet Paper, in multiple computer languages.

It's hard to concentrate when you're tired and cranky, so I wasted some time writing a simple calculator in several different languages.

MS Outlook: Spamassassin Training with MIME Email (.EML) Files

Here's a VBA script that I'm using to train Spamassassin from Outlook. It saves out email messages to a file server where messages are used to train the filter. The problem here is that Outlook doesn't save EML (MIME format) files. You can save messages as text, but lately, spammers have been loading messages with a lot of chaff text that looks like regular email. You can't train with that, because it might cause the filter to start mis-identifying legit email as spam.

Abstraction for Newbies

This post isn't for any specific reason, but it's been bouncing around in my mind for a long time. That higher levels of abstration is a "good thing" is given among experience hackers, people into functional programming, and people who write SQL. At least up to a few years ago, there was some hostility toward increasing abstraction, particularly from the anti-SQL set. I railed about this against and entry in a Symfony book. This is another review of the issue.

MS Outlook: Mass Email VBA Script

This is an outline I'm going to use to fix up a mass email script for Outlook that I'm working on.

Nobody Cares about InfoPath

InfoPath Rocks
InfoPath Sucks

"Rocks" is beating out "sucks" 189 to 119, but the fact that it seems like nobody cares about InfoPath is the really interesting fact(oid).

MS Access: Comparing Queries Between Two Databases (a query diff)

Often, when you have MS Access in a small office, and have done the right thing and split the database into a backend of tables and frontend of queries, reports, and forms, you end up with changes to the objects in multiple files. The trickiest is comparing queries, because the query object is modified if even a column width is changed. You need to dig deeper and compare queries.

Create SQL tables from CSV headers

Not sure where this goes, but it's a page that will generate MySQL code from the header line from a CSV file.

Link to mini app.

Heuristics are Nice : (working toward) Facebook-style Previews

I was thinking about how facebook updates parse out the url, then construct a nice looking preview. I think what it takes is scanning the textarea for a url, and then using ajax to tell the server to fetch a summary of the page at the url. get the data back, and insert it into a template, and reveal it.

Making the Tumblr "Well" Layouts with CSS

So I was puzzling over how to make the "Well" style layout in Tumblr without Javascript.

PNG Colors are Wrong in Firefox (and how to deal with non-sRGB wide gamut monitors at work)

I created a PNG that was bright red, but in Firefox, it is a duller red. The fix was to remove the color profile from the PNG by using the tool TweakPNG.

Haskell Name Game

Main> nameGame "alonzo"
"alonzo, alonzo bo blonzo bonana fanna fo flonzo fee fy mo mlonzo, alonzo"
Main> nameGame "haskell"
"haskell, haskell bo baskell bonana fanna fo faskell fee fy mo maskell, haskell"
LOLz. Here's some real beginner-level source code for a version of the "Name Game". The Name Game was a song from way back. It's silly.
Sources after the jump.

Formatting Mobile HTML Email

While writing a template for spam, I learned the following about mobile email formatting.

Reused a Variable Name

I accidentally reused the variable name $count twice in a function.

Syndicate content