RibiCPU v zdrojovom kóde

Dátum: 30.06.2008 11:51 · Kategória: Programovanie · Autor: Richard Biely

RibiCPU v0.27 Ubehlo už pol roka od zverejnenia RibiCPU, malého programu na detekciu CPU a jeho vlastností a schopností. Takisto je tomu asi pol roka, čo som v zdrojovom kóde nezmenil ani čiarku. Teda až do včerajšieho dňa, keď som sa k programu vrátil, riadne na ňom zapracoval a mnoho vecí vylepšil.

Okrem iného som sa rozhodol, že zverejním zdrojový kód, aby si mohol každý, len tak zo zaujímavosti, pozrieť, ako asi taký detekčný software vyzerá. Nejde síce o žiadne veľdielo softwarového inžinierstva (a z mojho pohľadu ide o narýchlo zlepený balast), rozhodne je v ňom ale kus práce a preto dúfam, že ho aspoň niektorí z vás ocenia.

Verzia programu, ktorého zdrojový kód si budete môcť podrobne preštudovať, prináša oproti predchodcovi najmä zmeny v oblasti detekcie mobilných verzií procesorov, mal by už rozpoznať procesory AMD Phenom, ako aj nové embedded procesory Intel Atom.

RibiCPU v0.40Myslím, že program už dosiahol určitú úroveň a nastal preň čas pohnúť sa ďalej a pridať doň novú funkcionalitu. V prvom rade dostane poriadne GUI, výstup do HTML a rozšírenie detekčných schopností za hranice značiek AMD a Intel, ako aj schopnosť detekcie voltáže čítaním z čipov na základnej doske (čo si isté úsilie rozhodne zaberie). Stále sa ale chcem držať pôvodnej myšlienky - má ísť o malý programček, ktorý o procesore zistí všetky potrebné informácie. O CPU sa toho dá zistiť síce omnoho viac, ale o vatu vo výstupnom súbore vážne nemám záujem. Ak vy áno, nič vám nebráni si ju do programu pridať.

Ak budete mať akékoľvek otázky ohľadom zverejnenej verzie, pýtajte sa. Program teraz prechádza rozsiahlymi zmenami v architektúre a funkčnosti (na profesionálnejšiu úroveň) a preto zdrojový kód k jeho ďalším verziám už zverejnený nebude.

main.cpp, cacheinfo.h, datatypes.h, RibiCPU.zip


Aké novinky prinesie PHP 5.3?

Dátum: 22.10.2007 00:01 · Kategória: Programovanie · Autor: PaBi3

Rozhodol som sa vyskúšať najnovší snapshot PHP 5.3, ktorý si môžete stiahnúť na adrese snaps.php.net. Budete mať možnosť byť očarený novými vlastnosťami PHP jazyka. Keď som zistil čo všetko nový snapshot prináša, tak myslím že PHP 6 už nebude žiadnym veľkým prekvapením. Osobne som sa najviac tešil na namespaces. Keď som ich vyskúšal, už som sa tak netešil. Je pekné, že v PHP budete môcť použiť namespaces ale nie tak dokonale ako napríklad v C#. Namespace v PHP je možné použiť iba jeden v jednom súbore.


EditArea - najlepší online editor

Dátum: 21.10.2007 15:18 · Kategória: Programovanie · Autor: PaBi3

Dávnejšie som písal o editore Codepress. Slúži na úpravu zdrojových kódov v elemente <textarea>. V časoch, keď som ho objavil sa mi veľmi páčil. Píšem v minulom čase, pretože som objavil EditArea. Je omnoho lepší ako Codepress a podporuje všetky majoritné prehliadače vrátane Opery. Jeho implementácia je viac ako jednoduchá a kvalita vysoká. Funkciami je naozaj "nabitý". Patria medzi ne záložky (také ako v internetových prehliadačoch), vyhľadávanie (s možnosťou zámeny textu), číslovanie riadkov, skoky na riadok, fullscreen mód, návrat a obnova zmien, zväčšovanie/zmenšovanie písma. Celé ovládanie je príjemnejšie vďaka klávesovým skratkám. Všetky vymenované veci je možné vypnúť alebo naopak niektoré nevymenované aj zapnúť pri konfigurácií. Tento editor je vydávaný pod slobodnou LGPL licenciou a určite ho odporúčam vyskúšať. Pre tých, ktorí si nevedia predstaviť nasadenie takéhoto nástroja som pripravil príklad, ktorý si môžu prezrieť v pokračovaní článku.

