⚈ Kuopassa.net

Lisää kertomuksia netistä. 摆烂

Tagipilvi

"php"

Koska Kuopassa.net-blogissa on niin paljon sisältöä, jo 1348 julkaistua kirjoitusta, katsoin parhaaksi ryhtyä hyödyntämään Textpatterniin (siis siihen systeemin, jolla näitä blogikirjoituksia ko. sivustolla julkaistaan), luotua tagipluginia. Tuo tagiplugini mahdollistaa yksittäisten blogikirjoitusten merkitsemisen tietyillä avainsanoilla. Suosituimmat avainsanat ryhmitellään tagipilveen. Tällä sivulla listataan kaikki tagilla, siis avainsanalla php, merkityt blogikirjoitukset.

Sheivataan R-kioskin JSON-kiskasyötteestä 50 %

R-kioskilla on kioskien tiedot sisältävät JSON-syöte. Se syöte kutsutaan silloin kun kävijä on Ärrän nettisivuilla ja yrittää löytää vaikka postinumeron avulla lähimmät kioskit. Syöte sijaitsee osoitteessa r-kioski.fi/api/generate_kioskit_json.php. Jos se tallennetaan omaksi tiedostokseen, voidaan nähdä sen olevan tänä syyskuun aamuna 282 kilotavua. Mikäli JSON-tiedostosta poistetaan rivinvaihdot ja muu ylimääräinen tyhjä tila, ja vähennetään koordinaattien (latitudin ja longitudin) tarkuutta viiden desimaalin tarkkuudelle (kun nyt ne koordinaatit ovat yli mikronin tarkkuudella), ja jos ne tiedot esitetään float-muodossa eikä stringeinä, ja jos muunnetaan kioskien valikoimat-arrayssa olevat numerot intteiksi eikä näytetä niitä stringeinä, silloin lopputulos on vain 142 kilotavua. Näin muutamalla hienosäädöllä voidaan hienosti puolittaa syötteen tiedostokoko rikkomatta mitään.

Lue kokonaan…

Onko PIN-koodisi hakkeroitu?

Katso tästä taulukosta onko liittymääsi tallennettu PIN-koodi ihan kenen tahansa saatavilla. Tällainen koodiprojekti on yllättävän helppo tehdä PHP:llä käyttämällä foreach-silmukkaa, jossa on range(0,9999,1). Tuo range tekee arrayn. Foreachin sisällä käytetään funktiota str_pad lisäämään luvun vasemmalle puolelle riittävä määrä nollia (eli silloin kun luku on pienempi kuin 1000).

Lue kokonaan…

Onko tänään pankkipäivä?

Kirjoitin pienen skriptin, joka tsekkaa onko sille ilmoitettu päivämäärä pankkipäivä vai ei. Skripti hyödyntää Suomen Pankin ilmoittamia päivämääriä ja se toimii vuoteen 2021 asti.

Lue kokonaan…

Nordea exchange rate (.dat) parser in PHP

Nordea bank provides fresh data for several currency exchange rates, but collecting that data automatically can be a tiresome job. The bank does however generate a .dat feed of exchange rates where each rate is matched against Euro (EUR). The list inside .dat feed includes the exotic XDR or SDR among others. I wrote a PHP tool to parse those exchange rates from .dat feed to a neat JSON array. The script is behind a paywall, and can be unlocked with PayPal.

Lue kokonaan…

Hreflang Sitemap Generator

A few days earlier I built a tool that creates XML sitemaps. Then someone from Sweden wrote email and asked if the tool would also make those hreflang sitemaps. Well, it doesn’t, but this one does, albeit in the most basic way. The Hreflang Sitemap Generator hasn’t currently any options to customize the output of individual language versions, and as my English skills are apparently insufficient to describe in layman’s terms what that actually means, please test the tool yourself.

Lue kokonaan…

Tietojen lähettäminen Akismetille on edelleen rulettia

