Vesa Piittinen

Archive for January, 2009

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.

Eee-sortuma

Saturday, January 10th, 2009

Se tuli sitten hankittua, Asuksen Eee 901 mallia Windows XP 12 Gt flashlevyllä. Tosin sortuminen moiseen johtui yksinkertaisesta syystä: hinta. Paikallisessa Prisma se oli asetettu vaivaiseen 329 euroon, näytekoneesta kun oli kyse. Mitään vikaahan koneessa ei ollut, akku ei ollut ollut kiinni eikä konetta oltu käytetty päällä. Ainut haitta oli koneessa valmiiksi olevat rasvatahrat (joista osa oli jo valmiiksi omiani).

Varsinaista arvostelua en kuitenkaan tähän ala kirjoitella, sillä olen toki heti alkuunsa alkanut säätää konetta omaan makuun. Tyhjensin runsaasti kaikkea roinaa (etukäteen asennettuja softia) ja siten en käytä enää konetta kovinkaan pitkälle sellaisena, kuin millaiseksi se on suunniteltu. Toki rauta löytyy ja pari olennaisinta ohjelmistoa (virranhallinta ja Eee Storage), mutta niiden vaikutus käyttökokemukseen ei enää ole niin suurta. Itsestäänselvyyksiä jo tässä vaiheessa: näyttö on hyvä mattapintainen, näppäimistöä on suht ymmärrettävästi jouduttu säätämään hieman poikkeavaksi ja akkukesto on loistavaa luokkaa.

Nyt kokeillaan pitkää päivää

Thursday, January 8th, 2009

Tänään on sitten hurjat työajat kokeilussa. Yritän tehdä päivän 6 – 18. Tämä tarkoittaa muutoksia päivän rytmiin, esimerkiksi syömässä kannattaa käydä vasta 12 jälkeen toisin kuin normaalisti. Ylimääräistä ruokaa lähtee mukaan ja juomaakin pitäisi olla riittävästi. Ihan täysin terve tässä ei ole, kurkku valittaa vähän edelleen ja samalla tavoin ottaa korvan puolellekin, mutta ei liian pahasti. Luulisin että kun kotiin pääsen niin saatan heittää jotain pientä suuhun ja pistää sitten saman tien unille. Seuraava herätys on taas viideltä, mutta teen poikkeuksellisesti päivän vain kahteen asti. Ehtii hoitaa joskus asioitakin.

Se siitä loppiaisesta

Wednesday, January 7th, 2009

Olisi ollut vapaapäivä. Olisi voinut puuhailla kaikkea kivaa. Kaikkea muuta: kurkuuni on änkeytynyt jonkin tason haavauma, minkä taas huomaa heti siinä, että pää on enemmän tukossa ja alkaa väsyttää aikaisin. Jouduin taistelemaan kello kolmesta eteenpäin, sitten ennen seitsemää menin lopulta unille.

Tällä hetkellä nieleminen sattuu. Kipu ottaa myös välistä korvaan asti. Töihin kyllä tulee mentyä, mutta saa nähdä mimmoista kärsimystä siitä tulee iltapäivään mennessä.

Blogin ulkoasun säätöä

Sunday, January 4th, 2009

No, nyt on nähty edes vähän vaivaa blogin ulkoasun eteen. Lopputulos ei tosin miellytä vielä, mutta toisaalta ei ole niin paljoa juuri nyt jaksamistakaan säätää. Unirytmin korjaaminen teettää kaikkea ikävää…

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).

Pakkausohjelmat

Sunday, January 4th, 2009

Minulla on ollut hakusessa toimiva pakkausohjelma jo jonkin aikaa. Olen käyttänyt vuositolkulla IZarcia, mutta siihen ei vieläkään ole lisätty Unicode-tukea, mikä on ollut suuri miinus muutoin varsin erinomaiselle ohjelmalle, joka on vieläpä ollut saatavilla suomenkielellä. En jaksanut odottaa vaan aloin etsiä korvaavaa ohjelmaa.

Kokeilin ensin ohjelmaa nimeltään ZipGenius. Siinä oli muutama mukava ominaisuus, mutta heikot puolet olivat liian kovia: se kaatuili joskus ikkunaa kutistettaessa, pakkauksen ja purkamisen edistyminen isojen tiedostojen kohdalla oli joskus tukkoista (ohjelma jäi jumiin) ja peruskäytössä pelleily vasemman laidan palkin kanssa oli hermoja raastavaa. Nämä lopulta saivat minut poistamaan ohjelman ja kokeilemaan jotain muuta.

Nyt kokeilussa on sitten PeaZip. Se ei ulkoasultaan ole aivan yhteensopiva Windows-tyylin kanssa, se tuo ennemminkin mieleen Windows 3:n ja Linuxin, mutta se on sentään varsin virtaviivainen. Tällä hetkellä suurin ongelma on ollut useamman tiedoston pakkaaminen samasta hakemistosta: jostain kumman syystä voin pakata vain yksittäiset tiedostot kunkin omaan zip-tiedostoonsa. Tämä vaikuttaa hieman hömelöltä, tosin saatoin jättää asennusvaiheessa ruksimatta oikean vaihtoehdon. Toisaalta asennusvaiheen vaihtoehdot olivat epäselkeät, lähinnä vaihtoehtojen suuresta määrästä ja tavanomaisesta poikkeavista nimityksistä johtuen. Ongelman voi kylläkin kiertää sillä, että valitsee vain yhden tiedoston ja vetää sen jälkeen toiset tiedostot avautuneeseen ikkunaan. Välissä kun on vaihe, jossa voi valita luotavan tiedoston tyypin ennen kuin varsinainen tiedosto luodaan. Erilainen logiikka kuin IZarcissa, mutta toimiva kuitenkin.

English summary

I’ve been a user of  IZarc for years. However, since it even by now doesn’t have a support for Unicode I’ve had to look for alternatives. I tried ZipGenius, but it crashed too often (especially when minimizing a window) and the side panel annoyed me and never quite worked as I wanted. Now I’m trying PeaZip. It doesn’t quite fit the modern Windows theme (reminds me more of Windows 3 and Linux), but it works smoothly even though it has it’s own quirks.