Powershell

Voor mensen die niet met Microsoft Windows werken, maar met een variant van Unix, is de command-line ofwel de ‘shell’ een bekend fenomeen. Bijna alles wat een systeembeheerder doet, gaat via deze interface waarbij geen muis nodig is. Windows had een heel beperkte shell, die eigenlijk bijna niets kan en alleen in noodgevallen gebruikt werd. De rest van Windows werd bediend door met de muis allerlei knopjes aan te klikken. Zo’n grafische interface is leuk, vooral voor diegenen die niet echt goed snappen wat er achter de schermen gebeurt, maar ook moelijk te automatiseren. Stel je wil elke computer elke week op vrijdag opnieuw opstarten. Je zou dan een programma moeten schrijven in deze trant: “Ga naar het start-menu linksonder (als het linksonder zit tenminste) en klik dan op Start. Ga drie vakjes naar boven en klik dan op ‘Afsluiten’.” Uiteraard gaat dat niet lukken! Daarom begon Microsoft in 2002 met het ontwikkelen van Monad, dat later PowerShell genoemd werd. Dat maakt het mogelijk om grafische elementen te bedienen vanuit een command-line interface. Dankzij PowerShell kunnen er onder Windows dingen gedaan worden die daarvoor niet mogelijk waren.

Sinds 18 augustus is PowerShell open source geworden! Deze gebeurtenis is een teken dat Microsoft inderdaad open source omarmt als een ontwikkelmodel voor software. De ‘strijd’ tussen Microsoft en Open Source lijkt langzaam beslecht, in het voordeel van Open Source. Op globaal niveau worden er steeds meer essentiële tools open source gemaakt, van webservers tot netwerkswitches aan toe. Daarom is het des te vreemder dat op Curaçao de meeste IT-ers nog steeds in het Windows-only tijdperk werken; dat er op scholen nauwelijks aandacht wordt besteed aan open source; en dat CORE nog steeds minder dan 1% open source software in haar datacenter gebruikt. Curaçao wil meedoen met de technologische ontwikkelingen volgens VVRP, BTP, en MEO – begin dan met het stimuleren van open source in alle hoeken en gaten van het overheidsapparaat en de scholen.

http://azure.microsoft.com/en-us/blog/powershell-is-open-sourced-and-is-available-on-linux/

Netflix en Vizceral

Netflix is één van de grootste ‘content-streaming’ bedrijven op het Internet. Netflix zorgt ervoor dat je films en series kan kijken via Internet, wanneer je maar wil. ‘Video on Demand’ wordt het ook wel genoemd, omdat je het programma kan starten en stoppen wanneer je wilt. Je bent niet gebonden aan de uitzendtijden van de TV. Nu zijn er miljoenen mensen over de hele wereld die tegelijkertijd via Netflix naar een film of serie kijken. En die kijken allemaal iets anders. In tegenstelling tot TV, waarbij op elk moment maar één signaal wordt uitgezonden waar we allemaal op af moeten stemmen, bestaat de stream van Netflix uit miljoenen individuele signalen. En dat kost heel veel bandbreedte, maar ook heel veel technisch vernuft.

Netflix heeft verschillende plekken over de hele wereld waar de films en series opgeslagen zijn. Maar als de verbindingen tussen die plekken niet goed werken, dan merkt de kijker dat. Dus zorgt Netflix ervoor dat er meerdere ‘wegen’ naar ‘Rome’ leiden. Als er dus ergens een verbinding uitvalt, nemen andere verbindingen dit zoveel mogelijk over. Om nu een mooi overzicht te krijgen over deze datastromen, heeft Netflix software gemaakt die nu open source is: Vizceral. Vizceral betekent zoiets als ‘instinctief’ of ‘onderbuikgevoel’, en de naam geeft aan dat het beheren van deze grote datastromen eerder intuïtief plaatsvindt dan via strakke formules. De Vizceral software helpt daarbij door strakke formules om te zetten in een grafisch aantrekkelijk geheel waarbij je direct het gevoel krijgt: daar gaat het goed, en daar gaat het mis. En dan is het zaak om daarop te reageren, correcties aan te brengen, nieuwe, snellere verbindingen aan te leggen en de problemen te voorzien en op te lossen. Vizceral zou gebruikt kunnen worden door telecombedrijven, door Aqualectra, en ook door VVRP om verkeersstromen te analyzeren.

