Kirjautuminen

4x44 Bitcoin - Viikon VALO #200

5
Keskiarvo: 5 (1 arvio)
Oma arviosi: Ei ole

Bitcoin on avoimeen lähdekoodiin perustuva digitaalinen valuutta.
valo200-bitcoin.png Bitcoin on matemaattisin kryptografisin algoritmein toteutettu avoimen lähdekoodin ohjelmilla ja periaatteilla toimiva digitaalinen valuutta. Bitcoinit eivät ole minkään keskuspankin liikkeelle laskemia eikä niillä suoritettavia maksuja välitetä minkään pankin kautta vaan suoraan käyttäjien välillä vertaisverkkoperiaatteella. Bitcoin on kryptografisen toteutuksensa ansiosta luonteeltaan turvallinen ja pseudonyymi. Bitcoineilla on helppoa suorittaa maksuja kansainvälisesti ja nopeasti. Bitcoineilla on mahdollista toteuttaa helppo maksaminen verkkopalveluiden yhteydessä ja vaikka pienten tippien antaminen. Sen heikkoja puolia ovat esimerkiksi sen vaihtokurssien vaihtelevuus sekä verotukselliset ongelmat.

Bitcoinin kehitti nimimerkillä Satoshi Nakamoto toiminut henkilö tai taho vuonna 2008. Yksi bitcoin, lyhenne (BTC), jakautuu tuhanteen millibitcoiniin (mBTC) ja se voidaan jakaa myös 100 miljoonaan pienempään satoshiksi kutsuttuun yksikköön. Bitcoineja tullaan laskemaan liikkeelle yhteensä enintään 21 miljoonaa kappaletta ja niitä on tällä hetkellä liikkeellä noin 13 miljoonaa. Bitcoinien liikkeellelasku tapahtuu geometrisena sarjana ja se tulee hidastumaan ajan mittaa. Tätä kirjoitettaessa yhden bitcoinin kurssi on noin 327 dollaria, eli noin 269 euroa.

Bitcoinin idea perustuu siihen, että kaikki niillä suoritetut maksut, eli transaktiot ("transaction"), ovat julkisia ja niitä säilytetään vertaisverkossa hajautetusti ylläpidetyssä julkisessa kirjanpidossa. Yksittäiset hyväksytyt transaktiot niputetaan lohkoiksi ("block"), joista aikajärjestyksessä rakennettu lohkojen ketju ("block chain") muodostaa bitcoinien julkisen kirjanpidon. Kukin lohko sisältää tarkistussumman, joka on laskettu sen omasta sisällöstä sekä ketjun edellisen lohkon tarkistussummasta. Hyväksyttävien tarkistussummien laskeminen lohkoille on tehty tarkoituksella työlääksi kryptografisin menetelmin. Näin varmistetaan kirjanpidon muuttumattomuus, sillä yksittäisen transaktion muuttaminen vaatisi sen sisältämän lohkon tarkistussumman laskemisen uudestaan. Jotta ketju pysyisi ehjänä, pitäisi laskea uudet tarkistussummat myös kaikille ketjun seuraaville lohkoille, sillä ne sisältävät tiedon edellisen lohkon tarkistussummasta. Lisäksi, koska käsitys oikeaksi hyväksytystä lohkoketjusta perustuu bitcoinvertaisverkossa siihen, mikä lohkoketjun versio on yleisimmin käytössä eli kasvanut pisimmäksi, pitäisi transaktioita väärentävän tahon saada käytännössä hallintaansa yli puolet transaktioiden vahvistuksia laskevasta laskentakapasiteetista. Tämä on varsin epätodennäköistä.

Uusien bitcoinyksiköiden luominen, louhiminen eli mainaus ("mining"), liittyy suoraan siihen, miten uudet bitcoineilla tapahtuvat maksut, transaktiot, hyväksytään ja liitetään osaksi lohkoketjua. Kun uusi transaktio suoritetaan, alkavat louhintaa suorittavat vertaisverkon koneet laskea sen vahvistamiseen tarvittavia tarkistussummia. Uuden lohkon ketjuun lisäämiseen tarvittava laskenta kestää noin 10 minuuttia ja tyypillisesti transaktio katsotaan varmistetuksi, kun ketjussa on transaktion oma lohko mukaan lukien vähintään kuusi uutta lohkoa. Tällöin transaktio on jo niin syvällä kirjanpidon historiassa, että sen muuttaminen, eli jo käytetyn rahan uudelleen käyttäminen ("double-spending"), katsotaan mahdottomaksi.