Tämä on uusintakierros vuoden takaisesta Kun Akismet hakkeroitiin -jutusta. Uutta WordPressiä asennettaessa sen mukana tulee automaattisesti Akismet-lisäosa. Sen aktivoimisen jälkeen se pyrkii tunnistamaan nettisivulle lähetettyjen kommenttien joukosta ne, jotka voivat olla roskapostia. Joka kerta kun kommentti lähetetään, lisäosa postittaa tietoja jonnekin Akismetin palvelimelle. Jotta roskat voidaan filtteröidä asiallisista kommenteista, tarvitsee tietysti Akismet mahdollisimman paljon tietoja kommenteista. Lisäosan on lähetettävä tarkistettavaksi vähintään nettisivun etusivun URL-osoite, käyttäjän IP-osoite, sekä käyttäjän nettiselaimesta tunnistettu user agent. Sen lisäksi Akismet toivoo saavansa HTTP_REFERER-tietokentän (joo, siitä puuttuu R-kirjain) sisällön, sekä sen artikkelin URL-osoitteen, josta kommentti lähetettiin. Niiden lisäksi voidaan lähettää tieto mitä tyyppiä datapaketti merkitsee, kuten myös kommentin lähettäjän nimi(merkki), sähköpostiosoite, kotisivujen URL-osoite, varsinainen kommenttiviesti, kommentin lähetysajankohta, nettisivun kielikoodi ja merkistökoodaus, kuten myös mitkä käyttöoikeudet kyseisen kommentin lähettäjällä on, ja onko Akismetille lähetettävä datapaketti testi vai ei. Muitakin tietoja voidaan lähettää. Nämä kaikki inffot menevät Akismetin serverille, ja mitä sitten? Ehkä ne tallennetaan johonkin tietokantaan.

Lue kokonaan…

Survos-salakirjoituksen kakkosversio

Asuinpaikkakunnallani sijaitsevassa Runebergin puistossa on pieni vesilammikko. Sen lammikon reunalla on metallista valettu pieni patsas. Pienessä patsaassa pikkupojan kuvataan kamppailevan isoa kalaa vastaan. Kalan suusta lirahtelee välillä vettä altaaseen. Altaassa on useita pieniä vesipatsaita. Metallipatsas ja vesipatsaat tekevät temppuja. Niihin on ohjelmoitu jokin… ohjelma. Jos sitä ohjelmaa seuraa noin puoli tuntia, alkavat ohjelman yksityiskohdat paljastumaan. Katsoja voi lopulta ennustaa mitä siinä ohjelmassa seuraavaksi tapahtuu. Samaan tapaan kuin vesilammikkoshow on mahdollista ”purkaa”, myös Survos-salauksella tehdyt viestit voi päätellä selkokielisiksi. Tarvitaan vain salattu viesti, aikaa ja viitseliäisyyttä.

Lue kokonaan…

Hahmontunnistus still-kuvasta käyttämällä PHP-kieltä: valon suunnan päättely

Vietin toukokuussa parikin päivää pähkäillen voisiko PHP:lla tunnistaa kuvatiedostosta onko siinä kasvoja, tai useita kasvoja. Pääsin tuossa ohjelmointihaasteessa (ennen siihen tympääntymistä) siihen pisteeseen asti, että koodi pystyy muuttamaan still-kuvan odottamaan käsittelyä kutistamalla kuvan mittoja, laittamalla kuvan harmaasävyiseksi, lisäämällä vähän kontrastia ja kuvassa olevien ääriviivojen voimakkuutta. Koodi pystyy lukemaan kuvan jokaisen pikselin ja katsomaan pikselin RGB-arvosta onko siinä jotain kiinnostavaa. Pikselien indeksoimisen jälkeen se informaatio voidaan tallentaa tavalliseksi JSON-arrayn sisältäväksi tekstitiedostoksi. Sellainen tiedosto sisältää kunkin pikselin koordinaatit ja väriarvon. Sen informaation avulla koodi pystyy vertailemaan naapuripikselien värejä ja tulkitsemaan mistä suunnasta valo lankeaa. Skriptin avulla voi luoda tässä vaiheessa vain ASCII-taidetta. Lopputulos on harmillisen epätäydellinen.

Lue kokonaan…

Ehdotus kuinka HTML-lomakkeen kautta tulevaa roskapostia voi vähentää

Nettisivujuttu. Jos nettisivulla olevan lomakkeen name-attribuutin arvo on aina sama, ei pahantahtoisen käyttäjän tarvitse tehdä muuta kuin kerran vilkaista mitä name-nimiä lomakkeessa on ja ryhtyä sitten harrastamaan epätoivottuja asioita. Mitä tapahtuisi jos lomakkeen name olisi satunnainen? Silloin tapahtuisi hyviä asioita. Mitä satunnaisempi se on, sitä hankalampaa on spämmätä sitä lomaketta, sillä pahantahtoisen operaattorin (niin siisti sana, etten voi olla käyttämättä sitä ainakin kerran tässä blogipostauksessa) on mahdotonta tykittää samaa name-elementtiä. HTML-lomakkeen tekijän tarvitsee vain huolehtia, että kulloinkin yksi name-attribuutti on kelvollinen per lomake-elementti, ja että se sisältää satunnaisia merkkejä.