http://github.com/Netflix/vizceral
http://github.com/Netflix/
http://techblog.netflix.com/2016/08/vizceral-open-source.html

Facebook steeds meer Open Source

Facebook timmert serieus aan de weg door een flink aantal projecten open source te maken. Dat past ook in de filosofie van open source, want als je het gebruikt, wordt je ook geacht terug te geven. En Facebook doet dat met volle overtuiging. Op de pagina ‘projecten’ worden de bijdragen van Facebook ingedeeld naar soort: Android, iOS, Web, Backend en zelfs Hardware. Ik zou me zo voor kunnen stellen dat hier op de UoC volop aandacht gegeven wordt aan dit fenomeen, want van wie kan je nou beter leren dan van een groot bedrijf dat miljoenen gebruikers elke seconde van de dag bedient? Facebook vindt echter ook dat open source ‘volwassen’ moet worden, en daarmee bedoelen ze: beter gedocumenteerd, beter beheerd, en betere code. De kwaliteit van open source software verschilt namelijk van project tot project. Een hoeksteen van het Web, de webserver Apache, heeft een enorm goede reputatie als het om kwaliteit, beheer en documentatie gaat. Er zit een grote stichting achter, die door verschillende top-tien bedrijven gesponsord wordt, en er zijn meerdere subprojecten ontstaan die allen van zeer hoog niveau zijn. Ook Postfix, Firefox, OpenOffice en OpenLDAP zijn voorbeelden van goed gedocumenteerde en goed beheerde software. Maar er zijn ook projecten die maar half af zijn, waar documentatie ontbreekt en waar te weinig mensen aan werken. De Facebook Incubator (alleen voor Facebook projecten) probeert hier wat aan te doen door geld beschikbaar te stellen om dit soort projecten te begeleiden op die gebieden waar briljante programmeurs vaak niet zo goed in zijn, namelijk documentatie en beheer. Of het idee aanslaat, weten we nog niet, maar het is in ieder geval verfrissend om te zien dat een organisatie op een heel ander niveau naar open source kijkt, en de processen die ermee samenhangen probeert te verbeteren.

http://code.facebook.com/projects
http://github.com/facebookincubator
http://tech.economictimes.indiatimes.com/news/internet/facebook-incubator-wants-to-change-the-way-open-source-works/53498339

 

Apollo 11 nu open source!

Apollo 11 – het ruimtevaartuig dat de eeste mens op de maan zette, als je dat gelooft – werd bestuurd door software. Die software is nu open source, en op github te vinden. De originele software is uitgeprint en gescand, en daarna in 2009 handmatig overgetypt en recentelijk op github gezet. (Github is dé plek voor open source!) Natuurlijk werd er in 1969 niet in Java of C# of PHP geprogrammeerd, maar in het wat moeilijker te volgen ‘assembly’. Die assembly was ook nog heel erg specifiek voor de chips die gebruikt werden in de maanlandingsmodule, maar desalniettemin voor de gevorderde nerd goed te begrijpen. Commentaar (opmerkingen die door programmeurs in software worden geplaatst om de software beter te kunnen begrijpen) laten ook voor leken zien wat nerd-humor is. Opmerking als ‘Tijdelijk! Hoop ik! Hoop ik! Hoop ik!’ of ‘Mysterieus getal’ zijn gewoon meegevlogen naar de maan en terug. En natuurlijk is er wel iemand zo gedreven om een simulator te maken en die online te zetten (in JavaScript notabene), dus als je de Apollo Guidance Computer zelf wil bedienen, dan kan dat. Hou wel rekening met zonnewind, 0.6 keer de aardse zwaartekracht en het feit dat je het oppervlak van de maan alleen via een telescoop kan zien. (Of, via Google Moon). Margaret Heafield Hamilton (1936) was de directeur van het MIT Instrumentation Laboratory, en ontwikkelde deze software. Dat is toch ook wel bijzonder, dat een vrouw de eerste man op de maan heeft gezet!

http://github.com/chrislgarry/Apollo-11

http://en.wikipedia.org/wiki/Apollo_Guidance_Computer

http://googlecode.blogspot.com/2009/07/apollo-11-missions-40th-anniversary-one.html
http://svtsim.com/moonjs/agc.html
http://en.wikipedia.org/wiki/Margaret_Hamilton_(scientist)

 

