Category: Uncategorized

A good DNS service is very important for a mail server.

On Linux servers you need to put your DNS servers on a file called resolv.conf. In general you have two entries like this:

nameserver1   192.168.10.10
nameserver2   10.10.1.1

If one server does not respond then linux will try the second, but there is a timeout for this:

timeout:n
                     Sets the amount of time the resolver will wait for a
                     response from a remote name server before retrying the
                     query via a different name server. This may not be the
                     total time taken by any resolver API call and there is
                     no guarantee that a single resolver API call maps to a
                     single timeout.  Measured in seconds, the default is
                     RES_TIMEOUT (currently 5, see <resolv.h>).  The value
                     for this option is silently capped to 30.

If you want to speed this resolution change resolv.conf to:

options rotate
options timeout:1
nameserver1 192.168.10.10
nameserver2 10.10.1.1

Using the configuration above, both nameserver in rotation and wait max. 1 second for answer before trying the next one.

Uncategorized

Five years ago, universities like MIT and Stanford first opened up free online courses to the public. Today, more than 700 schools around the world have created thousands of free online courses.

See the list here

Uncategorized

Uncategorized

Compliments from IBM.

Link to the book : https://www-01.ibm.com/common/ssi/cgi-bin/ssialias?htmlfid=XIM12354USEN

Uncategorized

Add slots to a dialog node to gather multiple pieces of information from a user within that node. Slots collect information at the users’ pace. Details they provide upfront are saved, and the bot asks only for the details they do not.

You can think of slots as the chat bot version of a web form in which users must fill out required fields before they can submit the form. Similarly, slots prevent the flow of conversation from moving on to a new subject until the required values are provided.

Uncategorized

The disk space on my mac is too short since i start to use docker.  Using the management tools i found the file Docker.qcow2 with the size of 41,5 GB.

Searching for a solution i found the following:

” Docker For Mac uses a file called Docker.qcow2 that takes more and more disk space as time passes. Deleting images or containers does not decrease the size of this file.”

The script bellow do the job an keep your selected images.

#!/bin/bash

# Copyright 2017 Théo Chamley
# Permission is hereby granted, free of charge, to any person obtaining a copy of
# this software and associated documentation files (the "Software"), to deal in the Software
# without restriction, including without limitation the rights to use, copy, modify, merge,
# publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
# to whom the Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all copies or
# substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
# BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,

[email protected]

echo "This will remove all your current containers and images except for:"
echo ${IMAGES}
read -p "Are you sure? [yes/NO] " -n 1 -r
echo    # (optional) move to a new line
if [[ ! $REPLY =~ ^[Yy]$ ]]
then
    exit 1
fi

TMP_DIR=$(mktemp -d)

pushd $TMP_DIR >/dev/null

open -a Docker
echo "=> Saving the specified images"
for image in ${IMAGES}; do
    echo "==> Saving ${image}"
    tar=$(echo -n ${image} | base64)
    docker save -o ${tar}.tar ${image}
    echo "==> Done."
done

echo "=> Cleaning up"
echo -n "==> Quiting Docker"
osascript -e 'quit app "Docker"'
while docker info >/dev/null 2>&1; do
    echo -n "."
    sleep 1
done;
echo ""

echo "==> Removing Docker.qcow2 file"
rm ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/Docker.qcow2

echo "==> Launching Docker"
open -a Docker
echo -n "==> Waiting for Docker to start"
until docker info >/dev/null 2>&1; do
    echo -n "."
    sleep 1
done;
echo ""

echo "=> Done."

echo "=> Loading saved images"
for image in ${IMAGES}; do
    echo "==> Loading ${image}"
    tar=$(echo -n ${image} | base64)
    docker load -q -i ${tar}.tar || exit 1
    echo "==> Done."
done

popd >/dev/null
rm -r ${TMP_DIR}

 

Usage : <ScriptName>.sh <image1> <image2>

Sample : ./CleanDocker.sh websphere-liberty ibmcom/db2express-c

The original post on this link: https://blog.mrtrustor.net/post/clean-docker-for-mac/

 

Uncategorized

IBM  today announced it is bringing new capabilities to enterprise social networks for a simpler collaboration across the workforce and employee onboarding experience. The latest version of IBM Connections also integrates with IBM Cloud Object Storage, providing companies an ability to scale their storage needs with their employee’s usage while improving storage costs.

IBM Connections 6.0 has been redesigned to surface the most useful content from the user’s network. This new feature – called Orient Me – leverages a new containerized, API-driven architecture to bring the most relevant information for the user to engage with – providing an interactive experience.

Read the full release news here

Uncategorized

Last month i was nominated as IBM Champion for ICS 2017  and now  IBM Champion for Cloud 2017 for the first time.

Thank you to everyone and IBM  who nominated me. It’s an honor.

What is an IBM Champion?

“IBM Champions demonstrate both expertise in, and extraordinary support and advocacy for, IBM communities and solutions.”

Screenshot2014-12-0221.53.15

Uncategorized