Maksujen lähettämiseen ja vastaanottamiseen bitcoinien käyttäjät käyttävät erilaisia bitcoinsovelluksia ja -lompakoita. Sovellukset voivat olla web-palveluihin pohjautuvia, jolloin lompakko on tallennettuna palvelun palvelimelle salasanalla suojattuna, taikka käyttäjän paikallisella tietokoneella tai mobiililaitteella olevia sovelluksia. Sovelluksen hallitsema lompakko on käytännössä luettelo julkisen avaimen kryptografiaan liittyviä salaisia avaimia. Näiden salaisten avainten hallussa pitäminen valtuuttaa käyttäjän käyttämään julkisessa kirjanpidossa näkyviä vielä käyttämättömiä ("unspent") varoja. Jokaista bitcointransaktiota varten vastaanottajalle luodaan uusi bitcoinosoite ("address"), johon maksu lähetetään ja jonka käytön vastaanottajan salainen avain oikeuttaa. Osoite on 26-34 merkkiä pitkä merkkijono, esimerkiksi: 1HUbRagBn18Qo5b7eS72H8WJJD2ByCcGFw. Lompakon saldo koostuu käytännössä kaikista julkisesta lohkoketjusta löytyvistä transaktioista yhteenlasketuista käyttämättömistä varoista, joiden käyttöön lompakossa olevilla avaimilla on oikeus.

Käyttämättömien varojen käyttämistä voidaan verrata tavallisesta lompakosta löytyvien rahojen käyttämiseen. Kun henkilön tavallisessa lompakossa on kaksi viiden euron seteliä, ovat ne tulleet hänelle tuloksena jostain aiemmasta maksutapahtumasta, esimerkiksi vaihtorahana jostain isommasta maksusta. Jos henkilö haluaa maksaa kuuden euron maksun, hän maksaa sen noilla kahdella viiden euron setelillä ja saa vaihtorahana esimerkiksi kaksi kahden euron kolikkoa. Vastaavasti bitcoineilla maksettaessa käytettävissä olevat varat ovat tulleet jostain aiemmasta maksutapahtumasta eli transaktiosta. Tällaisia varoja sanotaan transaktioiden käyttämättömiksi ulostuloiksi ("unspent output"). Käytetty ohjelma valitsee uuteen transaktioon sisääntuloksi ("input") automaattisesti käyttämättömiä ulostuloja riittävän bitcoinmäärän verran ja ulostuloksi kohdeosoitteen. Jos maksusta jää rahaa yli, loput rahat ohjataan vaihtorahana ulostuloon, jonka osoite on käyttäjän itse omistaman salaisen avaimen hallittavissa. Näin käytetyt ulostulot merkitään kirjanpitoon käytetyiksi ("spent output") ja transaktion vahvistamisen jälkeen lohkoketju estää niiden käytön uudelleen. Esimerkki bitcointransaktiosta: 0a1c0b1ec0ac55a45b1555202daf2e08419648096f5bcc4267898d420dffef87.

Lompakoita hallitsevia sovelluksia on lueteltu bitcoin.org-sivuston ohjeissa. Sovelluksia löytyy mobiililaitteille ja tietokoneille sekä palveluina verkossa. Lisäksi lompakkona voi käyttää erillisiä sitä varten suunniteltuja laitteita. Esimerkki tietokoneella toimivasta on alkuperäinen Bitcoin Core eli Bitcoin-qt. Android-laitteella helppokäyttöinen sovellus on Bitcoin Wallet, joka löytyy myös F-Droidista nimellä "Bitcoin". Yksinkertaisimmillaan bitcointransaktio tapahtuu lukemalla mobiilisovelluksella vastaanottajan esittämä QR-koodi, joka sisältää vastaanottajan osoitteen sekä summan. Verkkopalveluina käytettävät lompakkopalvelut ovat myös käyttökelpoisia ja helppoja käyttää useammalta laitteelta, mutta niiden käytöstä peritään tyypillisesti hyvin pieni välityspalkkio.

