Category Archives: Werken

Let’s encrypt

Sinds gisteren is Let’s Encrypt in public beta en daarmee dus ook voor iedereen beschikbaar. Nou zal dat niet iedereen direct wat zeggen, maar ik denk dat dit een ontwikkeling is die een grote verandering op het internet met zich mee zal brengen. Nou betreft het wel een verandering die voor 90% van de mensen niet zullen merken, maar dat maakt het niet minder belangrijk.

letsencrypt-logo_0

Wat veel mensen niet beseffen is dat verkeer van en naar een website in principe voor alle “hops” tussen jouw pc en de server vrij in te zien is. Voor banken zijn we al wel gewent aan het feit dat er een groen slotje bij de domeinnaam moet staan, maar bij veel andere websites denken we daar niet over na. Het gebruik van encryptie lost dat probleem op, het verkeer tussen de client en de server is met certificaten beveiligd en voor de tussenliggende systemen niet in te zien.

Het probleem is echter dat de certificaten hiervoor geld kosten, alhoewel ze niet heel duur zijn (12 euro per jaar grofweg) wordt het voor veel content niet echt als noodzakelijk gezien om de bezoeken te beveiligen. De complexiteit van het onderhouden van deze certificaten is echter een groter probleem. Niet alleen is het veel handwerk om een certificaat goed op je eigen server te installeren, maar het is ook nog eens iets wat je niet moet vergeten bij te houden (wederom handmatig).

Let’s encrypt brengt hier verandering in, niet alleen zijn de certificaten gratis, maar er wordt een tool meegeleverd die de hele aanvraag en implementatie voor je uitvoerd. Daarbij zorgt de tool ook voor een tijdige vervanging van de certifcaten wanneer de einddatum in de buurt komt (een “le” certificaat is 90 dagen geldig).

Het draaien van de tool geeft een wizard die er grofweg zo uit ziet:

Certificaat Aanvraag

En de rest gaat eigenlijk vanzelf, je kan nog even aangeven of de site zowel via HTTP als HTTPS bereikbaar moet zijn of enkel via HTTPS en dat was het dan.

Wanneer we dan controleren of het certificaat goed geïmplementeerd is zien we dat ook dat helemaal in orde is:

Certificaat Controle

Het mooie aan de automatische implementatie is ook dat er eigenlijk niets in de weg staat om dit ook bij shared hosting oplossingen te implementeren. Het gehele traject kan volledig geautomatiseerd worden en een gebruiker hoeft er dus helemaal niets aan te doen. Wat misschien wel nog een blokkade kan zijn is dat voor een groot aantal providers een aardig stukje omzet kan wegvallen doordat ze nu geen tussenpartij meer hoeven te zijn tussen de grote certificaat verstrekkers en de “consument”.

Voor het testen van dit soort zaken gebruik ik overigens meestal een VM bij Digital Ocean, het grote voordeel is dat je deze per uur betaald, wat een root voordeel is voor het even snel testen van nieuwe dingen. De bovenstaande link is overigens een referral link, die levert je 10 dollar aan start tegoed op (1 maand voor een server met 1 core en 1 GB ram). Mocht je mij geen extra tegoed gunnen kan je natuurlijk altijd zelf even het adres invullen als je een account wil :). De gebruikte testomgeving heb ik gebouwd op Ubuntu 15.10 met Apache, PHP en MySQL.

 

 

AFAS Profit: Analyses mailen

Op dit moment spendeer ik 90% van mijn werkuren aan onze (Detron) AFAS Profit inrichting. De afgelopen jaren hebben we delen van het bedrijf gesplitst, andere delen samengevoegd, en bovenal de werkwijze zoveel mogelijk geharmoniseerd. Nu die zaken langzaamaan minder van onze tijd kosten hebben we meer tijd om aan de kleinere projectjes te kunnen werken.

Zo was er al een tijdje de wens om analyses uit AFAS Profit te kunnen mailen naar een of meerdere gebruikers. Dat was voor mij een mooie gelegenheid om eens te kijken of ik behalve met AutoIT dit soort “problemen” ook op kan lossen met het native aanwezige Powershell (Windows servers). Gezien ik daar helemaal zo goed als geen ervaring mee heb was het vooral een aardig uitzoekwerk, maar op een kleine stap na is het me uiteindelijk gelukt om zo goed als het hele proces vanuit Powershell te realiseren.