Lue kokonaan…

PHP:n rand() ja mt_rand() tarjoavat satunnaista

Jos molemmat PHP:n palikat todella tuottavat satunnaisia numeroita, pitäisi lopputuloksen näyttää satunnaiselta. Jos rand() ja mt_rand() voivat valita numeroita väliltä yhden ja kolmen väliltä, silloinhan ykkösiä, kakkosia ja kolmosia pitäisi olla jokseenkin yhtä paljon. :-) Testasin asiaa pyöräyttämällä satunnaislukufunktiot for-silmukassa 100 001* kertaa PHP:n versiolla 5.5. ja 5.6. niin, että kumpaakin noista funktioista testattiin muutaman kerran. Viimeisen testin tulokset näkyvät alapuolella. Aina kun funktio valitsi numeron 1, se loi punaisen laatikon. Numerolla 2 se loi vihreän ja numerolla 3 sinisen laatikon.

Lue kokonaan…

ISO-8859-1↔UTF-8

Vitsit, kun pitää jotenkin alustaa tämä asia, jotta hyvä lukija saa kammettua itsensä kärryille. Sinun on parasta laittaa turvavyöt korvillesi, sillä vien ne melkoiselle ajelulle. :-D Eiku, en viekään, kun tuon edellisen videon katselemisen jälkeen melkein unohdin mistä oli tarkoitus kirjoittaa. Se liittyi jotenkin tuohon otsikossa ilmoitettuun asiaan. Hetkinen…

Lue kokonaan…

Viikon ja päivän numero

Tämä on yksi niistä PHP:llä helposti selvitettävistä asioista. Nyt on vuoden 21. viikko. Tänään on kuukauden 28. päivä (kuukaudessa on 31 päivää).

Korkkaamo

Kun on jatkuvasti jotenkin vastenmielinen sää tuolla ikkunalasin toisella puolella, joudun harrastelemaan jotain muuta kuin kameran ulkoiluttamista. Sen takia tein tämän nettisivun. Sen nimeksi olisi voinut tulla yhtä hyvin Lipittämö, mutta valitsin lopulta nimeksi Korkkaamo, koska se on vähemmän tyhmä.

Lue kokonaan…

Myslikannasta hakeminen niinku-kyselyllä välittämättä kirjainkoosta

Löysin vastauksen otsikon asiaan Stack Overflow’sta. Vastaus on BINARY, mutta sitä ennen pitää kai ottaa pari askelta takapakkia ja miettiä mistä tässä on kyse, muttei niin paljon että pitäisi miettiä mistä tässä kaikessa on oikein kyse, vaan vain mikähän kumma se tässä nimenomaisessa asiassa on se kuuluisa punainen lanka. No, taisin hukata sen. Tai siis mielessäni oli sellainen MySQL-kantaan menevä kysely, joka on tällainen: SELECT * FROM taulu WHERE vastaus LIKE '%kysymys%'. Mutta mitä jos tuossa vastaus voi olla silloin tällöin isoin kirjaimin, tai siellä voi olla pieniä kirjaimia seassa? Kysyin siis tuosta asiasta kaikkitietävältä Googlelta. Sen avulla keksin muuttaa tietokantakyselyn muotoon SELECT * FROM taulu WHERE vastaus LIKE BINARY '%kysymys%'.

Lue kokonaan…

Lottonumerot, jokerinumerot ym.

Kirjoitin pienen skriptin, joka hakee Veikkauksen viimeisimmät Lotto- ja Jokerinumerot, sekä Eurojackpotin ja Viking Loton numerot. Yritän laittaa tälle sivulle skriptin keräämät tiedot niin, että ne päivittyvät automaattisesti kun sivu ladataan. Yksinkertainen PHP:n include-pyyntö siltä osin ei yllättäen toimi, mutta file_get_contents näyttää hoitavan homman.

Lue kokonaan…

Tähdet ja avaruudessa juttu Apollo-lentojen koodarista

