Links published in August 2006
10 things businesses should know before building a website
A-fucking-men.
Surface mouting and web frameworks
If you get passionate about your tools– passionate enough to try new things, get into the fray on the discussion, and always be looking critically at everything that comes down the pike, you’re probably the type of engineer who thinks hard about tradeoffs and the “whys” behind decisions which means you are most likely also to do very well coming up with the right answers to some of the harder (softer) questions that Ned has on his post. In other words, getting people who are passionate about their web frameworks, especially when these frameworks are not part of the mainstream “career advancing” canon, is a great way to pre-select for the types of people who will thrive and do really well in small team environments.
Why Doing User Observations First is Wrong
Field studies, user observations, contextual analyses, and all procedures that aim to determine true human needs are still just as important as ever – but they should all be done outside of the product process. This is the information needed to determine what product to build, which projects to fund. Do not insist on gathering this information after the project has begun. Then it is too late; then you are holding everyone back.
(Via Paul Adams)
Google Sitemaps
Nice little Django add-on to automatically generate a site map for Google. Dan’s also cleaned it up and submitted it as a possible contrib app.
Meet the Flockers: Brian Beatty
Now my personal philosophy is, “Nobody important is keeping score, so do what you think is interesting.” I recommend it to everyone.
(Via Jason Kottke)
Things You Shouldn’t Be Doing In Rails
People sometimes ask what the philosophical differences are between Rails and Django. A lot of it has to do with things like this:
Yes, I know you’d like to have an authentication system without doing any work. Yes, I know Rails preaches convention over configuration. This is not a place where it applies. This is, as we say back in the hood, “too much software”.
(Via Matt)
Mr Zucchini
This came by in a Flickr tag I’m subscribed to, and I liked it. Plus it gives me an opportunity to tag something with “asscrack”.
Testing Django Applications
Python’s standard doctest module (which is one of the coolest damn things ever — your docstrings are your tests) has been baked in to Django for a while. Now we’ve got support for the other standard Python testing module — unittest — and some other nifty new features. Watch this documentation.
Eight Fallacies of Distributed Information Systems
Cf. Metacrap.
COMPLY
Ah, geek humor.
We’re hiring again
Local news outfit seeks badass designer for meaningful relationship.
Muse + 120% pitch shift = Gwen Stefani
Freaky,
(Via Metafilter)
ChangeManipulators on only part of a model
Ross touches on a relatively undocumented Django feature that makes it easy to tell a manipulator to ignore certain fields.
Details on our CSS changes for IE7
The Internet Explorer team lets us know what they’ve fixed.
(Via Dan Cederholm)
How to Feel Like the Star of One of Those “Girl Making it On Her Own in the City” Movies on ABC Family
Carrie needs to write more.
Web Inspector Gains New Eyes for Metrics, Properties
This is just too sexy for words.
(Via Ajaxian)
Reason #39 That Nothing Gets Written For Phones (Yet)
Alex expertly dissects Moore’s Law and makes some great points along the way.
The “New Yorker” on the Starr Report
The book’s epilogue becomes increasingly frantic. The narrator’s voice intrudes, postmodernly, insisting that the hero is guilty because of his unwillingness to cooperate in the creation of the text. In a strange way, the narrator begins to compete with the disappointed lover. He, we realize—another postmodern touch—has taken her voice: “This office extended six separate invitations to the President to testify.” Why won’t you respond to my requests? Why won’t you return my phone calls? You do everything you can to avoid me. And, finally: I will not be ignored. The plaint of the rejected disciplinarian (Clinton “spurned six invitations to testify”). Hell, our chagrined hero learns, hath no fury like a woman scored (“You want me out of your life…I guess the signs have been made clear for awhile—not wanting to see me and rarely calling”), except that of an independent counsel spurned.
Utterly brilliant.
(Via firasd)
Court rules 2003 money seizure correct despite no drugs found
Consider the following story:
- A man and his friends pool their money to buy a truck, and the man flies across country to go pick it up.
- When the deal falls through, the man rents a car and drives back.
- When he gets pulled over, police confiscate the money — which was in a cooler — on the grounds that concealing a significant sum of cash is evidence of drug trafficking.
- On appeal, the US 8th Circuit Court agrees.
You might be surprised to know that this sort of thing happens all the time in the United States; “drug-related” asset seizures — often predicated on nothing more than a dog’s bark — represent a significant revenue stream for police departments.
But I’m a fair-minded person; let’s keep the asset forfeiture law, and introduce a corollary: a law-enforcement officer who seizes cash, property or other valuable assets should be — on successful conclusion of a civil suit demonstrating that insufficient evidence existed for the seizure — personally liable for up to, say, ten times the value of the assets seized. The officer’s immediate supervisor should be liable for up to five times the value, and any magistrate who signs off on a forfeiture with insufficient evidence should be liable for up to twice the value.
And, of course, the evidence standards of these cases would be quite different than the “well, Your Honor, after three hours of making my drug dog sit there, he got fidgety — so obviously there must have been some drugs in the car” which passes normally.
In other words, when we hand someone a lot of power, we should also hand them a huge risk if they exercise it inappropriately.
Holes
Things any developer of feed-reader software should be staying on top of.
(Via Sam Ruby)
Introducing Feed Crier
A cool idea, but the last thing I need is more things telling me that there’s stuff I haven’t read :(
George Felix Allen Sings
Virginia Senator George Allen’s cameo, as a Confederate officer, in Gods and Generals.
Trivia:
- He used to be one of my Senators.
- Robert C. Byrd, who also used to be one of my Senators (and who I vastly prefer) also had a cameo in Gods and Generals, as a Confederate general.
- I saw the movie in the theater with some friends. We spent almost the entire time explaining the historical inaccuracies to a mother and son who were sitting in the next row (the son, who I’m guessing was maybe 12 or 13 years old, was doing a report on the movie to get extra credit in a history class).
- We joked afterward about the fact that, apparently, everyone in the Confederate army was a world-class singer. Just like the way that everyone in medieval China was a master of multiple martial arts.
- The book is vastly better, both in terms of accuracy and in terms of being actually interesting.
- Jeff Daniels put on a lot of weight between Gettysburg (which, by the way, is probably the finest movie ever made about the Civil War) and Gods and Generals.
- I actually know most of the words to “The Bonnie Blue Flag”.
- I actually know what the Bonnie Blue Flag was, and why the “Confederate flag” you see proudly displayed all over the south is actually historically inaccurate (see Wikipedia on the flags of the Confederacy for the gory details).
- I know the words to more than just one verse of “Dixie”, too.
- Earlier this year, I moved from a place which has a monument in front of the old courthouse commemorating its Confederate veterans, and which places Confederate battle flags on their graves each Memorial Day, to a place which deliberately left Southern states out when it named streets after the states.
(Via Daily Kos)
Rails auto-admin plugin
With a plethora of projects working on the problem, Rails appears to be slowly catching up to Django on the automatic dynamic administration stuff, and I have to say I particularly like this one; maybe it’s the theme :)
As some Rails users have found out, it’s also stupid easy to use Django’s admin interface for a Rails app.
(Via Jaff Croft)
Mass murder in the skies: was the plot feasible?
It’s a pity that our security rests in the hands of government officials who understand as little about terrorism as the Florida clowns who needed their informant to suggest attack scenarios, as the 21/7 London bombers who injured no one, as lunatic “shoe bomber” Richard Reid, as the Forest Gate nerve gas attackers who had no nerve gas, as the British nitwits who tried to acquire “red mercury,” and as the recent binary liquid bomb attackers who had no binary liquid bombs.
For some real terror, picture twenty guys who understand op-sec, who are patient, realistic, clever, and willing to die, and who know what can be accomplished with a modest stash of dimethylmercury.
You won’t hear about those fellows until it’s too late. Our official protectors and deciders trumpet the fools they catch because they haven’t got a handle on the people we should really be afraid of. They make policy based on foibles and follies, and Hollywood plots.
Proving that the Register can be quite good, so long as the byline doesn’t include Andrew Orlowski.
Bruce Schneier Facts
Most people use passwords. Some people use passphrases. Bruce Schneier uses an epic passpoem, detailing the life and works of seven mythical Norse heroes.
Freakin’ hilarious.
Streamlined: Taking admins beyond scaffolding
Normally we don’t do the good old-fashioned Sharks/Jets rumbles with the Rails guys, but this one has all the makings. Adrian points out that Django used to do the code-generation thing and moved on, DHH responds with hand-waving and gets in a sideways pigeonholing of Django-style admin tools as only being useful for “content sites”… it’s on now!
And speaking of the mythical “Rails is for applications, Django is for content” distinction, I feel obligated to mention something Adrian said on IRC a moment ago:
Yes, “content sites,” the generic term for “99.9% of the Internet.”
In that light, I could almost be happy with people reinforcing the content vs. applications myth. Django: the framework for 99.9% of the Internet!
Faith Based Programming
Clearly, if one is truly placing his faith in the almighty that the code being written is divinely inspired, it is important to follow one important tenet of the bible and to never write or run tests. JUnit is a sin.
I’m glad to see things like this still show up on k5.
Attempt at MySpace intrusion criticized
This story ran in the Journal-World last week, but it’s worth point out that, if the bill passes the Senate in its current form, public schools and libraries would technically be required to block access to, well, the Journal-World. And lawrence.com. And pretty much all of our other sites.
This is stupidity writ large.
Angry Indeed
But the worst part? None of this is new. Look back two years, when David Baron and Brendan Eich walked away from a W3C Workshop in disgust. To a large degree, both men walked away from the W3C itself at that point—and if you’ve spurred David Baron to turn his back on the web’s central standards body, then boyo, you’ve got some deeply serious problems.
The man has a point.
What is Left? What is Right?
In many ways, today’s conservatives are party men and women not unlike those we saw in totalitarian countries, people who spout the line and slay the enemy without a thought as to the principles involved. Yes, they hate the Left. But only because the Left is the “other.”
Rockwell lays some inconvenient truth on today’s “conservatives”.
(Via Newsvine)
youth and those crazy hormones
When discussing the plight of teenagers with adults, i’m often chastised for viewing teens as mature humans capable of making reasonable decisions. All too often, people point to all that psychological research that indicates that teens are experiencing extensive hormonal rushes that impair their judgment. And then i go home to my 30-something friends who see a baby and start cooing as their biological clock begs for attention. And then i talk to people my mom’s age going through menopause and being about as coo-coo as they come. And then i get calls from my older male friends who are experiencing their midlife crisis and think that trading in their wife for people my age is a good idea.
In case you hadn’t realized it already, danah just rocks.
the show: 08-10-06
Whether we like it or not, terrorist attacks on Americans are now part of the global reality. They will continue to happen. Many places around the globe have had to deal with a similar reality for years. India, Ireland, England, Spain, Russia, to name a few. In many cases, these societies have pulled together and not allowed isolated acts of violence to tear at their fiber. Like disease and the forces of nature, it’s a risk that we have to rationally come to terms with. The government’s responsibility is to make sure that fear and terror are not disproportionate to the reality of the situation.
cf. “The only thing we have to fear is fear itself.”
FLOSS Weekly 11: Guido van Rossum
Podcast interview with Guido (for the people who inevitably ask, Guido van Rossum is the creator of the Python programming language) where he has some kind words to say about Django.
Also notable for his pithy response to an “isn’t Ruby more object-oriented than Python” question: in Python, everything is an object, but not everything is necessarily a class.
Dreams
Someday I want to deliver a speech like this.
Pew Internet - Bloggers
Some people speculate and pontificate about the state of this or that bit of the Internet. Pew, on the other hand, go and find out what’s actually happening, and release well-written reports on their findings.
(Via Derek Powazek)
“DOPA” and What Is A “Social Networking Website”
A “Commercial Social Networking Website” will be whatever the censorware company puts on the blacklist for “commercial social networking websites”. End of story.
Seth’s right, but it still really frightens me that the Journal-World and several of its other news properties already are, or soon will be, “social networking websites” according to the DOPA definition.
JavaScript Threading: Quick Tip
You can’t really get a “new thread” in JS, but Mark shows you a simple way to pretend that you can.
The sorts of timing issues that this works around come up more often than you’d think; the AJAX example I’m writing up attacked the problem by building function literals on the fly based on things that were happening in a callback, and then subscribing them to the completion of an animation event :)
The Chainsaw Infanticide Logger Maneuver
Read this and be warned, ye that consider mucking about with existing classes.
(Via Bob Aman)
Can Your Programming Language Do this?
Joel points out how darned nifty functional programming can be, and how earth-shatteringly important it can become to certain business models.
Surveying open-source AJAX toolkits
This is almost a case study in how not to write a review of technical products. The reviewer apparently knows very little actual JavaScript and did very little homework on some of the reviewed toolkits, and it shows again and again. To take a choice quote:
The Prototype library is a set of basic, low-level tools aimed at programmers. It has clean, simple functions, all given single-letter names to speed downloading.
(emphasis added)
Perhaps he could also recommend straightening the cable which carries your Internet connection, so that the ones will have an easier path (they don’t handle curves as well as the zeroes).
(Via Ajaxian)
Form Widgets
Justin waxes philosophical on the appropriateness of HTML form elements in certain situations. Oddly enough, this comes just as I’m starting to tackle some UI problems related to a many-to-many relation.
(Via Dan Benjamin)
Rapid prototyping tools should NOT generate code
A relatively short piece which manages to say a lot, including this juicy tidbit:
What does code generation have to do with creating, testing, and iterating prototypes? I think they’d be better off creating better prototyping tools.