Uganda ja Ruanda | Uganda and Rwanda 18.1-16.2.2014

Ilmestynyt alun perin Twitterissä.

Uganda
Sallittu etäisyys gorillaan. Bwindin kansallispuisto. | Official distance to a wild gorilla. Bwindi National Park.

Bwindi Impenetrable Forest. Afternoon storm is approaching, punctual as it is.

After 2 weeks here, the Engagi Lodge is the 1st hotel that serves wifi & electricity 24/7, give or take minor breaks due to weather.

Bwindi mountains, covered with rainforest, rise steeply behind the river that runs in the valley below. A breathtaking green wall.

Waller’s Starlings up in the waterfall. Stylish black with an orange wing patch. A strong call easily heard over the roar of water.

Hadeda Ibis is the animal counterpart of Nelson in The Simpsons. Ha-ha!

Marabou Stork is nicely described in Birds of East Africa: “Legs dark grey but often appear white as splattered with excrement.”

In LinkedIn, is there a section for Gorilla Tracking Certificates?

African Harrier-Hawk has “a bare yellow facial skin (turns red if excited).” True, noticed when one pair was welcoming each other.

Later, one of the same species was vigorously trying to raid a cavity nest in the savannah in Ishasha, Queen Elisabeth Natural Park (QENP).

Primates so far, in order of appearance: Red-tailed Monkey, Grey-cheeked Mangabey, Chimpanzee (Kibale) 1/3

Red Colobus, L’Hoest’s Monkey, Pied Colobus (Kibale) 2/3

Olive Baboon, Vervet Monkey (QENP); Gorilla, Blue Monkey (Bwindi) 3/3

A high-pitched call of a Galago (aka bushbaby) at 7:45PM when returning from dinner w/ an escort to treehouse. Chimp’s Nest, Kibale.

Näyttelen iloista, mutta todellisuudessa poden nyrjähtänyttä nilkkaa. | Me pretending to be jolly good but in fact I’m suffering from a twisted ankle. Chimps Nest Lodge. Kibale.

Escort is there for the African Forest Elephants, although we’re told they cross the swampy area nearby mainly in the rainy season.

The field guide of African mammals by J. Kingdon says that there are 15 Galago species in Africa. That is quite a lot.

Galagos resemble Asian tarsiers but are not related. Similarly, African pottos look like Asian slow lorises.

Sauna. Jacana Safari Lodge.

While at QENP, we stayed first at Jacana Safari Lodge, famous of its hippos that swim around the crater lake. There are 30 of them.

In daytime, you hear them splutter and puff, often very close to houses.

Around 7 PM, the hippos use their fav landing site behind house nro 11, and march to the forest or savannah to feed on grass.

The forest is Maramagambo, governed by UWA (Ugandan Wildlife Authority) & National Forest Authority. We made two walks with their guide.

We had no previous knowledge of the bat cave that was on the agenda. The cave is home to a staggering 2 million Egyptian fruit bats.

“At dawn, it takes 3 hours of them to be all back in again.” The officer smiles widely, and concludes matter-of-factly with a “Yes”.

Non-breeding bats poop near the cave. This brings insects, food for mother & baby bats which don’t fly far to feed like the rest of the colony.

The bat guano is nothing to play with. It is known/suspected to be the cause to Marburg virus feaver.

The Jacana Lodge was on low gear. Except us, there were only two other guests, guys from CDC, Atlanta.

“Don’t step inside the cave, even if they say you can do so. Our researchers go there in protective suits.”

Maramagambo.

On the previous day, we had already been outside the open cave, filming the buzz from the nearby cliff. A mesmerizing place.

Luckily we have been travelling a bit and know e.g. that you shouldn’t go into caves just like that, not w/o a helmet.

Next day: same place, a longer filming session. Again, no official information about any risks, but also no pushing to go inside.

Forest walks are a source of income to the UWA/NFA. Negative info = less money. CDC has plans to put up warning signs. We’ll see.

When chimps hunt, they prefer Red Colobus. “In the last 3 weeks, they’ve hunted twice”, we’re told in Kibale Chimpanzee Habituation.

“Colobuses are not very bright. They don’t run away but try to fight back.”

