Tuesday, October 11, 2016

build dstep on Linux Mint 17.2

while trying to build dstep (a tool to convert C header files to D modules):

$ dub
Running pre-generate commands for dstep...
Performing "debug" build using dmd for x86_64.
dstep 0.2.2+commit.121.gf55746e: building configuration "default"...
/usr/bin/ld: cannot find -lclang
collect2: error: ld returned 1 exit status
--- errorlevel 1
dmd failed with exit code 1.

Had all the clang libs (including the *-dev packages) installed but it did not change. Here was the solution:

$sudo su -
#cd /usr/lib/x86_64-linux-gnu
#ln -s libclang.so.1 libclang.so

setting up printer Brother HL-1212W on Linux Mint 17.2

it was underwhelming:

Click on the Mint button-> search for Printers -> add printer -> Network -> wait 1 second until the printer is found and the name is shown -> add it -> pick the recommended driver -> print test page to make sure. Total time: about 3 minutes.

You need to configure it to connect to the wireless network from windows first though.

Tuesday, August 2, 2016

using UUIDs as primary keys in MySQL

Using uuids as primary keys efficiently in MySQL: see this Store UUID in an optimized way, it has benchmarks and everything you might need; apparently their way is a bit more efficient than using large integers and a lot more efficient than using the UUID strings.

Also interesting Storing UUID Values in MySQL Tables.

Monday, August 1, 2016

amusing Mojolicious error

Can't use string ("Zug::CMS::Admin::Users") as a HASH ref while "strict refs" in use
at Mojo::Base::__ANON__(~/perl5/perlbrew/perls/perl-5.20.2/lib/site_perl/5.20.3/Mojo/Base.pm line 59

The problem was I had a new sub in "Zug::CMS::Admin::Users" ; renamed the new and everything works fine.

Monday, July 18, 2016

poor man's web analytics

"000000-0" is part of the name of a tracking image I use on another personal site. To count unique IPs which visited that site I use the command line

grep 000000-0 access.log | awk '{ print $1 }' | uniq -c

Thursday, July 14, 2016

Javascript is weirder than Perl

Found something weird in here https://github.com/happypoulp/redux-tutorial.git: a Javascript object/associative array declared without keys. First I thought it might be a fat-comma-is-just-a-comma situation like in Perl, but there were three elements between { and }. So I investigated.

If you thought that in Perl there are too many ways to do it, run this with ES6 enabled:

const bla = () => { console.log("ran bla") };
const gar = () => { console.log("ran gar") };
function asdf () {
    console.log("ran asdf");

const xxx = { bla, gar, asdf };


for the impatient, this is the output
{ bla: [Function], gar: [Function], asdf: [Function: asdf] }

I did not expect that.

Wednesday, July 13, 2016

execute ES6 scripts with ease

with modules installed privately
mkdir my_tests

cd my_tests

# you need an npm project to install npm modules locally
npm init -y

npm install --save-dev babel-core babel-cli babel-preset-es2015

# let babel know what version you want to use
echo '{ "presets":["es2015"] } ' > .babelrc

# use the new "import" syntax; here I imported something from redux just to get it to fail
echo 'import { createStore } from "redux";' > t1.js

# this will fail 
node t1.js 

# this will not fail 
./node_modules/.bin/babel-node t1.js

with modules installed globally you don't need a npm project file
mkdir my_other_tests

cd my_other_tests

npm install -g babel-core babel-cli babel-preset-es2015

# specify the ES version in the command line or create a .babelrc file like above
babel-node --presets es2015 t1.js

Monday, July 11, 2016

linode migration and downgrade

Finally began to understand Webpack. No clue as to how Redux works; I can follow the instructions but they don't make sense yet. Will persist.

Went through all the sites I had on my public servers and removed all those I did not use any more. Then noticed I was offered to migrate my Linode VPS from Xen to KVM and did it, upgraded to 4GB of RAM for free, resized my disks without losing data and then downgraded the account to a 2GB of RAM account ... all in less than 60 minutes and without losing data. I am thinking of consolidating the servers and I know which one will stay.

Also found a MongoDB database with data for an old project I might revive. Upgraded MongoDB on my workstation, upgraded the Perl bindings (required a server upgrade, else testing was failing).

Tuesday, June 21, 2016


After a few intense months I am taking a sabbatical.

Started looking in depth into React and the node.js ecosystem, mostly because those months would have been less intense if I had more confidence I understand what React.js is about.

Also trying to find out why f...g Agile is a pain in the behind.

Sunday, June 5, 2016

tracking page loads on this blog

The blogger.com stats do not seem to make any sense lately, so I am attempting to so some tracking of my own. I uploaded a transparent one pixel image on one of my servers. To force the browsers to reload my transparent pixel I added this snippet right in the template after the <head> tag.

<script type="text/javascript">
  var tracker = new Image();
  tracker.src = "http://lunch-break.ro/000000-0.png?data=" + Date.now();

Seems to be working. Maybe I'll even discover that the information in the "Stats" section is correct.