Sometimes you have to copy whole directories recursively to an FTP-server. Many FTP servers are not able to handle bulk uploads directly. Here lftp comes to the rescue. lftp allows to upload or download entire directories irrespective of the capabilities of the FTP server.
Assume we want to upload…
Static site generators take Markdown files as input and generate HTML files. This way, when the end-user visits a website, all pages are already generated, and the web-server serves just plain HTML. No database is needed, no server-side script language is required. Two main advantages are easy to…
Profiling a program is the process to measure how much CPU time a function uses, and also to count how many times this function was called.
One very powerful profiler for PHP, XHProf, was initially developed by Facebook engineers. Facebook formerly used PHP very intensively.
1.…
PECL is the PHP Extension Community Library. These extensions are written in C. Symfony is a PHP web application framework written in PHP.
Initially I just wanted to reduce the dependencies in Saaze, so I installed PECL PHP package yaml. When I compared run-times between the original,…
When I ran the n-queens problem in COBOL using GnuCOBOL I was a little bit surprised how slow the resulting program was -- it was slower than the equivalent PHP program. Therefore I installed the IBM COBOL for Linux compiler on the same machine and compared performance, see Installing IBM COBOL for…
Task at hand: Install the 60-day trial of "IBM COBOL for Linux" on Arch Linux.
Please see the updated installation description here: Installing IBM COBOL for Linux on Arch Linux #2.
1. Download. Downloading the compiler is at IBM COBOL for Linux on x86 60-day Trial or here.
2. Unpacking.…
When compiling GnuCOBOL from source this works without any hiccups. The usual configure, make sequence. I had written on this in Generating JSON with COBOL. But if you run make check you might encounter multiple check-failures when run after makepkg. The reason is that makepkg introduces a couple…
Task at hand: Process ca. 400,000 files. In our case each file needed to be converted from EBCDIC to ASCII.
Obviously, you could do this sequentially. But having a multiprocessor machine you should make use of all processing power. The chosen approach is as follows:
Generate a list of all files to…
StackEdit is a Markdown editor, which runs in the browser, but stores files locally. The following features characterize StackEdit:
Markdown and corresponding HTML are fully in sync and visible on the same screen. Changing Markdown will instantly change the HTML. StackEdit calls it "Scroll…
Mermaid is a JavaScript library which provides diagrams for:
Flowchart diagrams
Sequence diagrams
Class diagrams
State diagrams
Entity Relationship diagrams
Gantt diagrams
Pie char
Git graphs
Currently Mermaid does not offer line charts.
The Mermaid website also offers a…
When I flew with Air France from Paris CDG to Montpellier I was surprised that all seats offered Wifi, which was not mandated to switch off. Furthermore, bluetooth was not required to be turned off, and all seats offered two plugs to charge electronic devices via USB.
Using Wifi on board the…
This blog is built using a static-site generator called Saaze. Saaze can also serve content fully dynamic. Saaze is kind of the successor of Handle. Saaze and Handle were both written by Gilbert Pellegrom.
Saaze has the following objectives:
Easy to run
Easy to host
Easy to edit
Easy to theme
Fast…
Yesterday I observed below error when accessing YouTube via my tablet:
I had experienced related errors:
January 2017: Youtube 500 Internal Server Error
May 2017: Youtube 500 Internal Server Error
For Facebook and WordPress I had observed:
June 2014: Facebook Was Down on 19-Jun-2014
March 2019:…
In Alexander Six's blog I saw that you can highlight HTML anchor text with a skewed bar. Below is the solution I use in this blog. I am still struggling with my own requirement that the skeyY angle is dependent on the length of the anchor string. Currently I do not know how I can find this out.
…
As mentioned in Speed-Tests With Pingdom.com the ratio of CSS to HTML (=content) was roughly 50:1. In my case CSS was taking 248 KB, while HTML is only 4.4 KB. Previously this blog continued to use Tailwind CSS, as started by the example for Saaze. But Tailwind CSS does not make too much sense for…
1. Problem statement. Print COBOL section names, ideally title-cased. Use a Perl one-liner for this task.
perl -ne 'printf("%3d %s\n",++$i,join("-",map{ucfirst lc $_}split(/\-/,$1))) if /([\-\w]+)\sSECTION\./i' COBOL-Source.cbl
It will print "Working-Storage" as well,…
Assume $f$ is a $m$-vector valued function in $n$-variables, i.e., $f:U\subseteq\mathbb{R}^n\to\mathbb{R}^m$. The Jacobian is given by
$$
J = \begin{pmatrix}
f_{x_1}^{(1)} & \cdots & f_{x_n}^{(1)} \\
\vdots & \ddots & \vdots \\
f_{x_1}^{(m)} & \cdots &…
1. I have written more than 300 blog posts, see sitemap. I wanted to import them into Hashnode. As all these posts were already in Markdown format, it was obvious to use the "bulk import" feature in Hashnode. The Hashnode bulk import reads a zip-file. This zip-file contains individual…
1. Introduction. I always wanted to benchmark PHP, to confirm myself that choosing PHP as a static site generator is not a dead-end, compared, for example, against node.js. PHP 7 has already made huge performance advancements. See PHP 7: Features and Performance Comparison:
Drupal - Compared to…