Systems Thinking in Software

Any software is a system. Actually, anything is a system. And maybe it is even unnecessary to make this remark. But it’s usually helpful to have a good model or analogy to point the similarities or certain characteristics of things. The reason I wanted to reiterate this definition is that I think it can be…More

Reactive Extensions for .NET (slides)

Do you write event driven code in .NET? Reactive Extensions can make your job much easier. I have Included the slides that I previously prepared and presented. It compares events and RX.NET and shows how similar and different they are. Write below or reach me out if you have any questions. I would love to…More

OOP confusion

I think there have been misunderstandings about what OOP really is. Some want to think each and every object as the model of a real-world object. It takes you to very interesting paths. What an object really is a unit that has a lifecycle (appear and disappear from its universe) And this unit (instance) has…More

Intro to React

I have recorded a video for people having no idea about react and want to see it in action. This is the first part, there will be second part coming.More

Immutability in programming [draft]

One of the ways I like designing immutable classes is having no setter methods and only one constructor. So we know that an instance will have only one way of constructing. It documents its usage itself, it will only have one state.More

Composition vs. Aggregation

Composition Instance A keeps instance B as a member. B’s only purpose and capability is to serve for A. It’s irrelevant in any other context. B was probably created because A had become too complex and trying solve too any problems. Aggregation Instance A keeps instance B as a member again. But B could serve…More

Random things I noted

How I read books: https://denzhadanov.com/how-i-read-books-a-guide-on-how-to-learn-a943123a4aeb https://medium.com/@maartenvandoorn/the-complete-guide-to-effective-reading-fc1835937757 Mental model affects perception -> decisions -> actionsMore

Absurdities in Turkish that Turks aren’t aware of

Ok. Languages can’t have absurdities, each one of them has their unique evolutionary path, and they end up with something which is not designed by a single and reasonable mind. But you may unintentionally (and undeservedly) have such an expectation when you are learning a new language. I remember myself questioning interesting unexpected rules that…More

The guilt of scrum. [draft]

There is no guilt in scrum. There isn’t supposed to be. a few times, i couldn’t complete my tasks during the scrum. since we work with devices with lots of hardware and software dependencies, also lack of knowledge on the overall system. it happens. I t I have just found this article which points out…More