Download albumcover van Amazon met Python

7 November 2009

Ik ben de laatste tijd bezig met een project genaamd “CoverGloobus” (ik zal hier niet verder over uitwijden, zie: http://www.launchpad.net/covergloobus), en daarvoor had ik een functie nodig die albumcovers van Amazon downloadde. En de uitkomst daarvan is het onderstaande scriptje :) Ik heb wel een beetje valsgespeeld, hij haalt namelijk de link naar het plaatje op via de zoekmachine albumart.org :P In ieder geval, dit is hem!

Jaapz Zonder rubriek

Grote lettertypen in Firefox 3.5 in Ubuntu

3 October 2009

Ik heb laatst ubuntu 9.10 Karmic Koala beta geinstalleerd, en ook hier had ik gelijk alweer een probleem met Firefox 3.5 die ik in Jaunty (9.04) ook al had. Namelijk dat de fonts in de toolbars en eigenlijk heel het Firefox scherm net te groot waren, net alsof de optie “Subpixel hinting” aanstond in het uiterlijk venster, wat dus niet het geval was. Even gezocht, en gevraagd op het ubuntu forum, waar mij als antwoord gegeven werd dat ik eventjes twee commando’ s moest uitvoeren. Wat bleek nou, Firefox haalt zijn font-instellingen van fontconfig, en niet van de instellingen van Gnome, en daardoor ging het dus fout. De oplossing is dan ook simpel, voer de volgende commando’s uit in de terminal:

sudo rm /etc/fonts/conf.d/10-hinting-slight.conf
sudo rm /etc/fonts/conf.d/10-no-sub-pixel.conf
sudo dpkg-reconfigure fontconfig

Daarna start je Firefox opnieuw op, en dan zou het gefixt moeten zijn!
Het resultaat is als volgt:

Resultaat van het uitvoeren van de commando's

Resultaat van het uitvoeren van de commando's

Fixt dit het nou niet, kijk dan even in de bronpost, waar ik deze informatie vandaan heb.

Jaapz Zonder rubriek , ,

Ubuntu wireless erg langzaam met rt2500

5 August 2009

Met ubuntu 8.10 heb ik met mijn asus wireless netwerkkaart standaard erg langzaam netwerk. Om een of andere reden gaat er iets fout met de configuratie en default de configuratie naar de laagst mogelijke snelheid (1mb). Dus even snel een fix opgezocht op internet en gevonden:

Maak een bestand aan met de naam: /etc/acpi/resume.d/40-rt2500.sh

En zet daar het volgende in:

#!/bin/bash
iwconfig wlan0 rate 54M

En zorg er voor dat deze uitvoerbaar is met het volgende commando:

sudo chmod +x /etc/acpi/resume.d/40-rt2500.sh

Het script zal automatisch worden uitgevoerd bij het opnieuw opstarten van Ubuntu. Dit fixete het voor mij!

Jaapz Zonder rubriek , ,

#! CrunchBang Linux

29 June 2009

Op mijn zoektocht naar een snelle linux distro die ook nog een beetje bruikbaar is en niet al te oude paketten heeft (dus geen damnsmalllinux) kwam ik CrunchBang Linux tegen. Het is een erg mooie snelle linux distributie die gebaseerd is op Ubuntu, en dus ook de repositories en dus alle pakketten van Ubuntu heeft. In plaats van Gnome gebruikt CrunchBang het pakket Openbox, wat erg snel en toch lekker werkt. CrunchBang start vele malen sneller op dan Ubuntu en werkt ook gewoon een stuk sneller. Had ik al gezegd dat CrunchBang erg snel is?
In ieder geval, mijn laptop is weer blij en snel! Dus aarzel niet en ga naar de website van CrunchBang Linux!

Jaapz Zonder rubriek , , ,

HandBrake: Rip DVD’s op Ubuntu

29 April 2009

Ik heb sinds kort een echte dvd-brander in mijn computer zitten! Ja ja, toe maar weer. Nou was ik eigenlijk van plan deze te gaan gebruiken, dus ging ik op zoek naar een goed DVD-rip programma voor Ubuntu. Nou, dat is gelukt! Na niet al te lang zoeken kwam ik op de website van HandBrake terecht. Een rip programma welk eigenlijk bedoeld is voor MacOSX, maar waarvan ook een Ubuntu versie is.

Het werkt heel gemakkelijk en alleen door er even naar te kijken weet je eigenlijk al hoe alles werkt.
Kortom: een aanrader dus!

In Ubuntu te installeren via een pakket die je hier kan downloaden.

HandBrake GUI

HandBrake GUI

Jaapz Zonder rubriek , ,

Afbeelding Uploadscript

18 April 2009

Ik had een uploadscript nodig voor afbeeldingen. Dus ik ging op het internet zoeken of er nog een mooie te downloaden was, twee keer het wiel uitvinden is ja niet nodig! Maar elk script dat ik testte had óf messy code, óf deed niet wat ik wou. Daarom ging ik zelf maar eventjes aan de slag. Hieruit kwam een simpel uploadscriptje die jpg, gif en png bestanden kan uploaden en deze ook nog kan schalen naar een andere grootte.

  1. <?php
  2.  
  3. /**
  4. * JaapzUpload
  5. * Een simpel uploadscript met schaal functie gemaakt door:
  6. * Jaap Broekhuizen a.k.a. Jaapz
  7. * Site: www.jaapz.nl
  8. * Mail: jaapz.b[apenstaartje]gmail[punt]com
  9. * Vrijgegeven onder de GNU GPL2 licentie
  10. */
  11.  
  12. // Variabelen
  13. $verzend = $_POST[‘verzend’];
  14. $resize = $_POST[‘resize’];
  15. $width = $_POST[‘width’];
  16. $map = ‘../uploads/’;
  17.  
  18. // Tekst echoen
  19. echo
  20. <h1>Bestand Uploaden</h1>
  21.  
  22. ;
  23.  
  24. // Extensies die mogen upgeload worden
  25. $mag_types = array(‘image/jpeg’,
  26.                                    ‘image/gif’,
  27.                                    ‘image/png’);
  28.  
  29. // Is er al wat upgeload?
  30. if (!isset($verzend)) { // Nee
  31.         ?>
  32. <form method="post" target="_self" enctype="multipart/form-data" action="upload.php">
  33.         Selecteer een bestand:
  34. <input name="bestand" type="file">
  35. <input type="checkbox" name="resize" onclick="if(this.checked){document.getElementById(’resize’).style.display=’block’}else{document.getElementById(’resize’).style.display=’none’}" /> Afbeelding schalen?
  36. <div id="resize" style="display:none">
  37.                 Breedte:
  38. <input type="text" name="width" />px
  39.         </div>
  40. <input type="submit" value="Uploaden!" name="verzend" />
  41.         </form>
  42.  
  43.         <?php
  44. } else { // Ja
  45.         if (is_uploaded_file($_FILES[‘bestand’][‘tmp_name’])) {
  46.                 if (!in_array($_FILES[‘bestand’][‘type’], $mag_types)) {
  47.                         die(‘Dit type bestand mag niet geupload worden!<a href="javascript:history.back(\’1\’)">Ga terug</a>’);
  48.                 }
  49.  
  50.                 move_uploaded_file($_FILES[‘bestand’][‘tmp_name’], $map . $_FILES[‘bestand’][‘name’]);
  51.                 echo ‘Dit bestand is succesvol geupload in de map uploads onder de naam: <a href="’ $map . $_FILES[‘bestand’][‘name’] . ‘" title="Bekijk je upload">’ . $_FILES[‘bestand’][‘name’] . ‘</a>’;
  52.  
  53.                 if ($resize == ‘on’) {
  54.                         $helebestand = $map . $_FILES[‘bestand’][‘name’];
  55.                     $dimensions = getimagesize($helebestand);
  56.  
  57.                         $bronbreedte = $dimensions[0];
  58.                         $bronhoogte  = $dimensions[1];
  59.  
  60.                         $doelhoogte = ($bronhoogte * $width) / $bronbreedte;
  61.                         $doelhoogte = round($doelhoogte, 0);
  62.  
  63.                         if (substr($helebestand, -3) == ‘gif’) {
  64.                                 $image = imagecreatefromgif($helebestand);
  65.                                 $destination = imagecreatetruecolor($width, $doelhoogte);
  66.                                 imagecopyresampled($destination, $image, 0, 0, 0, 0, $width, $doelhoogte, $bronbreedte, $bronhoogte);
  67.                                 imagegif($destination, $helebestand);
  68.                         } elseif (substr($helebestand, -3) == ‘png’) {
  69.                                 $image = imagecreatefrompng($helebestand);
  70.                                 $destination = imagecreatetruecolor($width, $doelhoogte);
  71.                                 imagecopyresampled($destination, $image, 0, 0, 0, 0, $width, $doelhoogte, $bronbreedte, $bronhoogte);
  72.                                 imagepng($destination, $helebestand);
  73.                         } else {
  74.                                 $image = imagecreatefromjpeg($helebestand);
  75.                                 $destination = imagecreatetruecolor($width, $doelhoogte);
  76.                                 imagecopyresampled($destination, $image, 0, 0, 0, 0, $width, $doelhoogte, $bronbreedte, $bronhoogte);
  77.                                 imagejpeg($destination, $helebestand);
  78.                         }
  79.  
  80.                         imagedestroy($image);
  81.                         imagedestroy($destination);
  82.                 }
  83.         } else {
  84.                 echo
  85.  
  86. Eh, er is denk ik iets fout met het uploaden gegaan, want dat bestand van jou staat er niet tussen! Is de map waar je het in wilde uploaden wel ge-chmod naar 777?
  87.  
  88. ;
  89.         }
  90. }
  91.  
  92. ?>

Jaapz Zonder rubriek

Geef geselecteerde tekst kleur

24 March 2009

Nu eens iets leuks in CSS. Met de volgende code kun je instellen dat als men tekst selecteerd, deze tekst een bepaalde achtergrondkleur en tekstkleur krijgen. Werkt niet in Internet Explorer (had ook niet anders verwacht).

  1. ::-moz-selection {
  2.   background:#000;
  3.   color:#fff;
  4. }
  5.  
  6. ::selection {
  7.   background:#000;
  8.   color:#fff;
  9. }

Jaapz Zonder rubriek

Chromium op Ubuntu (en Mac)

14 February 2009

Iedereen heeft er al van gehoord, de (nu niet meer zo) nieuwe browser “Chrome” van Google. Een browser met een mooi clean design, die simpel te gebruiken is, en bovendien lichtgewicht is. Jammer alleen, is dat er nog geen officiele versie voor linux uitgekomen is. Maar gelukkig hebben de jongens van Codeweavers niet stilgezeten, en hebben ze een speciale versie van hun programma “Crossover” uitgebracht, met een werkende versie van de Chrome browser, voor MacOS en Linux. Het is trouwens niet precies hetzelfde als de echte Chrome browser. Chrome is namelijk gebaseerd op de code van het Chromium project, en diezelfde code is gebruikt in deze versie van Crossover. Hoewel het erg handig en leuk is om te testen op ubuntu, is het niet aangereaden Crossover Chromium te gaan gebruiken als standaard browser, daar is het nog te instabiel voor. Wacht liever rustig op de officiele versie van Chrome voor Linux.

Om te installeren:

Jaapz Zonder rubriek , ,

Prullenbak legen…

23 August 2008

Ik had laatst wat bestanden in mijn Prullenbak staan (in ubuntu), waar ik de rechten niet voor had om die te verwijderen (om wat voor reden dan ook…), dus ben ik op zoek gegaan naar de map waar de “prullen” ingegooid worden, om die met een ge-sudood rm-commando te verwijderen. De prullen zijn te vinden in ~/.local/share/Trash . Om deze dus helemaal te legen doe je dat met dit commando:

sudo rm -rf ~/.local/share/Trash/*

Jaapz Zonder rubriek ,

Mijn Captcha

17 April 2008

Ben me weer eens wat meer in de wereld van PHP aan het verdiepen, en heb een captcha gemaakt. Hij is ook best veilig, want tot nu toe is het een vriend van mij (www.thomsenwebdesign.nl) niet gelukt om het te kraken! Dit script gebruikt de GD library en tekent daarmee een variabele achtergrondkleur met daaroverheen een variabele tekst met variabele tekstkleur, met daar weer variabele lijntjes die variabele kleuren hebben erover! Erg variabel dus.

  1. <?php
  2.  
  3. /**
  4. * JaapzCaptcha
  5. * Een simpele captcha gemaakt door:
  6. * Jaap Broekhuizen aka Jaapz
  7. * Site: www.jaapz.nl
  8. * Vrijgegeven onder de GNU GPL2 licentie
  9. */
  10.  
  11. //verander hieronder wat je nodig vind
  12. $codelengte = 6; //aantal karakters in de code
  13. $aantallijntjes = 7; //aantal lijnen in het plaatje
  14. $font = "uwfont.ttf"; //font te gebruiken, bijv $font = "uwfont.ttf";
  15.  
  16. //sessie starten en meegeven dat het een plaatje is
  17. header("content-type: image/png");
  18.  
  19. //code genereren
  20. $tekens = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
  21. $aantaltekens = strlen($tekens);
  22. for ($i=0; $i<=$codelengte; $i++) {
  23. $hoeveelste = rand(0, $aantaltekens);
  24. $code .= substr($tekens, $hoeveelste, 1);
  25. }
  26.  
  27. //code in een sessie zetten
  28. $_SESSION["captchacode"] = $code;
  29.  
  30. //plaatje maken
  31. $plaatje = imagecreate("100", "50");
  32.  
  33. //achtergrondkleur genereren
  34. $br = rand(0,255); //red
  35. $bg = rand(0,255); //green
  36. $bb = rand(0,255); //blue
  37.  
  38. $achter = imagecolorallocate($plaatje, $br, $bg, $bb);
  39.  
  40. //code erop gooien
  41. $cr = rand(0,255); //red
  42. $cg = rand(0,255); //green
  43. $cb = rand(0,255); //blue
  44. $kleur = imagecolorallocate($plaatje, $cr, $cg, $cb);
  45.  
  46. imageTTFtext($plaatje, 20, 0, rand(0,10), rand(20,50), $kleur, $font, $code);
  47.  
  48. //lijntjes tekenen
  49. for ($i2=0; $i2<=$aantallijntjes; $i2++) {
  50. $lr = rand(0,255); //red
  51. $lg = rand(0,255); //green
  52. $lb = rand(0,255); //blue
  53. $kleur = imagecolorallocate($plaatje, $lr, $lg, $lb);
  54.  
  55. $lx1 = rand(0,100);
  56. $ly1 = rand(0,50);
  57. $lx2 = rand(0,100);
  58. $ly2 = rand(0,50);
  59. imageline($plaatje, $lx1, $ly1, $lx2, $ly2, $kleur);
  60. }
  61.  
  62. //plaatje teruggeven
  63. imagepng($plaatje);
  64. imagedestroy($plaatje);
  65.  
  66. ?>

Jaapz Zonder rubriek ,