Eilen postissa tulleen Tähdet ja avaruus -lehden sivuilta löytyy parin sivun juttu Margaret Hamiltonista, joka "koodasi ihmisen Kuuhun", kuten jutun otsikossa mainitaan. Hamilton koodasi joitain virheensietojärjestelmiä. Jutun mukaan Apollo-kuuohjelmassa käytetyn lentotietokoneen (sellainen samanlainen oli komentomoduulissa ja laskeutujassa) suurin rajoitus oli muistin 72 kilotavun kokonaismäärä.

Lue kokonaan…

MySQL-palvelimen aika on eri kuin PHP:n

Nähtävästi niinkin voi olla. Jos PHP-skriptissä määritellään jokin maantieteellinen alue, ja sen alueen aika on eri kuin muiden palvelimella olevien tavaroiden, kuten MySQL-tietokantapalvelimen, voi vastaan tulla erilaisia eriskummallisuuksia. Huomasin GoDaddyn kohdalla, että PHP:n ja MySQL:n kellonajat voi tavallaan synkronoida suorittamalla skriptissä tietokantaan yhdistämisen jälkeen esimerkiksi näin: mysqli_query($tietokantalinkki,"SET time_zone = '+02:00'"); (aikaero on tuossa koodiesimerkissä lopussa oleva numero). Sen voisi kai tehdä phpMyAdministakin ym. käsin, mutta sitä kautta tarvitaan laajemmat käyttöoikeudet kuin mitä on myönnetty tavalliselle webhotellia käyttävälle asiakkaalle.

Lue kokonaan…

Solukko

Pari päivää sitten aloitin jonkinlaisen käyttäjän klikkailuun perustuvan pelin tai jonkin tekemisen. Nyt kun palasin sen jonkin äärelle tehtyäni sitä ennen jotain aivan muuta, en taidakaan muistaa/hoksata mitä projektissa pitäisi olla ja miten sen olevaisen pitäisi toimia. Projektin nimi on Solukko.

Lue kokonaan…

Postimerkkien hakemisto

Tutustuakseni alkeelliseen kuvantunnistukseen PHP:n avulla laitoin postimerkkisivuston, jossa listataan Postimuseon ilmoittamat postimerkit ja kuvat kustakin merkistä. Haluan selvittää mitkä ovat kuvan yleisimmin esiintyvät värit. Tähän mennessä toimivimmaksi ratkaisuksi on osoittautunut kuvan kutistaminen kokoon 1×1 pikseliä ja sen pikselin sisältämien RGB-lukujen tarkasteleminen. Sillä tavalla voi saada jonkinlaisen vastauksen onko kuvassa eniten punaista (R), vihreää (G) vai sinistä (B). Kuvan kutistamisen sijaan voisi ehkä tehdä joitain pienikokoisia otantoja kuvan eri kohdista ja laskea niistä keskiarvoja.

Lue kokonaan…

Checkout-maksupalvelu Textpatternille

Maksunvälityspalvelu Checkout.fi:n avulla voi tilata nettikaupasta tuotteita yleisimmillä tai ehkä kaikilla Suomessa toimivien nettipankkien maksupainikkeilla. Tein Textpatternille palikan, jolla Checkoutin voi ottaa käyttöön yab_shop-nimiseen liitännäiseen. Systeemiin voi tutustua tässä demokaupassa. Screenshotteja järjestelmästä löytyy tämän blogimerkinnän lopusta.

Lue kokonaan…

Pihinaattori

Tympäännyin pitämään nettiselaimen kirjanmerkeissä useita nettikauppoja, joista yleensä löytyy hyviä löytöjä. Siksi tein käytettyjä ja alennushintaisia kameroita, objektiiveja ja valokuvaustarvikkeita eri nettikaupoista ja myyntipalstoilta etsivän tarjoushakukoneen. Sen nimi on Pihinaattori. Systeemin avulla voi järjestellä tarjoukset esimerkiksi halvimmasta kalleimpaan, valita miltä myyjältä tietoja noudetaan ja mikä on suurin summa, jonka tuote saa maksaa.

Lue kokonaan…

Some notes of zem_contact_reborn´s finput

This is just a note mainly for myself so that I won´t hopefully lose this information. It took a while to gather it. Maybe it´s useful also for your project. As Textpattern´s plugin zem_contact_reborn has some sort of API thingy which allows other plugins and other code to communicate with zem_contact_reborn, I got excited enough to try to actually do something useful with it. There´s hopefully going to be as a part of my MailChimp for Textpattern plugin a checkbox to subscribe to a newsletter when submitting zem_contact_reborn. That´s so far half way done.

