14
jun
'09
11:43
 
 

Lighttpd + cURL = HTTP error 417

Dankzij cURL is het met PHP enorm simpel bestanden via HTTP te sturen, bijvoorbeeld om avatars van gebruikers naar op aparte mediaserver te plaatsen.

Mocht die mediaserver een lighttpd versie ouder dan 1.4.21 draaien (Debian stable zit op het moment van schrijven op 1.4.19), dan kan het gebeuren dat je een HTTP error 417 oploopt.

Die error wordt veroorzaakt doordat cURL een ‘Expect’ header meestuurt bij bestanden groter dan 1024 bytes. Een header die lighttpd < 1.4.21 niet helemaal snapt.

De oplossing is gelukkig simpel: forceer een lege ‘Expect:’ header. Bijvoorbeeld zo:

curl_setopt($ch, CURLOPT_HTTPHEADER, array(‘Expect:’));

0 reacties - Geplaatst in Webdevelopment, PHP

 
 
4
okt
'08
22:18
 
 

Code_swarm: hippe Subversion visualisatie

Er bestaan een hoop manieren om grafieken en andere overzichten van je Subversion repository te maken. Maar tijdens een afdwaalmoment op het internet vandaag kwam ik een hippe tegen: code_swarm. Code_swarm zet de historie van je SVN, CVS of MediaWiki om in een grafische presentatie.

Bestanden in de repository worden getoond als gekleurde bolletjes en zweven om de naam van degene die ze aangepast heeft heen. Licht een bolletje of een naam op, dan heeft die op die datum iets gedaan.

Omdat een video 24.000 woorden per seconde waard is, is er hier eentje:

Heel spannend is dit project niet: slechts twee ontwikkelaars en een klein aantal commits. Leuker zijn de filmpjes van de grote projecten zoals LittleBigPlanet, Python en Apache.

Code_swarm is vrij makkelijk te gebruiken. Het is een kwestie van de source via Subversion uitchecken, Java en Python geïnstalleerd hebben en de documentatie op de Google Project-pagina doornemen (of deze, duidelijk en stap-voor-stap).

0 reacties - Geplaatst in Subversion, Development

 
 
16
jul
'08
22:14
 
 

"Eerst CSS, dan JS", riepen ze in koor

Bij één van mijn persoonlijke programmeerprojecten gebruik ik jQuery met de Dimensions plugin om een aantal DIVs dezelfde height te geven als de grootste DIV. Dit ging altijd goed, tot de komst van Firefox 3 en Opera 9.5.

In werkelijkheid was de grootste DIV van het stel 112 pixels hoog, maar volgens deze nieuwe browsers was dat soms 300 pixels. Soms, omdat het na een refresh of twee wel duidelijk werd.

Gezien de jQuery mailing list was ik niet de enige met dit probleem en na wat rondzoeken kwam ik daar dan ook een oplossing tegen:

Putting the <link> (or <style>) tags before <script> tags in the head can ameliorate the problem. Others have tested this and have found that they have access to those style properties

En ja hoor. Het verplaatsen van de <link rel=“stylesheet”> naar boven de <script>-tags deed het probleem oplossen.

Het is wel een vreemde oplossing. De CSS had in dit geval niets te zeggen over deze DIVs en eigenlijk hoort de JavaScript-code pas uitgevoerd te worden nadat de pagina helemaal klaar is met laden ($(document).ready()).

Misschien dat dit merkwaardige verschijnsel in een latere versie van Firefox en Opera nog verholpen wordt. Tot die tijd is het moraal van het verhaal: eerst de CSS inladen, dan pas de JavaScript.

0 reacties - Geplaatst in Firefox, Opera, jQuery

 
 
12
jun
'08
22:46
 
 

Extreme ReminderFinder Pro++

Tot mijn grote schrik was een memorabele filmproductie bijna tot in de eeuwigheid verloren gegaan!

Een paar jaar terug moesten we voor mijn studie een commercial maken voor een product dat over 5 jaar wel eens zou kunnen bestaan. Een uitgelezen kans natuurlijk om een parodie te maken op de befaamde TelSell-reclamefilmpjes, die volgens velen (en ons cijfer) goed gelukt was. Maar ineens waren we hem kwijt!

