Sivut

lauantai 23. lokakuuta 2021

Hash baby Hash

In this case, "hash" means messing up passwords. Sorry, but this is the English version. Nerds and half of the world do understand.

But how to hash passwords on a website? As a developer, I must know how to store passwords securely. For the following reasons:
1) Many web attacks aim at stealing your users’ passwords. If passwords are stolen, I must make sure the attacker cannot decrypt them.
2) Today’s strict privacy regulations require sensitive data, like passwords, to be protected. Failing to comply can result in fines.
3) Password security is one of the basic security features my clients expect from me.
4) If I know how to do it properly, my reputation will improve and my clients will trust me.

So, are legacy MD5 and SHA hashes secure? Short answer: No!

Back in the day, passwords were stored using an MD5 or SHA1 hash.
Like this: 
$𝘩𝘢𝘴𝘩 = 𝘮𝘥5($𝘱𝘢𝘴𝘴𝘸𝘰𝘳𝘥);

However, this technique is not safe enough. For two reasons:
1) MD5 and SHA algorithms 𝐚𝐫𝐞 𝐭𝐨𝐨 𝐰𝐞𝐚𝐤 for today’s computational power.
2) Simple, not-salted hashes are vulnerable to “𝐫𝐚𝐢𝐧𝐛𝐨𝐰 𝐭𝐚𝐛𝐥𝐞𝐬” and dictionary attacks.

If an attacker steals an MD5 or SHA hash, he or she can easily find out the original password too. In other words, these hashes are almost as insecure as plain text passwords.

The solution is to use a PHP 𝐬𝐞𝐜𝐮𝐫𝐞 𝐡𝐚𝐬𝐡𝐢𝐧𝐠 𝐟𝐮𝐧𝐜𝐭𝐢𝐨𝐧:
$𝘩𝘢𝘴𝘩 = 𝘱𝘢𝘴𝘴𝘸𝘰𝘳𝘥_𝘩𝘢𝘴𝘩($𝘱𝘢𝘴𝘴𝘸𝘰𝘳𝘥, 𝘗𝘈𝘚𝘚𝘞𝘖𝘙𝘋_𝘉𝘊𝘙𝘠𝘗𝘛);

The password_hash() function creates a secure hash of your password. The result hash from password_hash() is secure because:
1) It uses a 𝐬𝐭𝐫𝐨𝐧𝐠 𝐡𝐚𝐬𝐡𝐢𝐧𝐠 𝐚𝐥𝐠𝐨𝐫𝐢𝐭𝐡𝐦.
2) It adds a 𝐫𝐚𝐧𝐝𝐨𝐦 𝐬𝐚𝐥𝐭 to prevent rainbow tables and dictionary attacks.

Once you have the password hash, you can save it directly in the database.

To verify the password provided by a remote user, you need to use the password_verify() function.

Important:
You cannot just compare two different hashes to see if they match.
The reason is that password_hash() creates 𝐬𝐚𝐥𝐭𝐞𝐝 𝐡𝐚𝐬𝐡𝐞𝐬.

Salted hashes include a random string, named “salt”, as a protection against rainbow tables and dictionary attacks. Therefore, every hash will be different even if the source password is the same.

Note:
password_verify() only works with hashes created by password_hash(). You cannot use it to check a password against a MD5 or SHA hash.

There are ways you can still add hash protection, but I may write about them a second time.

You can read more in the PHP manual

lauantai 18. syyskuuta 2021

Koodarin kujanjuoksu

Kyllä on vanhan koodarin elämä tehty hankalaksi. 

Sen lisäksi, että pitää tietää tai tunnistaa millä selaimella käyttäjä ohjelmaa suorittaa, niin jokaisessa ohjelmointikielessä on omat kummallisuudet niinkin yksinkertaiseen asiaan kuin päivämäärien käsittelyyn. Lasketaan vaikka esimerkiksi kahden päivämäärän välinen päivien lukumäärä.

Näin se tehdään Bash komennoilla:

#!/bin/bash
CDATE=`date -d "Sep 30" +%j`
TODAY=`date +%j`
DAYS=$(($CDATE - $TODAY))
echo $DAYS # Näytetään lopputulos


Näin se toimii Python kielellä:

