Vesa Piittinen

Archive for the ‘Ohjelmointi’ Category

Töiden jatkuminen ja kolmen päivän viikonloppu

Monday, February 2nd, 2009

Tänään sitten kirjoitellaan jossain välissä uusi työsopimus. En vielä tiedä ihan kaikkia yksityiskohtia, mutta selvää on että jatkan osa-aikaisena: viiden päivän sijaan olen töissä vain ma – to! Tämä sopii minulle paremmin kuin hyvin, vihdoinkin ohjelmoinnille on oikeasti aikaakin. Normaalisti viikonloppu menee pitkälti siihen, että ensimmäisen päivän palautuu ja toisen päivän tuhlaa siihen mihin vaan voi.

Olen palannut myös takaisin Konnun parissa värkkäämiseen. Käärmeen haku koki uudistuksen ja on nyt oikeasti jopa käytettävä. Käyttö että ohjeistus muuttuivat selkeämmiksi. Pienestä nopeuslisästäkään ei ole suinkaan haittaa! Teen pieniä muutoksia nyt kai lähiaikoina useampiakin, suuria muutoksia varten on… suuremmat suunnitelmat.

phpBB2 on nyt virallisesti kuollut. Tuki on päättynyt kokonaan, viralliset foorumit on suljettu. Tämä tarkoittaa sitä, että hyvä kevyt muokattava foorumisofta on nyt sitten historiaa. phpBB3 on liian järeä minulle. SMF ei sovi makuuni. vBulletin maksaa. Muitakin vaihtoehtoja on, runsaasti, mutta niissä on aina jotakin, joka ei kelpaa omaan makuuni. Tämä on jo pitkään kutkuttanut mielessäni ajatusta alkaa työstää omaa foorumisoftaa  käyttäen pohjalla phpBB2:ta modernisoiden ja yhtenäistäen. Kyseessä on kuitenkin valtava urakka, voi olla että voi olla järkevä pudottaa tuki monille erilaisille tietokannoille jos työn oikeasti aloittaa.

Setting targets for Goldpanda

Wednesday, January 21st, 2009

As many may know, IRC isn’t as popular as it used to be: the total amount of users has been degreasing the last few years. IRC isn’t really dying, but it isn’t just up with the competition in ease of use and features. One of the main reasons for lacking ease of use and features is that all things besides the very core IRC features depend on which ircd server software is in use. There are tons of ircds and pretty much none is compatible with another. Take user authentication as an example: most networks use NickServ. However, even the registration scheme varies: some require e-mail, some don’t, some require nickname, some don’t. Some identify with IDENTIFY, some use AUTH. Then we have this whole business of Q and L over at QuakeNet, not to forget EFnet and IRCnet that simply have no such service.

Personally I like IRC. There is nothing wrong with the default view you can see: channel messages, userlist and an output field. However, when you start thinking about things such as nickname registration and consider how much easier it would be via a graphical user interface you can see why IRC is failing. Also, there is DCC for file sharing that too often does not work. MemoServ for offline messaging is a great idea, but it simply does not work easily enough. I’ve received a whopping two memo messages in my entire life and that happened years ago. I’m not about to even try figuring out how to send one. The receiver is unlikely to understand how a MemoServ works anyway.

This lead me to IRC+. It would really simplify the life of an IRC client developer who wants to create an easy to use GUI driven program. At the moment it looks I have a really big mountain ahead of me if I ever want to really cut into the ease of use. There is also some more information over at PSYC’s wiki that one may find interesting. I’ve already made my mind on adding support for IRC+. Hopefully I’m able to find something to test it with… PSYC, I guess, does support it, but that means I have to go ahead and install software. Love the life of a developer…

Goldpanda’s visual progress

Sunday, January 18th, 2009

Screenshots may tell more than a lot of words…

Goldpanda 2009-01-18

Update on 2009-01-19:

Goldpanda 2009-01-19

You can’t probably tell, but I switched the whole method of drawing the background, it is now much faster and easier to maintain :)

Restoration of Goldpanda project

Wednesday, January 14th, 2009
    

