Online diary on the fly

2015-05-13 16:36:51 +0200

For quite a while I just to have digital personal diary. First as a text file stored in my computer, occasionally backed up on cd. Then I switched to ohlife.com. I liked the clean interface and the fact that you'd get reminder mails you could just reply to create a new entry. Most of those reminders I just deleted I noticed. Ohlife shut down last year. Fortunately the creators allowed you to download a backup of all your entries so no content is lost.
Since then I don't keep a personal diary. I do post occasionally on twitter as well as lots of other social media or as it just to be called word wide web. My calendar is on google, just as my mail and part of my documents. Besides that my photos and other documents are stored on my own laptop - not stored on any cloud (at least not that I know of), but synced via syncthing in case I lose my laptop. I create notes on evernote, store articles I might want to read on getpocket, and sometimes publish code on github, bitbucket or other hosted code services. And of course most of my activity is tracked by Google, Facebook and probably other organizations I know or not know of.

All in all a lot of digital data or information by or on me, created on purpose or by accident. All those information combined would be enough to reasonable 'auto-create' a diary entry.
Some new online diaries I just found on the interweb allow integration with twitter and facebook such as Journalate.  But I don't want to use on online diary anymore that stores data on it's own server(s), certainly not one that only allows you to download your entries if you pay them money. I'd rather have my diary stored on my own computer, or maybe on some blockchain, but only accessible by me. Also my hypothetical diary doesn't need to contain a copy of all that data, a link to that data combined with some tags or notes created by me would be could enough.

I wonder if something like that already exist?

Read more

Hoe kijk jij tegen softwareontwikkeling aan?

2015-04-27 19:55:09 +0200

Wat is software, hoe creëer je nieuwe programma's? Wat is programmeren? Hoe iemand tegen softwareontwikkeling kijkt, bepaalt veel hoe iemand tegen problemen en uitdagingen in de IT kijkt. Voor sommige is falen van it-projecten en kwestie van beter plannen, voor ander zijn projecten inherent de oorzaak aan falen. Sommige vragen zich af hoe je agile kan schalen, andere vragen zich af hoe je schaalbare software maakt.

Agile, lean, scrum zijn populair binnen softwareontwikkeling. Achter al deze methodieken en ideeën  zit een bepaalde visie: softwareontwikkeling is een complex proces. Veel mensen denken nog dat softwareontwikkeling een lineair proces is en dit denken maakt invoering welke lean of agile methodiek tot falen gedoemd is.
Hier onder heb ik wat stellingen gezet. Met welke ben je het meeste eens?

 

Lineair

Complex

Software maken is een lineair proces: ontwerp, bouwen, testen, uitrollen en onderhouden

Software maken is complex proces. Iedere aanpassing kan gevolg hebben voor de hele organisatie

Software maken is vergelijkbaar met bouwen

Software maken is vergelijkbaar met ontwerpen

Bugs zijn nu eenmaal onvermijdelijk, alleen door achteraf veel te testen kan kwaliteit afgedwongen worden

Bugs kunnen voorkomen worden, door de kans er op kleiner te maken

Programmeertaal is maar een middel, kies wat gangbaar en bekend is

De keuze van de programmeertaal heeft grote invloed op het resultaat

Via RAD- of 4GL-tools software maken zou meer gedaan worden

Via analyse-tools software automatisch op fouten controleren zou meer gedaan moeten worden

Ontwerp en programmeren zijn twee gescheiden taken, die door verschillende mensen gedaan kan worden

Ontwerp en programmeren zijn een geheel en kunnen niet los gezien worden

Software is na enige jaren afgeschreven

Voordat we nieuwe software gaan ontwikkelen, moeten we ons afvragen: Hebben we de software wel nodig? Is ons probleem al niet eerder opgelost?

Leesbare code maakt duidelijk wat er gebeurt als de software wordt uitgevoerd

Leesbare code maakt duidelijk wat het probleem is en de resulterende software correct is

Het maken van een beschrijving van alle entiteiten, objecten, rollen in een organisatie is essentieel

Het continu kunnen meten van software en veranderingen in software is essentieel

De essentie van scrum is korte iteraties

De essentie van scrum is samenwerking met de rest van de organisatie

Kunnen voorspellen hoe lang het kost om nieuwe software te maken is belangrijk

Kunnen valideren of nieuwe software het gewenste effect heeft is belangrijk

Programmeren is simpel: if then else

Programmeren is moeilijk

Software zou als lego moeten zijn

Software zou als poëzie moeten zijn

Software kan af zijn

Een functie, feature of user story kan af zijn

Legacy software die ononderhoudbaar is geworden moet je herschrijven of inkapselen (incapsulate) in services.

Legacy software moet je beheersbaar maken door te analyseren, refactoren, testbaar te maken en op te splitsen

Als softwareontwikkeling niet snel genoeg gaat, moet je meer mensen aannemen Als softwareontwikkeling niet voldoende oplevert, moet je onderzoeken of je wel het meest belangrijke doet
Het maken van nieuwe software kun je het beste als project aanpakken Het maken van nieuwe software kun je het beste in kleine stapjes doen
Uitbrengen van nieuwe versies van software is een risico Uitbrengen van nieuwe software moet zo snel als mogelijk gebeuren
Programmeren is een skill Programmeren is een craft
Software gebruik je in om gegevens vast te leggen en opvraagbaar te maken en processen binnen de organisatie sneller, beter en efficiënter te laten verlopen Software maakt dingen mogelijk die voorheen onmogelijk of ondoenlijk waren
Voor veiligheid (security) zijn goede procedures en correct gedefinieerde rollen en toegangsrechten (ACL) belangrijk Voor veiligheid zijn encryptie en software die de gebruiker helpt haar informatie veilig te gebruiken belangrijk

Agile softwareontwikkeling, invoeren van lean, scrum, en vele gerelateerde ideeën slagen pas als je  ten volle van bewust bent dat softwareontwikkeling ook een complex proces is

 

Read more

Archive

subscribe via RSS