Machines die Leren (2)

Machine learning (ML) is een deelgebied van de informatica dat voortkwam uit de studie van patroonherkenning en kunstmatige intelligentie. Arthur Samuel zei in 1959: machine learning geeft computers de mogelijkheid om te leren zonder dat ze expliciet worden geprogrammeerd. Dat klinkt misschien eng, maar aan de andere kant is het hartstikke handig voor zelfrijdende auto’s en allerlei andere toepassingen. Als u, net als ik, tien, twintig of dertig jaar geleden bent begonnen met programmeren, dan weet u niks van ML. Dat soort programmeren was misschien al wel in ontwikkeling op een prestigieuze universiteit, maar zeker niet op de miljoenen homecomputers die toen hun opmars begonnen. Intussen is het landschap veranderd. Met behulp van open source software zoals Tensorflow (oorspronkelijk gemaakt door Google) en ‘scikit-learn’, een Python bibliotheek, kunnen u en ik, en ook de nieuwe generatie whizkids, eenvoudig aan de slag met Machine Learning. Op het Internet staat een serie goede instructievideo’s waarmee iedereen zo aan de slag kan. Er zijn verschillende hoofdgroepen in ML, zoals ‘leren onder begeleiding’, ‘leren Zonder begeleiding’, en een mengvorm van de twee. Bij leren zonder begeleiding krijgt de computer een berg data en onttrekt daaruit bepaalde patronen. Een heel mooi voorbeeld daarvan is hoe Deep-Q (Googles kunstmatige intelligentie netwerk) Space Invaders heeft leren spelen puur op basis van de beelden op het scherm. ML houdt een belofte in voor de toekomst: op basis van enorme hoeveelheden data, voorspellingen te kunnen doen die het menselijk brein te boven gaan.

http://www.youtube.com/watch?v=cKxRvEZd3Mw&feature=youtu.be
http://www.youtube.com/watch?v=Ja2hxBAwG_0&feature=youtu.be
http://www.telegraph.co.uk/news/science/science-news/11435688/Google-network-learns-to-play-Space-Invaders-in-breakthrough-for-artificial-intelligence.html

 

DICOM

Als je naar Advent Damacor (voorheen Taams kliniek) gaat om een röntgenfoto te laten maken, krijg je een CD mee, met daarop de foto, en een programma om die foto mee te bekijken. Dat programma is alleen voor Windows, en ik heb natuurlijk helemaal geen Windows. Hoe kan ik toch die foto’s zien? De foto’s zijn opgeslagen in het DICOM formaat, dus niet zoals ‘gewone’ foto’s in ‘JPEG’ of ‘PNG’. DICOM is een open standaard (ISO 12052:2006) speciaal gemaakt om medische beelden – röntgenfoto’s, MRI-scans, CAT-scans en dergelijke – op te slaan. DICOM heeft zelfs een eigen ‘protocol’ om medische gegevens en beelden via Internet uit te wisselen.

De neurochirurg in het SEHOS kan inderdaad vanuit zijn kantoor beelden oproepen die bij de radiologie afdeling gemaakt zijn zonder met een CD te hoeven sjouwen. Je hebt speciale software nodig om de foto’s te bekijken, en die staat dus ook op de CD, maar als je geen Windows hebt, werkt dat niet. Op zoek dus naar open source software die DICOM kan lezen. In de medische wereld wordt veel van open source gebruik gemaakt, en dat zie je hier ook weer: maar liefst 375 gratis en vaak ‘open‘ programma’s om beelden te bekijken, te bewerken, of te converteren. Voor Ubuntu, mijn favoriete open source systeem, bestaan er een aantal kant-en-klare tools. ImageJ is er voor de geavanceerde gebruiker (of student) die zelf beelden wil bewerken. En Aeskulap is een handig stuk software om de beelden mee te bekijken. Deze kan met 1 klik geïnstalleerd worden en daarna kan je alle foto’s op de CD van de radiologie afdeling zelf bekijken! Zonder Windows!

http://dicom.nema.org/

http://en.wikipedia.org/wiki/DICOM

http://idoimaging.com/

http://wiki.ubuntuusers.de/DICOM/

 

SnapRoute: Open Source Netwerk voor Datacenters

