Gainesville: PHP/Javascript Developer Position Open

The Office of Distance Learning is seeking a web programmer with considerable experience with PHP, Javascript, and SQL to aid in the creation of and maintenance of several web and mobile applications.

The person we’re seeking will need a strong understanding of and experience with:

  • PHP5
  • Javascript
  • object-oriented and functional programming styles
  • related technologies such as SQL, CSS, the HTML DOM, Apache, and HTTP

Preferred applicants will be able to demonstrate:

  • sites/projects worked on, including open source projects
  • code created that is highly extensible, loosely coupled, testable, etc.
  • ability to create APIs/frameworks to be used by others
  • intuition of impact of code on underlying systems and client-side experience
  • ability to communicate well with teammates and end users

The applicant must be comfortable:

  • coding with third party libraries like Zend, jQuery, YUI, etc.
  • customizing third party applications like WordPress
  • using source control and documenting code

The Office of Distance Learning is an exciting, creative environment where we manage and customize applications like WordPress, Moodle, and Elgg, and serve thousands of users.

Search jobs.ufl.edu for Requisition number: 0806823

Allen Hunt: Gay marriage is worse than incest

On December 13th (just rebroadcast on 97.3 The Sky), radio host Allen Hunt, in a conversation about a recent adult incest case, stated that “incest is easier to defend than gay marriage because…at least incest is opposite sex and has the capacity to create new life.” Earlier the implication was made that gay marriage is “re-engineering society” inviting a slippery slope to incest marriage.

I’m all for freedom of speech and have no desire to legislate disgusting views like this off the radio, but more rational people need to pay attention to what hosts like Hunt/Savage/Levin are broadcasting in their community, and be willing to let local stations and their advertisers know when these hosts step over the line.

Update: BTW, Hunt’s brilliant argument—sexual behaviors that might create life are better than ones that don’t—would imply that incest, sex with young girls, and rape would all be preferable to gay sex, hetero sex using contraceptives, and masturbation. If you’ve ever enjoyed sex without intent to conceive, here’s to the Constitution for stopping big thinkers like Hunt from using the government against you.

Closure Compiler is smarter than you

I’ve known about Google’s Javascript minifier, Closure Compiler, for awhile, but after sending a couple snippets through it today I realized it’s a pretty impressive piece of work.

Input:

function howManyMatch(arr, pattern) {
   var l = arr.length;
   var total = 0;
   var i = 0;
   for (; i < l; i++) {
       if (pattern.test(arr[i])) {
           total++;
       }
   }
   return total;
}

Output:

function howManyMatch(b,d){for(var e=b.length,c=0,a=0;a<e;a++)d.test(b[a])&&c++;return c};

Or with whitespace re-added:

function howManyMatch(b, d) {
    for (var e = b.length, c = 0, a = 0; a < e; a++)
        d.test(b[a]) && c++;
    return c
}

Optimizations:

  • shortened parameter names and removed unneeded semicolons (YUI Compressor already did this much)
  • combined multiple var statements into one declaration
  • moved that declaration into the first section of the for loop (to save one semicolon!)
  • removed brackets around blocks with only one statement
  • replaced if statement with && operator (to save two bytes)

Several of these are often done by JS devs by hand. With closure compiler on tap, we no longer have to. Just concentrate on readability and maintainability and let CC worry about size optimization.

Less is More: Billie Davis 1969

“Nobody’s Home to Go Home To” was a 1969 B-side for Billie Davis that I have a weakness for. The bass playing is incredible and the song cleverly jumps between three keys, but the strings and backing vocals kind of take over the recording. I noticed this morning that they’re both panned hard right and the vocal is centered, so I got to work.

  • Dumped the right channel to make a mono track of the left, leaving all the essentials: drums, bass, piano, elec & acoustic guitars, a quiet organ, tambourine, and the vocal.
  • Made several surgical cuts to bass frequencies that took over the mix at points.
  • Mitigated some incidents of “breathing” and “pumping” in the breaks. This is where a compressor had turned up the gain while the band’s last note of a section was fading out. This can be done to great effect (after the snare hit at 0:21 in Elvis Costello’s “Busy Bodies”), but on this track it just sounded like a someone with coffee jitters was leaning on a fader, and it made the snare hits that preceded the following sections unnaturally loud.
  • Raised some high frequencies to bring some sparkle to the vocal
  • Added a tiny bit of stereo echo to widen the sound

In the result, you get a more interesting intro (IMO) and a tighter rhythm section, and you can actually hear the piano, the backbeat snaps of the electric guitar, what sounds like a low temple block on the snare hits, and Billie’s quiet falsettos at the end of the choruses.

Billie Davis – Nobody’s Home to Go Home To (mrclay.org mix)

[audio:http://www.mrclay.org/wp-content/uploads/2010/12/Billie-Davis-Nobodys-Home-To-Go-Home-To-mrclay-remaster.mp3|titles=Billie Davis – Nobody’s Home To Go Home To (mrclay remaster)]

Here’s the original .

Kristof on Haiti & Trade

I can’t agree more.

Ultimately what Haiti most needs isn’t so much aid, but trade. Aid accounts for half of Haiti’s economy, and remittances for another quarter — and that’s a path to nowhere.

The United States has approved trade preferences that have already created 6,000 jobs in the garment sector in Haiti, and several big South Korean companies are now planning to open their own factories, creating perhaps another 130,000 jobs.

“Sweatshops,” Americans may be thinking. “Jobs,” Haitians are thinking, and nothing would be more transformative for the country.

Let’s send in doctors to save people from cholera. Let’s send in aid workers to build sustainable sanitation and water systems to help people help themselves. Let’s help educate Haitian children and improve the port so that it can become an exporter. But, above all, let’s send in business investors to create jobs.

Otherwise, there will always be more needs, more crises, more tragedies, more victims. Back in the cholera treatment center here in Mirebalais, health workers were still disinfecting the bed on which Mr. Merilus had died when, in the tent next door for milder cases, a middle-aged woman suddenly collapsed.

Nurses splashed water on her face but could not revive her. So they rushed her to the main cholera hospital tent to take the newly vacant bed there.

And that is the brutal cycle of poverty in Haiti that only jobs and trade can break.

Bring Back TSA Classic

At this point very few would expect that you should be able to carry metal items undetected onto a plane, so I don’t have too big a problem with metal detectors at airports. However, society has a general expectation that the image of one’s naked body is private, so we should certainly consider the new scanners a “search” under the Fourth Amendment, requiring some level of probable cause. Is showing up for a flight probable cause for suspicion that you have explosives on you?

Setting aside the question of constitutionality, there seems to be mounting evidence that TSA agents cannot handle the responsibility that this much power brings:

What happens when a terrorist successfully sneaks in bomb materials embedded under the skin? I’d guess the attack would fail for the same reason the underwear bomber’s did: our system already worked. Until all international airports with flights to the U.S. are outfitted with the new scanners and procedures, we still can’t prevent another underwear bomber (he boarded in Amsterdam).

?YouWontSeeMe

In beta 11, Opera’s going to hide all “http(s)://”, and also all querystrings (until you focus the addressbar). Opera’s devs are right that users consider them mostly “gibberish”, but I think this change could cause a ton of problems and confusion for people, especially support staff, and there are plenty of sites/apps still out there with URLs based on querystrings. I can see this setting as short-lived.