Push-style templating systems catalog

Terence Parr wrote a seminal article entitled “Enforcing Strict Model View Separation in Template Engines”. In this article he states:

The mantra of every experienced web application developer is the same: thou shalt separate business logic from display. Ironically, almost all template engines allow violation of this separation principle, which is the very impetus for HTML template engine development.

After living at Perlmonks for the longest, I finally stuck the list of Push-style templating systems into a Google doc.

This list, and his paper, were developed before 100% server-side javascript rendering existed. Now, things such as UrWeb,  Vaadin and ScalaJS represent the cutting edge of dynamic HTML generation, being highly interactive yet typesafe and driven by a full computer programming language. Those language both compile to JS or make use of js without having the type-weakness and error-proneness of Javascript itself, yet offering rich highly interactive user experiences.

 

Solved: “Unpacking the package… Could not create directory.” wordpress error

I ran into this beauty with my latest attempt to install a WordPress theme:

Unpacking the package…

Could not create directory.

After a brief “wtf?!” and nothing in the Apache error log or a quick search, I did the following from the root of my wordpress install to save the day:

mkdir wp-content/upload
chmod 777 wp-content/upload

AND THAT FAILED too!

To the rescue… edit your wp-config.php file and put this line at the bottom:

define('FS_METHOD', 'direct');

so that instead of trying to use FTP or FTPS to transfer files, they are directly transferred.

The necessary zend_extension line could not be found in the configuration.

Part Zero of this puzzle:

You cannot simply copy 00-ioncube.ini to the directory they tell you to. You must symlink it from /etc/php5/mods-available into /etc/php5/fpm/conf.d 

Part One

The first part of this puzzle has been solved after many an hour of hacking, and it came from this StackOverflow thread, where an individual stated:

You can output the php.ini file path with phpinfo(INFO_GENERAL); Did you restart your web server ?

Are you using php-fpm (php5-fpm) so then you have to restart php-fpm also..

So the problem I was having was that after adding that file, it was not being recognized by the server as an additional file to be parsed because php-fpm had not restarted and it was returned a cached list of files.

schemelab@schemelab2:~/domains/org/metaperl/tmp$ sudo service php5-fpm restart
Restarting PHP5 FastCGI Process Manager: php5-fpm.
schemelab@schemelab2:~/domains/org/metaperl/tmp$ sudo service apache2 restart

Generating class diagrams from Python code

I had written some of my most complicated OO Python to-date, using a mixture of SQLAlchemy and Nagare. I found 2 excellent tools for generating class diagrams:

pyreverse within the PyLint distribution is excellent

– and PyNsource is amazing as well

I ended up mainly using the first one, because all I had to do with `pip install pylint` and then pyreverse -o png -p app .

 

A different view of Google

From this reddit thread we have this dirt on G:

They stole search from RankDex, gmail was in beta for 8 years and the search still sucks balls, google maps is allright, android was acquired by them and is still in beta (not officially, but have you seen the problems they’re having?), chrome started out promising but gets worse and worse, Google voice was a neat idea that was stillborn and their mismanagement of G+ and hangouts is legendary. Reader, iGoogle, Google Talk, Google Health, Knol, Picnik, Buzz, Wave, aardvark, notebook, dictionary, dodgeball, jaiku, lively, pagecreator, answers, Google Plus, Google Glass, Google Nexus Q, etc. etc. etc. There’s more dead projects than live ones.

If you cannot install wordpress themes because you get the error “installation failed unable to create directory”, help is on the way

I just unpacked a fresh install of WordPress 5.2.1… at first I could not upload themes. But this was fixed by chmod 777 wp-content/uploads.

Then the themes installed via ftp would installed, giving me the error “could not create directory”. I fixed it by doing this:

Just login to your webserver. Then change directory to the root of the wordpress site. And type in the following incantation:

sudo chown -R www-data:www-data .

.. tada! And dont forget the dot at the end of that command.

HTML is a data structure

From reddit user remy porter in the thread “Is Separating HTML and JavaScript Harmful? ” we have:

The problem is that most frameworks misunderstand what HTML is.

HTML is a data structure. Specifically, it’s a semantic data-structure for holding human-readable information. It is the backing-store of a presentation layer, it is not, itself the presentation. CSS is a rule-based system for defining how to map that backing-store into actual rendering. JavaScript is a tool to manipulate that data.

The purpose of our MV- frameworks is mostly to map actual data- XML or JSON- to our HTML backing store. Their mistake is thinking of the HTML as a view- HTML does not have the concept of a “View”, and bolting the view on is awkward and leads to all sorts of tooling issues- which is mostly what the author is complaining about. These are valid complaints, but they don’t arise from separation- they arise from leaky abstractions.