Lue kokonaan…

Kirjaudu Textpatterniin Google-tilillä

Otsikossa on se mitä olen viime päivinä tehnyt. Google tarjoaa runsaasti kaikenlaisia API-palveluita, joista yksi on Google+ API. Sitä hyödyntämällä voi kirjautua Google+:aan ja hyödyntää tuota kirjautumisrutiinia myös muissa projekteissa. Yksi niistä on hiljattain valmistamani Akselintappaja.fi ja toinen on äskettäin demoiluvaiheeseen laskettu Google login for Textpattern. Siitä kerrotaan lisää tuolla demosivulla.

Lue kokonaan…

Fatal error: Class 'PDO' not found

Kun tuo tulee vastaan ja mikään muu ei auta, sivuston php.ini-tiedostoon voisi ympätä ensin rivin extension=pdo.so ja katsoa korjaantuuko asia. Jos ei niin sitten vielä sen alle voisi laittaa extension=pdo_mysql.so ja katsoa miltä näyttää. Huomasin tällaisen ongelman kun kehittelin Akselintappajaa ja olin juuri siirtänyt Google+-kirjautumista (juhuu!) hyödyntävän version nettiin localhostista.

Lue kokonaan…

Dynaaminen sivujärjestelmä PHP:lla

Jos nettisivuilla ei ole julkaisujärjestelmää ja halutaan helpottaa eri sivujen kanssa työskentelyä, sivuille voidaan PHP:n avulla taikoa yksinkertainen "dynaamisena sivujärjestelmänä" tunnettu toiminnallisuus. Sen avulla URL-osoite vaikuttaa siihen mitä juttuja nettisivuilla näytetään. Tällä koodilla nettisivuston eri sivut löytyvät osoitteesta, joka on muotoa nettisivu.fi/?sivu=sivunnimi. Esimerkiksi jokin palautelomake voisi löytyä osoitteesta ?sivu=palautelomake ja linkkilista osoitteesta ?sivu=linkkilista.

Lue kokonaan…

Palautelomake PHP:lla

Lataa tästä ja vaihda tiedostopääte .txt esimerkiksi muotoon .php. Lomakkeessa on kolme asetusta, jotka pitää vaihtaa: 1) sähköpostin vastaanottajan osoite, 2) se osoite, jossa tuo palautelomake sijaitsee, ja 3) viestin otsikko. Tällä lomakkeella kävijä voi lähettää haluttuun sähköpostiosoitteeseen haluamansa viestin ja nimensä tai nimimerkkinsä. Lomakkeessa on muutamia spämmisuojauksia, joiden pitäisi hillitä roskapostin määrää. Alapuolella on lomakkeen lähdekoodi ilman sisennyksiä ym. hienosteluja.

Lue kokonaan…

Kyttääjät

Muistatko vielä Etelä-Suomen Kerrostalokyttääjät ry:n? Tuo huumorisivusto toimi vuoteen 2006 asti, tai suunnilleen johonkin siihen asti. Sitten se hävisi netistä. En varmaan ole ainoa, joka jäi kaipaamaan sitä. Männäviikolla käärin hihat ylös, laitoin peukalon suuhun ja tsekkasin, että toisessa kädessä se on vielä keskellä kämmentä, ja sitten ryhdyin koodaamaan jotain. Suunnittelin aluksi tekeväni hyvin pelkistetyn kyttääjäaiheisen fanisivuston. Fanisaitti löytyy täältä: Kyttääjät.net.

Lue kokonaan…

Codecademy

Sunnuntain kuluttamiseksi liityin Codecademyn jäseneksi (nimimerkillä kuopassa sielläkin) ja rupesin tutustumaan Pythoniin. Koodiakatemiassa on Python-kielen lisäksi tarjolla ilmaisia tutustumiskierroksia jQueryn, JavaScriptin, PHP:n ja Rubyn saloihin. Pyyttoni on meikäpoikaa kiinnostanut pitkään, sillä se vaikuttaa älyttömän yksinkertaiselta ollakseen ohjelmointikieli. Tämän päivän aikana olen saanut noin 30% Pythonia käsittelevästä materiaalista hoidettua läpi. Jonkin verran olen varmaan oikeasti niistä materiaaleista oppinutkin. Yksi hienoja kannustimia Codecademyssä on kerätä "ansiomerkkejä".

