Aihearkisto: koodaus

Arduino toimi vain root tunnuksella

Minulla oli ongelma. Linux ajatteluun ei sovi normaali ohjelmien käyttäminen ROOT tunnuksella. Jostain syystä arduino IDE toimi minulla vain root tunnuksella oikein. Koodin kyllä pystyi kirjoittamaan normaali käyttäjänä, mutta koodia ei voinut polttaa levylle muuten kuin vaihtamalla ROOT tunnukselle. Asialle piti sitten tehdä jotain useamman vuoden jahkailun jälkeen.

Netistä löytyi monestakin kohti ohje, jolla sai lisättyä oman käyttäjä tunnuksen dialout ryhmään. (Arduinon oma ohje näyttää tältä), jonka pitäisi auttaa asiaan .

sudo usermod -a -G dialout <username> >

Kyseinen käsky ei kuitenkaa minua auttanut. Pääsin polttamaan koodia edelleen vain root tunnuksella.

Lopulta syylliseksi paljastui vanhan asennuksen asetustiedosto. Olen siis päivittänyt arduino IDE:n vuosien varrella useaan otteeseen ja välillä ollut pitkään käyttämättäkin sitä, mutta koska minun kotihakemisto on ollut koko ajan sama (ja siirtynyt jopa koneesta toiseen) oli arduinon vanhassa asetustiedostossa jotain, joka esti normi käyttäjällä koodin polttamisen levylle.

En alkanut tutkia tarkemmin mikä esti toiminnan vaan poistin koko tiedoston löytämäni vinkin perusteella.

rm ~/.arduino/preferences.txt

IDE ei saa olla käynnissä, kun tuon tiedoston poistaa! Käynnistyksen yhteydessä IDE kysyi muutaman kysymyksen ja sen jälkeen homma alkoi pelittämään taas!

Edit: Kannattaa muuten huomata, että ubuntun omista repoista tulee varsin vanha versio arduino idestä. Kannattaa siis ladata tuorein versio suotaan arduinon sivuilta.

Köyhän miehen DOORIS

Piiitkän tauon jälkeen tännekin jotain. SOK on kehittänyt DOORIS nimisen järjestelmän, jonka kautta olisi minunkin mahdollista saada työvuorot sähköiseen kalenteriin. Paino sanalla mahdollista, en siis saa, koska HOK-Elanto ei ole tehnyt päätöstä ottaa DOORISta käyttöön.  Perustelut mitä olen kuullut ovat suurimmaksi osaksi täyttä tuubaa, yksi vähän asiallinen perustelu on ”antaa pienempien osuuskauppojen tehdä beta-testaus. Tosin tämä perustelu vesittyy aika hyvin, kun katsoo whois dataa sokdooris.fi osoitteesta. Se on hankittu 2010.  Samoin s-kanavan artikkelissa puhutaan vuodesta 2012 käyttöönottovuotena. Pitkä beta-testaus vaihe….

Seuraava ei taida kenellekään olla yllätys, se maksaa liikaa. No hei haloo!? Miten niillä pienemmillä osuuskaupoilla on varaa DOORIS:kseen, jos isoimmalla ei ole?  Lisäksi yleensä perään tulee pitkä lista sinällään kyllä hyviä asioita joita  HOK-Elanto tarjoaa työntekijöilleen. Minusta on kuitenkin aika naurettavaa verrata esimerkiksi lintsi päivää ja DOORISta , ne ovat aivan eri asioita.  Konttorin logiikka ei (tässäkään) asiassa käy järkeen. Vai onko HOK-elanto köyhempi kuin luulin? Vetääkö joku välistä?

Tilanne ei hirveästi kiitosta meikältä saa, vetkuteltu ja venytelty aika pitkään.  Pieniä lupauksia on, että DOORIS tai vastaava tulee jossain vaiheessa, mutta varmaa tietoa ei ole ja milloin se jossain vaiheessa on?

No näistä johtuen sitten päätein tehdä asian itse. Enhän mä toki voi tehdä koko DOORISta, mutta en minä toisaalta siitä ole kaivannutkaan kuin yhtä ominaisuutta, saada työvuorot helposti sähköiseen kalenteriin. Enkä myöskään ole koodari, mutta jotain saan koodillakin aikaiseksi. Lähinnä copy pasteamalla toisten koodia ja siitä muokkaamalla, mutta niin kai kaikki tekee (joskus).

Alunperin oli tarkoitus tehdä systeemi, joka olisi suoraan maraplanin tulosteesta (tai siis sen sähköisestä tulosteesta) siirtänyt työvuorot googlen kalenteriin, mutta johtuen useammastakin syystä (osa jo tässä aiemmin mainittu) päätin tehdä vain apusovelluksen, johon pitää itse syöttää vuorot ja skripti sylkäisee  .CSV muodossa vuorot ulos ja sitä kautta ne saa nätisti googlen kalenteriin. Jos haluat kokeilla skriptiä, se löytyy osoitteesta rahikkala.net/kalenteri ja koodi itsessään löytyy githubista. 

Kieli valinta osui tällä kertaa PERLiin. En ole koskaan mitään tuolla kielellä kirjoittanut, mutta vaikuttaa varsin helpolta kieleltä, vaikkakin paikoitellen helpottavat asiat tekevätkin siitä itseasiassa vaikeamman. Esimerkiksi käytin hyvän hetken ihmettelyyn, koska en ollut huomannut että vaikka $string1 == $string2 on täysin validi vertailu, se ei tee sitä mitä halusin. Oikea muoto on $string1 eq $string2. No nytpä tiedän tuonkin tärkeän eron, joka oli mennyt tyystin minulta ohi netin ohjepalstoja lukiessa.

Koodi on melkoinen purkkapallo, eikä siinä ole juurikaan suojauksia käyttäjän idioottimaisuuksia vastaan. Käytä sitä siis omalla vastuulla! Suosittelen tekemään erillisen kalenterin, johon tulee pelkästään työvuorot. Kalenteriin on helppo lisätä kerralla monta tapahtumaa tällä skriptillä , mutta ne joutuu poistamaan sieltä yksitellen, jos vaikka sattuu lipsahtamaan väärä kuukausi. Maksimi määrä mitä tapahtumia (tai oikeastaan päiviä) voi kerralla lisätä on 32.

Joku voisi sanoa, että ammutaan tykillä hyttystä tässä, mutta päätin käyttää käyttäjä seurantaan google analyticsiä. Seuranta skripti kuitenkin on vain aloitus sivulla, ainakin tällä hetkellä.

 

Edit: 29.9. Muutettu muutamaa kohtaa saadun palautteen perusteella.