<< Previous | Home | Next >>

m2e-egit for Eclipse

In case you have trouble installing the m2e-egit connector in Eclipse, check out this site - www.mail-archive.com/m2e-users@eclipse.org/msg05143.html

Basically they recommend installing the latest version of m2e-egit connector from https://repo1.maven.org/maven2/.m2e/connectors/m2eclipse-egit/0.15.1/N/LATEST/

Tags :
Social Bookmarks :  Add this post to Slashdot    Add this post to Digg    Add this post to Reddit    Add this post to Delicious    Add this post to Stumble it    Add this post to Google    Add this post to Technorati    Add this post to Bloglines    Add this post to Facebook    Add this post to Furl    Add this post to Windows Live    Add this post to Yahoo!

Export this post as PDF document  Export this post to PDF document

Upgrade QNAP ContainerStation Gitlab

I finally figured out how to upgrade a Gitlab Docker container in QNAP's Container Station on my TS-453 Pro.  Based on this post on QNAP's forum I was able to upgrade Gitlab from 8.9.6-1 to 11.4.5...

Edit the docker-compose.yml file for Gitlab...

vi /share/CACHEDEV1_DATA/.qpkg/container-station/data/application/gitlab/docker-compose.yml

Change the version image version to 11.4.5...

image: sameersbn/gitlab:11.4.5

Restart Docker...

docker-compose stop
docker-compose up -d

NOTE:  Since I was upgrading from a version prior to 8.11.0 I also had to add the below gitlab environment parameters in the docker-compose.yml file...

GITLAB_SECRETS_SECRET_KEY_BASE
GITLAB_SECRETS_OTP_KEY_BASE

An example docker-compose.yml file can be found here at https://github.com/sameersbn/docker-gitlab/blob/master/docker-compose.yml.

Social Bookmarks :  Add this post to Slashdot    Add this post to Digg    Add this post to Reddit    Add this post to Delicious    Add this post to Stumble it    Add this post to Google    Add this post to Technorati    Add this post to Bloglines    Add this post to Facebook    Add this post to Furl    Add this post to Windows Live    Add this post to Yahoo!

Export this post as PDF document  Export this post to PDF document

Google Earth Timelapse

I thought this was rather interesting...

Tags :
Social Bookmarks :  Add this post to Slashdot    Add this post to Digg    Add this post to Reddit    Add this post to Delicious    Add this post to Stumble it    Add this post to Google    Add this post to Technorati    Add this post to Bloglines    Add this post to Facebook    Add this post to Furl    Add this post to Windows Live    Add this post to Yahoo!

Export this post as PDF document  Export this post to PDF document

Using NodeJS to Build a Firefox XPI (Zip) File

I have been a long time JavaScript programmer, but of course this is mainly for development of client-side code running in a web-browser.  Node.js, the server-side JavaScript engine, has been around for a few years now, but I have only had limited opportunity to put it to use.  I really like the idea of using JavaScript to write utilities and automate desktop tasks.  In the past I have turned to shell scripts or Python for these kind of tasks, but Node.js has become quite robust, and it is nice to be able to use the same, familiar language everywhere.

Below is a nifty little build script I wrote in JavaScript using Node.js which creates a zip file named "mine.xpi" for use as a Firefox extension.  It leverages the archiver package available using the npm package manager...

var archiver = require('archiver'),
    fs = require('fs'),
    path = require('path'),

    basePath = path.resolve('mine'),

    walk = function(dir, done) {
        var results = [];
        fs.readdir(dir, function(err, list) {
            if (err) return done(err);
            var pending = list.length;
            if (!pending) return done(null, results);
            list.forEach(function(file) {
                file = path.resolve(dir, file);
                fs.stat(file, function(err, stat) {
                    if (stat && stat.isDirectory()) {
                        walk(file, function(err, res) {
                            results = results.concat(res);
                            if (!--pending) done(null, results);
                        });
                    } else {
                        results.push(file);
                        if (!--pending) done(null, results);
                    }
                });
            });
        });
    };

walk(basePath, function(err, results) {
    var archive = archiver.create('zip', {}),
        backslashRegex = /\\/g,
        baseRegex = new RegExp('^' + basePath.replace(backslashRegex, '\\\\')),
        ignoreRegex = /\.bak$/,
        output = fs.createWriteStream('mine.xpi');

    output.on('close', function() {
        console.log(archive.pointer() + ' total bytes');
        console.log('archiver has been finalized and the output file descriptor has closed.');
    });

    archive.on('error', function(err) {
        throw err;
    });

    archive.pipe(output);

    if (err) throw err;
    results.forEach(function(result) {
        if (!result.match(ignoreRegex)) {
            console.log('ADDING:', result.replace(baseRegex, '').replace(backslashRegex, '/'));
            archive.append(fs.createReadStream(result), {name:result.replace(baseRegex, '').replace(backslashRegex, '/')});
        }
    });
    console.log('FINALIZING');
    archive.finalize();
});
Social Bookmarks :  Add this post to Slashdot    Add this post to Digg    Add this post to Reddit    Add this post to Delicious    Add this post to Stumble it    Add this post to Google    Add this post to Technorati    Add this post to Bloglines    Add this post to Facebook    Add this post to Furl    Add this post to Windows Live    Add this post to Yahoo!

Export this post as PDF document  Export this post to PDF document