Koska bitcoinvarojen käyttöoikeus perustuu sähköiseen lompakkoon taltioituihin salaisiin avaimiin, on sanomattakin selvää, että lompakosta on pidettävä hyvää huolta. Lompakon katoaminen tarkoittaa, että kaikki sillä hallittavat varat ovat auttamattomasti menetettyjä ja kukaan ei pääse niihin enää käsiksi. Siksi onkin tärkeää varmuuskopioida säännöllisesti esimerkiksi puhelimeen asennetun bitcoinohjelman käyttämä lompakko ja säilyttää hyvässä tallessa jossain muussa paikassa kuin puhelimessa. Varmuuskopiota tehdessä lompakko tyypillisesti salataan, jolloin on tärkeää muistaa käytetty salauksen purkava salasana. Bitcoineja voi tarvittaessa tallettaa myös niin sanottuun paperilompakkoon, joka on fyysinen offline-dokumentti, jonka voi pitää tallessa kuin tavallisen käteisen rahan. Paperilompakko sisältää sisällään tiedon julkisesta osoitteesta ja salaisesta avaimesta, jolla on pääsy kyseiseen osoitteeseen lähetettyihin rahoihin. Paperisen lompakon sisältämät rahat voidaan "pyyhkäistä" takaisin sähköiseen muotoon esimerkiksi lukemalla paperille tulostettu QR-koodi. Käytännössä tämä tarkoittaa uutta transaktiota sähköisen lompakon hallinnoimaan osoitteeseen.

Bitcoineja hankitaan tyypillisesti joko vaihtamalla tavallista rahaa virtuaalivaluutaksi jossain vaihtopalvelussa tai ansaitsemalla niitä myymällä jotain taikka louhimalla. Vaihtopalvelut joko vaihtavat rahat itse tai toimivat ostajien ja myyjien välissä välittäjinä. Maksun voi suorittaa myyjästä riippuen erilaisilla keinoilla, mukaan lukien käteinen raha, pankkisiirto sekä PayPal-maksu. Helsingin asematunneliin avattiin vuonna 2013 Levykauppa Äxän tiloihin Euroopan ensimmäinen Bitcoin-automaatti, jolla voi vaihtaa käteistä rahaa Bitcoineiksi.

Koska bitcoineilla maksut tapahtuvat transaktiokohtaisilla osoitteilla, ovat maksutapahtumat pseudonyymejä. Tämän nimettömyyden ansiosta bitcoin on positiivisten käyttötarkoitustensa lisäksi kerännyt suosiota myös rikollisessa toiminnassa, kuten rahanpesussa ja huumekaupassa. Nimettömästi tapahtuva valvomaton rahaliikenne aiheuttaa päänvaivaa myös verotuksellisesti, sekä verottajalle että rehelliselle veronmaksajalle. Esimerkiksi Suomen lainsäädännössä bitcoinilla ei ole virallisen valuutan asemaa ja verojen maksamisesta voi aiheutua monimutkaisia kiemuroita. Verohallitus on julkaissut vuonna 2013 ohjeen virtuaalivaluuttojen tuloverotuksesta. Ohje sisältää muutamia esimerkkitilanteita.

Bitcoinin rinnalle on noussut myös muita, yleensä samankaltaisiin algoritmeihin perustuvia, virtuaalivaluuttoja, kuten Litecoin, Dogecoin ja Namecoin.

Kotisivu
http://bitcoin.org
Bitcoin Core -ohjelman lisenssi
MIT
Toimii seuraavilla alustoilla
Kaikki
Asennus
Bitcoineja voi käyttää www-pohjaisina palveluina toimivilla lompakoilla tai omalle laitteelle asennetuilla lompakko-ohjelmilla. Ohjelmia voi etsiä bitcoin.org sivustolta.
Linkkejä
Bittiraha.fi
Verohallinnon ohje
How Bitcoin Works in 5 Minutes (Technical) (Youtube)
How Bitcoin Works Under the Hood (Youtube)