Goldpanda Creating a good IRC client has been a long term dream I’ve had for many many years. I think I made my first client back in 2001 when I didn’t yet have a good picture of the IRC protocol. The name Goldpanda has been on the project since 2004 or 2005, but I never got quite anywhere despite making pretty good partial solutions here and there. The main problem I had was the lack of Unicode support in VB6. One thing lead to another and I ended up learning tons of things about Unicode, and at the same time learned tons of Windows API, COM etc. as I made VB UserControls.

This year I finally decided it is time to get some direction. I’ve had more attempts on Goldpanda than I have fingers and none of the attempts ended due to lack of skill: I simply had the wrong tool for the goal on mind, lack of time and interest that kept on jumping back and forth between various projects and things. I’m now working on a new attempt with REALbasic. The road will be pretty long and I have a lot to learn on REALbasic: the language in itself is rather familiar, but there are things specific to REALbasic that are still unknown to me. I’m also trying to use one strong feature of REALbasic that simply wasn’t possible with VB6: multiplatform development. I hope that I’m eventually able to release a version that works fine on Windows, Linux and Mac OS X. That will eventually mean some level of investment, because the Professional version of REALbasic costs a salty 500 euros (VAT included).

In more technical terms I’ve been spending time on getting the core structure right. Being the first few days on REALbasic this is a great challenge, especially as I do want to get it right. If the core doesn’t go right with all the classes and their interaction and data flow I end up wasting time. I want to get networks, servers, channels and private messages linked in a tight fashion so that when something goes wrong I can do exactly the wanted behavior. On other hand I won’t have a problem with the actual IRC protocol: during the years it has become more than familiar with me. I also know ISupport and identd that are related technologies, often overlooked in other minor scale IRC projects.

On interface side I’m greatly inspired by the good ideas seen on Firefox and Chrome. Thus GUI will be on the minimal side, but powerful. At least that would be the goal.

 

REALbasic

Tuesday, January 13th, 2009

Otin REALbasicin kokeiluun. Totesin että pidemmän päälle tarvitsen VB6:lle lopulta korvikkeen, joten olen nyt viettänyt tämän illan REALbasicin parissa. Sekä hyvää että huonoa löytyy. Tällä hetkellä kärsin vielä varsin pahasti monista negatiivisista seikoista, jotka REALbasiciin liittyy: maksullisuus (91,50 euroa on suht kova summa), vaikeudet maksaa (vain luottokortti kelpaa, Electron ei vielä ole mennyt lävitse… piti kokeilla), ohjelmointipuolella taas minulla on vaikeuksia saada aliluokat toimimaan tarkoitetulla tavalla, tällä hetkellä paras saavutus on ollut saada ContainerControl toimimaan (joka vaatisi 500 euron satsauksen!), mutta tavanomaisen EditFieldiin perustuva luokka ei vaan jostain syystä näytä muuta kuin mustaa kun sen ikkunaan piirtää. Käännetyssä ohjelmassa näkyy vain tyhjää.

Kääntäminen on myös hidasta puuhaa. Saa odotella tovin jos toisenkin, jotta voi kokeilla muuteltua ohjelmaa. Pieniä kokeilukorjauksia ei pysty oikein harjoittelemaan, mikä tekee kielen oppimisesta työlästä. Kääntäminen on myös pakollista, jotta saa ilmoituksia syntaksivirheistä.

Kokeilin myös kuvakkeiden asettamista. Olin tehnyt valmiiksi kivan ICO-kuvakkeen, mutta hämmästyksekseni REALbasic nappasi siitä vain 128 x 128, 48 x 48, 32 x 32 ja 16 x 16 -kokoiset kuvakkeet täysvärisinä, plus kolme viimeistä lueteltua 256-värisinä. 16-väriset eivät kelvanneet ja alphakanava muuttui kaksiväriseksi maskiksi. Minun täytyi tehdä mustavalkoinen 256-värinen PNG-maskikuva, jotta sain kuvakkeen alphakanavan kuntoon! Kerrassaan työlästä puuhaa. Onneksi ICO-kuvakkeesta sentään otettiin kaikki mahdollinen irti kertaliittämisellä. IcoFX:llä piti sitten exporttia PNG-kuvia, ja sitten ripata niistä maskit toisella ohjelmalla.

