<?xml version="1.0" encoding="ISO-8859-15"?>
<rss version="2.0"><channel>
<title>ohjelmointikielet ovat todellisia kieli</title>
<link>http://sange.fi/~atehwa/cgi-bin/piki.cgi/</link>
<description>Recent changes in ohjelmointikielet ovat todellisia kieli</description>
<item><title>hyviä aiheita teoreettisen tietojenkäsittelytieteen alalta</title>
<link>http://sange.fi/~atehwa/cgi-bin/piki.cgi/hyvi%E4%20aiheita%20teoreettisen%20tietojenk%E4sittelytieteen%20alalta</link>
<guid>http://sange.fi/~atehwa/cgi-bin/piki.cgi/#1540749883</guid>
<description>&lt;p&gt;&lt;del&gt;Alkuperäinen lista oli täällä: 
https://wiki.helsinki.fi/pages/viewpage.action?pageId=123603803&lt;/del&gt; 

&lt;p&gt;[...]

&lt;p&gt;&lt;ins&gt;----&lt;/ins&gt; 

&lt;p&gt;&lt;ins&gt;Alkuperäinen lista oli täällä: 
https://wiki.helsinki.fi/pages/viewpage.action?pageId=123603803&lt;/ins&gt; 

&lt;p&gt;* miten päästä alkuun funktionaalisen ohjelmoinnin kanssa (Joel 
Kaasinen) * funktionaaliset ohjelmointikielet (Lauri Alanko) * 
esimerkkejä lambdakalkyylistä (Panu / Lauri / Joel) * Ryhmien toiminnat 
&amp; pizzan palaset (Matti Åstrand) * Functional Reactive Programming 
(Ilmari Vacklin) * Luonnollisten kielten vaativuustasot: onko Chomskyn 
kielihierarkialla mitään relevanssia luonnollisten kielten kannalta? 
(Panu Kalliokoski / Anssi Ylijyrä) * Deskriptiivinen 
kompleksisuusteoria (Janne Korhonen) * tyyppiteoria ja 
curry-howard-isomorfismi (Panu? Lauri?) * proof assistants (Lauri? Joel 
Kaasinen? Miikka Koskinen?) * intuitionistic/constructive logic (Panu?) 
* säännöllisten lausekkeiden derivointi (Juhana Laurinharju) * category 
theory overview (with applications?) (ask Alexandr Pasharin) * 
tietorakenteiden derivointi, zipperit (Joel / Juhana?) * 
funktionaalisen ohjelmoinnin opettaminen lapsille (Panu Kalliokoski) * 
rekursio (Panu Kalliokoski) * äärellistilaisten automaattien 
käyttötapauksia (Panu Kalliokoski) * äänestysjärjestelmät (Panu 
Kalliokoski) * reifioidut jatkeet - kaikkien suoritusympäristöjen ja 
kontrollirakenteiden äiti (Panu Kalliokoski) * Clojuren tietorakenteet 
(Juhana Laurinharju) * monadit (Joel Kaasinen) * monad transformers 
(Joel? Panu?) * Tron-tekoälyt (Panu Kalliokoski) * patch commutation 
(Panu Kalliokoski) * Computercraft-turtlejen käyttö (Panu Kalliokoski) 
* Eodermdrome - verkkojen uudelleenkirjoituskieli (Panu Kalliokoski) * 
Scratch (Panu &amp; Joel?) * Logo - paras ja ystävällisin kehitysympäristö 
ikinä (Panu Kalliokoski) * Perusasioita automaattisesta päättelystä 
(Panu Kalliokoski) * Yleistyslogiikat (Panu Kalliokoski) * 
Ohjelmointikielten ilmaisuvoima (Panu Kalliokoski) * 
Tee-se-itse-fraktaali (Panu Kalliokoski) * Peliteoreettisia pähkinöitä 
(Panu &amp; Kalle Viiri) * Peliteorian soveltamista lautapeleihin (Kalle) * 
Matematiikan kognitiotiedettä (Kaj Sotala) * Parsereiden toteuttaminen 
(funktionaalisilla ohjelmointikielillä) (Panu Kalliokoski) * 
Ihmisjoukkojen simulointi: hyödyllistä tutkimustietoa, propagandaa vai 
kusetusta? (Panu) * Graafiset ohjelmointikielet (Panu Kalliokoski) * 
Combinator calculus: the easy way to implement (lazy) functional 
languages (Panu Kalliokoski) * dependent types * topological spaces * 
properties of cartesian closed categories * Various common combinators 
and their uses (in Haskell) &lt;ins&gt;* avoimen lähdekoodin tapahtuma : 
mahdollisia aiheita: Docker, Ansible, vim, Git, kehitystyökalut, R, 
Scheme, Clojure, IPA/muu OS corporate infra * avoimet formaatit? 
CSV,conf suomeen, JSON, RDF&lt;/ins&gt; 