Pied Colobus has a fancy b&w fur, a serious risk for its existence. Locals have used it as decoration in their dance rituals.

Around Jacana Safari Lodge, Pied Colobuses feel safe. They sleep around the houses, and feed in trees near the shore.

One of the marvels of this W Uganda, is their deep, guttural call in the blackness of the night.

On higher elevations, like in Bwindi (1500 m) the fur of Pied Colobus is longer. Haven’t had a chance to check that myself though.

The 2 hr boat ride on Kazinga Channel is 2 hours well spent. The number of animals basking on the shore is almost stupifying.

Hippos, buffalos, elephants, crocodiles, monitor lizards, herons, storks, fish eagles and what have you. Pied Kingfishers abound.

The HQ of the Bigodi Wetlands Sanctuary has got a colorful text painted on the wall:”The home of turacos.” They don’t lie.

On a AM walk around the swamp, I saw at least a dozen Great Blue Turacos. So did the Wikipedia photographer, I guess.

Leijona puussa. Ishasha-sektori, Kuningatar Elisabethin kansallispuisto. | Lion up on a tree. Ishasha sector, Queen Elizabeth National Park.

“Your money”, says Brighton when we drive the surprisingly well-kept road through QENP from Jacana Lodge to Ishasa.

Bulldozers spread new gravel constantly, making both sides of the road soft and a bit hazardous. But, no potholes whatsoever.

Brighton is a man of many roles: representative of Churchill Safaris and Travel, driver, birder, and a trusted person in general.

Ishasha Wilderness Camp in QENP in Uganda was a much more diverse wildlife experience than just the tree lions.

On two days in the row, around noon, an elephant family of five came to drink to the river that runs past the camp.

A lone bull elephant was also nearby. We heard him huff & puff and broke branches. Later, he walked lazily along the river bank.

Some of the bird species at the camp: Black-and-white-casqued Hornbill, Emerald Cuckoo, Broad-billed Roller, Splendid Starling.

Spectacular Blue-headed Agamas, a group of Pied Colobus etc – every second something to watch or listen.

Although the gorilla tracking in Bwindi was a minor disappointment, the forest walk w/ Medard “Medi” Twongyeirwe was very good.

A jovial guy w/ a personal touch to nature be it butterflies or monkies, he made the AM a special one. Thanks again and greetings!

Ruanda | Rwanda

Two days ago, we crossed the border to Rwanda. The first place to visit: Volcanoes National Park up in 2 km.

Tuoretta mutaa. | Fresh mud. Volcanoes National Park.

The half-day gorilla tracking tour in the park was IMHO a more pleasant and pro experience in all aspects than that in Bwindi.

A 2hr muddy walk along a fresh buffalo track, through a beautiful bamboo forest, took us to the Agasha Group.

This habituated group seemed to be at ease w/ itself & us. Eating, farting, wrestling, climbing, sitting – gorilla quality time.

Although this is a tour to see part of the nature in Uganda and Rwanda, one cannot be blind to human issues either.

Near Kisoro, Uganda, were we had a lunch break before crossing the border to Rwanda, is the Nyakabange Refugee Transit Centre.

Yesterday, on our 7 hr drive from Volcanoes NP to Nyungwe Forest, we passed the Kigeme refugee camp.

Auton ikkunan läpi kuvattu Kigemen pakolaisleiri. Ruanda. | Kigeme refuge camp, photographed through car window. Rwanda.

Both of these sites are operated by UNHCR, and they are for people who have fled from the DR of Congo.

The primate list has grown with two: Golden Monkey (Volcanoes NP); Dent’s (Mona) Monkey (Nyungwe Forest NP)

Nyungwe Forest Lodge is built in the middle of a tea plantation owned by the Rwandan government.

Once, the area was part of the forest, faved by Mountain Elephants due to its flat profile compared to the rest of Nyungwe.

Although the biodiversity on the plantation is low, the mighty Nyungwe surrounds it, giving few surprises during our 5 night stay.

Two groups of monkies made a call: Blue & L’Hoest’s. Also, 3 types of squirrels: Sun, Rope, Mountain (hard to identify the species).

Sinimarakatti. | Blue Monkey. Nyungwe Forest Lodge.