EditArea - úprava zdrojového kódu v záložkách
Úprava zdrojového kódu v záložkách.


Ako vyzerá SigmaCMS?

Dátum: 03.09.2007 01:52 · Kategória: Programovanie · Autor: PaBi3

SigmaCMS Dva mesiace voľného času boli venované ΣCMS (alebo inak SigmaCMS). Je to môj vlastný projekt, ktorého účelom je správa obsahu na internete, čiže to nie je nič iné ako CMS. Vynechám podobné reči ako sú na iných weboch o tom ako je ten alebo onen systém iný (lepší od ostatných) a prejdem rovno k veci. ΣCMS, ktorý vidíte nasadený na tejto stránke už nemá nič spoločné s tým, čo vám chcem predstaviť v tomto článku. Tentokrát je ΣCMS prepísaný od základu. Ja viem, že rovnaký osud postihol aj predchádzajúce verzie ale táto je naozaj posledná, pretože sa mi páči jej návrh aspoň z 3/4. Je tam ešte kopa práce, čiže musím dopísať/prepísať pár riadkov. Celý kód je napísaný v PHP5 a je objektovo orientovaný. Po inštalácií si určite všimnete (teda ja, lebo vy si zatiaľ nemôžete), že systém neobsahuje vôbec nič. Nedokáže urobiť absolútne nič okrem vytvorenia statických stránok a aj tie musíte sami písať v XHTML kóde. Všetko sa však náhle zmení, keď si nainštalujete vhodné pluginy. Zrazu môžete napísať článok vo WYSIWYG editore, môžete vytvoriť veľkú galériu, manipulovať s hlasmi v ankete :-), vytvárať ľubovoľný počet stránok v ľubovolnom počte jazykov (vrátane väzieb medzi nimi), prekladať texty (cez GetText) alebo spravovať svoj vlastný internetový obchod.


Zálohovanie SQLite databázy cez PHP

Dátum: 11.06.2007 19:32 · Kategória: Programovanie · Autor: PaBi3

SQLite Je to už dávno, čo som písal skript na zálohovanie databázy. Nie je to žiadny problém, avšak pri niektorých databázach vám napísanie niečoho podobného môže trvať aj niekoľko hodín. Napríklad pri MySQL je to celkom komplikované, pretože musíte zistiť všetky vlastnosti stĺpca, jeho indexy a podobne. Ja som sa vošiel do menej ako 120 riadkov kódu a zatiaľ som nenarazil na nijakú chybu vo výsledku zálohy. Nepochybujem, že s inými databázami bude záloha menej zložitá, avšak pri databáze SQLite áno.


CodePress - Real Time Textarea Syntax Highlighting

Dátum: 20.05.2007 18:08 · Kategória: Programovanie · Autor: PaBi3

Buď nemám čas alebo som lenivý si napísať určité veci sám. Väčšinou ide o „hračky“ ako napríklad syntax highlighting pre <textarea>. Niečo podobné som už hľadal naozaj dlho a aj som to našiel. CodePress je asi prvým skutočne použiteľným nástrojom, ktorý by som (možno) aj použil v nejakej internetovej aplikácií. Dokáže zvýrazniť syntax niekoľkých jazykov rovnako ako to robí váš editor. Je vydávaný pod LGPL licenciou a vznikol paralelne s veľmi zaujímavým projektom ECCO.

CodePress

Po krátkom stretnutí s CodePress som si všimol, že je celkom rýchly narozdiel od niektorých WYSIWYG editorov a podobných oblúd napísaných v javascripte, a preto je naozaj vhodné si ho vyskúšať.


PHP - tvorba PDF dokumentov s diakritikou

Dátum: 11.03.2007 10:49 · Kategória: Programovanie · Autor: PaBi3

PDF dokument Vytvoriť PDF dokument s diakritikou nie je veľký problém, keď viete zvoliť to správne písmo a kódovanie. Pre tvorbu nepoužívam vstavanú PDF knižnicu ale iba skvelú PHP triedu – FPDF. Prináša mnoho výhod ako voľba rozmerov, určenie formátu stránky, odsadenia, záhlavie a spodok dokumentu, automatické zalamovanie stránok a riadkov, centrovanie textu, podpora obrázkov JPEG a PNG, farby pre rôzne elementy, hypertextové odkazy, TrueType, Type1 a podpora kódovaní, kompresia dokumentu (vyžaduje Zlib knižnicu). Osobne si pre PDF volím písmo Trebuchet MS. Je možné použiť aj krajšie písmo, napr. Palatino Linotype ale treba myslieť aj na veľkosť dokumentu. S Trebuchet MS bude mať dokument niečo cez 300kB. S Palatino Linotype vyše 1,2MB. Postup osadenia TrueType písma do PDF dokumentu je celkom dlhý proces. Najprv je potrebné z .ttf súboru vytvoriť metrický súbor .afm. Pomocou .afm súboru ďalej vygenerovať definičný PHP súbor. Posledným krokom je prekódovanie vstupu napr. z UTF-8 (zvolíte vaše kódovanie vstupných dát) do cp1250.


