Archive forMarch, 2006

Darin isn’t what he used to be

På jobbet har vi små tavlor utanför kontoren där man kan skriva nyttiga saker, såsom “På kurs” och så. Men det är ju mycket roligare att skriva något fyndigt på sin tavla - eller ännu bättre: Att skriva något fyndigt på någon annans tavla.

En kollega hade lite fyndigt skrivit: “Nostalgia isn’t what it used to be”. Men det var för enkelt så någon ändrade det till “Norway isn’t what it used to be”. Det var nog en hel del som gick förbi hans kontor och undrade vad i hela världen han pratade om. Nåja… Det fortsatte med “Norway isn’t where it used to be”, “Hemingway isn’t what he used to be”, och sist: “Darin isn’t what he used to be”. Darin
Nåja. Intresseklubben noterar eller nåt.

Imorgon så ska det tapetseras, inhandlas hallmatta, lagas mat och kanske köpas lite datanprylar. Sedan måste jag lära mig programmera för Symbian också. Know your enemies ;)
Lina har lagt fram också - grattis Lina! Välkommen till verkligheten (nja, så nära som vi kommer den). Nu har hon all tid i världen på att fixa till www.linablom.se :)

Imorgon är det också dags för Apple att släppa lite nya coola produkter på sin 30-års-dag. En video-ipod till lilla moi?

Comments

Filtering subpixel rendered FreeType text

Subpixel rendering is technology for creating smooth text readable at low sizes on LCD displays. In Windows XP, this is known as Cleartype, but the more general name is “subpixel rendering”. How it works in detailed can be read at the previous link, or at grc.com (a good resource for this topic)

But the problem I was facing today was that even though FreeType gives you a lot for free (using FT_Render_Glyph and specifying FT_RENDER_MODE_LCD), the results are not as pretty as the results from ClearType due to extreme colour fringing. They are actually really ugly, and the solution is to perform a low-pass filter stage after rendering. The FreeType crew is very well aware of this, but thinks that the filtering should be done by the application, but how?

The problem has been explained and solved earlier, but there are few direct approaches. The idea is to look at the neighbour sub-pixels (not pixels as I first thought) and let them impact the value of the subpixel you’re currently looking at. If we want to filter the green part of a pixel in a RGB-screen (look at the images at the previous articles), then we must add some of the colour value of the left subpixel (which is red) and the right subpixel (blue). For even better results, we can expand this to more pixels to the left and right.

Ready for the solution? If we assume that you’ve rendered all your glyphs to a buffer, you can use this (python inspired) pseudo-code to perform a low-pass 5-tap FIR-filter:

; source is the buffer where the glyps are rendered using FT_RENDER_MODE_LCD (not the actual slot->bitmap one though!)
; dest is a buffer as big as the source buffer.

c = (1, 2, 3, 2, 1) ; Use any number you want, but a centered distribution will give better results
c = c / sum(c) ; (1/9, 2/9, 3/9, 2/9, 1/9)

for y in rows(source):
for x in columns(source[y]):
dest[x, y].Red = c[0]*source[x-1, y].Green + c[1]*source[x-1,y].Blue + c[2]*source[x,y].Red + c[3]*source[x,y].Green + c[4]*source[x,y].Blue

dest[x,y].Green = c[0]*source[x-1, y].Blue + c[1]*source[x,y].Red + c[2]*source[x,y].Green + c[3]*source[x,y].Blue + c[4]*source[x+1,y].Red

dest[x,y].Blue = c[0]*source[x, y].Red + c[1]*source[x,y].Green + c[2]*source[x,y].Blue + c[3]*source[x+1,y].Red + c[4]*source[x+1,y].Green

This assumes that the screen has its pixel in a RGB-order. For the edge pixels, where x-1 or x+1 isn’t available, the center pixel (and colour) can be used instead.

You might want to try to play with the coefficients, c, to try other weights.

Comments (1)

Siamesisk banan

Siamesisk banan

En sökning på Google efter “siamesisk banan” ger 1 träff, och det är en norsk länk. Söker man på “siamese banana” så får man lite mer träffar (149 stycken, men alla handlar inte om fenomenet), men det är inte mycket. Så vem vet - jag kanske har Sveriges Första Siamesiska Banan! Jag såg att en annan siamesisk banan hade sålts på Ebay för $5, men det är inte värt besväret.
Men jag vågar inte äta upp den ;) Den är ju trots allt muterad.