Teksti: Pesasa
Kuvakaappaukset: Pesasa

4x43 Tinfoil for Facebook - Viikon VALO #199

0
Ei vielä arvioita
Oma arviosi: Ei ole

Tinfoil for Facebook on vaihtoehtoinen, hieman tietoturvallisempi Facebook-sovellus Android-laitteille.
valo199-tinfoil_for_facebook.png Tinfoil for Facebook on pieni sovellus, joka muodostaa "hiekkalaatikon" Facebookin web-käyttöliittymän ympärille. Facebookin omaan Android-sovellukseen verrattuna Tinfoil for Facebook vaatii huomattavan paljon vähemmin käyttöoikeuksia. Ohjelma ei pyydä oikeuksia yhteystietoihin, ei kalenteriin ikä paljon mihinkään muuhunkaan. Oikeuksia vaaditaan vain verkkoviestintään, tallennuksiin sekä likimääräiseen (verkkopohjaiseen) paikantamiseen. Näistäkin paikannusta käytetään vain, jos käyttäjä itse sallii sen ohjelman asetuksista. Selaimella käytettävään versioon verrattuna erillinen sovellus on puolestaan miellyttävämpi käyttää. Lisäksi web-näkymää käyttävä erillinen sovellus suojelee käyttäjää mahdollisilta selaushistorian urkkimisilta sekä estää Facebookiin kirjautuneen käyttäjän seuraamisen muilla, Facebook-nappuloilla varustetuilla sivustoilla.

Ohjelman käyttöliittymä sisältää kokoruudun kokoisen web-näkymän, johon se lataa Facebookin mobiilisivun tai valinnaisesti täyden työpöytäversion. Web-näkymän lisäksi käyttöliittymään kuuluun ruudun oikeasta reunasta esiin pyyhkäistävä valikko, johon on koottu muutamia yleisimmin tarvittavia pikavalintoja, kuten sivun ylälaitaan siiryminen, sivun päivitys, uutisvirtaan ja ilmoitusnäkymään siirtymiset sekä päivitysten lisääminen. Lisäksi valikosta ovat valittavissa ohjelman asetukset sekä sen sulkeminen.

Ohjelman asetuksista voi halutessaan sallia karkean paikannuksen käytön, sallia linkkien avaamisen sovelluksessa itsessään ulkoisen selaimen sijaan taikka estää kuvien lataamisen verkkoliikenteen vähentämiseksi. Nämä vaihtoehdot ovat kaikki oletuksena pois päältä. Asetuksien kautta ohjelman verkkoliikenteen voi myös halutessaan ohjata välityspalvelimen kautta.

Tinfoil for Facebook voi toimia ratkaisuna myös paljon huomiota herättäneeseen keskustelutoiminnallisuuden poistumiseen Facebookin omasta sovelluksesta, sillä keskustelutoiminto on käytettävissä web-näkymässä entiseen tapaan. Myös ohjelman huomattavasti pienempi koko on etu verrattuna "aitoon" Facebook-sovellukseen.

Ohjelman voi asentaa Googlen Play-kaupasta taikka F-Droid-sovellusvalikoimasta.

Ohjelman huonona puolena F-Droid-palvelu mainitsee sen, että sen käyttö vaatii kirjautumisen Facebookiin.

Kotisivu
https://github.com/velazcod/Tinfoil-Facebook
F-Droid-sivu
Google Playssa
Lisenssi
Apache2
Toimii seuraavilla alustoilla
Android, SailfishOS
Asennus
Ohjelman voi asentaa helpoiten F-Droidin tai Googlen Playn kautta.

Teksti: Pesasa
Kuvakaappaukset: Pesasa

4x42 Free Pascal - Viikon VALO #198

0
Ei vielä arvioita
Oma arviosi: Ei ole

Free Pascal on avoimeen lähdekoodiin perustuva Pascal-ohjelmointikielen käännin. Free Pascal toimii useissa eri käyttöjärjestelmissä ja eri suorittimilla. valo198-free_pascal.png Free Pascal kääntää Object Pascalia ja muutamia Pascalin murteita, muun muassa Turbo Pascalia, Delphiä ja Mac Pascalia.