Het alternatief zou overigens zijn om analyses te publiceren op InSite, maar gezien deze analyses voor een hele kleine groep gebruikers bedoeld zijn en ook maar een zeer beperkte houdbaarheid hebben is dit geen goede optie. Daarbij kan het ook zo zijn dat een deel van deze analyses als “snapshots” bewaard worden. Ook dat zou niet nodig moeten zijn, maar soms is het niet anders.

Het systeem bestaat uit een aantal delen:

  • Een analyse in AFAS Profit bepaald wie welke analyse wanneer gemaild moet krijgen. Deze lijst wordt bijgehouden door het functioneel beheer team.
  • Deel 1 in Powershell: Publiceren en interpreteren bovenstaande analyse. Deze analyse wordt opgeslagen als CSV en omvat alleen het overzichttabblad, min of meer een to-do lijst dus.
  • Deel 2 in Powershell: Check of er regels in de eerder genoemde analyse binnen het huidige tijdvak vallen, regels die niet aan die voorwaarden voldoen worden verder genegeerd

Hier had ik wel een kleine uitdaging, op zich is het bepalen of een regel in het tijdvak valt nog niet zo lastig:

ControleTijdvak

Alleen die laatste regel bracht wel een probleem met zich mee, hoe bepaald je nou of de huidige dag de laatste dag van de maand is? Het zoekwerk voor oplossingen bracht ook eigenlijk alleen maar opties met zich mee die veel complexer waren dan dat ik nodig had.

Uiteindelijk heb ik dat als volgt opgelost (de naam van de variabelen verraad het wel een beetje):

ControleLaatsteDag

Ik gebruik hier twee variabelen, één met de huidge maand, en de andere welke de maand van één dag later bevat. Als die niet gelijk zijn is vandaag dus de laatste dag van de maand. Overigens had ik deze vergelijking ook wel in één regel kunnen stoppen, maar dit vond ik voor nu zelf even overzichtelijker.

We gaan weer verder..

  • Deel 3 in Powershell / AFAS Profit: Regels die in het huidige tijdvak worden opgepakt, er wordt een batch file (jammer..) aangeroepen die via de commandline de desbetreffende analyse laat publiceren. Dit publiceren gebeurt overigens met een macro van 4 regels die toegevoegd moet worden aan de analyse. De macro:
Sub PublishAnalysis()
Dim fileName As String
ActiveWorkbook.SaveAs fileName:="C:\Powershell\testanalyse.xlsx", FileFormat:=xlOpenXMLWorkbook
End Sub

De reden dat de macro PublishAnalysis heet heeft te maken met het feit dat ik het publiceren laat doen door AFAS Profit via de commandline, de publicatie wordt getriggerd via een batchfile en uitgevoerd door deze macro.

  • Deel 4 in Powershell: Na het genereren van de analyse (als .xlsx) wordt deze verstuurd naar het mailadres dat op de regel in de eerste analyse is ingevoerd.
  • Deel 5 in Powershell: Logging wordt bijgewerkt, als de log meer dan 2Mb groot is wordt deze opzij gezet, als er al oude logging aanwezig is wordt deze overschreven.

Op dit moment is het mogelijk om analyses te verzenden op een specifieke dag van de week, een specifieke dag van de maand, iedere dag, de laatste dag van de maand of tot slot de eerste dag van de maand. Dit lijkt me nu voldoende, maar gebruikers kennende is er vast nog een optie die ik nu nog niet bedacht heb ;).

De oplossing die ik nu geschreven heb zal qua efficientie nog wel het nodige te wensen over laten, maar het werk naar behoren. Ik heb nog wel een aantal wensen die ik in de komende tijd wil doorvoeren om vooral de kans op fouten bij de invoer te verkleinen. Daarnaast moet ik nog een filter maken die voorkomt dat we files proberen te mailen die groter zijn dan onze Exchange omgeving toelaat.

Mocht iemand interesse hebben in het script zie ik wel een berichtje verschijnen, als iemand nettere of andere oplossingen heeft hoor ik het natuurlijk ook graag . Verder is het voor mij zelf wel een mooie eerste echte ervaring met Powershell. Gezien dit een native systeem is zie ik wel wat voordelen die het waard maken om te gaan kijken of ik (een deel van ) de andere Profit koppelingen om kan zetten naar Powershell scripts. Deze worden nu over het algemeen ondersteund door AutoIT “applicaties” die ik in de afgelopen jaren gemaakt heb.

Microsoft Surface Pro 3: Pen