Nu har jag än en gång bytt bloggprogramvara och nu är det Wordpress som gäller. Det är lite mer dynamiskt och har stöd för en hel del. Jag har en del problem med de gamla bilderna, och så har jag inte orkat ändra defaulttemat än. En sak i taget.
Jag kommer varva med lite engelska inlägg då och då när jag känner för att sprida information som sökmotorer och resten av världen ska kunna hitta. Mest när det gäller programmering, teknologi och annat coolt.

Comments

Bensinförbrukning: 50 liter/00 km

Jefla Malmö.

På radion igår så rapporterades det om polacker som lockas med jobb, men tvingas att stjäla. Tydligen så var det en handfull familjer i Malmö som organiserar det hela - idioter. Men jag tänkte inte så mycket på det, och satte på min kaffekokare igen.

Johan och Birgitta hade lånat min bil under helgen, och som tack så skulle de fylla upp tanken och parkera bilen på samma gata som jag bor - en liten gata i centrala Malmö som brukar vara lugn, förutom alla lastbilar som kör förbi varenda morgon på väg till ICA för att lämna varor. De återlämnade bilen vid ~15 (skulle jag tro).

Bensinmätaren ville inte riktigt vakna när jag skulle köra från bostaden på väg till jobbet klockan 0730 på morgonen, men jag tänkte väl att Johan bara hade glömt bort att tanka - lätt hänt. Men inte ska väl bilen dra 50 liter (en full tank) på bara 50 mil? NÄ, FÖR NÅGRA JÄVLA IDIOTHELVETEN (ursäkta) SLANGADE ALL BENSIN FRÅN MIN STACKARS FÖRSVARSLÖSA BIL.

Vilken värld lever vi i egentligen? Nu vill jag __verkligen__ ha kameraövervakning exakt överallt på de publika utrymmena i centrum. De som nämner något om “personlig integritet” kan självdö. Ni har säkert bara något själv att dölja. Det här kommer kosta mig runt 600 kronor och har inneburit att jag knappt vågar parkera bilen vid min bostad längre… APOR.

Jag skulle verkligen vilja sätta ut en fälla nästa gång… En webbkamera, ett hagelgevär och lite smart bildigenkänning. Men det är ju olagligt så jag avstår. Jag har fått en del andra tips genom frenetiskt googlande - som att låta vanliga tankhålet leda till en tank med farliga saker och att ha ett annat tankhål till riktiga tanken, så att när APJÄVLARNA slangar så får deras bil skit i sin tank som gör att bilen exploderar (eller bättre).

(notera att jag ingenstans nämner att det var just polacker som gjorde detta. Två helt olika paragrafer.)

Dagens höjdpunkt är iaf denna signatur som jag hittade på slashdot: “The problem with Wikipedia is that it only works in practice. In theory, it can’t possibly work.” Wikipedia är bra.

En annan höjdpunkt var att läsa om 76-åringen som åtalas för nedskräpning och måste böta (den enorma summan) 100 kronor. Jag står på hennes sida! Har man väl tagit sig till en återvinningsstation så *vill* man göra något gott för miljön. Om nu kommunen vill förhindra detta så är det väl deras problem? Ge och ta, liksom.

Comments

Sommartid i snö

Vem som nu har bestämt att vintertid och sommartid är en bra idé vet jag inte. Nåja, någon gång när vi alla var bönder så fanns det nog en anledning att anpassa sig till när solen gick upp (men då gick man också upp klockan 5 på morgonen), men nu … Kan vi inte bara flytta fram klockan en halvtimma istället och sedan glömma bort den här ritualen?

Jag läste på Correns diskussionssida om en stackare som hade problem att ställa om klockan vid övergången till vintertid. Då han inte lyckades så valde han att ställa fram alarmtiden istället - för då blir det ju samma effekt. Nu visade sig att anledningen till att han inte lyckades ändra tiden på klockan var för att den var en radiokontrollerad klocka. Så klockan 0300 så ställde klockan själv om sig och drog tillbaka en timma vilket resulterade i att hans alarmtid nu verkligen var en timma försenad. Inte lätt att bortförklara som han skrev i inlägget.