&lt;p&gt;&lt;ins&gt;----&lt;/ins&gt; 

&lt;p&gt;&lt;ins&gt;Blogiaiheita:&lt;/ins&gt; 

&lt;p&gt;&lt;ins&gt;* GDPR, mainosten kohdentamisluvan vaikutus ja mitä tietoa 
minusta oikeastaan on * yesql, migratus ja c3p0-pooling * 
tietorakenteiden testaus -blogikirjoitus valmiiksi * intronit koodissa: 
lähdekoodiin upotettua huumoria * tietomallinnus, metatiedot, 
protokollat * oudot ohjelmointikielet, voiko niistä oppiakin jotain? * 
kilpailutukset, miten softaa voi edes hankkia? * kommunikointi 
koodereiden ja tavisten välillä * mitä siitä koodauksesta siis 
kannattaa opettaa? * versiohallinta: mikä on käytännöllistä, mikä 
turhaa viilausta? * datan rooli CI:ssä ja CD:ssä, miten se siirretään 
ja propagoidaan? * Unix vastaan Java * Lightweight issue tracker in 
version control * Static typing, dynamic typing, strong typing, shitty 
typing - Clojure esimerkkinä huonosta dynaamisesta tyypityksestä * 
Static duck typing - minimum and maximum types, field-relational 
semantics * Using SQL from code * GraphQL * rekursio, korkeamman asteen 
funktiot, monadinen ohjelmointi - monta eri ratkaisua kokoelmien 
läpikäyntiin * poikkeusten käyttötapoja * funktionaalinen ohjelmointi 
Pythonilla * miten ne julkiset hankinnat sitten pitäisi hoitaa? 
muistivihot vs rakennukset vs joku * prosessiparannukset 
kilpailuvalttina * miten voi olla avoin firmakulttuurin suhteen? * joku 
yhteenvetokirjoitus Principles of Modern Software Development 
-koulutuksesta * Tietorakenteiden testaus * mitä APIen jälkeen? * 
buildisysteemittömästä Clojuresta * komonadit + zipperit stilisoituna * 
Hyvät CD-käytännöt * cfn+aws+ecs+docker+täysautomaatio * esoteeriset 
ohjelmointikielet * mediakasvatusyhdistykselle vallasta ja 
ohjelmoinnista * työnjohdon korvautuminen ohjelmoinnilla&lt;/ins&gt; 

&lt;p&gt;[...]

&lt;p&gt;&lt;ins&gt;FP monthly-aiheita:&lt;/ins&gt; 