Netwerkapparatuur, zeg maar de stekkerdozen die alle computers met elkaar verbinden, wordt traditioneel gezien als een hardware product. Routers en switches van merken als Cisco en Juniper zijn (dure) kastjes die je kant en klaar kan kopen om in je netwerk of datacenter in te zetten. Het configureren van deze apparatuur is best ingewikkeld en er zijn hele dure en hele goede cursussen, meestal verzorgd door de fabrikanten van deze netwerkonderdelen. Een certificaat zoals CCNA mag op het CV van een netwerkbeheerder niet ontbreken! Toch bestaat deze apparatuur voor een heel groot deel uit software.Het operating systeem van een router of een switch was vroeger een geheimzinnig iets, tegenwoordig wordt steeds vaker Linux gebruikt als basis van deze systemen.

Een nieuw bedrijf, gevormd door een groep ingenieurs die vroeger bij Apple werkten, gaat nog een stapje verder. Zij produceren ‘stekkerdozen’ die geheel opensource zijn. FlexSwitch, zoals het producht heet, wordt onder andere gebruikt in hetOpen Compute Project van Facebook en zal binnenkort in alle datacenters van deze sociale media gigant toegepast worden. FlexSwitch is het eerste volledige Level2 en Level3 open-source netwerkapparaat en draait onder andere bovenop Wedge van Facebook. Wedge is een project waarbij de door fabrikanten meestal geheim gehouden en speciaal gefabriceerde hardware, waaruit netwerkapparatuur traditioneel bestaat, vervangen wordt door een meer modulair opgebouwd stuk techniek. Door die modulariteit en door gebruik te maken van meer standaard componenten, is het makkelijker om door middel van het veranderen van de software een netwerkapparaat ‘op maat’ te maken. Zo zijn bijvoorbeeld de netwerkcomponenten van Netflix, die miljoenen bytes moeten afleveren om films te kunnen kijken, heel anders van vorm en functie dan die van MessageLabs, dat miljoenen hele korte emails moet kunnen versturen. Door de software te veranderen kan hetzelfde Wedge apparaat in beide situaties ingezet worden. FlexSwitch is de volgende stap in deze ontwikkeling.

http://venturebeat.com/2016/06/16/snaproute-apple/
http://code.facebook.com/posts/681382905244727/introducing-wedge-and-fboss-the-next-steps-toward-a-disaggregated-network/
http://en.wikipedia.org/wiki/CCNA

Veiliger Open Source

Mozilla, de organisatie bekend van onder andere Firefox, stopt geld in veiliger open source software. Via het Secure Open Source (SOS) Fonds wil Mozilla proberen om open source software te ontdoen van veiligheidslekken. Het fonds heeft ongeveer 900.000 gulden beschikbaar om een aantal veelgebruikte open source programma’s door te pluizen en fouten die veiligheidsgevolgen hebben te ontdekken.

Mozilla wil de vele bedrijven en overheden die gebruik maken van open source betrekken bij het project en zorgen voor extra financiële steun voor het fonds. Projecten die gebruik willen maken van het fonds moeten actieve projecten zijn, en programma’s die vaak gebruikt worden en van vitaal belang zijn voor de werking van het internet of het web maken een betere kans om geholpen te worden. Op dit moment worden drie open source projecten, namelijk PCRE, libjpeg-turbo, en phpMyAdmin onderzocht en dat leidde al tot het oplossen van 43 lekken.

Twee jaar geleden werd er door een aantal hele grote bedrijven waaronder Amazon, Cisco, Google, IBM, Dell en zelfs Microsoft een project opgestart waarbij de open source infrastructuur van het Internet verbeterd wordt. Deze grote bedrijven zijn zodanig afhankelijk van het goed functioneren van een aantal open source projecten, dat ze enkele miljoenen investeren in open source software. Dit ‘Core Infrastructure Initiative (CII)’ is dus te vergelijken met het SOS fonds. De twee projecten complementeren elkaar. CII richt zich op de echte kern van de infrastructuur, terwijl SOS zich ook richt op de software waar gebruikers vaker mee te maken krijgen.

Vorige week schreef ik op deze plek over wiskunde software en een fonds van miljoenen euro’s om deze software te verbeteren. We zien over de hele linie dat onafhankelijke instanties geld stoppen in de verdere professionalisering van open source, omdat open source nou eenmaal het meest gebruikt wordt als het om het Internet gaat.