#!/usr/bin/env python3
from datetime import date
f_date = date(2021, 9, 18)
l_date = date(2021, 9, 30)
delta = l_date - f_date
print(delta.days)  # Näytetään lopputulos


Ja näin PHP kielellä:

<?php
$date1=date_create("2021-09-18");
$date2=date_create("2021-09-30");
$diff=date_diff($date1, $date2);
echo $diff->format("%R%a days");  // Näytetään lopputulos
?>

Ja kuuluisasta internetistä on turha hakea apua tai vastauksia. Se on täynnä täysin luokattomia kommentteja, jotka kuuluvat suurinpiirtein: "En tiedä toimiiko tämä, mutta kokeile"
Olen huomannut, että internetissä on sentään muutama sellainen taho, joiden kirjoittamat esimerkit ja oppaat jopa toimivat. Yksi niistä on IBM.

"Joskus muinoin" kun oppaat painettiin kirjan muotoon, niin julkaisijalla oli sentään jonkinlainen vastuu esimerkkien toiminnasta. Siksi olen laatinut ja kerännyt esimerkkejä aivan itse ja kirjoittanut niistä oman tietokannan.

Tätä opasta täydennän aina tarpeen mukaan.








Entiseen aikaan riitti se, että ensin valittiin ohjelmointikieli. Esimerkiksi M$ yhtiön tuotteista Visual Studio (Basic, C, C++, C#). Tämän jälkeen piti tietää mihin ympäristöön ohjelma asennetaan (M$ DOS, Windows 3.x, 95, 98, NT, XP). Sen jälkeen koodattiin niin vimmatusti ja muodostettiin lähdekoodista tietokoneella suorittava versio (EXE).
Oliko se sitten helpompaa, päätelkää itse!


maanantai 13. syyskuuta 2021

Päivitysten suloinen kirous

Ei, miksi näin. Aina! 

Näin kehittäjänä minua ottaa päähän (lue: h****aa) se, että joka kerta kun käyttämäni ohjelmiston versio päivittyy, niin uusi versio sotkee minun omat muokatut asetukset. 

Aatelkaapa ite: jos lähdette metsään kaatamaan puita sillä vanhalla tutuksi tulleella sahalla. Olet juuri saanut viilattua vanhan ketjun kuntoon, niin sitten tulee sahaan päivitys ja ketju vaihtuu. Lisäksi uudessa päivityksessä jokaiselle puulajille pitää käyttää erilaista ketjua. Ei muuta kuin kauppaan ostamaan uusia ketjuja! 

No, miksi päivittää jos kaikki toimi? Tämä vanha kysymys on aiheellinen jokaisessa päivityksessä. Mutta monessa järjestelmässä ja työkalussa päivitystä ei voi helposti estää, se tehdään automaattisesti. Tai sitten menetät joitakin ominaisuuksia, jotka eivät enää toimi vanhassa versiossa. 

Viimeksi tämä tapahtui Firefox selaimen uudessa 92.0 versiossa. Käytän etupäässä neljää eri selainta, olosuhteiden pakosta. Firefox on yksi niistä, sekä Linuxissa että Windowsissa.

sunnuntai 12. syyskuuta 2021

Agressiivi

Kielioppi haltuun!

AGRESSIIVI
Suomen kielen vanhojen modusten rinnalle on puhekielessä vakiintunut aggressiivi. Se taipuu persoonissa ja luvuissa ja kaikissa tempuksissa.

Aggressiivin tunnus on toistaiseksi hyvin vaikeasti mihinkään sanaluokkaan määriteltävissä oleva vittu. Vittu ei koskaan esiinny yksin, se edustaa siis eräänlaista pohjarakennetta tai osamorfeemia.
Vittuun agglutinoidaan aina jokin persoona- tai relatiivipronomini.

Jälkimmäiset esiintyvät poikkeuksetta paikallissijoissa.
Vittu + pronomini -kombinaatio muodostaa siis aggressiiville tunnusomaisen modusrakenteen.

PREESENSTAIVUTUS
sg vittumä jaksa mihinkään venäjän tenttiin lukea.
sg vittusä rupee mulle iniseen.
sg vittuse tullu ees paikalle, turhaan venasin.
pl vittume mitään pikkulapsia syödä, paskapuhetta.
pl vittute mihinkään raflaan tule, kunhan jauhatte.
pl vittune mistään mitään tiedä.

PERSOONATTOMIA
Vittusiellä mitään ilmaista viinaa ollu.
Vittutäällä mikään kesä ole.
Vittutäällä jaksa pitempään notkua.

Muissa tempuksissa Aggressiivi taipuu saman kaavan mukaan.

IMPERFEKTI
Vittumä jaksanu sitä kissaa pelastaa.

Huom! Lause "Vittuse tippu tohon avantoon" ei ole aggressiivi, koska lauseen imperfektimuotoinen predikaatti on indikatiivissa!  Kyseessä on siis tavallinen kirosanalla höystetty indikatiivilause, joka nimeäminen aggressiiviksi osoittaa sangen pitkälle kehittynyttä lingvistisen silmän verkkokalvon rappeumaa.

PERFEKTI
Vittumä oo jaksanu kahteen viikkoon tiskata.

PLUSKVAMPERFEKTI
Vittumä ollu jaksanu ees syödä päiväkausiin ennenku jouduin tiputukseen.

AGGRESSIIVI MODUKSENA
Koska aggressiivi on modus, se ei voi esiintyä samassa lauseessa eri modukseksi laskettavan predikaattimuodon kanssa.

Aggressiivi, vanhan kansan suussa ponsitapa, ilmaisee aktiivista närkästystä, kyllästymistä, turhautumista, hermostumista ja suoranaista suuttumusta. Tarkemman taustatunteen voi vastaanottaja päätellä kontekstista. 

Aggressiivin yhteydessä käytetään eräissä piireissä tehokeinona elekieltä, jonka luonne voi vaihdella sormimerkeistä aina täyskontaktimanööveriin.


PS.
Tämä juttu on kopioitu joskus ennen sähköpostiaikaa tulleesta telefaksiviestistä.
Tallennettu sähköiseen muotoon tietokoneelle, josta se nyt siivouksen yhteydessä löytyi.



tiistai 22. kesäkuuta 2021

Apuohjelmia

 

Kun Windows XP julkaistiin, niin silloin M$-yhtiö kertoi, että nyt ei enää tarvita ulkopuolisia apuohjelmia. Vaan toisin kävi.

Oheisessa kuvassa on pikku apulaisia. 
Vasemmalla yläosassa (gKrell) on tietokoneen kuormitusta kuvaava grafiikka ja alaosassa (Color Picker). Se on värikoodin poimintaan tarkoitettu työkalu.
Oikealla on tiedostoselain (Dolphin), johon voi itse muokata pikavalintoja useasti käytettyihin kansioihin ja merkitä ne värikoodilla.

Nyt joku taas kysyy: mihin näitä tarvitaan?
Minä vastaan: töiden tekemiseen, useaan kertaan tunnissa.

Kuormituksen grafiikasta näen syyllisen jos joku tuntuu hidastavan tietokonetta.
Värikoodin poimintaa tarvitsen, kun määritttelen esim. nettisivulle tarvittavan värin.
Tiedostoselainta käytän jatkuvasti ja kansioiden pikavalinnat helpottavat työtä!

Nämä apulaiset toimivat Ubuntu 20.04 (Desktop) Linux koneessa.



Koodin korjaamista

 

Viikolla 24/2021 meni ainakin kaksi päivää (ja hyvä ettei yötäkin) hukkaan.
Rakennan sellaista kotisivulla olevien tekstien ja kuvien ylläpito-ohjelmaa. Silloin käyttäjä voi muokata sivua ilman minun puuttumista asiaan. 

Ai miksikö? 

Ensiksi: minä en pidä näiden erilaisten WySiWyg -ohjelmien tuottamasta koodista. Koodi muistuttaa enemmän vanhaa risuaitaa. Jos sitä joutuu jälkeenpäin muokkaamaan, niin silloin ollaan suossa.
Sitäpaitsi WySiWyg-ohjelmat ovat varsin raskaita käyttää, ainakin loppukäyttäjälle.

Toiseksi: haluan pikkuhiljaa irtaantua näistä tiukalla aikataululla tehtävistä töistä ja keskittyä enemmän itseeni ja uuden oppimiseen. Esimerkiksi ukulelen soittamisen opetteluun 😃 Siksi siis rakennan tätä ohjelmaa. Ja nyt vasta päästään itse asiaan.

Tässä tosiaan meni pari päivää kun etsin vikaa koodista. Käytän kolmannen osapuolen moduuleita (DataTable ja TablEdit), joiden ympärille rakennan omaa koodia. Vanha viisaus sanoo, että kaikkea ei tarvitse tai kannata itse tehdä.
No, nämä moduulit eivät suostuneet toimimaan yhdessä. Etsin tietenkin vikaa omasta koodista, turhaan! TablEdit moduulista on olemassa kolme erilaista versiota. Yksi ei suostunut muokkaamaan tietoa textarea kentässä, toinen ei suostunut tallentamaan ($_POST) muokattua tietoa. Vasta kolmas suostui tekemään molempia!

Arvatkaa harmittiko kun huomasin, että vika ei ollutkaan minussa, vaan näissä eri moduuleiden versioissa. 

Indeksointi kuormittaa tietokonetta


Windows 10 koneessa on käynnissä indeksointi. M$ kertoo, että "Indeksointi tarkoittaa tiedostojen, sähköpostiviestien ja tietokoneesi muun sisällön tarkastelua ja niissä olevien tietojen, kuten sanojen ja metatietojen luettelointia. Kun teet tietokoneellasi haun indeksoinnin jälkeen, haku etsii tuloksia nopeammin indeksistä." Ja lupaa vielä, että "Täydellinen indeksi voi palauttaa vastauksia hakuihin, kuten "Näytä kaikki Coldplayn kappaleet" sekunnin murto-osassa. Haku kestäisi useita minuutteja ilman indeksiä." 

Ja Pah! sanon minä. Minkään käyttöjärjestelmän (Windows, Mac, Linux) indeksointi ei palauta tietoja sekunnin murto-osassa. Sen sijaan täydellinen indeksointi jopa hidastaa tietokoneen toimintaa, koska se toimii koko ajan taustalla ja käyttää tietokoneen resursseja (muistia, kiintolevyjä ja keskusyksikköä).

Indeksointi-ohjelmaa ei yleensä kannata kokonaan poistaa, sillä silloin lakkaavat toimimasta monet muut ohjelmat, varsinkin tiedostojen hallintaan tarkoitetut. Indeksoinnin voi pysäyttää, jolloin se ei ole käynnissä, eikä kuluta tietokoneen resursseja. Indeksoinnin pysäyttäminen riippuu järjestelmästä ja laitteesta, eikä sitä kannata yrittää kotona ;-\ 

PS. Montako kertaa olet käytännössä tarvinnut indeksointia? Eli olet hakenut tietoa, jotakin nimeä tai hakemistoa tietokoneen sisuksista. Jos tiedostosi ovat hajallaan erilaisissa hakemistoissa, joita ei ole järjestetty mitenkään loogisesti, niin silloin saatat tarvita kunnollista indeksointia, kun esimerkiksi haet "Valokuvat viime talven pilkkikisoista". Moni meistä kuitenkin selaa kansioita ilman, että käyttää indeksointia. Kannattaa siis pitää tiedostot omissa kansioissaan ja nimetä kansiot siten, että tiedot löytyvät helpommin selaamalla.

lauantai 15. toukokuuta 2021

Github on hyvä olla, kaiken varalta


On välillä terveellistä "kloonata" omat työnsä toiseen tietokoneeseen tai pilvipalveluun. Koska olen "kerettiläinen", eli poikkean "yleensä vallitsevista käsityksistä", niin minä varmaan ylireagoin näihin varmistuksiin. Nimittäin käytän molempia. 

Kotona työt ovat tallessa vähintään kahdessa eri tietokoneessa. Lisäksi tallennan kaiken tärkeän tiedon ja projektit Github pilvipalveluun. 

Tästä oli jälleen eilen (14.5.2021) hyvä esimerkki. Pystyin ensimmäisen kerran kyseisellä viikolla käyttämään tietokonetta, kivun sallimissa rajoissa. Siinä se juttu olikin. Koska kipua selvästi vielä oli, niin ajatukset eivät pysyneet kasassa ja sähläsin erään työn tiedostot selittämättömään muotoon. 

Onneksi oli tämä Github. Siellä oli tallessa edellinen versio koko projektista ja sain sieltä palautettua toimivan koodin. HuH !!

Niin, mikä on Github? "GitHub on vuonna 2008 avattu verkkosivusto, joka tarjoaa paikan Git-versionhallintaa käyttäville ohjelmakehitysprojekteille." 

Lisää suomenkielisessä Wikipediassa: https://fi.wikipedia.org/wiki/GitHub

Mitä tästä opimme? Joku varmistus on aina hyvä olemassa. Kaiken varalta, kuten kuntavaalit.

Märkää tietä Mikkelistä pohjoiseen

Vuonna 2014 juuri tähän aikaan (14.5.) oli hieman kosteampi keli, ainakin jossakin Mikkelin lähellä. Tuli mieleeni, että onkohan tuo varoituskolmio aivan oikeassa paikassa?



Ruuveja ja muttereita


En enää muistanut, että kuinka paljon inhoan lattapäisiä ruuveja. 

Tällä kertaa ei kuitenkaan löytynyt oikean kokoista risti tai torx ruuvia, niin piti käyttää vanhaa.
Tämän seurauksena nyt on vasemmassa kämmenessä arpia ja nirhamia. Tuli kuitenkin korjattava laite (hätä)kuntoon ja saa jäädä odottamaan "oikeiden" ruuvien tilausta. 

Tässä ruuvien maailmassa pätee varmaan sama laki kuin sähkölaitteissa. Muutetaan hieman lakia tai asetuksia, tehdään uusia ominaisuuksia, mitä hyvänsä, että saadaan uusia tuotteita ja versioita kaupaksi.

Ruuvien ja työkalujen valmistajat ovat varmaan kimpassa, jos ei aivan kartellissa (mikä olisi kiellettyä). 


tiistai 20. huhtikuuta 2021

Tietoturvaa


Tietoturva on nyt keskusteluissa esillä.
Niin sitten minäkin aloitin tutkimaan asiaa lisää. Olen puuhastellut ja tehnyt töitäkin tietoturvan parissa jo aikaisemmin. Mutta kukaan ei ole ottanut vakavasti minun jorinoita. Ehkä jatkossa tulen ymmärretyksi.
No, jokatapauksessa. Asensin oman Android puhelimen ja tabletin selaimeksi turvallisemmaksi arvostetun version, DuckDuckGo (mikä nimi ?!?). 

Android laitteisiin sen saa selaimena ja korvasin sillä Google Chrome selaimen, jonka joku muukin on huomannut lähettävän kaikenlaista tietoa Googlen palveluun.

Joku kysyy: mitä väliä, ei minulla ole mitään salattavaa? Siitä ei olekaan kysymys, vaan siitä, että saako joku rosvo yhteyden sinun laitteeseen ja kaappaa sen hallintaansa.

Työpöydän (PC) ja kannettavissa (Laptop) koneissa tämän Ankan (tai Hanhen) saa selaimen lisäosana. Myös Chromeen. Mutta kuinka tämä toimii Googlen omassa selaimessa 🙂 Se on testaamatta.

Toisaalta. Mistä sitä tietää, että mitä tietoja ja mihin mikään selain tai laite lähettää. Monellakaan ei ole mahdollisuutta itse tutkia asiaa.










 


Erilaisiin palveluihin kirjautumisen menetelmät (myös kaksivaiheinen tunnistautuminen) tulisi aina välillä tarkistaa ja ainakin salasanat vaihtaa säännöllisesti. Tämä on taas näitä minun jorinoita ja turinoita. Mutta kuten olemme huomanneet !

Tavallisella käyttäjällä ei salasanoja ole niin montaa, että niiden vaihtamiseen ei pitäisi olla mitään estettä. Laiskuus ja muistamattomuus ehkä.
Salasanojen muistamiseen ja turvalliseen säilyttämiseen on olemassa hyviä menetelmiä. Niistä olen täälläkin kirjoittanut ja jorissut aivan riittävästi. Jos ette ole sattuneet lukemaan tai ette muista, niin ottakaa yhteyttä. Alamme muistelemaan menneitä. Tärkeintä on toimia turvallisesti netissä, koska siellä nyt joudumme kuitenkin liikkumaan ja hoitamaan asioita.

Minulla on tilanne hieman erilainen. Tällä hetkellä tietokannassa, jossa säilytän salasanoja, on vajaa 100 erilaista tunnistautumisen tietoa: käyttäjätunnus / salasana / sähköposti. Pysyn niistä melko hyvin perillä oman muistisäännön avulla. Ja jos muisti pettää, niin aina voin tarkistaa tiedon salasanojen tietokannasta. Sinne minulla ja vain minulla on pääsy olen sitten missä hyvänsä. Jos vain netti toimii. Ja miksi ei toimisi jos kerran yritän käyttää netin palvelua.

Joku pitää tätä höpsötyksenä, mutta pitäköön. Näinä aikoina ei voi olla liian varovainen. Ei pidä olla tyytyväinen siihen, että ei minulla ole mitään salattavaa. Ei varmaan ole, mutta joku kieroutunut yksilö voi käyttää juuri sinun tietojasi väärin. Silloin sinusta tulee uhri vaikka ei olisikaan mitään salattavaa. 

 

Vaihdetaan M$ tilin puhelinnumero


Tämä on taas niin M$ yhtiölle tyypillistä, niin tyypillistä. Muistuu mieleen DOS aika. Jos tietokoneessa ei ollut näppäimistö kiinni, niin DOS ilmoitti: "Näppäimistöä ei löydy. Paina jotakin näppäintä...! 

Nyt elämme Windows 10 aikaa. Minullakin on sellainen eräässä Laptop koneessa. Käynnistin sen aamulla testejä varten ja kas, Windows 10 yrittää kirjautua Microsoft tilille ja kysyy salasanaa (joka on nähtävästi vanhentunut). 

Mutta mitä sitten? Tämä haluaa lähettää puhelimeen vahvistuskoodin. Sellaiseen numeroon, jota minulla ei enää ole olemassa. Katson Windows 10 ohjeesta, että kuinka voin vaihtaa puhelinnumeron? Mitä ihmettä! Kirjaudu Microsoft tilille ja hallitse kirjautumistapaa. 

Että mitenkä? No, kyllä sen pääsi kiertämään kirjautumalla sähköpostiosoitteella.

sunnuntai 17. tammikuuta 2021

IBM Knowledge Center

 

Etsin erästä PHP/MySQL toteutusta omista arkistoista => en löytänyt. Käännyin sitten internetin ihmeellisen maailma puoleen. En käyttänyt Googlea, minulla on koodin etsimiseen aivan muut työkalut. Esimerkiksi Stackoverflow -palvelu. Monenlaista soppaa löytyi. Monet täysin kelvottomia, puutteellisia ja jopa virheellisiä. Sitten muistin entisen työnantajan kehittäjien sivut = IBM (https://www.ibm.com/support/knowledgecenter) Kun IBM tekee oppaan ja sille esimerkit, niin tähän saakka ne on testattu ja todettu toimivaksi usealla erilaisella alustalla. Muuten niitä ei julkaista. Niin kävi tälläkin kertaa. Lopulta totesin, että toimivin ratkaisu on aina se yksinkertaisin. Olin viettänyt kokonaisen päivän hieman turhaan etsiessä omaa vanhaa toteutusta ja kokeillessa uusia temppuja. Ehkä jatkossa muistan olla viisaampi. Tai sitten en :-\ PS: https://stackoverflow.com/ on hyvä palvelu. Pääsääntöisesti siellä on kehittäjien tekemiä kirjoituksia toisille kehittäjille, mutta monta kertaa hyviäkin ideoita ei ole loppuun saakka testattu. Monet ovat tyyliä: Kokeile tätä, en tiedä toimiiko se.

Tässä on toteutus, minkä sain aikaiseksi







tiistai 1. joulukuuta 2020

Stretchly break time reminder

Asensin kaikille työkoneille Stretchly break time reminder sovelluksen. Taukoaikojen muistuttajan. Sovelluksen ruutu hyppää silmille aina määrävälein: 10s lyhyt tauko puolen tunnin välein ja pidempi 2min tauko aina tunnin välein. Ruudulla annetaan ohjeita siitä, mitä tauon aikana tulisi tehdä. Esimerkiksi nouse ylös ja käy juomassa lasi vettä.

Taukojen pituutta voi säätää ja voihan tauon tietysti ohittaa, mutta siitä muistuttaja vain yltyy muistuttamaan lisää. Yritin ensin hakkeroida ohjelmaa, mutta se osoittautui hankalaksi (on hyvin kirjoitettua koodia). Mitä se sitten hyödyttäisi?

Voihan olla, että tässäkin on kyseessä lumevaikutus, mutta luulen, että tämä taukojen pitäminen on parantanut omaa tehoani ja mielen kuntoa.

Kuva 1) 2min tauko, Kuva 2) 10s tauko. 




