vrijdag 27 mei 2011

Reset WordPress wachtwoord voor admin

Soms ben je het WordPress admin wachtwoord kwijt, of in mijn geval restore je een database van een site waarvan je het admin wachtwoord niet kent. Deze draai ik op localhost dus het “mail me mijn vergeten wachtwoord” (“Lost your password?”) werkt ook niet.

WordPress inlogscherm

Hoe reset je dan het admin wachtwoord?

In de achterliggende WordPress database worden de WordPress gebruikers opgeslagen in de tabel wp_users. Hier zie je dat met PHPmyadmin:

PHPMyAdmin

In het veld user_pass staat het bij deze gebruiker behorende wachtwoord. Het is helaas niet zo simpel als even het user_pass veld leegmaken, maar ook niet veel ingewikkelder. WordPress accepteert/snapt het namelijk ook als je het wachtwoord zonder salt als MD5 hash opslaat. Na inloggen zal WordPress dit automatisch aanpassen en in de database weer op een sterkere manier opslaan.

Het antwoord is dus:

UPDATE wp_users SET user_pass=MD5 ("admin") WHERE ID=1

Om het wachtwoord te reseten naar admin. Zoals ik hieronder doe via PHPMyAdmin:

PHPMyAdmin

dinsdag 24 mei 2011

WebGL op Android?

In een vorige blogpost heb ik verteld wat WebGL is. Ook voorspelde ik daar al dat je WebGL zeer binnenkort ook wel op je mobieltje kan gebruiken en.. Met de komst van Firefox 4 voor Android is het dan zo ver! 

Firefox voor Android beloofd net als zijn grote desktop broer ook op je mobieltje 3D graphics met WebGL. Dat probeer ik graag even uit. Allereerst heb ik Firefox 4 voor Android geinstalleerd op mijn mobieltje (Een HTC Desire met een custom Android 2.3.3 rom). Het eerste gevoel is dat deze browser niet de snelste ooit is die ik op mijn telefoon heb gehad. Integendeel, het opstarten alleen al lijkt eeuwen te duren. Maar dat terzijde, we focussen in dit artikel op de WebGL ondersteuning.

Om de CPU en GPU in mijn HTC te martelen, ben ik naar de Khronos WebGL Demo Repository gegaan en heb de demo’s die daar staan uitgeprobeerd op zowel mijn telefoon als op de desktop. De wisselende resultaten heb ik onderstaande tabel weergeven. Ik heb daarbij gekeken in hoeverre het resultaat er hetzelfde uitzag als op mijn desktop. De tabel op Khronos klopt trouwens niet, bij mij op de desktop werken namelijk alle demo’s ook in Firefox (Mozilla) perfect.

Verder heb ik uiteraard wat foto’s als bewijsmateriaal gemaakt, die vind je onder de tabel.

Test Originator Firefox 4 for Android (Mozilla)
san-angeles Google Ja.
Lijkt 100% goed. Ongeveer 6 FPS.
particles Google Ja.
En indrukwekkend veel effecten (Smoke, shine) maar nog niet 100% goed. Meer dan 10 FPS.
shiny-teapot Google Nee.
Geen theepot te bekennen. (Zie ook foto)
image-texture-test Google Nee.
Geen enkele texture te bekennen.
procedural-texture-test Google Ja.
Lijkt 100% goed.
Vertex Buffer Object Example Google Ja.
Niet 100% goed, culling lijkt aan de verkeerde kant, waardoor stukken wegvallen. Ongeveer een halve FPS.
Colored Box Apple Nee.
Alleen de tekst verschijnt op de canvas, geen kubus.
Textured Box Apple Nee.
Alleen een blauw canvas die volgens de teller op 7 FPS schijnt te draaien Winking smile
Earth Apple Nee.
Weer een canvas (dit keer zwart) die op 7 FPS draait.
Teapot Per Vertex Apple Nee.
Zwarte lege canvas.
Teapot Per Pixel Apple Nee.
Zwarte lege canvas.
Many Planets Deep Apple Nee.
Zwarte lege canvas (op 2FPS).
WebGL + CSS Apple Nee,
Alleen de achtergrond. CSS effecten niet compleet en geen teepot te bekennen.
J3DI Matrix Test Apple Nee.
Helaas, geen hondjes. Alleen tekst op een zwarte canvas.
Spore COLLADA Viewer Mozilla Ja.
Alleen lukt het niet om in de mobiele browser het model te laten draaien met bijvoorbeeld een vingertouch.
Ray Tracer 2 Mozilla Ja!
100% goed. En een framerate van maar liefst 1 frame per 3 seconden. Winking smile
Julia fractal Mozilla Ja!
Ook 100% goed. Helaas ook hier weer een framerate van ongeveer 1 frame per 2 seconden.