De pen is misschien wel het belangrijkste element van het Surface concept van Microsoft. Tablets met losse toetsenborden kennen we al even en deze zijn alhoewel wisselend van kwaliteit ook al wel enige tijd met de diverse Windows versies beschikbaar. Echter een echt goede pen implementatie hebben we nog niet heel vaak gezien. En juist die pen maakt het voor mij mogelijk om (in ieder geval tot dusver) mijn aantekeningen boek volledig overbodig te maken. De pen wordt in tegenstelling tot de Typecover wel altijd meegeleverd en hoeft dus niet los aangeschaft te worden.

Om op een scherm te kunnen schrijven zijn een aantal zaken erg belangrijk, maar vooral de afstand tussen de tip van de pen en de snelheid en accuraatheid van de pen moeten goed zijn. En op deze drie vlakken voldoet de pen perfect. Natuurlijk heb je als je snel over je scherm gaat krassen wat vertraging, maar bij normaal schrijven is dit niet merkbaar. Qua accuraatheid heb ik eigenlijk ook niets op te merken, wel vergt het even wat gewenning om er voor te zorgen dat je de eerste keer dat je gaat schrijven de tip van de pen in de buurt van het scherm moet zijn om van modus te wisselen. Wat ook wel een klein minpunt blijft is dat het scherm natuurlijk erg glad is, dat is eigenlijk nog het enige echt merkbare verschil met echt schrijven.

Gezien de pen drukgevoelig is kan je ook in je aantekeningen nadruk leggen door dikker gedrukte woorden / lijnen te maken simpel door harder te drukken tijdens het schrijven. Dit voelt in het begin overigens wel nog wat tegennatuurlijk. De pen heeft verder een dunne harde tip en lijkt in dat opzicht nog het meeste op een normale Parker ballpoint pen. Qua gewicht is de pen vergelijkbaar met een zelfde formaat (niet-kunststof) Parker pen, wat mij betreft het ideale gewicht.

Voor de aantekeningen gebruik ik OneNote en het systeem is daar dan ook eigenlijk wel voor gemaakt. De knoppen op de pen zijn ingesteld voor gebruik in OneNote, een aantal van de handigheidjes zitten in de onderstaande video (het is verder wel een beetje een aparte video, maar het gaat om het idee).

Gezien ik niet kan tekenen heb ik verder geen ervaring met het gebruik van de pen voor dat doeleinde. Als ik zo naar de andere reviews kijk blijken er wel wat problemen te zijn met de drukgevoeligheid in dergelijke applicaties, maar daar zou door Microsoft aan gewerkt worden.

Het enige echte minpunt van de pen is dat je hem eigenlijk nergens kan laten, op dit moment los ik dat dan maar zo op:IMAG0497

Dit is alleen niet heel erg goed voor de typecover denk ik (op de lange termijn) en wanneer ik de tablet en de typecover aan het gebruiken zijn kan ik de pen daar niet laten zitten. Nou is er een “sticker” meegeleverd die eigenlijke en soort lusje aan de rand van de typecover maakt om de pen in mee te nemen, maar dat ding is echt te lelijk voor woorden en daarbij geeft het niet echt een goed gevoel als je pen aan een sticker hangt. Voor een apparaat van deze prijsklasse hadden ze hier wel even wat beter over na mogen denken.

De pen werkt op batterijen, maar die zouden bij intensief gebruik een maand of 8 mee moeten gaan. We gaan zien hoe lang ze het werkelijk volhouden, maar zelfs al zou ik de AAA batterij eens per half jaar moeten vervangen zou je me daar zeker niet over horen klagen. Verder zit er ook nog een knoopcel batterij in, maar die zou je onder normale omstandigheden nooit moeten hoeven vervangen.

Overall ben ik in ieder geval bijzonder te spreken over de werking van de pen. Ik heb sinds ik de Surface mee naar het werk neem geen enkele aantekening meer op papier gemaakt. Daarbij dien ik dan wel op te merken dat ik op het werk een 24″ scherm op de tablet aansluit, dit gebruik ik dan samen met het scherm van het tablet om zowel Word / Outlook en de aantekeningen gelijktijdig te kunnen zien zodat ik ze kan verwerken. Dit zou ook split screen kunnen, maar de twee schermen oplossing heeft vooralsnog de voorkeur.

Het volgende deel zal verder ingaan op de tablet zelf.

Dit is een vervolg op: MICROSOFT SURFACE PRO 3