Saa nähdä pääsenkö millään lailla vauhtiin projektini kanssa. Paljon haasteita edessä jos meinaa tosissaan opetella REALbasicin. Lisäksi projektini ei ole yksinkertaisimmasta päästä; olen masokisti, mutta se on onneksi vain minun ongelmani.

Kuvakkeita FreeBASIC-ohjelmoijille

Sunday, January 4th, 2009

Jaksoin nähdä hieman vaivaa ja työstin kuvakkeita FreeBASIC:ia silmällä pitäen:

Sijoittelin ensin kuvakkeita FreeBASICin keskustelualueelle, mutta tänne vain pistän linkin pakettiin jossa on kaikki tähän mennessä tehdyt kuvakkeet. Lataa kuvakepaketti (388 kt).

English summary

I’ve made an icon set for FreeBASIC. See topic at the official forums or download all (388 kB).

Uusi telkkari ja sairaana töissä

Monday, December 15th, 2008

Tässä viimoiset viikot ovat olleet työn suhteen varsin hitaita. Satuin yhdellä viikolla olemaan 16 tuntia muutamana päivänä jalkojen päällä, joka pakotti ensin olemaan ajamatta pyörällä töihin ja lopulta kävelykin vaihtui autokuljetukseen (ylirasittumista ennakoivasti). Nyt sitten viime viikon torstaina alkoi taas tuntua sen verran hyvältä, että vaihdoin takaisin kävelyyn. Torstai ja perjantai sujuivatkin suht hyvin työn osalta; ongelmaksi vain jäi se, että perjantaina alkoi ilmaantua sairastumisen merkkejä ja lauantaina sitten pötkötinkin sängyn pohjalla pitkälle päivään kurkkukivun ja päänsäryn vaivaamana.

Sunnuntaina vointi oli parempi, mutta lihasten käyttö tuntui tukkoiselta. Ja sitten pomppasin tästä huolimatta maanantaina töihin, autokyydillä. Valitettavasti Incánus (kämppis mikäli asia ei ole tiedossa) sai vihdoinkin edes vähän töitä, mikä tarkoitti kävelyretkeä takaisin töistä kotiin. Päivä meni juuri odotetulla tavalla, hitaasti ja tukkoisesti. Pää onneksi oli pitkälti normaalissa kuosissaan. Tietokoneilla tuntui olevan huono päivä töissä, ja sainkin muutaman kaipaani lisätauon.

Olo ei nyt ole kehuttavimmasta päästä. Nenä on tukkovuodossa ja olo tuntuu kuumeiselta, mutta oikeastaan ainut kuumeeseen viittaava on se, että mittasin muistaakseni ensimmäistä kertaa tänä vuonna yli 36 asteen lämmön. Se siitä kuumeesta. En usko että pelkällä nuhalla pystyy itselleen kalastelemaan sairaslomaa.

Iloisempina uutisina tuli hankittua uusi telkkari. Ruudulle tuli vähän lisää kokoa, 32″ pitäisi riittää reilusti tarpeisiin. Samalla tarkastin että kaikki tarpeelliset liitännät löytyvät sekä tietysti ruudun tarkkuutena on 1920 x 1080, eli se niin kutsuttu Full HD. Nätiltä ainakin täystarkkuusvideot näyttävät, ei ole moittimisen sijaa. Samalla myös sai todeta, että venytysalgoritmit ovat kunnossa, eli kuva venyy oikein nätisti täyteen tarkkuuteen. Suurin ongelma tällä hetkellä ovatkin sitten ääniliitännät, eli vaikka liitäntöjä löytyy, niin niistä tulee valitettavan kova signaali: subbari huutaa älämölöä pienimmälläkin asetuksella! Ensisijaisin ajatus olisi hankkia vahvistin, mutta ehkä järkevintä olisi kääntää liitännät nurinkurin ja pistää telkkarin ääni kulkemaan tietokoneen kautta. Se on sitten ehkä huomisen hommia se.

Viimoisina sanoina voinen pistää, että aloin eilen hetken mielijohteesta kirjoittaa PHP-ohjelmointiopasta, joka aloittaa aivan tyhjästä eli olettaa ettei lukija ole aiemmin ohjelmoinut. Saa nähdä miten sen käy.