Linux FTP Timeout

Linux FTP-ohjelma heittäytyy huvittavaksi.

ftp> ls
421 Timeout - try typing a little faster next time

No, aikakatkaisu on säädettävissä, mutta ei sitä viitsi äärettömäksi laittaa.
Turvallisuuden vuoksi.


perjantai 30. lokakuuta 2020

Ohjelmointia opetellessa

Muuttokuormasta löytyy myös palanen historiaa. Kaiken krääsän ja piirikorttien seasta löytyi kolme ohjelmointiopasta, joilla olen joskus aloittanut.

 
1) Nova Extend Basic. Vuonna 1977 aloitin Mikkeli Teknillisessä Oppilaitoksessa (MTOL) opiskelun. Jo alussa matematiikan kurssiin kuului Basic kielen opinnot. Tämän kirjan esipuheessa sanotaan: "Tulevaisuudessa henkilökohtaisten tietokoneiden hinnat tulevat laskemaan, jopa alle 300 000 markan.
Oikeassa oli Pekka Markkula.
 
 
2) Tämä Basic opas kuuluu jo 1980 luvulle ja Commodore PET 8050 koneeseen. Sen esipuheessa puolestaa todetaan: "Mikään vaatimaton kieli ei Basic silti ole, sillä sen avulla voidaan yksinkertaisella tavalla ratkaista hyvinkin monimutkaisia tehtäviä ja ohjata jopa teollisuuslaitosta." 
Jälleen oli kirjoittaja oikeassa.
 

 
3) Vuonna 1989 olen näköjään siirtynyt C-kieleen. Alkusanoissa todetaan: "C-kieli on yleiskäyttöinen ohjelmointikieli, jossa yhdistyvät korkean tason ja koneläheisen ohjelmointikielen ominaisuudet ja sillä voidaan tehdä tehokkaita ohjelmia erilaisiin laiteympäristöihin.
Hmmm ... Niinhän se taisi olla.
 
 

 

 

 

