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 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).