30 min drive from the Lodge on the top-notch asphalt road through the NP, is the impressive Kamiranzovu swamp.

This time though, we had no chance to see it closer than just as a view up from the road.

Thanks to the flexibility of the NP office, we could take a 3 hr forest walk w/ a local naturalist guide to see Dent’s Mona Monkeys.

Dent’s is a smallish, agile, white & brown monkey w/ a selection of human-like calls and a distinctive mask, like dark sunglasses.

Sometimes wildlife watching is so dead simple (and comfortable). Like right now, in Karibu Guesthouse, Entebbe.

Since dawn, several new bird species have passed by or briefly stayed in the garden or on the roofs of neighbour houses.

Grey Parrot (1st parrot on this trip), Eastern Grey Plantain-Eater, White-browed Robin-Chat, Scarlet-chested Sunbird.

The “aah-aaaah-aaah” laugh of Black-and-white-casqued Hornbills. Ross’s Turacos on top of the avocado tree leaning to the house.

A pair of African Hobbies (?) tries to chase Pied Crows from their nesting tree I guess. Slender figures, shrill “kri-kri-kri”

Barbets always electrify the moment. A pair of Double-toothed Barbets sits motionless up on a tree. Red chest, huge ivory bill.

Yet another stupifyingly colourful bird: Black-headed Gonolek. Lurks horizontally among branches at eye-level.

The tropical zone of the Entebbe Botanical Gardens is said to have been the backdrop of the first Tarzan film.

One cannot but envy the young NZ-Corsican couple owning & running Karibu Guesthouse with their staff of 20 and three dogs.

Talon koirat. | Dogs of the house. Karibu Guesthouse, Entebbe.

Perfect location with a view to Lake Victoria, elegant house, nice little garden.

At the construction site on the next lot, the ‘Silent night’ Xmas theme as the mobile tone, is a work song of the new generation.

Plantain-Eater is an odd bird. Bill of a parrot, neck of an eagle, call of a Kookaburra, moves about on a tree like a cuckoo.

Huomioita tekoälyn käytöstä sovelluskehityksessä, tapaus Solita

Yhteenveto Solita-yhtiön toistaiseksi kolmiosaisesta YouTube-keskustelusarjasta, jossa on aiheena tekoäly sovelluskehitysprojektissa. Keskustelijat ovat Sami Köykkä ja Marko Taipale. Videot julkaistaan yrityksen kanavalla Discovering, uncovering and hype-busting GenAI

Videoiden esittelyteksti, joka kertoo taustat:

Solita and ISS have initiated the world’s first comparative study in a real consumer project to better understand the potential of GenAI. Two teams, one mission: one team uses modern, agile software development methods, and the other harnesses the power of generative AI at every step. Both are building the same ERP pricing tool but with radically different approaches. We are here to share experiences and learnings from our groundbreaking GenAI Twin project with our customer ISS, a leading facility management company. Our mission is to experiment in practice and learn fast – discover, uncover and hype-blast GenAI. What can we do with GenAI tools, and what is still hype? Where is the value?

Keskustelijat eivät kerro suoraan, mitä kaikkia tekoälytyökaluja he käyttävät. Riveiltä ja rivien välistä voi kuitenkin päätellä, että niitä ovat ainakin OpenAI:n ChatGPT, Microsoft Copilot ja arvatenkin Microsoft Azure ja sen tekoälyalusta.

1. Could software be done in a day?

Solitan tiimissä on seitsemän jäsentä. Jo nyt, prototyyppivaiheessa, ovat havainneet, että toisenlaista on. Tekoäly on auttanut esittämään keskeisiä kysymyksiä, kuten: mitä me oikeastaan olemme tekemässä? Mitä yritämme saada aikaan? Tiimiläiset syöttävät toinen toisilleen informaatiota ja tekoäly tekee raskaan työn. Vertaavat työskentelyä parviälyyn. Hyvin poikkeuksellista on se, että mukana on koko ajan myös asiakkaan edustaja. Perinteisesti asiakkaan pitäminen mukana projektissa pidempiä aikoja on ollut vaativaa.