Progress Bar cez JavaScript a CSS

Dátum: 01.03.2007 23:41 · Kategória: Programovanie · Autor: PaBi3

Progress Bar Progress Bar slúži na vyjadrenie aktuálneho stavu určitej činnosti. Stretávame sa s ním denne, či už pri kopírovaní súborov, inštalácií aplikácií alebo na internete. Je možné ho vytvoriť za pomoci krátkeho JavaScript a CSS kódu. Všetko funguje na veľmi jednoduchom princípe s funkciou setTimeout() a 3 elementmi <div>. Vlastná funkcia stats() má 3 parametre. Prvý určuje odkiaľ sa má začať zobrazovať stav, druhý určuje pokiaľ sa má zobrazovať a posledný nastaví čas, za ktorý sa všetko toto udeje. Ďalšou a zároveň poslednou funkciou je process(). Volá sa len cez funkciu setTimeout() a nastavuje šírku elementu <div>. Výsledok si môžete prezrieť tu, stiahnúť tu a zdrojový kód nájdete po otvorení celého článku.


Zmena veľkosti a typu písma cez JavaScript

Dátum: 03.02.2007 11:04 · Kategória: Programovanie · Autor: PaBi3

Písma Nie každému sa môžu páčiť všetky druhy písma a ich veľkosti. Na tejto stránke používam nádherné písmo Palatino Linotype vo veľkosti 12px, ktoré sa používa skôr pre nadpisy ako pre texty. Mnohí sa sťažujú, že sa im zle číta, pretože sú pravdepodobne zvyknutý na zaostalý štandard, akým je napríklad Arial. Ustúpil som ich požiadavkám a vytvoril som skript pre zmenu písma a jeho veľkosti. Funguje veľmi jednoducho. Po zmene písma sa odošlú užívateľovi 2 cookies, z ktorých prvý určuje typ a druhý veľkosť. Tí, ktorí majú vypnutý JavaScript, samozrejme písmo meniť nemôžu.

Sprístupnil som zároveň stránku, na ktorej návštevníci nájdu vyžitie môjho skriptu. Odteraz si na nej môžu určiť sami, aké písmo a veľkosť budú používať na PaBi3.com. Nájdu tam najpoužívanejšie typy písma: Arial, Courier, Georgia, Lucida Console, Palatino Linotype, Tahoma, Times, Trebuchet MS, a Verdana. Táto stránka je samozrejme zbytočná napríklad pre užívateľov, ktorí používajú prehliadač Opera. Tí vedia, že sa veľkosť písma dá meniť pomocou prehliadača alebo môžu rovno použiť ich vlastné userCSS.


jQuery - píšte menej, urobte viac

Dátum: 30.01.2007 22:41 · Kategória: Programovanie · Autor: PaBi3

jQuery jQuery je knižnica napísaná v JavaScripte umožňujúca tvorbu animácií, pohodlnú prácu s events atď. Celý zdrojový kód má po kompresií 19kB. Prítomná je aj podpora pluginov, takže už nebudete musieť písať dlhé zdrojáky, ak budete chcieť vytvoriť slideshow, popupwindow, treeview, tooltips, tabs, sliding menu, ajaxUpload a stovky ďalších vecí. jQuery je vydávaný pod licenciami GPL alebo MIT. Použitie je veľmi jednoduché a pochopí ho každý, kto má minimálne znalosti JavaScriptu a CSS.

Aj napriek stúpajúcemu priemeru IE7 má drvivá väčšina ľudí ešte stále nainštalovaný IE6, ktorý nepodporuje niektoré pseudo triedy v CSS. O nápravu sa jQuery dokáže veľmi rýchlo postarať. Zoberme si napríklad [http^=...]. Používa sa najmä na externé odkazy. Cez jQuery sa dá nahradiť táto pseudo trieda jediným riadkom (pokiaľ nerátam celú knižnicu).