All categories
Behavior-Driven Development
TDD to BDD - Principles and Tools with an Impact on Business Value and Communications
For the module “Agile Procedure Models” at my university, I write an essay about BDDs origin, principles, advantages, evaluation and how to approach it. Since we need to hand in a PDF version and a markdown version, I decided to go the extra mile and have a always up-to-date version of it hosted as Github Pages website here: bdd.guru,
so that I can receive early feedback from other readers and the professor. Please send me a mail (robert.nickel@aikq.de) if you have any feedback for me.
Update: The paper is done.. I think it is worth reading. Feedback is still valuable to me.
I then realised, that it is generic enough to use it for all future essays and thesis’, so I extracted a template repository which makes it really easy to get started with a new paper, export it as HTML and host it as Github Pages website with every commit and additionally export it as PDF using pandoc and the latex pdf engine with minimal effort. Find it on Github to experience the same ease.
Recursion
Building this page
I’m building this page myself, this is not a wordpress template. I consider my self a minimalist, this regards belongings, wording and coding. Why do I need thousands of lines of php and javascript and a template, if all I would do with it is display some really simple text and images?
This text is a simple html paragraph in a div, styled with 3 lines of css. Its simple to maintain and read, and it loads and renders very fast. It is a good example for the difference between simple and easy. It might would’ve been easier to setup wordpress (or similar) and just use a template. But that wouldn’t be simplest possible solution, I would have to update wordpress on a regular basis, deal with licensing, support php etc. It is so much unneccesary complexity. This way I had to put some effort into it, but I could avoid complexity and gain simplicity, even though its (maybe) not the easiest way.
You can find the source code here. If you find typos, feel free to send a pull request. 😄
A Telegram Bot
I built a Telegram Bot for pupils/students schedule (MyScheduleRobot)
My younger brother tried to build a telegram bot, that gives him some information about his schedule, so he started, but stuck due to some infrastructure problems. I attempted to help him, and then basically took over the whole thing. I used claudia.js with its deployment and bot-builder features, and deployed it to AWS Lambda. Document based persistance happens using DynamoDB. You can test the bot here (imagine you are still at school): t.me/MyScheduleRobot Now some functional details: This bot is a schedule bot, it is not a calendar. To make the difference, and therefore what it does and what it doesn't, more clear:
Schedule | Calendar |
Days repeat every week | Days are different every week |
Timeslots repeat every day (🔔 rings) | Timeslots are vary a lot |
Compare this | with this |
A short high-level summary is:
- Define all the subjects (plus room, teacher etc.) you have, the timeslots (that repeat every day) and your timezone
- Configure your schedule, that is e.g. which subject you have first on monday, which second etc.
- You get information for the whole week, just today, tomorrow or even now by chatting with the bot
Use /help to get the detailed and always up-to-date list of things the bot can do.
Lessons learned:
- Applying KISS principle is good.
- ClaudiaJS, AWS Lambda and DynamoDB are really cool technologies.
- One doesn‘t get the telegram users timezone for free, you have to ask for location permission and resolve it with a third party service or ask directly for it (as I did here), which is weird, because a lot of people do not know their timezone.
- Don't expect anyone to use your bot, because of finding it coincidentally. Marketing a telegram bot is hard and reduced to the group of telegram users (surprise)!
- Take a lot of time to explain the purpose of the bot really well. It should do only one thing really well and creating another bot for other things is free.
You can find the source code here.