Miten niin en kirjoita usein?

Wednesday, October 1st, 2008

Elo on taas tasaantunut loppukesän ja alkusyksyn isojen muutoksien jälkeen. Töissä käydään tasaista tahtia, vapaa-aika mitä on kuluu puuhaillen satunnaisia ohjelmointipuuhia (tosiaan toimii erittäin hyvin harrastelupohjalta nyt kun sen päätöksen on tehnyt!), kissan kanssa menee huomattavan hyvin tätä nykyä ja yhteiselo tuon erään toisen herran kanssa on ollut yllättävänkin kivutonta tähän asti. Näin päällisin puolin asiat ovat siis kunnossa. Tämän hetken suurin ongelma on taloudellinen: vaihto työttömyydestä työllisyyteen tekee kipeän parin kuukauden tauon ilman tuloja, joten rahallisesti tekee todella tiukkaa. Huomenna pitää käydä Kelalta anomassa takaisinmaksuaikaa ylimääräisestä asumistuesta. Jos se lähtee pois liian aikaisin, niin ei ole varaa maksaa tämän kuun vuokraa ja laskuja. Ensimmäinen palkka tulee vasta kuun loppupuolella.

Kuntoni on kohonnut huomattavasti. Jaksan nyt todellakin kävellä koko työpäivän + siihen päälle sen mitä asiointeja on, eilen jopa hölkkäsin ja sitäkin kesti tehdä yllättävän paljon verrattuna siihen, mihin olen tottunut. Muutamia hölkkäspurtteja tekemällä ja hetken aikaa kävellen ei ollut ollenkaan tuskaista kulkea. Lähestulkoon siis pelkästä kävelemisestä koostuva työ siis riittää kunnon kohottamiseen mitä parhaiten. Jos tämä työ ei jatku, niin täytyy vain toivoa että saan jonkin toisen vastaavanlaisen työn tästä suht läheltä!

Viikonloppuna on luvassa miitti. Sitä varten kokkasin sunnuntaille asti itselleni ruuat valmiiksi. Valikoimani on monipuolinen: perunamuusia ja jauhelihaa, perunamuusia ja kanapullia, perunamuusia ja jauhelihapihvejä, perunamuusia ja erilaisia jauhelihapihvejä. Mutta hei, tulen syömään kunnolla miitissä, kerrankin! Ei mitään mikropitsoja tai vastaavia vaan ihan kunnon kotiruokaa. Noin muuten en sitten tiedä miten miitti sujuu, ja varsinkin miten viikko miitin jälkeen sujuu. Voi olla että saatan olla hieman kovilla tovin jos toisenkin.

Aloin tässä myös pelailla Final Fantasy XII:ää kolmatta kertaa alusta. Ensimmäinen peli jäi kesken kun joululomani päättyi, toinen peli jäi kesken viiden viikon pelailun jälkeen (Konnun väkertäminen keskeytti sen) ja nyt tämä kolmas pelikerta tulee olemaan hidasta puurtamista: hyvä jos on tunti päivässä uhrata pelille, jonka kokonaiskesto nousee helposti useampaan kymmeneen tuntiin (varsinkin minun pelityylilläni, joka siis on tietysti “mieluummin helposti kokemuksen voimalla kuin vaikeasti liian alhaisen tason hahmoilla”). Basch on vasta tullut mukaan tiimiin, siltä pohjalta sitten jatkan kunhan taas ehdin pelin pariin palata.

All Basic

Monday, August 18th, 2008

Kaikkeen sitä vahingossa sotkeutuu. Kuten jo aiemmin kerroinkin, FreeBASICin foorumeilla yksi etsi väkeä sivustolleen, jonka päätavoitteena on esitellä kaikenmoisia BASIC-kieliä. Sattumoisin tämä sattuu yksiin omien intressieni kanssa, ja arvostan BASICia kielenä enemmän kuin useimmat ohjelmoijat. Muutamien ehdotuksien jälkeen päädyinkin sitten työstämään ulkoasua sivustolle sekä vastaamaan vanhan Visual Basicin asioista. Saakin nähdä miten paljon tässä intoutuu lopulta… ulkoasu minkä olen saanut lopullista toteutusta vaille on varsin hyvän näköinen.