&lt;p&gt;&lt;ins&gt;* Deutch-Schorr-Waite : Miten tehdään garbage collectori 
parillakymmenellä koodirivillä * Suffiksitaulut : Paljon tarvetta 
nopeille hauille? Indeksoi data ja voita! Vain lineaarinen maksu. * 
Microlisp : Lisp in 15 minutes. Esitietona parsintafunktiot ja 
Deutch-Schorr-Waite. * Kieliteoria 101 : Formaalien Kielten ja 
tilakoneiden käyttö ja hyväksikäyttö koodiesimerkein. * 
Kombinaattorilogiikka 101 : Miten laskea kaikki mahdollinen kahdella 
symbolilla, oikeasti. * Parserikombinaattorit : Kuin recursive descent, 
mutta funktionaalisemmin. * Clojurescript-Javascript interop * 
funktionaalisen ohjelmoinnin opettaminen lapsille : hands-on: vihjeitä, 
pointtereita, harjoitusaiheita * rekursio : ehkä monipuolisin 
ohjelmointitekniikka ikinä * patch commutation : Miten git rebase 
toimii (tai pitäisi toimia) * esimerkkejä lambdakalkyylistä : Miten 
ihmeessä pärjää, kun ainoa tietorakenne on funktio? * Functional 
Reactive Programming : Tapahtumien mallintaminen tietorakenteina * 
tyyppiteoria ja curry-howard-isomorfismi : Miksi ihmeessä funktioiden 
tyypit ovat samalla valideja logiikkalauseita? * tietorakenteiden 
derivointi, zipperit : helposti päivitettäviä applikatiivisia 
tietorakenteita (sydän) * monadit : Lähinnä se, mitä niillä voi tehdä 
ja miten * Logo - paras ja ystävällisin kehitysympäristö ikinä : Mitä 
nykyiset ohjelmointiympäristöt voisivat oppia 70-luvulta? * 
funktionaalinen ohjelmointi Unix-työkaluilla : Komentoriviltä voi tehdä 
ihmeitä. Ja se on nopeaa. * Point-free notation : Miten ymmärtää niitä 
käsittämättömiä kombinaattoreilla määritettyjä funktioita? * 
Katenatiivinen ohjelmointi : Ohjelmat, jotka ovat vielä lyhyempiä kuin 
funktionaaliset yleensä * Applikatiivisia tietorakenteita : Tehokas 
funktionaalinen ohjelmointi vaatii monipuoliset tietorakenteet. * 
Makro-ohjelmointi : Kielen laajentaminen uusilla rakenteilla ja mitä 
hyötyä siitä on * Clojure-makrot : Esimerkkejä makrojen hyödyllisestä 
(ja hyödyttömästä?) käytöstä * Clojure test.check-generaattorit 
monadina : Kuinka generoin testeille syötettä ja sälilytän 
mielenterveyden * Hash Array Mapped Tries : Miten Clojuren 
tietorakenteet (vector ja hash-map) toimivat ja miks ne on niin 
tehokkaita * konferenssin aikataulu &amp; ohjelma core.logic:lla : 
Automaattisesti päivittyvä konferenssiohjelma rajoiteohjelmointina * 
unifikaatio : Salainen algoritmi automaattisen tyyppi-inferenssin ja 
logiikkaohjelmoinnin taustalla * RRB-vektorit : Mahtava uusi 
funktionaalinen tietorakenne (fingertree, relaxed radic-balanced trees) 
* Rekursion eristäminen : Miten rekursiivisen koodin voi yleistää 
parametrisoimalla; sekä kiva tekniikka (reduce)en, jonka reducer 
kuljettaa useampia arvoja * Hajautetut laiskasti synkronoidut 
tietorakenteet : CRDT, OT ja diffpatch -tekniikat tiedon synkronointiin 
mielivaltaisessa tiedonvaihtotopologiassa * Transduktorit : 
yhdisteltävät abstrahoidut tiedonprosessointikomponentit * CPS 
(jatkeohjaustyyli) : Continuation passing style on ohjelmointitapa, 
jossa funktio ei palauta arvoa suoraan vaan sille annetaan argumenttina 
"jatke", toinen funktio, jolle funktio antaa syötteeksi tuloksensa. 
CPS:llä pystyy tekemään kaikenlaisia muuten hankalia 
kontrollirakenteita ja se on myös yksi tapa toteuttaa poikkeus-, 
indeterminismi- ja korutiinimonadeja. * datan käsittelyä clojurella : 
joku vastaan tullut ongelma, jossa on esim. pitänyt kaivaa isosta 
tietomassasta esiin jotain clojurella. (Panulla on yksi esimerkki: 
huonosti dokumentoidun rajapinnan JSON-objektien pakollisten ja 
valinnaistan avainten etsintä) * yksinkertainen regexp-toteutus : jos 
ei ole kiinnostunut indeterminismin eliminoinnista, säännölliset 
lausekkeet on helppo toteuttaa rekursiivisesti. * numeerisia ongelmia 
clojurella * linssit ja muut optiikat : funktionaalinen tapa käsitellä 
ja päivittää osaa tietorakenteesta, ynnä muuta, Jyri-Matti 
Lähteenmäki:n materiaalit: https://lahteenmaki.net/dev_*16/ * laiskuus 
tietorakenteissa ja algoritmeissa : Miten faktoroin koodin siten, että 
(rekursion/iteraation) laskentalogiikka ja lopetusehto ovat erillään? 
On yleensä myös siistimpää kirjoittaa monta kompositiolla yhdistettävää 
käsittelyvaihetta äärettömille tietorakenteille kuin yhdistää kaikki 
käsittelyvaiheet yhteen funktioon. * Clojure-refaktorointi hands on : 
Tuo kamalimmat Clojure-koodipätkäsi näytille! Mietitään yhdessä, miten 
niistä saa / olisi saanut nätimpiä. * Puiden uudelleenkirjoitus : yksi 
näkökulma siihen, mitä funktionaalinen ohjelmointi on * Lispiä 
mikrokontrollerilla : katsotaan, miten Trinket M0 -mikrokontrollerilla 
ajetaan minimalistista lisp-toteutusta * applikatiiviset parserit : 
tehdään Haskellilla applikatiivisia parsereita yksinkertaisille 
kielille * Haskell 101 : yritetään huolehtia, että ihmiset osaavat 
ainakin lukea Haskellia, mieluusti vähän kirjoittaakin * Tyypitetty API 
fullstack typescriptilla : Tapausesimerkki siitä, miten väärinkäytetään 
typescriptia tuottamaan REST API, jossa on määritelty syötteiden ja 
tulosten rakenne tyypeillä siten, että epäyhteensopivuus serverin ja 
clientin välillä tulee ilmi tyyppivirheiden kautta * REPL: mitä kaikkea 
saa ja pitää odottaa REPLiltä? : - human-readable representation for 
outputs - human-readable error messages -- debugger for error 
situations - history - search - (auto)reload - tracing - in-place edit 
-- saving definitions from repl - access to all state - reflection - 
documentation - source - possible to make short names and use names in 
a short way - autosave&lt;/ins&gt; 