Mandelbrot/Julia transition

Mozilla Ja.
Ook 100% goed gerenderd. Echter net als in de Spore viewer lukt het niet om met “touch” in te zoomen oid, wat op de desktop versie wel gaat met de muis.

Conclusie is dat er nog aardig wat werk te verzetten is om WebGL op Android en/of mobiel nuttig te laten zijn, maar met Firefox 4 voor Android is het begin er. De Apple demo’s draaien eigenlijk geen van allen goed, ook niet de “simpele”. Het zou kunnen zijn dat Apple een framework heeft gebruikt waarin geen rekening is gehouden met Firefox for mobile.

Wat me (als oude rot in het vak) erg meeviel is dat (omdat het best wat rekenkracht vereist en ook nog redelijke beta techniek) na tijdens deze test zowel het apparaat als de browser geen enkele keer is gecrasht. Wel ging de batterymeter tijdens de test vrij snel van groen naar geel naar rood. Winking smile

particlessan_angelesteapottexturevertex_buffercolladamandelbrotray_tracer_2

zaterdag 21 mei 2011

Angry Birds op WebGL en HTML5 Canvas

Een spelletje dat niet mag ontbreken op mijn blog, aangezien ik het in vorige posts over WebGL spelletjes en daarvoor eens over een soort van namaak (in Flash) Angry Birds gehad heb. Rovio heeft Angry Birds “geport” naar de browser en maakt hiervoor gebruik van WebGL en de HTML5 canvas.

Een mooi webexperiment en door slim te schakelen tussen de verschillende render mogelijkheden, werkt het spel met alle gangbare moderne browsers. Dus ook in Internet Explorer!

Angry Birds

Angry Birds

Angry Birds

Helaas word de spelstatus niet opgeslagen. Als je de browser na 28 levels afsluit kan je de volgende keer weer opnieuw bij level 1 beginnen.

Zelf ook proberen? http://chrome.angrybirds.com/

Gebruik de muis als touch. Gebruik je muiswiel om in/uit te zoomen. Zoomen kan ook met cursor up/down. Druk op R om een level te restarten.

woensdag 18 mei 2011

Wat is WebGL?

WebGL is een nieuwe, open standaard voor het weergeven van 3D graphics op het web. Dus geprogrammeerde 3D beelden en animaties gewoon in je webbrowser, zonder dat daar (zoals vroeger) een extra plugin voor nodig is!

Op dit moment zijn er naar mijn weten twee webbrowsers die WebGL ondersteunen:

Ook Safari zou WebGL ondersteunen in de nightly builds (experimenteel). Internet Explorer 9 ontbreekt echter en met de Microsoft browser kan je op dit moment dus geen WebGL content bekijken. Microsoft heeft ook nog niet de intentie uitgesproken om WebGL in de nabije toekomst te gaan ondersteunen.

