Thursday, 29 September 2016

Specification By Example

“The formulation of the problem is often more essential than its solution, which may be merely a matter of mathematical or experimental skill.”
- Albert Einstein

The image on the left is a Dutch proverb, meaning "Setting a good example to follow". It exemplifies the Specification by Example idea.

In short, I managed to follow a one-day course on Specification By Example1, by InfoSupport2 at my place of work (which was convenient) along with a collection of my colleagues.

It seems that in the past there were different terms for the same thing, for example ATDD (Acceptance Test Driven Development) and BTDD (Behaviour Test Driven Development). Martin Fowler shared all these under the heading of Specification by Example.

The main goal here is to create living documentation, documentation that evolves along with the software and is therefore always up to date. It also provides a common domain language that can be used by everyone in the company, be it business analysts, software developers, project managers, stakeholders, product owners, etc.

Once proper examples are created using this domain language, these examples can function as the templates for the creation of tests. At work we use Gherkin and Cucumber4 to get these examples written down.

Along with the course I was provided with the book3 on Specification By Example, and I look forward to reading it.

References

[1] Trainingen - Driving Development by Example - InfoSupport
https://training.infosupport.com/trainingen/driving-development-by-example
[2] InfoSupport
http://www.infosupport.com/
[3] Specification by Example - How Successful Teams Deliver the Right Software
Gojko Adzic
[4] Wikipedia - Cucumber (software)
https://en.wikipedia.org/wiki/Cucumber_(software)
Impact Mapping
https://www.impactmapping.org/
Jeff Patton, Product Manager, Agile, Lean, UX and Product Design Evangelist
http://jpattonassociates.com/

Thursday, 22 September 2016

Final project for DEV201x Introduction to TypeScript on edX.org



I have just now completed the course on typescript1 available at edX2.

The good part about the course is that it is a decent introduction into TypeScript, and also provides information on why typescript was invented in the first place. However, that is basically all it is. To become adept at TypeScript, besides knowing TypeScript, it is essential to have a pretty good grasp of JavaScript.

It was a good course, and helped me a lot, but it is a small course indeed.

edX vs. Coursera

This is also the first time that I got to try edX2 as I previously only had experience with Coursera3. I don't think it is fair to compare the two, as it very much depends on which course you take. I do think the web interface of edX, in total, could use a little more polishing up, as some of the user interface quirks were hard to understand.

Coursera, I think, is a bit more polished and provides a better experience.

Final Project

The Final Project consisted of a small web application that displays information regarding Painters. I basically did the bare minimum, as I find it hard to find the time to do anything constructive after working hours. (What with life and everything).

What helps is the little IDE provided for free by Microsoft called Visual Studio Code4.

The animated gif below shows the user interface of the little web application written in TypeScript5.

Click on it for a bigger and better view.

References

1. Microsoft: DEV201x Introduction to TypeScript
https://courses.edx.org/courses/course-v1:Microsoft+DEV201x+1T2016/info
2. edX | Free online courses from the world's best universities
https://courses.edx.org/
3. Coursera : Online Courses From Top Universities
https://www.coursera.org/
4. Microsoft - Visual Studio Code
http://code.visualstudio.com/
5. Typescript Language
http://www.typescriptlang.org/

Thursday, 15 September 2016

J-Fall 2016

Registration for J-Fall 2016 has recently been opened.

It will take place on Thursday, November 3th 2016 from 08:00 onwards. Once again it takes place at the CineMec Cinema at 150 Laan der Verenigde Naties, 6716 JE Ede. It is the biggest Java Conference of the Netherlands and is organised by the NLJUG.

I have chosen to follow the following sessions:
  • No excuses: switch to Kotlin - Thijs Suijten
  • Hands-on Lab: 12 things you can do better with Java8 - Jakub Marchwicki
  • How Kids Code and How We Know - Efthimia Aivaloglou
  • Hands-on Lab: Adopt-A-JSR: aan de slag met Java 9 (JSR 379) - Maurice de Chateau & Eelco Meuter
  • Documentation avoidance for developers - Peter Hilton
  • One application to rule them all - Tom Eugelink
Hope to see you there!

References

[1] NLJUG - Nederlandse Java Users Group
http://www.nljug.org
[2] J-Fall 2016
http://www.nljug.org/jfall/2016/

Thursday, 8 September 2016

Running java programs on the web

StackOverflow, the website I use frequently when I have questions about the art of Software Design, recently started a new branch called Documentation1.

It is in Beta at the moment, but it seems already to have some valid content2.

Ideone

The Documentation section of StackOverflow seems to make extensive use of Ideone3, which I had never heard of before now.

From their website:
“Ideone is an online compiler and debugging tool which allows you to compile source code and execute it online in more than 60 programming languages.”
Besides the unfortunate large amount of adds surrounding your HelloWorld code, it seems to work pretty well, if you quickly want to try something in the Programming language of Your Choice.

References

1. StackOverflow - Documentation - The Tour
http://stackoverflow.com/tour/documentation
2. StackOverflow - Documentation - Java Language - Arrays
http://stackoverflow.com/documentation/java/99/arrays/404/creating-and-initializing-arrays#t=201609011104443665439
3. ideone.com
https://ideone.com/

Thursday, 1 September 2016

I'm Back!

Sorry for the extended time I've been away. Truth is there is neither much to report on, and there's a noticable lack of motivation from my end, besides which I am very busy with other things in my life.

And I was on vacation.

I'm back now, and I hope to add some more articles to this blog in the coming weeks.

Regards, Mr. Bear.