Bots is a high topic these days and i revisited this kind of application last week.

I created a Translation Bot based on this article from IBM.

This Sametime Bot get the text, send to IBM Watson Translation Service and return the translated text to the user.

public void textReceived(ImEvent e) {           
        String q = e.getText();       
        //here we connect to watson and get the translation
        LanguageTranslation service = new LanguageTranslation();
        service.setUsernameAndPassword("<username>","<password>");
        service.setEndPoint("https://gateway.watsonplatform.net/language-translator/api");
        List<IdentifiedLanguage> identifiedLanguages = service.identify(e.getText()).execute();
        String lang = identifiedLanguages.get(0).getLanguage();
        String idiomaPt = "pt";
        String idiomaEn = "en";
        String idiomait = "it";
        if (lang.equals(idiomaPt) | lang.equals(idiomait)) {
            TranslationResult result = service.translate(e.getText(),Language.PORTUGUESE,Language.ENGLISH).execute();
             e.getIm().sendText(true, result.getFirstTranslation()+".");
            
        } else if (lang.equals(idiomaEn)) {
            TranslationResult result = service.translate(e.getText(),Language.ENGLISH,Language.PORTUGUESE).execute();
             e.getIm().sendText(true, result.getFirstTranslation()+".");
            
        } else {
            e.getIm().sendText(true,"Não consigo traduzir.");
        }
    
        System.err.println("Message received from " + e.getIm().getPartner().getName());

    }

 

To run the bot i export the project as an executable JAR and run it on my linux server using the script bellow:

#!/bin/sh
SERVICE_NAME=STBot
PATH_TO_JAR=/etc/init.d/STBotV02.jar
PID_PATH_NAME=/etc/init.d/Stbot-pid
case $1 in
    start)
        echo "Starting $SERVICE_NAME ..."
        if [ ! -f $PID_PATH_NAME ]; then
            nohup java -jar $PATH_TO_JAR /tmp 2>> /dev/null >> /dev/null &
                        echo $! > $PID_PATH_NAME
            echo "$SERVICE_NAME started ..."
        else
            echo "$SERVICE_NAME is already running ..."
        fi
    ;;
    stop)
        if [ -f $PID_PATH_NAME ]; then
            PID=$(cat $PID_PATH_NAME);
            echo "$SERVICE_NAME stoping ..."
            kill $PID;
            echo "$SERVICE_NAME stopped ..."
            rm $PID_PATH_NAME
        else
            echo "$SERVICE_NAME is not running ..."
        fi
    ;;
    restart)
        if [ -f $PID_PATH_NAME ]; then
            PID=$(cat $PID_PATH_NAME);
            echo "$SERVICE_NAME stopping ...";
            kill $PID;
            echo "$SERVICE_NAME stopped ...";
            rm $PID_PATH_NAME
            echo "$SERVICE_NAME starting ..."
            nohup java -jar $PATH_TO_JAR /tmp 2>> /dev/null >> /dev/null &
                        echo $! > $PID_PATH_NAME
            echo "$SERVICE_NAME started ..."
        else
            echo "$SERVICE_NAME is not running ..."
        fi
    ;;
esac

Uncategorized

Since i update my mac to macOS sierra,  my TimeMachine backups was not running well.
On El Capitain i don’t exprience any issues using WD My BookLive or a disk attached to my ASUS Router.

After the upgrade the WD disk is not recognized by TimeMachine, the “ASUS” disk had the same problem.

I google a lot and found a final solution to my problem with TimeMachine

Problem number 1 – WD My BookLive not found by TimeMachine

Steps to solve:

Create a sparse image – a virtual drive that Time Machine will see as a valid backup disk.

Copy the sparsebundle to your network drive, then mount it.

Tell Time Machine to use the mounted sparsebundle for backups.

Tell your Mac to mount the virtual drive at boot.

Detailed steps here: http://www.makeuseof.com/tag/turn-nas-windows-share-time-machine-backup/

Problem number 2 – TimeMachine backups very very slow:

Steps do solve:

Part of the issue is that low priority input/output-operations (I/O) now seems to get throttled heavily.
You can check it via Terminal then entering at the bash prompt:

fs_usage backupd

and look for the THROTTLED entries. If you see them, the backup is throttled.

So if you have a ton of files, just the time it takes to do the I/O takes forever, even if the files are small (because it performs a bunch more I/O operations around xattrs etc. than it used to).

Go to a Terminal and enter:

sudo sysctl debug.lowpri_throttle_enabled=0

My backup time before this command was 29 hours and drop to 4 hours (using an ethernet cable).

Obs: I upgrade the bios of ASUS Router and WD My BookLive to latest versions.

Uncategorized

Call for speakers is now open

Submission topics

Digital workplace

Enterprise email

Unified communications

Enterprise content management

Enterprise and team collaboration

Compliance

Individual productivity

More information on the event  site

 

Uncategorized

I made this guide to install WEX Foundation 11.0.0.1 on a single machine using CentOS 6.7.

SetupWEXFoundation1101

Uncategorized