07.25.2011
04.11.2010
02.07.2010
An Open Letter to Web Developers on Percent-Encoding
Dear web developers,
Please understand the difference between the encoding called for in application/x-www-form-urlencoded
encoded data [1] and the encoding called for in URIs (and how that encoding applies to URIs in the http/https scheme).
In particular, note the difference in how spaces are treated. The former encodes them as +
, the later as %20
.
Understand also how your web server processes different pieces of URLs. Pay particular attention to your web server’s treatment of plus signs. PHP, for example, interprets “$_GET
” data (the data drawn from the query component of the URI) as though it were application/x-www-form-urlencoded
and converts those plus signs to spaces [2].
Now that you know that the different encoding methods encode spaces differently and that the different decoding methods decode pluses differently, make sure you’re being consistent.
Because when I type into your website my email address with its plus sign in it, I expect things to work.
Love,
mdawaffe
[1] More details in HTML5‘s definition of the application/x-www-form-urlencoded
encoding algorithm. ↑
[2] See the difference between urlencode()
/urldecode()
and rawurlencode()
/rawurldecode()
. parse_str()
uses urldecode()
.
Decoding the query component of the URI according to application/x-www-form-urlencoded
is the logical thing to do, since the web server can’t tell the difference between a GET request generated by a form and one that isn’t (since user agents are not supposed to set a “Content-Type: application/x-www-form-urlencoded
” header when submitting a form over http/https via the GET method), but I can’t tell if converting pluses in the query part of the URI into spaces is required; I can’t find anything in the definition of the http URI scheme that says that plus signs are “delimiters” in the query component of the URI. So I believe it to be an implementation-specific choice and therefore up for grabs depending on how you power your web server (PHP, ruby, .NET, etc.). ↑
08.31.2009
Geocaches in the 2009 Station Fire Burn Path
Michelle was off geocaching while I was working on a simple geo visualization project for work and looking up information on the 2009 Station Fire near La Cañada Flintridge and Altadena.
Those three actions in confluence got me thinking about how many geocaches have been affected by the fire.
Map of geocaches likely affected by the 2009 Station Fire. (Click for larger, more up-to-date, interactive map.)
The Los Angeles Times is providing a frequently updated Google map of local fire information which includes approximate fire perimeter (more precise geometry can be found at GeoMAC or InciWeb). With that data, it was fairly straightforward to search for all the geocaches affected. As of today at 2:30pm local time, 228 non-premium geocaches are within the station fire approximate burn area.
Notes for geocachers: The map does not show premium caches, and puzzle caches are assumed to be at their posted coordinates. Archived caches are not shown (though could, in theory, still be in the burn area), but disabled caches are.
While the map is interesting, the loss of a few hundred geocaches is insignificant compared to the destruction of homes. More significant still are the lives that have been lost and those that are still at risk. The fire fighting crews are literally battling the elements to keep us all safe.
I’m not sure what a community that has lost so little in comparison can do, but perhaps a station fire regrowth and memorial geocache offered in thanks and remembrance would be appropriate?
Update [2009-09-01]: The LA Times has updated its fire area geometry. As of 7:53pm local time there are about 180 non-premium geocaches in the burn area.
Update [2009-09-02]: I’m now using the same GeoMAC data InciWeb is using for the burn area geometry.
04.13.2009
The internet sucks
Every year around this time I think about how much the internet sucks.
I access all my financial stuff from each of various institutions online. I access my salary stuff online. I do my taxes online, and I eFile.
So when I do my taxes, why do I have to fill in a hundred little forms all by hand every year? Why can’t I just go to the IRS and say: here are the financial institutions I patronize, and here are my places of work, I will now click this button and you will generate my tax forms for me right here and now?
It’s all online, why can’t someone aggregate it?
PS: My taxes are simple, other people’s are more complicated. I get that.
PPS: Dear implementer of above idea, do it right. Do not give the IRS (or H&R Block or whomever) my account numbers. Love, Mike.
11.10.2008
Keith Olbermann on the Redefinition of Marriage
If this country hadn’t re-defined marriage, black people still couldn’t marry white people. Sixteen states had laws on the books which made that illegal in 1967. 1967.
The parents of the President-Elect of the United States couldn’t have married in nearly one third of the states of the country their son grew up to lead.
msnbc via @iammattthomas.
11.05.2008
Rights in California and Florida
I was reading some depressing news about California voters likely banning gay marriage via a constitutional amendment and found a surprising footnote about Florida’s ballot measures.
Among the more unusual measures on this year’s ballots was one in Florida that would repeal an old clause in the state constitution that allows legislators to bar Asian immigrants from owning land. The repeal would be symbolic, as equal protection laws would prevent lawmakers from applying the ban. With 78 percent of precincts reporting just before 11 p.m., the vote was close, with 52 percent voting to preserve the clause.
08.12.2008
US Men Go One and Two in 100m back, Celebrate with Terrorist Fist Jab
Thomas Kienzle/Associated Press via NBCOlympics.com
07.29.2008
Earthquake!
We had a 5.4 earthquake here in Southern California today at 11:42 am local time. I was at home on the couch talking to some fellow WordPress folk on IRC
[11:42am] mdawaffe_lap: my point was just that since meta_value is so generic, ORDER BY meta_value is trickier than first glance [11:43am] mdawaffe_lap: earthq [11:43am] mdawaffe_lap: big one [11:43am] mdawaffe_lap: later
when the apartment started shaking. It took me a few seconds to realize what was going on before Michelle and I dove behind the couch. Our table is from IKEA. We wordlessly agreed that it might not stand up to having an apartment dropped on top of it. Though neither would have our backs; as it turns out, later research suggested that the table would have been a better choice after all.
It lasted 12 to 15 seconds. We went outside afterward and chatted with a couple other people about the quake, but for the most part life seems to have gotten back to normal very quickly for everyone.
It’s by far the biggest quake I’ve ever experienced, but not big enough to cause major damage. Certainly exciting, though.
More news from Pasadenans
Apparent Horizons’ first big one (no crude jokes, please. Remember, Apparent Horizons is a family place.)
01.25.2007
photomatt wiins tennis
Live from Mexico
Barry organized a Wii tennis tournament for us here at Lapazomattic which Matt won in an exciting but ill-gotten victory :)
Three quarters of the way into the bracket, Matt decided the wiinner would earn the honor of having everyone else ping him.
So here I am. photomatt wiins tennis.
That’s ok, though; his regex isn’t so good.
© mdawaffe (Michael D Adams) - Powered by WordPress - Full Credits