Prototyyppivaihe on iterointia. Normaali kuuden viikon iterointisykli on nyt vain 15 minuuttia. On aikaa tehdä useita protoja ja asiakas voi valita, millä jatketaan. Voidaan jopa vaihtaa tavoitetta lennossa. Enemmän kuin kokonaisajan säästöä, aikaa käytetään korkeammalla abstratiotasolla. “Entä jos?”-kysymyksille voidaan nyt etsiä vastauksia saman tien. Normaalisti ne on kuitattava mielenkiintoisiksi mutta jätettävä, koska niihin ei ole budjetoitu eikä varattu projektiaikaa. Myös ns. “nauruversioita” voidaan tehdä. Jos niistä ei ole mihinkään, aikaa ei ole hukattu kuin muutamia minuutteja.

Keskustelijat olivat yhtä mieltä siitä, että täydellisen kehotteen (prompt) rakentelu on turhaa ajanhukkaa. Sen sijaan ihminen orkesteroi, käskyttää tekoälyä, ja edetään pienin askelin.

Jotta prototyypin käyttöliittymää päästään aloittamaan, määrittelyjen pitää yleensä olla tehtynä. Nyt voivat sen sijaan edetä seuraavasti: pyytävät tekoälyä tekemään tietomallin; sitä viilataan asiakkaan toiveiden mukaan; valmiista tietomallista syntyy oma tekoälysovelluksensa; pyytävät sitä laatimaan hyvän kehotteen käyttöliittymän tekemiseksi. Ovat siis saaneet kaksi tekoälyä keskustelemaan keskenään. Puolessa tunnissa heillä oli prototyyppi valmiina sovellustesteineen.

Tekoälyn kanssa pitää varoa kaninkoloja ja sitä, ettei tekoäly pääse niskan päälle. Sinun ihmisenä on oltava se, joka kertoo tekoälylle, mitä tehdään, ei päinvastoin. Sovelluskehitystiimissä on kuitenkin luultavasti henkilöitä kumpaankin junaan. Toisille on luontevampaa tehdä työtä käskettyä, toisille käskeä itse.

2. Who’s the driver in a GenAI project?

Tiimi hyödyntää tekoälyavustajia. Yksi niistä on virtuaalinen tuoteomistaja (product owner PO), jolla on syötetty kaikki projektidokumentointi. Kielimalli tietää kaiken SCRUMista, joten PO on sille tuttu käsite. Tiimi voi siis sivuuttaa aloitustason ja kysyä heti vaikka että “Mihin pystyt? Mitä voit tarjota?” Muita informaatiolähteitä, joita tekoälylle on syötetty: Slackin keskustelulokit ja litteroidut Microsoft Teams -istunnot. Mutta koska ollaan kansainvälisessä pilvipalvelussa, keskusteluista on pitänyt poistaa oikeat henkilönimet, joten pseudonymisointia varten on tehty paikallinen malli. Ideoivat myös Jira-tikettijärjestelmän rästilistan priorisointia tekoälyn avulla. Avustajat pystyvät myös ennen pitkään juttelemaan keskenään, arvioivat keskustelijat.

Avustajaa on kokeiltu myös raportoijana. Sairaslomalta palanneelle on annettu avustaja, joka on seurannut kaikkea puhuttua ja kirjoitettua. Keskustelijoiden mukaan palannut sai vajaassa puolessa tunnissa koosteet kaikesta, josta oli lomallaan jäänyt paitsi. Sami kertoi tehneensä itselleen henkilökohtaisen avustajan, jolta hän voi kysellä aina kun ei ymmärrä, mistä puhutaan. Vaikka hänellä onkin ohjelmoijatausta, hän ei hallitse kaikkia Solitassa käytettyjä tekniikoita. “Kerro minulle, mikä on .NET”. Sen, mitä tekoäly vastaa, voi aina validoita tiimin jäsenillä. Mutta kaikki apulaiset eivät ole olleet menestyksiä. Esimerkiksi “Scrum Master” osoittautui pedantiksi. Ei joustanut ja asetti aivan liian tarkkoja aikarajoja tekemiselle.

