Blog

TechBlog

  1. He's Dead, Jim!

    September 20, 2014 - by Patrick van Bergen

    hes-dead-jim.png

    The narrowcasting application I had written in Javascript to run exclusively on Chrome was running smoothly. The single page interface showed a presentation, and was running for hours on end. And then, without notice, it crashed.

    Read more about "He's Dead, Jim!"

  2. Autocompleting a lot of parameters

    October 11, 2013 - by Pim Elshoff

    Tags:

    the-beauty-of-water-wallpaper_1024x768-6.jpg

    Some methods have many parameters. Sometimes they start out like that, sometimes they grow like that over time. Even though a maximum of two parameters is preferable, configuration for a method that does a big thing is difficult. Take curl for example; curl has a lot of options and so several wrappers around curl have arisen to deal with configuring it in a more humane manner. How can we keep the clutter of many parameters as low as possible, while maintaining autocompletion?

    Read more about "Autocompleting a lot of parameters"

  3. Module design, part 7: overview

    September 8, 2013 - by Patrick van Bergen

    Tags: ,

    pb3zoom.png

    This article concludes the series on ProBase module design. It provides an overview of the main parts of the architecture and shows how the previous articles fit in.

    Read more about "Module design, part 7: overview"

  4. Module design, part 6: Inter-module queries

    August 24, 2013 - by Patrick van Bergen

    Tags: ,

    shake hands

    I will now address a tricky part of module separation: database queries that access the data stores of separate modules.

    Read more about "Module design, part 6: Inter-module queries"

  5. A Regular Expressions Builder

    August 22, 2013 - by Patrick van Bergen

    Tags: ,

    lego

    An interesting idea: attack the hardness of regular expressions with the power of fluent interfaces.

    Read more about "A Regular Expressions Builder"

  6. Module design, part 5: Model View Controller - Logic

    August 17, 2013 - by Patrick van Bergen

    Tags: ,

    4 friends

    We found that business logic is such an important aspect of an application that it  deserves a special place in the Model View Controller architecture.

    Read more about "Module design, part 5: Model View Controller - Logic"

  7. On the importance of an empty whiteboard

    August 15, 2013 - by Michiel de Wit

    Tags:

    whiteboard.jpg

    At Procurios HQ we have a 'clean whiteboard' policy. That's not an actual policy, but more of a 'best practice'. When working agile, there is a strong tendency to put stuff on the walls. However, as old habbits die hard, quite some people still tend to use magnetic white board to quickly snap a paper schema, a burn-down chart even a whole scrum board on. And that's a shame. 

    Read more about "On the importance of an empty whiteboard"

  8. Module design, part 4: Repositories

    August 11, 2013 - by Patrick van Bergen

    Tags: ,

    repository.jpg

    In the first part in this series I mentioned that a business object should not not have a save() function to save itself to the database. It should just have simple getters and setters. This way an object is lightweight and very flexible.

    Read more about "Module design, part 4: Repositories"

  9. Module design, part 3: The Index

    August 3, 2013 - by Patrick van Bergen

    Tags: ,

    library index.jpg

    In this part I will explain how ProBase hands a page-request over to the right function.

    Read more about "Module design, part 3: The Index"

  10. Module design, part 2: Dependencies and The API Factory

    June 29, 2013 - by Patrick van Bergen

    Tags: ,

    factory.jpg

    In the first part of this series I handled the module API. I showed that it is a protective shield around the module that keeps it from being bound to other modules. In this part I will put it to work and show how it deals with its dependencies: the other modules on which it depends.

    Read more about "Module design, part 2: Dependencies and The API Factory"

  11. Module design, part 1: The Module API

    June 22, 2013 - by Patrick van Bergen

    Tags: ,

    api_wall.jpg

    In this series I will explain some of the techniques we use at Procurios to develop software. In our framework, called ProBase, we use modules to partition our codebase. While this is not unusual, in the past ten years we have developed some of our own ways to deal with the complexity of a large codebase. I would like to share this knowledge because we hope it may benefit other projects as well, and we would like to spark your interest in our company: we are looking for enthousiastic developers.

    Read more about "Module design, part 1: The Module API"

  12. Sharing knowledge on a weekly basis

    June 14, 2013 - by Freek Lijten

    lightning.png

    Knowledge is the cornerstone of a technically oriented organisation like Procurios. Knowledge concerning the latests trends in PHP-land, responsive design, cluster file-systems and loadbalancing: they all play an important role in the development of our webapplications and the infrastructure these applications are running on. Since knowledge is so important it would be unwise and perhaps even threathening to the business to center knowledge around single persons or small groups of persons. Procurios recognises this and therefore we apply a couple of methods to share knowledge.

    Read more about "Sharing knowledge on a weekly basis"

  13. Using SHA1 hashes to identify files

    June 1, 2013 - by Patrick van Bergen

    Tags:

    sha1.png

    The question posed here is: is it safe to use the SHA1 hash of a file to identify it?

    Read more about "Using SHA1 hashes to identify files"

  14. PHP is a baroque seriffy language, and that's why I like it

    June 1, 2013 - by Patrick van Bergen

    Tags:

    baroque

    I have tried to put to words why it is that I like PHP so much.

    Read more about "PHP is a baroque seriffy language, and that's why I like it"

  15. Why we don't use a Dependency Injection Container

    March 21, 2013 - by Pim Elshof

    Tags:

    dependency-injection-container

    Dependency Injection Containers are great for managing small, known numbers of services. For managing a larger set of services that needs to be discoverable, another solution is necessary.

    Read more about "Why we don't use a Dependency Injection Container"