&lt;p&gt;&lt;ins&gt;----&lt;/ins&gt; 

&lt;p&gt;&lt;ins&gt;Liittyviä sivuja Wikissä:&lt;/ins&gt; 

&lt;p&gt;* [tyyppi] * [funktio] * [teoria] * [mitä tarvitaan ohjelmoinnin 
opettamiseen lapsille] * [kielten ja pelien yhdyssilta] * [kategoria: 
ohjelmointi] * [esimerkkipohjainen ohjelmointi] * [suuntaamattomien 
verkkojen uudelleenkirjoituskieli] * [ohjelmointikielet ovat todellisia 
kieliä] * [ohjelmoinnin periaatteet] * [ohjelmoinnin käsitteet] * 
[ohjelmoinnin harjoitusaiheita] * [konkatenatiiviset ohjelmointikielet] 
* [esoteeriset ohjelmointikielet työkäytössä] * [rdf-tietokantojen 
käyttö] * [ääniohjelmointiharjoituksia lapsille] * [unixia lapsille] * 
[kurssien aiheita] * [funktionaalisen ja oliopohjaisen suunnittelun 
eroista] * [listakeräelmien käyttö] * [tietotekniikkahankintojen 
toteuttaminen] &lt;ins&gt;* [ohjelmointi on perustaito] * [good dynamic 
typing] * [rekursio] * [logiikka] * [komonadit ja zipperit] * [ketterä 
kehitys] * [clojure repl with autoreload and important other niceties] 
* [better way to thread in clojure]&lt;/ins&gt;

</description>
<pubDate>Sun, 28 Oct 2018 18:04:43 +0000</pubDate>
</item>

</channel></rss>