Microsoft Copilot jakaa mielipiteitä, mutta se on kieltämättä tehokas työkalu. Se tekee mm. lennossa Microsoft Teams -kokousten litteroinnin, ja sen kanssa voi saman tien aloittaa keskustelun. “Selitä minulle, mitä viimeisen viiden minuutin aikana on puhuttu.” Solitassa on testattu myös sitä, että kuuntelija on ollut päällä kokouksessa, jossa tiimiläiset eivät itse ole olleet osallisina. Sami kertoi olleensa varmuuden vuoksi itse paikalla hiljaisena osallistujana pitämässä huolta, että kaikki toimii.

Kun informaatiota syntyy runsaasti, tekoälyn nykyiset rajoitteet tulevat esiin. Asiakkaan edustaja oli ollut lounaalla puolisen tuntia ja palatessaan kysynyt tekoälyltä, mistä oli puhuttu, jolloin kuuntelija oli alkanut hallusinoida ruusuista sun muista. Koko päivän mittaisesta sessiosta se saattaa muistaa vain aamupäivän osuuden.

Ongelman ydin on RAG.

    Solitan tiimi syöttää kaikki dokumentit tekoälylle, joka rakentaa niistä vektoritietokannan. Jos tekoälyä pyydetään esimerkiksi palauttamaan jonkin tietyn asian keskeiset tekstikappaleet, tekoäly kerää niitä kannasta tietyn määrän. Oikeat kappaleet eivät välttämättä kuitenkaan sisälly juuri niihin. Ongelmaa voi yrittää kiertää kehotteen muistilla: teet valtavan kehotteen, jossa on koko materiaali ja kysymys perässä. Mutta se ei ole kestävää kehitystä. Sitä paitsi, jos käytät maksullista tekoälyä, iso kehote tulee kalliiksi. Kehote, jossa on mukana kokonainen kirja, maksaa kolmisen euroa joka kerta.

    Lainaan pätkän Simon Willisonia The Pragmatic Engineer -podcastin jaksosta AI tools for software engineers, but without the hype (vahvennukset minun):

    […] a very fancy acronym for a very simple trick. It stands for retrieval augmented generation. All it means is the user asks a question, you search your documentation for things that might be relevant to that question. You copy and paste the whole lot into the model, and these models can take quite a lot of input now, and then put the user’s question at the end. That’s it. Super, super simple.

    Yeah, so RAG, it’s the Hello World of building software on top of LLMs. You don’t get it to print Hello World, you get it to answer questions about your documentation. I’ve implemented like 30 lines of Python. I’ve got one version that’s like two dozen lines of Bash, I think.

    It’s very easy to get the basic version working, but getting good RAG working is incredibly difficult because the problem is that if you built the system and you know how it works, you are naturally going to ask questions of it in the right kind of format.

    The moment you expose it to real human beings, they will come up with an infinite quantity of weird ways that they might ask questions.

    And so the art of building good RAG systems, the reason that it could take six months to actually get it production ready is figuring out, “Okay, there were all of these different ways that it can go wrong.” And the key trick in RAG is always how do we fill that context?

    How do we pick the information that’s most relevant to what the user is asking, which is really hard. That’s actually like … It’s an information retrieval problem. It’s what search engineers have been trying to figure out for 30 years, and there’s a lot of depth to that field.

    So RAG, just like everything else in language models, it’s fractally interesting and complicated. It’s simple at the top, and then each little aspect of it gets more and more involved the further you look.

    Avustajista ei ole enää kovin pitkä matka agentteihin, jotka suorittavat tehtäviä. Alustavia testejä on jo tehty. Tiimi käytti esimerkiksi agenttia kopioimaan tekstiä avustajien välillä.

    Mikä on ihmisen rooli agenttien maailmassa? Keskustelijat olivat sitä mieltä, että agentit saavat tehdä perustyöt ja ihminen voi siirtyä astetta ylemmälle tasolle, vaativampien ongelmien pariin. Vertasivat agenttia taskulaskimeen: yksikään matemaatikko ei ole menettänyt työtään siksi, että taskulaskin on keksitty. Mielenkiintoinen vertaus oli se, että tulevaisuudessa ihminen saattaisi toimia kääntäjän (compiler) roolissa: määrittelee ja selittää ongelmia tietokoneelle.

    3. How will GenAI change software development?

    Aivan aluksi Solitan tiimi kävi tietysti läpi markkinoilla olevia tekoälytyökaluja, testasi, valitsi sopivat yms. Mutta hyvin pian alun teknisestä vaiheesta siirryttiinkin tiimipsykologiaan ja tiimin rakenteeseen. Työskentely on sekavampaa kuin mitä ennalta kuvittelisi, ei kovakoodattuja rooleja, ketterämpää kuin ketteryys.

    Keskustelun ehkä mielenkiintoisin jakso koski työnjakoa.

    Solitan AI-tiimissä on kaksi roolia: kuljettaja (driver) ja navigaattori. Vain kuljettajalla on tietokone, muilla ei. Navigaattorit auttavat kuljettajaa ongelman ratkaisemisessa. Rooleja kierrätetään vartin välein. Sami vertasi tätä siihen tapaan, jota hän ja kaverit käyttivät silloin kun Commodore64 ja Amiga olivat uusia: yksi istui puikoissa, toiset istuivat vieressä ja kommentoivat. Tällainen työskentely on kuitenkin niin kuluttavaa, että tiimin on pakko pitää välillä “välitunteja”.

    Marko painotti psykologisen turvallisuuden tärkeyttä (psychological safety). Ketään ei arvostella. Virheet eivät ole pahaksi, koska korjausliikkeet ovat nopeita.

    Kuljettaja päättää, joten roolissa on vapausastetta. Onnistumiset ovat pieniä mutta onnistumisia joka tapauksessa. Eikä kokouksia! Asiakkaillakin on tunne, että heistä on ollut hyötyä. Perinteisesti asiakkaan edustajan on täytynyt omaksua paljon informaatiota, jota sitten pikkuhiljaa käytetään kokouksissa. Nyt otetaan pieniä askelia mutta oikeassa asiayhteydessä, ja päätöksenteon sykli on nopea. Sami vertasi tekoälyä päänsisäiseen tukirankaan (mental exoskeleton).

    Mikä siis muuttuu? Yksi Samin kielikuvista oli Lego-rakennussarja. Peruspalikoista siirrytään isompiin rakenteisiin, jotka koostuvat näistä peruspalikoista. Tiimin koostumus saattaa ajoittain muuttua, sitä voidaan vahvistaa projektin ulkopuolisilla, vaikka päivä kerrallaan. Testaajia, graafikkoja, tietoturvan edustajia jne. Perehdytykselle tiimistä saattaa olla paljonkin apua. Keskustelijat olivat sitä mieltä, että menestystä ei ratkaise niinkään kokemus kuin innokkuus kokeilla uutta.

    Mutta sopiiko nopeatempoinen, jakamiseen perustuva, uutta kokeileva pienryhmätyöskentely kaikille? Ei sovi. Tietotyöläisissä on kuitenkin runsaasti introvertteja. Minkälainen rooli heillä siis voi olla? Solitan testiprojektissa ei nähtävästi ole tätä käytännön tosiasiaa vielä juuri käsitelty, mikä ei sinänsä ole yllätys. Marko mietti, että ainakin ajajan rooliin istumista kannattaa lykätä, jos sitä ei koe omakseen. Osallistuu ensin jonkin aikaa navigaattorina. Tiimin on myös hyvä ymmärtää hidastaa, ettei tahti kiihdy liikaa, varsinkin alussa kun innostus on suurinta. Sitäpaitsi: “Nothing bad in good old slow thinking”.

    PS. Marko kertoi, miten solitalaisille oli esitelty tapaa, jolla Tesla ja SpaceX toteuttavat päivittäisessä työssään yrityksen tavoitetta. Esimerkiksi SpaceX:n päämärä on kuulemma asuttaa maailmankaikkeus 1000 vuoden kuluttua. Tästä tavoitteesta on johdettu jatkuvasti päivittyvä suorituskykymittari (KPI). SpaceX on siinä vaiheessa maailman valloitusta, että KPI tarkoittaa tällä hetkellä samaa kuin “miten saada kilo materiaa avaruuteen mahdollisimman halvalla?” Käytännössä siis raketista pyritään saamaan painoa pois.