Tietoturvaa

 

Vanha fraasi: olenhan minäkin ... ! Nyt puhutaan tietoturvasta. 
 
Minä luen tietoturvaan paljon enemmän kuin "123456" tai muut tyhmät salasanat. Tietoturvalla tarkoitan myös tietojen varmistuksia. Ja vielä pidemmälle: myös varmistusten palautuksia ja sen testaamista. Kun jotakin sattuu, niin ollaanko varmoja, että tietojen palautus onnistuu?
 
Yksityisten henkilöiden tietoturvasta olen ollut vain huolissaan ja ilmaissut huoleni heille. Mutta yritysten (pienten ja suurten) tietoturvaan olen tarjonnut ratkaisua. Yhtään kauppaa ei ole tullut, koska se olisi maksanut ehkä liikaa. Minä(kään) en tarjonnut tietoturvan palvelua ilmaiseksi.
 
Vaikka tietojen varmistus olisi hoidettu tavalla tai toisella, niin onko koskaan testattu sitä, että toimiiko tietojen palautus. Varmistukseen käytettyjen laitteiden asennuksen jälkeen ovat järjestelmät saattaneet muuttua, eikä vanhan varmistusmenetelmän palautus enää toimi.
 
Silloin sanotaan kuten Pohjanmaalla: Siinä sitä sitten ollaan, kipiän lehemän kanssa!