Lue kokonaan…

Bensankulutuslaskuri

Koska tähän blogiin on viime aikoina tullut riittävästi kävijöitä, jotka ovat kiinnostuneet bensalaskurista, ajattelin vastata kysyntään laittamalla bensalaskurin Autoliikkeet.info-sivustolle. Se perustuu osittain johonkin avoimen lähdekoodin projektiin. Skriptissä on kaksi eri moodia: voidaan laskea kuinka paljon tulee bensakustannuksia tietyn kilometrimäärän ajamisen vuoksi, tai voidaan laskea kuinka paljon voidaan ajaa kun tankataan bensaa × eurolla.

Lue kokonaan…

PHP 5.4 tulossa SunCometin webhotelleihin

SunComet lähetti tiedotteen, jossa se kertoi useimpiin tai mahdollisesti kaikkiin tarjoamiinsa webhotellipaketeihin päivitettävän PHP:n kehitysversio 5.4. Se tulee joulukuun alussa. Se ei näiden tietojen mukaan johda välttämättä kovin suuriin murheisiin. Nyt SunCometin webhotelleissa näyttää olevan PHP-versio 5.3.

Lue kokonaan…

Liian pitkän merkkijonon rivittäminen (PHP-niksi)

Koodailen pientä hakukonetta nettisivulle. Aion laittaa sen hakemaan MySQL-tietokannasta informatsuunia ja aion laittaa käyttäjän nähtäväksi hänen kirjoittamansa hakulauseen. Hakulause luultavasti on käytännössä vain hakusana, mutta se saattaa olla monikirjaiminen sellainen. Kielessämme kun on taipumusta sellaiseen touhuun, että melkein lauseen kun lauseen voi muotoilla tolkuttoman pitkäksi yhdyssanaksi. PHP-kielessä on onneksi keino katkoa liian pitkät tekstilitaniat. Keinon nimi on wordwrap. Se toimii esimerkiksi näin:

Lue kokonaan…

Helppo tähtiarvosteluskripti

miniBB:n foorumilla joku vinkkasi hyvästä skriptistä, jolla voi aika pienellä vaivalla toteuttaa tähtiarvostelun melkein mille tahansa asialle nettisivulla. Skripti on ilmainen ja mahdollistaa pisteiden ja arvostelukertojen tallentamisen joko MySQL-tietokantaan tai tekstitiedostoihin. Käyttäjiä voidaan estää äänestämästä jos he eivät ole esimerkiksi foorumin sisäänkirjautuneita käyttäjiä tai nettikauppaan loggautuneita asiakkaita.

Lue kokonaan…

Koodasin tapahtumakalenterin

Koodasin PHP:llä ja tietokannalla toimivan tapahtumakalenterin, jossa kullekin päivälle voi määritellä yhden tapahtuman ja asettaa sen yhteyteen kuvan ja kuvaustekstin. Kalenterissa on myös simppeli hallintapaneeli, josta käsin voi hallita kalenteritapahtumia. Yksittäisten tapahtumien muokkaaminen ja poistaminen on mahdollista. Ei kuulosta kovin ihmeelliseltä, eikä se sitä varmaan olekaan, mutta vietin noiden asioiden tekemisessä puoli itsenäisyyspäivää. Senpä vuoksi tuo koodauskeikka ansaitsee tulla muistiinpannuksi.

Lue kokonaan…

Patriootti.comin jäsenhakemuslomakkeen kräkkeröiminen

Pari päivää sitten tapahtunut Patriootti.comin jäsenhakemusten levittäminen ympäri nettiä sai meikämannen kiinnostumaan, miten rikolliset saivat tietokannan datan avattua ja listattua. Pyysinkin sen vuoksi Patriootti.comilta sähköpostitse kopiota siitä lomakkeesta, jolla prosessoidaan jäsenhakemuksia, voidakseni analysoida sen teknisen toteutuksen ja ehkä jopa löytää tietoturva-aukon.

Lue kokonaan…

Dynaamisesti kutistettaville kuville puhtaat URL-osoitteet

