Vandaag las ik de nieuwe features van Android 2.0 (de telefoonsoftware van Google). In een reactie zag ik Google Voice staan, blijkbaar alweer een nieuw product van Google. Google wilt op alle vlakken de grote jan spelen. Internet, telefonie, mail, besturingssysteem, … noem maar op. Zoals we afhankelijk zijn van Microsoft zijn, komt dit ook nog van Google (als dat al niet is). Het positieve is dat Google wel klasse producten uitbrengt, opensouce en gratis.
Is er iets dat Google niet doet…
Geplaatst in Google | Tags:Google Voice
x bits uit een bitstream halen
Ik was bezig met ethernetframes aan het decoderen tot ik mij plots het volgende afvroeg: kan ik de derde en vierde bit van een byte lezen en hoe? Ik weet dat er in de programmeertalen bitwise operators bestaan. Stel dat ik een stream heb van 12 bits en bit 6,7,8 en 9 wil lezen (vier bits dus vanaf positie 6 en positie 1 is uiterst rechts). Het volgende stelt die 12 bits stream voor. De vetgedrukte bits zijn degene die ik wil uitlezen.
0100 0011 1001 (hex: 0×439)
Eerst gaan we de bits rechts wegdoen tot we de eerste bit op positie 6 hebben. Dus de eerste 5 bits vliegen weg.
0100 0011 1001 >> 5 geeft 0100 001 (1)
In een tussenresultaat shift ik de bits weg die ik wil uitlezen en vervang ze door nullen. Dat geeft het volgende tussenresultaat.
0100 001 >> 4 << 4 geeft 0100 000 (2)
Dan trek ik (2) van (1) en bekom ik het getal dat die vier bits voorstelt.
0100 001 – 0100 000 = 0000 0001
Eigenlijk zouden die eerste twee bits nog weg moeten maar dit is onrelevant aangezien we ons resultaat hebben.
Nog een voorbeeldje van bits shiften om te kijken of de derde bit van een gelezen byte gelijk is aan 1 (bv om een flag te controleren).
01011101
01011101 >> 2 geeft 010111 en we gaan die ‘ennen’ met 000001 en dat geeft dan ofwel 1 ofwel 0 als resultaat. In één bewerking kan je een vlag als volgt controleren.
(01011101 >> 2) & 1
Geplaatst in IT wereld | Tags:and, bitwise operaties, leftshift, rightshift
De prijzen bij coca-cola
Als je je even verveelt, begin je zaken als volgende te berekenen. Ik zag op een prijslijst een blik cola voor €1.2 en een flesje voor €1.6. Een blikje bevat 33cl drank en een flesje 50cl. Een kleine berekening zegt ons dat 17cl maar €0.4 kost. Dat is €0.02/cl. We rekenen nu terug en komen uit dat een blik maar €0.66 kost en een flesje €1. Met andere woorden minstens 37% winst per blik/fles.
Butters: draft 3
Omdat draft 2 van Butters ietsje teveel voorstudie vereist en te groot is voor een persoonlijk (jullie mogen hem ook gebruiken hoor
) framework, heb ik een derde draft gemaakt. De taal wordt PHP omdat mijn hosting geen Python ondersteund en ik geen server ga huren speciaal voor Python. Het framework wordt een Modulair MVC design. De belangrijkste componenten zijn:
- Application: configuratie en dispachting proces
- Page: controller aspect van MVC
- Router: zoekt uit welke Module, Page en Action en URL parameters op.
- View: beheert de layout en view scripts.
- Model: het model aspect (Model_Database -> Model_Database_MySQL en Model_File)
- Output: bepaalt de content-type en echo’d de view data.
Eenmaal het framework af, kan ik dit gaan toepassen voor mijn cursussysteem.
Geplaatst in Butters, Eigen creaties | Tags:butters
First in Belgium!
Het is al een tijdje geleden dat ik nog iets plaatste over de groentenwereld waar ik me af en toe in vertoef. Me broer zijn tuinbouwbedrijf is al grote week het enige bedrijf in België dat een oogstmachine heeft voor radijzen. De overige mensen kruipen nog steeds op de grond. Het is een oogstmachine die handmatig gemaakt wordt door het nederlands bedrijf Koppert. Het is een bedrijf dat zich specialiseert in zaai-, oogst-, was-, transport- en verpakkingsmachines voor radijzen, bloemen en uien. Ze zijn de enige ter wereld die zo’n machines maken, voor degene die er ook één wilden uitvinden zijn te laat vanwege de patenten. De machine telt 9 armen en is vergezelt met drie sensors die de armen automatisch omhoog of omlaag doen om de radijzen uit de grond te halen. Vervolgens wordt het geheel door scanners gebracht om het aantal radijsjes te tellen. Achteraan worden ze verzamelt en automatisch gebundelt. Er zit ook een touchscreen scherm om alles te regelen wat je maar kan denken. Hier zijn de foto’s die ik getrokken heb van het hele gebeuren.
Code design discussie’tje
Op een website, waar ik regelmatig kom, stond een PHP script functie met volgende functie voorschrift:
array array_map_recursive (array $array, string $function [, string $function [, string $... ]]);
In de code bovenaan zijn functie stond het volgende:
$arguments = func_get_args();
if (!is_array($arguments[0]) && is_array($arguments[1]))
{
$temporary = $arguments[0];
$arguments[0] = $arguments[1];
$arguments[1] = $temporary;unset($temporary);
}
Hij maakt het mogelijk om de eerste parameters om te draaien. Toen ik reageerde dat dit een serieus gat is in zijn design kwam deze reactie.
Verder is het omdraaien van de argumenten toegestaan omdat veel PHP functies dit ook doen
Nu blijkt het dat explode en implode dit doen (what the crap dacht ik ff) maar hij wilde backwards compatibiliteit verzekeren. Volgens mij verander je de volgorde van parameters niet zomaar tenzij je een situatie hebt waarin je de middelste parameter verwijdert of optioneel maakt en dus naar achteren schuift. Voor een beetje leven in de reacties had ik graag jou mening gelezen hierover. Mag je de gebruiker de volgorde van de parameters zelf laten kiezen of niet en waarom?
Geplaatst in IT wereld | Tags:code design, PHP
LAMP scriptje
Dotted UBB op Google Code
Ik heb het advies van Devkid zijn reactie opgevolgd en heb een Google Code project aangemaakt. Heel makkelijk om je project online te plaatsen.
http://code.google.com/p/dotted-ubb/
ps: aan dat gebrekkig engels wordt gewerkt en ook het commentaar moet nog in het engels.
Geplaatst in Eigen creaties, Google | Tags:DUBB
Dotted UBB
Twee jaar had ik een idee om een nieuwe vorm te geven aan de UBB manier van typen. In plaats van de tags [b]zo[/b] te typen, wilde ik ze zo.{b} laten typen. Dat typt sneller en makkelijker. Sinds vandaag, me eerste nerd moment van deze vakantie, is de code afgewerkt in PHP. Hieronder staan enkele voorbeeldjes van hoe je het kan gebruiken.
woord.{b}
woord.{b , i}
woord.{b , color(‘#f00′)}
[enkele woordjes stijlen].{b , url(‘http://www.google.com’ , ‘Een zoekmachine’) , i};
De PHP code kan je downloaden in het volgende ZIP bestand. Om tags toe te voegen moet je maar kijken in de map Tag naar enkele voorbeelden.
http://files.getdropbox.com/u/1056571/DUBB.zip
Ik ben benieuwd wat je van de nieuwe stijl vind. De grote uitleg staat in het bestand DUBB.php in commentaar. Er zit ook een example.dubb.php bij als voorbeeld. Bij vragen laat een reactie achter of mail mij.
Geplaatst in Eigen creaties | Tags:DUBB, UBB
Gnome 3
Ze zijn bezig met Gnome versie 3 en het ziet er alvast goed uit. Hier zijn alvast vier screencasts.
http://live.gnome.org/GnomeShell/Screencasts
Ben benieuwd wanneer die zal uitkomen en hopelijk blijft hij snel ondanks al die effecten.
Geplaatst in IT wereld, Software | Tags:gnome, screencast