YouTube wist (onpopulaire?) filmpjes schijnbaar na twee jaar en menig hardeschijfprobleem hadden al eerder het leven van data met nostalgische waarde opgeëist. Waren de bits van dit meesterwerk dan ook verdoemd tot data-hel?

Nee, gelukkig niet:

2 reacties - Geplaatst in Random

 
 
7
jun
'08
19:30
 
 

Halo 3 screenshot downloader voor Mac OS X

Zo nu en dan mag ik graag een potje Halo 3 online spelen. Niet alleen omdat het leuk is, maar ook omdat de replay-functie ontzettend gaaf is. Zo gaaf zelfs dat ik het sommige spellen bijna kwalijk neem dat ze er een hebben met minder features. Stel je Team Fortress 2 eens voor met zo’n replay-functie, hoe geweldig zou dat zijn. Maar ik dwaal af.

Het enige minpunt is dat de screenshots die je ermee maakt niet op een USB-stick opgeslagen kunnen worden maar stuk voor stuk, handmatig gedownload moeten worden op Bungie.net. Een saaie klus.

Gelukkig biedt Bungie een RSS feed aan voor de screenshotgalerijen. Daarmee kon ik met behulp van Automator in Mac OS X een WorkFlow maken die automagisch al je screenshots (of die van een ander) binnenhaalt.

Het werkt heel simpel: start de Automator WorkFlow, vul een gamertag in, geef een directory op om de screenshots neer te zetten en klaar.

Iedere keer worden alle screenshots gedownload. Dubbele screenshots worden aan het eind automatisch naar je prullenbak verhuisd.

Download de Automator WorkFlow.

0 reacties - Geplaatst in Mac OS X, Halo 3

 
 
5
jun
'08
21:35
 
 

En toen was er Terr.nl

In mijn avonturen op het internet en geëxperimenteer met dingen als CakePHP en ExtJS kom ik wel eens iets tegen waarvan ik denk: “daar zouden meer mensen iets aan hebben”.

Op deze blog (wat ik wil doen valt binnen Wikipedia’s definitie van blog, dus het is waar) kan ik die wijsheid dan eindelijk met de rest van de wereld delen. Jeej!

Het design van deze blog is misschien wat ongebruikelijk. Het is populair om een strak, minimalistisch Web 2.0-design te gebruiken, maar daar heb ik bewust niet voor gekozen.

Ik wilde een design met een uitstraling die past bij het thema van de site. Veel Web 2.0-designs stralen überhaupt niets uit: ze zijn kaal en neutraal qua gevoel. Maar zelfs als mij het wel zou lukken er eentje te maken met uitstraling, welk gevoel zou die dan moeten geven? Op een ‘blog over sporadische onderwerpen’ kan het over van alles gaan.

Daarom heb ik gekozen voor een ‘under construction’-sfeer. Niets staat vast, er is geen vorm om naar te leven. Alleen een design gebaseerd op het anarchisme-symbool kan die flexibiliteit overtreffen.

Sommige posts op deze blog zullen in het Engels zijn. Niet alleen om te oefenen met schrijven in het Engels, maar ook omdat communities zoals die van CakePHP internationaal zijn.

De software waar deze blog op draait is overigens zelf geschreven en is gebouwd op, jawel, CakePHP. Simpelweg een WordPress installatie neerzetten is te saai. Het eerste mankement om te verhelpen: het gebrek aan RSS feed [update: hij is er].

Voor een eerste post vind ik het zo wel mooi geweest. Omdat niemand er van houdt om een boek te lezen op een monitor ga ik ervoor zorgen dat volgende posts korter zijn :P

0 reacties - Geplaatst in Terr.nl

 
 

Zoeken

Laatste posts

Laatste reacties

Willekeurige post

Statistieken

    Onderschepte spam
    • Vandaag: 0
    • Totaal: 2459
    • 99,51% van alle reacties is spam.
 
Subliminal v1.2α