Vuoden päivät sitten koodasin Goottideitti.net-treffipalvelun saatuani Gootti.netin käyttäjiltä kipinän tuollaisen seuranhakusaitin tekemiseksi. Koodasin saitin PHP:llä, johon ymppäsin MySQL-tietokannan muun muassa käyttäjätilien tietojen tallentamista varten. Osa sivustolla olevista tiedoista tallennetaan tekstitiedostoihin, sillä haluan olla rasittamatta tietokantaa eräissä pienissä askareissa, kuten profiilisivujen kävijälaskureiden päivittämisessä. Sivustolla on PHP-skripti, jolla ilmoituksen jättäjien kuvat kutistetaan eri kokoisiksi. Kuvista luodaan lennosta alkuperäisen version lisäksi 145×145- ja 80×80-pikselin kokoiset versiot. Niitä käytetään esimerkiksi etusivulla ja Ihannekumppani-hakutuloksissa. Dynaamisesti luodut kuvat cachetetaan, jotta nettisivusto ei rasittaisi muutenkin rasittunutta ja aika rasittavaa SunCometin palvelinta.

Lue kokonaan…

Virtuaalipalvelin Tentaclelta

Tilasin aamulla Tentacle Networksiltä testitunnukset virtuaalipalvelimeen. Sain tunnarit aamulla. Tunnuksilla voi käyttää palvelun Hopea-tasolla olevaa virtuaalipalvelinta, joka sisältää halutun Linux-distribuution, 512 megatavua välimuistia ja 10 gigaa kovalevytilaa, maksutta viikon ajan.

Lue kokonaan…

Pari viimeisintä tapausta

Bloggaustahtini on jo nyt hiljentynyt. Se selittyy sillä, ettei ole viime aikoina ollut kovin paljon kirjoitettavaa niistä asioista, joista haluan tässä blogissa puhella. Pyrin pitämään höpönlöpön minimissä. Sen takia tässä blogimerkinnässä kerronkin silkkaa asiaa. Olen nimittäin opetellut hieman lisää PHP-kielen saloja ja koettanut rakentaa Bullshit Filtterin. Sain idean siihen luettuani Euroopan Unionin taipumuksista käydä kansalaistensa taskuilla rahoittaakseen hummaamisen.

Lue kokonaan…

Johdannon muotoileminen WordPressissä

WordPressillä julkaistujen sivujen yhteyteen voi tallentaa Ote-kenttään jonkinlaisen klipin, joka voidaan näyttää esimerkiksi yksittäisen sivun alussa ja muotoilla se jotenkin erilaiseksi kuin varsinainen leipäteksti. Johdanto voidaan esimerkiksi laittaa vähän isommalla fonttikoolla kuin muu teksti, tai se voidaan kursivoida. Taivas, tai ainakin tekniikan rajat, on kattona. Sitä ennen johdanto pitää jotenkin saada sellaiseen kondikseen, että sitä voidaan muotoilla CSS:n avulla. Tätä tarkoitusta varten WordPress tarjoaa mahdollisuuden tunnistaa, onko otetta olemassa, ja jos on niin se voidaan kääriä vaikkapa div-lohkon sisälle.

Lue kokonaan…

Meta description ja kumppanit nettisivulle

Olen viimeisen vuoden aikana yrittänyt oppia lisää PHP:n saloja. Olen päässyt toteamaan "Osasin, osasin, osasin" ainakin pari kertaa onnistuessani luomaan jotain hyödyllistä. Hyödyttömien keksintöjen piikki sai uuden lisukkeen muutamia päiviä sitten, kun koodasin pikaisesti meta tagi -generaattorin. Linkki viittaa omalle kotisivulleni, joka siis sijaitsee osoitteessa www.kuopassa.com.

Lue kokonaan…

HTTP-kyselyiden määrän vähentäminen base64-koodauksen avulla

Tutustuin Perishable Press -blogissa maaliskuussa 2011 julkaistuun kirjoitukseen, jossa esiteltiin idea base64-koodauksen käyttämisestä pienten kuvatiedostojen syöttämiseksi nettiselaimelle. Ideana tällaisessa kikkailussa on pyrkiä vähentämään HTTP-kyselyiden tekemistä, joka vaikuttaa käyttökokemukseen myönteisellä tavalla kun latenssi nettisivun latautumisessa kutistuu. Perishable Pressissä ehdotetaan base64-koodausta käytettäväksi kaikenlaisissa tiedostokooltaan pienissä kuvatiedostoissa, kuten favicon-kuvakkeissa.

Lue kokonaan…