Pascal oli alun perin proseduraalinen ohjelmointikieli. Niklaus Wirth kehitti sen 1960- ja 1970-lukujen vaihteessa Algol-kielen pohjalta erityisesti opetuskäyttöä ajatellen. Ohjelmointikieli on nimetty matemaatikko Blaise Pascalin mukaan. Pascalia hyvin lähellä ovat Wirthin myöhemmin kehittämät ohjelmointikielet Modula-2 ja Oberon, joita voidaan pitää Pascalin "jälkeläisinä". Pascal oli suosittu kieli opetuskäytössä 1970-luvulta 1990-luvun alkupuolelle asti kunnes C-kieli syrjäytti sen.

Pakollinen esimerkki, eli Hello World Pascalilla. Tässä tosin sanotaan "Goodbye, World!", mutta tämä koodi löytyi Rosetta Codesta enkä halunnut muokata.

  program byeworld;
  begin
    writeln('Goodbye, World!');
  end.
FreePascal-Arts_et_Metiers_Pascaline_dsc03869.jpg

Blaise Pascalin kehittämä ensimmäinen mekaaninen laskin

Jos kokeilet tuota ohjelma graafisessa työpöytäympäristössä saattaa ohjelman ikkuna sulkeutua välittömästi ohjelman suorituksen päätyttyä, jolloin ei ehdi näkemään mitä ohjelma tulosti ruudulle. Tähän auttaa ennen end. -riviä lisätty readln; -komento. Tällöin ohjelma jää odottamaan Enter-näppäimen painallusta, ja loppuu vasta sitten.

Ammattikäyttöön Pascal-kieli tuli Borlandin Turbo Pascal -kielen ansiosta 1980-luvulla. Silloiset Turbo Pascalin ylivoimaiset ominaisuudet aiheuttivat sen, että muut ohjelmointikieliä tekevät ohjelmistotalot luopuivat vähitellen omista Pascal-kääntäjistään.

Pascal-kielen pohjalta on kehitetty Object Pascal lisäämällä Pascaliin olio-ohjelmointiin liittyviä ominaisuuksia. Lisäksi siihen kuuluvat poikkeukset ja niiden hallinta. Ohjelman voi jakaa käännösyksiköihin helpottamaan isojen ohjelmistoprojektien koostamista. Alkuperäinen Pascal oli tarkoitettu ohjelmoinnin opetukseen, eikä siinä ollut mukana ammattiohjelmoijien tarvitsemia ominaisuuksia. Free Pascalissa ei tätä puutetta ole, sillä voi koodata pelejäkin, esimerkiksi Slot Cars: The Video Game, josta on video traileri.

Kuten Turbo Pascal on Free Pascalkin hyvin nopea käännin. Kuvakaappauksissa oleva pidempi testiohjelma kääntyi viidessä sadasosasekunnissa. Laajemmat ohjelmat vievät enemmän aikaa, mutta ne taas voi jakaa pienempiin käännösyksiköihin ja useimmiten muutetaan vain yhtä käännösyksikköä käännöskertojen välillä, jolloin vain se yksi käännösyksikkö on käännettävä uudestaan ja linkattava suorituskelpoinen ohjelma siitä ja muista jo valmiiksi käännetyistä osista.

Mukana tulee ohjelmankehitysympäristö eli IDE, joka käynnistyy komennolla fp. IDE on melko samanlainen kuin Turbo Pascalin vastaava oli aikoinaan. Semmoinen parannus on, että hiiri toimii, eli ei tarvita niin paljoa pikanäppäinten käyttöä.

Free Pascalille pitää kertoa mitä murretta käännettävän ohjelman on tarkoitus olla. Tämä tehdään komentorivillä tarkentimella -M tai IDE:ssä valikossa Options | Compiler | Compiler Mode.

Free Pascal osasi kääntää vuonna 1995 Turbo Pascal 7:lla tekemäni ohjelman. Silloin oli käytössä DOS, nyt ohjelmaa sai ajettua Linuxissa. Aika ei ole syönyt koodiani piloille. Sen verran piti säätää, että disketiltä Linuxiin lukemieni tiedostojen nimet oli kaikki isoilla kirjaimilla. Ohjelmakoodissa taas käännösyksiköt oli pienellä paitsi iso alkukirjain. Koska Linuxissa tiedostojen nimissä isoilla kirjaimilla on väliä, piti tiedostojen nimet korjata.