tiistai 29. syyskuuta 2020

Linux päivitykset

 

Kun seuraa Linux'in päivityksiä, niin välillä on mukava tarkistaa, että mitä tietokoneessa oikein tapahtuu. Tämä on mahdollista Linux'in ohjesivujen kautta (manuaalit, man-pages).

Esimerkiksi tänään aamulla tuli kaksi päivitystä. Yksi deja-dup palveluun ja toinen cifs-utils palveluun. Nämä englanninkieliset termit löytyvät ohjesivuilta suomennettuna. 
 
* Déjá Dup on suomenkielinen yksinkertainen varmuuskopiointiohjelma. Se on yhdistetty osaksi Linux työpöytää. Se osaa varmuuskopioida tiedostot kansioista, ohittaa tiedostoja, salata, purkaa salauksia ja säännöllisin väliajoin varmuuskopioida automaattisesti. Se osaa myös käyttää pilvipalveluita, kuten Amazon S3:a. Myös USB-kovalevyjä voi käyttää.
 
* SAMBA on IBM:n ja Microsoftin kehittämä hajautettu levyjärjestelmä. Tunnettu myös nimellä CIFS (engl. Common Internet File System). Tämä mahdollistaa yli 2 GB tiedostojen tuen ja Unicode-tiedostonimet (ääkköset ja öökköset) Windows'ille ja Linux'ille. Protokollasta on avoimen lähdekoodin toteutus Unix-kaltaisille käyttöjärjestelmille (cifs-utils).