De WebGL standaard is uitgedacht door de Khronos group en op hun website vindt je dan ook alle low-level details met betrekking tot de specificaties. WebGL is een afgeleide van OpenGL ES. OpenGL bestaat al ruim 17 jaar als standaard 3D API. ES staat voor Embeded Systems. OpenGL ES is een subset van de complete OpenGL standaard, bedoeld voor embedded systemen. Het is naar mijn mening te verwachten dat ook je telefoon en tablet heel binnenkort WebGL content kunnen tonen.

WebGL is opgezet als een API die je vanuit Javascript kan aanspreken. Aangezien OpenGL vrij low-level (Je moet je bijvoorbeeld bezig houden met shaders en C code) is en niet geschikt voor de eerste de beste web-programmeur, is het te verwachten dat er binnen afzienbare tijd vele high-level frameworks beschikbaar komen, waarmee ook web-programmeurs uit de voeten kunnen. Deze frameworks bouwen een abstractielaag bovenop WebGL, waardoor je je als web-programmeur alleen maar hoeft bezig te houden met je 3D objecten, kleuren en posities. Wel zo makkelijk dus. Het framework zorgt ervoor dat via WebGL het 3D plaatje verschijnt. Er zijn inmiddels tientallen frameworks, maar de meest veelbelovende zijn :

PhiloGL: http://senchalabs.github.com/philogl/ 
GLGE: http://www.glge.org/
Three.js: http://mrdoob.com/blog/post/693
C3DL: http://www.c3dl.org/ – Vrij traag, maar het project is al wel 2 jaar actief

Met Three.JS is ook de Google Search Globe gemaakt die ik in deze post besproken heb.

Van Google is het O3D framework, dit is een WebGL port van de oorspronkelijke O3D plugin. Nu dus ook te gebruiken als framework bovenop WebGL. Als je hier al bekend mee bent, kan je je bestaande applicaties vlot naar WebGL porten en/of nieuwe applicaties mee bouwen.

Als laatse sluit ik af met de WebGL eyecandy, dus hierbij een lijst van wat WebGL demos. De meeste zijn gemaakt met een van de genoemde WebGL frameworks. Zoals hierboven verteld zijn deze dus alleen te bekijken met Firefox 4 en/of Google Chrome. Klik op de screenshots om het betreffende voorbeeld te bekijken:

WebGL Aquarium

WebGL ImageSphere

WebGL Grass

WebGL 3D video player

En uiteraard mogen de eerste WebGL spelletjes (De ene beter uitgewerkt dan de andere) hier niet ontbreken. Het maken van geluid is geen onderdeel van de WebGL standaard. Gelukkig kan dit wel via Flash, maar uiteraard ook via HTML5. Het is niet gek om te denken dat de combinatie HTML5/Canvas/WebGL uiteindelijk dodelijk blijkt te zijn voor Flash.

WebGL Quake 3 level

O3D pool

PlanetBuster

WebGL Tankworld

Asteroids

WebGL CycleBob

Wloom

WebGL Barfight

dinsdag 10 mei 2011

Google Search Globe en WebGL

Een nieuw speeltje uit de Google Labs, de Search Globe. Dit is een nieuwe visuele weergave die de Google-zoekopdrachten van een dag over de hele wereld visualiseert.

Deze tool is ontwikkeld en ontworpen door de Google Data Arts Team met behulp van WebGL. WebGL is een nieuwe technologie voor moderne browsers die gebruik maakt van uw computer hardware om razendsnel beelden te genereren, met als bekendste voorbeeld 3D-graphics. Voor het bekijken heb je wel een WebGL-enabled browser nodig, zoals de nieuwste versie van FireFox of Google Chrome.

Hieronder de Google Search Globe:

maandag 9 mei 2011

.SVN folders verwijderen

Het kan gebeuren dat iemand een SVN checkout doet van een hele tree en deze vervolgens naar jouw webserver.

Echter vergeten de .SVN mapjes die SVN in alle folders aanmaakt te verwijderen. Slordig. De BASH shell oplossing voor dit probleem is uiteraard:

find . -name ".svn" -type d -exec rm -rf {} \;