I know that perl is considered out of fashion nowadays, but for some tasks it’s still a good and handy choice. Here’s a practical use of my module Sql::Textify. Every morning I need to check the status of some tasks, like the number of times my web services have been called the day before, with some performance analysis and the number of errors. At the same time I want to know if my pentaho tasks are all finished. And I want to know if all my backups are updated.
Few months ago I started working on a Markdown dump plugin for Adminer, now I can finally write a post about it.
In MySQL we can have a timestamp column which is automatically set to the current date/time whenever the record is inserted or updated:
This is another challenging problem I had, and it took me some hours of work to find out how to solve it. I was very tempted to use a script in a procedural language like Perl, which would make the problem easy and the solution straightforward, but there had to be a pure SQL way and here’s how I did it!
My company uses a booking table like this simplified one:
Mason comes with some built-in filters that can be used to process portions of content in a component. The standard way to invoke a filter is in a block:
This is a quick guide of how to integrate the Pentaho BI platform with Active Directory. It has been tested on version 5 and 6, it’s not yet tested on version 7.
I’m becoming a fan of Adminer, a database management tool written in PHP, with lots of features and consisting only of a single PHP file, and very easy to deploy to an Apache web server. I have started to develop a plugin adminer-plugin-dump-markdown so I can quickly convert queries and tables to Markdown format, ready to be included in my e-mails or in my blog posts.
Pentaho Data Integration is an open source tool that provides Extraction, Transformation, and Loading (ETL) capabilities. While it’s an essential DWH tool, I use it quite a lot also as an integration tool, where it performs well.
I have never been a big fan of the WYSIWYG paradigm: it looks fast and convenient at first, but it becomes unmanageable at a later time. This applies to almost everything, like Word processors, Web Pages editors, Grapgical programs, but also to blogging platforms. Have you ever tried to insert some programming code in your articles, and edit the code at a later time? Chances are that the code will become messed up, sooner or later.
In SQL, a full outer join is a join that returns all records from both tables, wheter there’s a match or not:
I think that the modules I developed for Sentosa Autoforms are quite elegant and flexible (expecially the Sentosa::SQL module, and the DataDatables and JSON modules) so I decided to reuse them! However I don’t like the fact that Sentosa Autoforms is all driven by database data.. while it’s sometimes very convenient, I don’t like the layer of complexity that it adds.
Query and Forms are provided by the
query.mi and the
Sentosa Autoforms by default stores all of its users, settings and objects in a local SQLite database. The default connection is defined in
I like text editors, especially Sublime Text. And I like to work at the command line (on Linux, on Mac… but even on Windows 10 it has become very nice).
I just started to publish my Sentosa web portal and users of my company are now starting to use it. Great!
Hello, I’m finally back! Yes not much posts lately, but lots of coding - it’s a lot considering that I’m working full time and that this is only a side project on my spare time.
I didn’t post much recently because I wanted to focus on coding: even if it’s still to early, even if a lot of functions I want to implement are still missing, and even if the code is not too robust, I want to start using the application within my company and I want to publish a limited but working version on GitHub, so anyone can download it and see it in action.
I finally managed to open a repository on GitHub:
Okay I know already that the code I’m going to post here is quite a big mess: it will work under
some circumstances but it’s buggy and insecure. I will update this post as soon as I figure out
how to make this code better (expecially the
On my previous posts we saw how to to create and use true global variables. Their usage is limited to
$dbh at the moment. But I also need a “global” variable, shared between all components of the same request. Here’s one of my first tries, and this is how the
Base.mc will look like:
The name of my project is “Sentosa AutoForms”, and it is going to be driven by a SQL database. I’m using SQLite but it can be changed at a later time to MySQL or Postgresql.
A few days ago, while I was roaming around Singapore, I offered a bounty (twice) on an already existing question on StackOverflow Global Variable mason2 in Poet where the poster was asking how to use global variables in Mason. And I got a very nice and useful answer :)
Good news about Mason2 is that it can be easily installed using
I want do develop a complete web application, and I want to code it using Mason, which is a powerful templating system for generating dynamic content.
I had to obtain the structure (name, type, and precision for every column) of a table, connected via JDBC using DBI, and this is how I did it: