PHP-CRUD-UI updated to v2

Okay, so I finally updated my two automatic CRUD-UI projects to v2 of PHP-CRUD-API. One is written in Vue 2.6 with Bootstrap 4 and the other in PHP 7 with Bootstrap 3. The result may not be directly usable as a custom web application, but it may provide you with a quick start or as an admin interface. Use case When you are building a mobile or web app you often need to store some data centrally on a server. This is typically done using an API and a database. After creating the tables in your favorite database technology (MySQL, PostgreSQL or SQL Server) you can upload and configure “api.php” from the PHP-CRUD-API project. This gives you an API that allows you to do CRUD (Create Read Update and Delete) operations on your data. In order to manage the data you need an admin user interface interface. Uploading and configuring the “ui.php” file from the PHP-CRUD-UI project will give you this instant admin interface. ...

March 13, 2019 · Maurits van der Schee

How to fix screen tearing in XFCE

I’m running Xubuntu (Ubuntu with XFCE) on my desktop(s). My Intel NUC i7 has almost no visible screen tearing when scrolling or when playing YouTube videos. My new Athlon 200GE build (more information) does suffer from visible screen tearing when scrolling web pages or displaying fast moving video. I have found several ways to remove or reduce this ugly video artifact. What is screen tearing? I have found the following clear definition: ...

February 28, 2019 · Maurits van der Schee

Cannot copy Windows 10 "install.wim"?

Running Windows 10 is not that bad these days (I am a Linux user). It is a fast and stable operating system. Unfortunately it comes bundled with a lot of software that you do NOT want. To remove this unwanted software it is recommended to do a “clean install” of Windows 10. While doing this you may run into the problem that you can’t copy the “install.wim” file, because it is larger than 4Gb. This post has a solution to that problem. ...

February 20, 2019 · Maurits van der Schee

'Fork me on GitHub' SVG ribbons

Ten years ago, Tom Preston‐Werner released his iconic ‘Fork me on GitHub’ banners (original post). 6 years ago Aral Balkan made high-res versions for retina displays. In this post you find the SVG versions that were created for InvoiceLion.com (a project I’m working on). Usage (see upper-right corner) Here are the ‘Fork me on GitHub’ ribbons in SVG. You may save the SVG file using right-click and “Save Image As” and use the HTML next to it. Alternatively you can download github-ribbons.zip containing the HTML page and all the SVG files. ...

January 29, 2019 · Maurits van der Schee

PHP templating in 165 lines of code

Instead of choosing Twig, Mustache or Smarty as PHP templating language I decided it would be much more fun to write my own. In 165 lines I wrote a sandboxed templating system that supports ‘if’ and ‘for’ and can be extended with functions. Considerations The code does not use regular expressions, but it tokenizes and uses a syntax tree (without any dependencies). This means that it supports nested ‘for’ and ‘if’ constructs. The syntax looks a bit like Mustache and Twig, but is stricter to optimize for rendering speed. It outputs rendering errors in the rendered output, so that you can easily debug it as a user. ...

January 25, 2019 · Maurits van der Schee

Linux dream machine under 900 euro

I write this on my current PC: a passive cooled (Akasa Plato-X case) Intel NUC i7 16gb RAM 512 GB NVMe in my living room. It hangs behind a 27’ Philips WQHD screen (VESA mounted) and it has a big Libratone speaker next to it. I use a laser mouse and a mechanical keyboard to operate it. It runs the Xubuntu operating system and it is not only completely silent… it is also lightning fast! ...

January 4, 2019 · Maurits van der Schee

35th CCC hacker videos online

Every year the Chaos Computer Club (CCC) has a hacker conference called the Chaos Communication Congress. It has grown out to be one the world’s largest hacker conventions. This year was the 35th time the convention was held. There were an an estimated 16,000 visitors at the convention in Leipzig. If you were not there you can still watch the videos. The videos are posted on the ccc.de website. Videos 2018-12-27 ...

December 31, 2018 · Maurits van der Schee

Doubly Linked Circular List in Ruby

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. You can also convert to string, something that comes in handy for tests and during debugging. Methods These are the 5 methods: ...

December 9, 2018 · Maurits van der Schee

Security risk: a hidden cost of dependencies

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. I’ll discuss the background of this event in this post. TLDR; JavaScript projects use lots of (often transitive) dependencies, because JavaScript has no good standard library. If one of these dependencies falls into the hands of a malicious actor, then many websites may be vulnerable (event-stream) or broken (leftpad). These problems have nothing to do with JavaScript or Node, but with the hidden costs of dependencies. ...

November 26, 2018 · Maurits van der Schee

Reduce the mental load for developers

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. In this post I will define some even stronger goals for web development frameworks. New “useful” technology Ben Halpern continues: the JavaScript community proliferates new “useful” technology without giving as much thought to the mental overhead of constantly learning new things and finding out how to fit everything together. ...

November 18, 2018 · Maurits van der Schee