Mun piti alunperin hakea tällä säätiedot suomen ilmatieteenlaitoksen avoimesta datasta. Ja teinkin niin, mutta oli kyllä tämmöselle asiaan yhtään perehtymättömälle kaverille tehty aivan liian hankalaksi ja monimutkaiseksi operaatioksi ei saatana. ... Lue lisää..
En tiedä mitä on oikein tapahtunut. Ihan jotenkin mystisesti ollut virtaa ja mielenkiintoa naputella näitä paskasivuja. Eihän tässä siis mitään mullistavaa tai ainutlaatuista ole tehty, mutta ihan fiiliksissä oon esimerkiksi noita homer skenaarioita duunaillu. Tällä hetkellä niitä on k... Lue lisää..
Tein silleen tyhmästi että päivitin sieni.us tälle vuosikymmenelle. Viimeisestä "kunnon" päivityksestä olikin melkein 12 vuotta ja silloinkin päivitin vain infoboksin ja laitoin sivuille js-ohjaimet nuolinäppäimille. Sekin päivitys odotteli viisi vuotta, joten voidaan ehkä tulla siihen ... Lue lisää..
sudo fail2ban-client status sshd
|- Filter | |- Currently failed: 1 | |- Total failed: 44571 | `- Journal matches: _SYSTEMD_UNIT=sshd.service + _COMM=sshd `- Actions |- Currently banned: 1 |- Total banned: 9787 `- Banned IP list: 124.156.37.142
Noniin, vaikka viime kerralla huomasin tämmöisen sekoilun alkaneen, niin luulin että iptablesia säätämällä saan hommat kuriin. Laitoin siis vaan että jatkossa pääsen purkkiin käsiksi omasta IP osoitteesta, mutta siinä oli tosiaan sellainen pieni mutka matkassa, että mitä jos IP kerkeääkin vaihtua vaikka sähkökatkon yhteydessä. Palattuani vanhaan systeemin, ajattelin että nämä koputtelijat ovat luovuttaneet, mutta kuinka väärässä olinkaan. Nyt tultiin intiasta asti kokeilemaan.
No nyt sitten ollaan otettu sellaiset edistysaskelmat, että kirjautumiset hoituu avaimen kanssa. Suosittelen kaikille, saa myös setit silleen, ettei tarvitse joka kerta nakutella salasanaa kun kirjautuu. Toki en suosittele jos yhtään foliohattua kiristää.
Onnistuin myös korjaamaan SSL ongelmat, en meinannut saada niitä mitenkään hoidettua hallintapaneelista niin terminaalin kautta pienoisen taistelun kautta onnistui. Mitä nyt sain apachen solmuun ja mitä kaikkea siinä kerkesikään tapahtua. Ei myöskään mitään käsitystä mitä kautta ne SSL:t alunperin varmentui, mutta nyt mennään Lets Encryptillä.
Perin kiinnostavaa, eikö?
Päätin myös päivittää etusivun sieni.ussin muistoa ajatellen. Ei mennyt kuin kokonainen päivä saada tuo paska toimimaan. Ihan hiomaton timantti tuo ei vielä kuitenkaan ole, sillä Homer vähän vaihtaa paikkaa kun musiikki alkaa pauhaa. Tätä ongelmaa ei tietysti olisi, jos alkuperäisessä animaatiossakin hahmo olisi koko ajan paikoillaan, mutta kun ei. Meni myös ihan liian kauan aikaa leikellä tuota paint.netillä, samalla periaattellahan tuo toimii kuin Photoshop, mutta silti jotenkin niin erilailla.
Tähtisade on toteutettu javascriptillä ilman mitään kirjastoja. Koodi on tässä vuorokauden aikana saanut melkoisia korjauksia, esim nyt toimii mobiililla, biisejä voi soida useampi, homerin asento ei pompi niin paljoa ja koodi on yleisesti vähän selkeämpää. Kommentoin ton matikkaosuuden alle mikä varmaan on se mielenkiintoisin kohta, kaikki muu vain olioiden määrittelyä ja silmukoiden tekemistä.
Palveluntarjoajan kaverit varmasti pitää mua jo ihan daijuna, lol.
class Taehti { constructor() { this.reset(); }
Luo uuden olion (tässä tapauksessa tähden) heti sen luonnin yhteydessä. Jostain syystä javascript vaatii constructorin kun oliossa kutsutaan uutta oliota. Myöhemmin kun esimerkiksi animoi() kutsuu uutta tähtisadetta, niin silloin kutsutaan vanhoja olioita, eikä luoda uusia. Meni hetki sisäistää tää. Ja jos kysyt multa aiheesta ensi viikolla, en osaa vastata. Olen kuitenkin vain typerä merkonomi, joku datanomi varmasti osaa vastata paremmin.
reset() { this.x = Math.random() * sivusto.width; this.y = Math.random() * sivusto.height; this.z = Math.random() * sivusto.width; this.size = 2; this.speed = 4 + Math.random() * 6; this.angleOffset = Math.random() * 2 * Math.PI; } update() { this.z -= this.speed; if (this.z <= 0) this.reset(); }
this.x this.y ja this.z asettaa tähden paikat ruudun leveyden, korkeuden JA "syvyyden" mukaan. Pelkkä math.random() luo satunnaisen luvun väliltä 0–1 ja kun se kerrotaan sivuston leveydellä tai korkeudella, saadaan satunnainen sijainti tähtisumun alueelta. Kun tähti liikkuu kohti ruutua ja ns. syvyys vaihtuu, niin this.z pienenee (update()-olio), jolloin tähti näyttää tulevan lähemmäksi. this.angleOffset määrittää missä kohtaa tähti pyörii ruudun keskuksen ympäri. Kun kerrotaan tuo pii kahdella, saadaan ympyrän kehän pituus (n. 6.28318), joka vastaa 360 astetta, eli ympyrä. Ja koska jokainen tähti saa satunnaisen angleOffset-arvon (väliltä 0–360), tähdet eivät pyöri täsmälleen samoilla radoilla, vaan niiden pyöriminen näyttää satunnaisemmalta ja "psykedeelisemmältä". Lopulta kun tähti on sitä vaille että se tulee näytöstä läpi, niin kutsutaan reset()illä tähdet huitin helvettiin ja aloitetaan koko show alusta.
draw() { const rotationX = Math.cos(angle + this.angleOffset) * (this.x - sivusto.width / 2) - Math.sin(angle + this.angleOffset) * (this.y - sivusto.height / 2) + sivusto.width / 2; const rotationY = Math.sin(angle + this.angleOffset) * (this.x - sivusto.width / 2) + Math.cos(angle + this.angleOffset) * (this.y - sivusto.height / 2) + sivusto.height / 2; const x = (rotationX - sivusto.width / 2) * (sivusto.width / this.z) + sivusto.width / 2; const y = (rotationY - sivusto.height / 2) * (sivusto.width / this.z) + sivusto.height / 2; const size = this.size * (sivusto.width / this.z); ctx.beginPath(); ctx.arc(x, y, size, 0, Math.PI * 2); ctx.fillStyle = '#FFFFFF'; ctx.fill(); } }
Ja sitten trigonometrian pariin. En olisi koskaan koulussa ollessani uskonut, että teen näillä sincostaneilla ikinä yhtään mitään muuta kuin "HAHA KATO COSTAN SULLE ;DDD" Näillä saadaan tähdet siis pyörimään sivuston keskipisteen ympäri. Math.cos käsittelee x-akselin liikettä (vaaka), ja Math.sin y-akselin liikettä (pysty). Kulma muuttuu ajan myötä, joka aiheuttaa sen pyörimisen. Pyöriminen syntyy siitä, että angle (snadi kulma) kasvaa jokaisella animaation framella hieman (tässä tapauksessa angle += 0.02). Taas käytetään (this.angleOffset) että tähdet liikkuu eri kulmilla ja näyttää vähän sattumanvaraisilta. this.z on tähtien etäisyys meistä, ja se pienenee koko ajan (eli tähti liikkuu kohti ruutua). Kun z pienenee, tähti näyttää isommalta ja liikkuu nopeammin kohti katsojaa. canvas.width / this.z skaalaa tähden sijainnin ja koon sen etäisyyden perusteella. Mitä pienempi this.z, sitä lähemmäksi tähti näyttää tulevan. Kun tähti lopulta saavuttaa "ruudun pinnan", se resetoituu takaisin kaukaisuuteen (kuten aikaisemminkin) Tähden alkuperäinen koko (this.size) kerrotaan sen suhteellisella etäisyydellä (canvas.width / this.z), mikä luo illuusion siitä, että tähti suurenee, kun se tulee kohti. Lopulta käytetään koodin alussa ilmenevää getContext('2d') siksi, koska en usko WebGL:än sisältävän fillRect() tai arc(), jolla piirretään neliöitä ja ympyröitä. Voi olla että olen väärässä, merkonomi jne. Koodin näkee kokonaisuudessaan tästä. Semmoinen sivuhuomautus että 18.10 etusivu vaihtui taas, smaul.ee/homer oli vanha etusivu
Jäänyt nyt kyllä vähän suunniteltua vähemmälle tän kanssa touhuuminen. Ei sillä että tätä kukaan muu kuin minä itse lukisin, mutta pitkään oli semmoiset fiilikset että tänne tulee ihan vaan tylsyyteen raaputeltua kaikenlaista. Kirjauduin kuitenkin eilen shelliin ku piti akuutit irk... Lue lisää..
Kemijärvellä kynittyjen pajujen muistolle. Kempassa tuli tuhottua pajuja sen verta, että ihan jäin ihmettelemään kuinka hienosti tuo ylisuuri rikkaruoho oikein leviää ja juurtuu. Nyt keravalle palattuani päätin tosta pihan läheltä käydä napsia paria pistokasta ja katson juurtuuko lasi... Lue lisää..
Se aika vuodesta on taas täällä! – Ja ei, en suinkaan puhu joulusta, vaan suomen kesästä. Siitä ajasta jolloin aurinko paistaa niin julmetusti, että omalla pihalla on aina viisi celsius astetta lämpimämpää kuin naapurilla. Linnut laulavat, juopot heräävät talviuniltaan ja einesosasto... Lue lisää..
Noniin, nyt on jälleen maailmankirjat sen verta sekaisin, että päätin lähteä kokeilemaan magneettikalastusta toiseen kertaan. Viime kerralla mulla oli matkassa marketin vahvin magneetti ja se jäi ensimmäisellä heitolla kiinni johonkin helvetin raskaaseen esineeseen enkä saanut magneettia e... Lue lisää..
Muutama sananen sivuston mekaniikasta. Pitkän ja verisen taistelun jälkeen jouduin tyytymään kompromisseihin tämän sivun suhteen. Alunperin sivuston ideana olisi ollut, että kaikki sisältö latautuu tälle samaiselle sivulle ilman että osoiterivi vie minnekään muualle (ammattitermi liene... Lue lisää..
Nyt on melko pahat tilanteet päällä, oon meinaan jostain syystä lähiaikoina pyöritellyt mun hyvin rajallisella vapaa-ajalla joitain rivejä PHP:tä, CSS:ää ja HTML:ää. Viime kerrasta on jo kuitenkin jokunen tovi vierähtäny (puhutaan varmaan jo kymmenestä vuodesta), joten pientä hakemis... Lue lisää..
Oikein mukavaa keskiviikkoa kaikille ja koittakaa jaksaa ja. Eiköhän se siitä sitten taas mukavasti mee kun keksitte, keksitte hyvää tekemistä nii eiköhän sillä sillä sitten mee mukavasti tämäkin keskiviikko. Mutta, nyt. Näihin kuviin ja näihin tunnelmiin. Pidä lippu korkeella ja tank... Lue lisää..
Annan nyt viimeisen avautumisen Helsingin Kalliosta ennen kuin muutan viikon päästä pois tästä perslävestä. En vastaa tunnistuskysymyksiin. En vastaa itseasiassa enää mihinkään koska en halua enää käsitellä asiaa. Oon tosiaan asnutu ympäri ämpäri kantakaupinkia aina 1980 luvun alus... Lue lisää..