Free Pascalia hyödyntävä ja Free Pascalilla toteutettu graafinen kehitysympäristö on Lazarus.

Kotisivu
http://freepascal.org
Lisenssi
GNU GPL
Toimii seuraavilla alustoilla
DOS, FreeBSD, Haiku, Linux, Mac OS X/iOS/Darwin, MorphOS, Nintendo GBA, Nintendo DS, Nintendo Wii, OS/2, WinCE, Win32, Win64.
Asennus
Linux-jakeluissa tulee jakelun omista pakettivarastoista. Muille käyttöjärjestelmille löytyy asennustiedosto Free Pascalin webbisivuilta.
Käyttöohjeet
Webbisivuilla on paljon ohjeita: http://www.freepascal.org/docs.var.
Free Pascalin wikissä on suomenkielisiäkin sivuja: http://wiki.freepascal.org/Main_Page/fi
Tietoa Pascal-kielestä suomeksi Webissä: http://www.cs.tut.fi/~jkorpela/Pascal.html
Ohjelmointiputkan Pascal-ohjelmointi: http://www.ohjelmointiputka.net/oppaat/opas.php?tunnus=pascal01
SchoolFreewaren opetusmateriaalia ja videoita: http://www.schoolfreeware.com/Free_Pascal_Tutorials.html
Youtubesta löytyy opetusvideoita.

Lisätietoja

Teksti: Taleman
Kuvakaappaukset: Taleman
Kuvituskuva: David Monniaux (CC-BY-SA, https://commons.wikimedia.org/wiki/File:Arts_et_Metiers_Pascaline_dsc038...)

4x41 PDF-Shuffler - Viikon VALO #197

0
Ei vielä arvioita
Oma arviosi: Ei ole

PDF-Shuffler on työkalu PDF-tiedoston sivujen järjestelemiseen ja hallintaan.

valo197-pdfshuffler.png Toisinaan iskee tarve tehdä pieniä muutoksia olemassa oleviin PDF-tiedostoihin. PDF-Shuffler on yksinkertainen työkalu, jolla voi tehdä muutamia yksinkertaisia operaatioita PDF-tiedostoille. Ohjelmalla voi yhdistellä sivuja eri tiedostoista. Sillä voi järjestellä sivuja uuteen järjestykseen tai poistella välistä tarpeettomia sivuja. Ohjelmalla voi myös kääntää sivuja toiseen asentoon ja rajata sivuja. Ohjelman käyttöliittymä on hyvin yksinkertainen. Uusia tiedostoja voi ohjelmaan tuoda joko valikon tai paneelin lisäystoiminnon kautta taikka hiirellä tiedostonhallinnasta raahaamalla. Sivujen valinta ja järjestely tapahtuu helposti hiirellä valitsemalla ja raahaamalla. Sivujen poistaminen puolestaan tapahtuu luonnollisesti valitsemalla poistettavat sivut ja valitsemalla poistaminen. Lopuksi muokattu dokumentti tallennetaan uudeksi PDF-tiedostoksi.

Ohjelma hyödyntää python-pyPdf-kirjastoa, joka sisältää Python-ohjelmointikielellä käytettäviä operaatioita PDF-tiedostojen muokkaamiseen.

Ohjelman kätevyys on erityisesti siinä, että se tekee vain yleisimmät muokkausoperaatiot ja varsin suoraviivaisesti sekä helposti, eikä yritäkään tehdä mitään monimutkaisia operaatioita.

Kotisivu
http://pdfshuffler.sourceforge.net/
Lisenssi
GNU GPL v3
Toimii seuraavilla alustoilla
Linux, FreeBSD, OpenBSD, NetBSD
Asennus
Ohjelma löytyy Linux-jakeluihin suoraan paketinhallinnasta. Muutoin ohjelman voi ladata kotisivun kautta.

Teksti: Pesasa
Kuvakaappaukset: Pesasa

Julkaise syötteitä