Mömmöm

Tuesday, August 12th, 2008

Nuupittaa kuuppaa. Kuinka kovasti tunkeekin niin autiutta tahtoo kajastaa. Aatokset siellä muualla ja täällä ei.

Yllättävää kyllä, ohjelmointiputkeni on jatkunut edelleen. On kuin olisin löytänyt tasapainon koodaamisen ja muun puuhailun välillä. Siitä on aikaa kun olen kyennyt yhtäjaksoisesti olemaan kiinnostunut jostakin asiasta yli kaksi kuukautta. Valinta sen suhteen mitä tekee on kuitenkin tullut yhä ajankohtaisemmaksi. Karu totuus VB6:n suhteen on, että se on kuolemassa oleva kieli. Sillä on vielä runsaasti käyttäjiä, mutta todellisia osaajia on yhä harvemmassa. Vaikka Microsoft on taannutkin VB6:n ohjelmien toimivuuden vielä kymmeneksi vuodeksi (VB6:n tukeminen on sidottu Vistan tukeen), on kuitenkin seinä lopulta vastassa lähivuosina. VB6:n voinee kuopata viimeistään kun Vistan seuraaja tulee joskus vuosien kuluttua.

Tämän takia olenkin palannut tutkimaan vaihtoehtoja. Yksi uudemmista löydöistäni on ollut AutoIt v3, joka ei varsinaisesti ole ohjelmointikieli vaan ennemminkin skriptauskieli. Se kuitenkin sallii ohjelmien kääntämisen, joten siinä on sinällään kaikki potentiaali varsinaisten ohjelmien tekoon. Olen kuitenkin päätynyt oikeamman ohjelmointikielen kannalle, joka on FreeBASIC. Testin sille saatavaa IDE:ä, FbEditiä, ja se onkin jo pitkälle sellainen työkalu, jota olen kaivannut. Täydellinen se ei kuitenkaan ole: käyttöliittymässä on parannettavaa ja suunnittelussa on outouksia, mutta ennen kaikkea Unicode on unohdettu kokonaan. Tämän voi luokitella järkyttäväksi miinukseksi vuonna 2008, ovathan käytännössä lähes kaikki todelliset ohjelmointityökalut tällä vuosituhannella edes jollakin tasolla huomioineet Unicoden. FreeBASIC osaa Unicoden vallan hyvin, mutta FbEdit ei.

Tämä on tietysti nostanut mieleen mahdollisuuden alkaa kirjoittaa omaa vastaavaa työkalua, josta voisi tehdä oman maun mukaisesti pitkälti VB6:n tapaisen. Se olisi kuitenkin valtava urakka, ja vaikka minulla taito sen tekoon löytyy, en ole vielä varma löytyykö kiinnostus ja sitoutumus moiseen. Muu elämä kun kuitenkin lopulta painaa päälle, töitä pitäisi löytää, ammatinvalintapsykologille ollaan taas viemässä, rahaa pitäisi tienata ja niin edelleen. On harmi ettei elantoaan voi tienata yleishyödyllisellä puuhastelulla omalla tahdillaan ilman varsinaista työelämästressiä.

Yllättävämpänä käänteenä minut kutsuttiin eilen valvojaksi eräälle uudelle foorumille, joka kantaa nimeä All Basic. Siellä olen vastuussa alueesta Classic VB, joka kattaa VB6:n, VBA:n ja VBScriptin. Asiat ovat edenneet varsin pikaiseen tahtiin ja yllättäen olenkin suunnittelemassa ulkoasukohennusta ja irkkikanavan pystyttämistä. Onneksi nämä eivät ole mahdottoman aikaasyöviä touhuja, tosin tulen kyllä tuhlaamaan ulkoasupuolen miettimiseen aikaa, sillä tahdon tehdä sen kunnolla. Totesin että haluan BASIC-kielelle jonkin keskitetyn paikan ja All Basic on siihen loistava tilaisuus, ja onkin oikeastaan yllättävää ettei moista ole jo ennestään pystytetty.