Det snöar. Stora vita flingor trots att någon sa att Skåne låg i södra Sverige, och att södra Sverige har det varmare än genomsnittet. Larv!. Den enda fördelen jag kan tänka mig nu är att fästingarna hatar kyla och självdör av samma anledning. För fästingar har ingen anledning att leva. Fågelmat är väl allt de är. Förresten - allt som är litet och elakt här i världen (spindlar, fästingar, flugor, …) har som enda syfte här i världen att bli fågelmat. Vi har nu en möjlighet: Ta fram ett gäng superfåglar som äter upp __alla__ äckliga insekter, vilket leder till att både insekterna försvinner och att fåglarna sen dör av svält. Ingen mer fågelinfluensa och inga äckliga insekter.

Nu ska jag iväg och prova hur Netto är som matvarubutik. Tydligen var den billigast i DNs senaste test.

Comments

Bitterhet och sarkasm!

Nog skulle livet vara mycket trevligare om alla bara var snälla mot varandra och inte hade något negativt att säga alls, men ack vad tråkigt allt skulle vara då!

De som känner mig (eller iaf vet vem jag är) vet väl att jag brukar vara rätt positiv och glad, men gärna kastar ur mig hårda åsikter om någon detalj här i livet som suger lite väl mycket i dagsläget. Såsom skånetrafiken (Som av någon anledning alltid lyckas vara 30 minuter försenade när bussarna ska gå med tio minuters mellanrum - mer om det i ett annat inlägg), överförmyndarstatsidioti (långa ord är bra för dig), byråkrati… och fjortisar. Och äntligen har knappnytt gjort en ny film (nej, de hade inte gjort en ny film, det var bara jag som var ouppdaterad), och de är klart mer bittra än vad jag någonsin kommer att bli. Filmens tema är fjortisar och tar upp både lunarstorm (oj oj oj… ytterligare ett ämne jag kan dra många inlägg om), stavning (ojojojojoj!), darin (warning, core overload), och … nä, nu vågar jag inte skriva mer, för då slutar jag aldrig.

Jag ska bli mer bitter i min blogg. Det är klart roligare att läsa om sånt än det gamla vanliga “idag var allt jättebra och solen skiner och …”, nä, för det gör det inte här i jefla istidsskåne. Ge mig den där växthuseffekten nu som alla miljönissar pratar om hela tiden! Larv! Larv!

Comments

Third Story

Första inlägget med en ny programvara och den här gången tänker jag inte göra allt själv ;) För det här är trots allt det tredje försöket att få ut lite åsikter, men i de två tidigare försöken har jag mer varit intresserad av tekniken bakom bloggen än innehållet - skevt…

För en riktig datanörd (som jag hävdar att jag inte är!) måste ju självklart göra allt själv. Att installera något färdigt är detsamma som att erkänna att man inte “kan göra bättre själv”, så det gör man inte i första taget.

Den första versionen var en plugin till min då halvkrångliga CMS. Den använda häftiga inneord som XML som parsades i ett PHP-script med den då nyframtagna SimpleXML-modulen… Fina ord, men det gick ut på att den som skrev ett inlägg var tvungen att skriva hela XML-innehållet också - med taggar. Detta eftersom det var mycket roligare att skriva själva programvaran än att skriva en ordentlig webbfrontend så att den gick att använda ;) Hela experimentet föll på det.

Andra versionen är fortfarande tekniskt superb. Det var en ren fotoblogg (nåja, den kunde mer därtill, men …) som gjorde hela bloggen dynamiskt av en katalog med bilder. När jag ville skriva ett inlägg så laddade jag bara upp en bild till blogg-katalogen så blev det ett inlägg där. Smidigt! All information som titel och brödtext hämtades från bildens IPTC-taggar (googla ni!) och om man använde ett program som Capture One Pro så var det en någorlunda lätt uppgift… Men att skriva ett kort inlägg om ingenting och bara genom att använda en webbläsare gick inte. För någon webbfrontend fanns inte :) Tekniken viktigast där också.

Iaf - Nu har jag installera MovableType och jag har stora förhoppningar om att kunna göra inlägg här på ett smidigare sätt. Trots att det är skrivet i Perl ;) (nu kom tekniknörden fram ur mig igen)

Comments