http://www.helpnetsecurity.com/2016/06/10/mozilla-will-fund-code-audits/
http://openup.opencuracao.com/2014/05/07/open-source-steeds-belangrijker/

OpenDreamKit

OpenDreamKit is een project van het ‘Horizon 2020’ traject van de Europese Unie, dat een betere onderzoeks-infrastructuur beoogt. Het heeft een looptijd van vier jaar vanafseptember 2015 en zal aanzienlijke financiële middelen verstrekken aan open source wiskunde, in het bijzonder tools zoals LinBox, MPIR, SageMath, GAP, Pari/GP, LMFDB, Singular, MathHub, en de ipython/Jupyter interactieve computeromgevingen.

Vanuit dit wiskundige ‘ecosysteem’ zal OpenDreamKit een flexibele toolkit leveren waardoor onderzoeksgroepen die zich bezighouden met het opzetten van virtuele onderzoek omgevingen (VRE) makkelijker gegevens en formules kunnen uitwisselen. OpenDreamKit ondersteunt de volledige levenscyclus van wiskundig onderzoek, inclusief verkenning en exploratie, bewijs en publicatie. Het project omvat ongeveer 50 mensen, verdeeld over 15 locaties in Europa, met een totaal budget van 7,6 miljoen euro. Het grootste deel van het budget zal worden besteed om gemiddeld 11 onderzoekers en ontwikkelaars full time aan het project te laten werken.

Overheden zoals de Europese Unie doen er goed aan te investeren in open source tools. Vaak zijn deze ontwikkeld met een bepaald doel en terwijl de originele groep onderzoekers op een ander gebied verder is gaan onderzoeken, blijft de tool die veel potentie heeft vaak onbeheerd achter. Dit geldt ook voor tools op gebied van taal (linguïstiek). De overheid kan dan zorgen voor het inventariseren, coördineren en veralgemeniseren van de software waardoor deze voor veel meer onderzoekers bruikbaar wordt.

http://opendreamkit.org/

http://mathhub.info/

http://www.singular.uni-kl.de/

http://www.sagemath.org/

DevCa

DevCa staat voor ‘Developing the Caribbean’ en is een toonaangevend platform voor het verkennen van digitale technologieën en hoe die een oplossing zouden kunnen bieden voor de grootste uitdagingen en de toekomst van de Caribische regio. De tweedaagse conferentie die op 5 en 6 mei gehouden werd, en de ‘Code Sprint’, bieden een unieke gelegenheid voor techneuten, organisaties, onderzoekers en ondernemers om te netwerken.

De Code Sprint is een hackathon, en een hackathon is een beproefde manier om in een paar dagen een aantal software oplossingen in demovorm of als prototype klaar te krijgen. Een hackathon is een soort wedstrijd tussen kleine teams van computerspecialisten, vaak aangevuld met designers en mensen met kennis van een bepaald onderwerp. Tijdens de wedstrijd wordt er gewerkt aan een aatal ‘problemen’, zoals de ‘Zika Challenge’. Door gebruik te maken van open data (gegevens die door overheden beschikbaar worden gesteld) kan met behulp van een app (software voor de mobiele telefoon) een waarschuwing gegeven worden als het aantal zika gevallen in een bepaald gebied stijgt, om maar een voorbeeld te noemen. Dergelijke hackathons zijn er al een aantal jaren, onder andere Fishackathon (oplossingen voor overbevissing), Agrithon (hackathon voor problemen in de landbouw) en Hackathon Suriname.

Op de één of andere manier ligt Curaçao ver, heel ver, achter bij de omringende landen. Terwijl de Caricom landen en andere landen in de Cariben talent en inzet belonen met geldprijzen en goed georganiseerde evenementen, waarbij daadwerkelijk bruikbare software opgeleverd wordt, gebeurt er in Curaçao helemaal niets op dit gebied. Gelukkig heeft CITI het initiatief genomen om in oktober de eerste hackathon van Curaçao te organiseren. Hopelijk zal het Ministerie van Economische Ontwikkeling dergelijke initiatieven meer aandacht geven zodat Curaçao in 2017 op DevCa vertegenwoordigd zal zijn.

http://www.developingcaribbean.org/

http://experiment.com/grants/zika-virus

http://www.fishackathon.co/

http://agrithon.com/