TQ
dev.com

Blog about software development

Subscribe

Doubly Linked Circular List in Ruby

09 Dec 2018 - by 'Maurits van der Schee'

For part 2 of the puzzle on day 9 of Advent of Code I needed an array with cheap insertion and removal. That was a perfect excuse to implemented a doubly linked circular list (in Ruby). It has 5 methods (append, remove, read, rotate and length) and a constructor...

Continue reading...

Security risk: a hidden cost of dependencies

26 Nov 2018 - by 'Maurits van der Schee'

Last week, it seemed like somebody tried to steal from Bitcoin wallets using a rogue release of event-stream a JavaScript dependency (that is used a lot). You can read about it on the "I dont know what to say" issue on it's GitHub issue tracker...

Continue reading...

Reduce the mental load for developers

18 Nov 2018 - by 'Maurits van der Schee'

I love Ruby on Rails and I was reading Ben Halpern review of David Heinemeier Hansson's Keynote on Railsconf. I agree with Ben Halpern that the reduction of "the mental load for developers" is an undervalued concern in the world of web development frameworks...

Continue reading...

MintyPHP now on packagist!

26 Oct 2018 - by 'Maurits van der Schee'

I have created MintyPHP (formerly known as MindaPHP) to quickly build web applications on the LAMP stack. After using MintyPHP in production for 5 years (this site is created with it) this web framework is (finally) available on packagist! This means that updates will now go automatic...

Continue reading...

Deploy with Git: push to production

22 Oct 2018 - by 'Maurits van der Schee'

When you are building applications or websites in PHP, Ruby, Python or any other scripting language then you may still be using FTP to deploy to production. Please don't! When you have SSH access to your production server...

Continue reading...

Microservice vs. dataservice architecture

17 Oct 2018 - by 'Maurits van der Schee'

All product companies have monoliths. They have many advantages, but they fail when scaling up and out. Most companies are moving to microservices. But microservices fail to protect data quality. The solution...

Continue reading...

PHP-CRUD-API version 2 released

14 Oct 2018 - by 'Maurits van der Schee'

Yesterday I released version 2 of PHP-CRUD-API, the TreeQL reference implementation in a single PHP file. About 6 months ago I wrote about my progress on version 2. I was expecting it would take me about 2 months...

Continue reading...

TreeQL vs. GraphQL

04 Oct 2018 - by 'Maurits van der Schee'

Many people compare GraphQL to REST and come to the conclusion that both have their strengths. In this post I argue that you can have the best of both worlds by using TreeQL, an improved REST protocol...

Continue reading...

GopherCon 2018: videos online

14 Sep 2018 - by 'Maurits van der Schee'

GopherCon is the original Go conference. It debuted in 2014 and is now celebrating it's five-year anniversary. Like every year it was held in the Colorado Convention Center in Denver and it had about 1500 attendees...

Continue reading...

Java's synchronized block in PHP

10 Sep 2018 - by 'Maurits van der Schee'

In Java the "synchronized" block may help to make implementations "thread safe". PHP does not have this language construct, but with the help from "flock" (file lock) and it's "LOCK_EX" (exclusive lock), we can implement this behavior ourselves...

Continue reading...