Sosiaalisen median ohjelmointikielet

Kuinka väärässä voikaan vanha nörtti olla!

Toki Facebook selaimen asiakasohjelma (Front-end) on kirjoitettu JavaScript-kielellä, kuten melkein kaikki muutkin sosiaalisen median palvelut (Twitter, Wikipedia, Yahoo, WordPress). Mutta taustalla (Back-end) toimii LAMP-palvelin [ Linux, Apache, MySQL(MariaDB), PHP ]. Tai ainakin toimi vielä 2012. Vieläpä Facebook'in itse koodaama ja virittämä versio [ Hack, PHP, Python, C++, Java, Erlang, D, XHP, Haskell ]

Lähde: https://en.wikipedia.org/wiki/Programming_languages_used_in_most_popular_websites


perjantai 28. elokuuta 2020

Testaamisen sietämätön keveys

 Joudun säännöllisen epäsäännöllisesti testaamaan kaikki hengentuotteeni erilaisilla järjestelmillä. Testit täytyy tehdä erilaisilla käyttöjärjestelmillä (Windows 7/8/10, MacOS ja Linux), erilaisilla laitteilla (PC, Laptop, Mobiilit) sekä erilaisilla selaimilla (ja niitähän riittää). Vaikka kehitystyö ja käyttö tehdäänkin internetissä, niin ohjelman käyttäytyminen asiakkaan laitteella riippuu noista kaikista tekijöistä. Osa toiminnoista kun on sidottu järjestelmään, eikä siihen pääse kehittäjä vaikuttamaan. Vielä 1990-luvulla piti "vain" tietää, että millaiseen Windows versioon ohjelma tullaan asentamaan. Nykyaika ei ole tuonut tähän ainakaan helpotusta. Etenkin mobiililaitteet ovat tyhjentäneet hiukset päästä. Tässä eräänä päivänä (nyt) ajattelin testata erästä tuotetta vanhassa Windows 7 ja 8.1 koneessa. Huomasin kyllä, että selain oli toki päivittynyt uudempaan versioon (IE 11.x). Mutta sitä en muistanut, että kuinka hankalaa on Windows 7 koneelle kertoa, että WiFi verkon reititin ja salasana ovat vaihtuneet. Se vai haluaa itse ratkaista verkon ongelmat, eikä päästä käyttäjää väliin. Kun tein saman testin uudemmalla Windows 10 koneella, niin se oli jo sujuvampaa. Win 10 osasi kysyä WiFi verkon salasanaa kun vanhalla ei enää päässyt verkkoon.

Tästä satunnainen lukija huomaa, että minulla saattaa olla useampi tietokone käytössä. Oikeassa on hän. Nopeasti laskettuna niitä on kaikkiaan kahdeksan (8) erilaista. Kaikissa hieman erilainen järjestelmä. Onneksi suurin osa laitteista on hankittu kierrätyksestä.

Tykkää
Kommentti
Jaa