Steven England's Webloghttps://steven-england.info
some homemade IT handicraftSun, 19 Feb 2017 14:13:47 +0000en-UShourly1https://wordpress.org/?v=4.7.2X3270.Resthttps://steven-england.info/2017/02/19/x3270-rest/
https://steven-england.info/2017/02/19/x3270-rest/#commentsSun, 19 Feb 2017 14:13:47 +0000https://steven-england.info/?p=176X3270.Rest is a wrapper for the standard x3270 HTTP REST interface. Remote controlling the x3270 client via HTTP is very advantageous because the HTTP protocol is very mature and as popular as never before. This imlies a broad support of Read More ...

]]>X3270.Rest is a wrapper for the standard x3270 HTTP REST interface. Remote controlling the x3270 client via HTTP is very advantageous because the HTTP protocol is very mature and as popular as never before. This imlies a broad support of any kind. In terms of .NET this means that one can easily build really asynchronous calls from ones application to the x3270 terminal by using just a few native features for HTTP. This is why I built X3270.Rest that wrapps all the calls to x3270 for you in a straighforward manner.

]]>https://steven-england.info/2017/02/19/x3270-rest/feed/1KnimeNethttps://steven-england.info/2017/01/29/knimenet/
https://steven-england.info/2017/01/29/knimenet/#respondSun, 29 Jan 2017 13:11:02 +0000http://steven-england.info/?p=172KnimeNet was started as a side project to support my master thesis. For now there is only the need to have some more flexible command line access to KNIME. I wanted to use .NET Applications to hold the business logic Read More ...

]]>KnimeNet was started as a side project to support my master thesis. For now there is only the need to have some more flexible command line access to KNIME.
I wanted to use .NET Applications to hold the business logic whereas KNIME should follow this logic. The command line (may be synonymously called windows cmd/batch or Linux bash/shell) represents the middleware in between. This is why I wrote KnimeNet.CommandLine.

With KnimeNet.CommandLine you can

Start/Stop KNIME workflow execution (completely headless)

Process KNIME data stream outputs (standard error/output)

As the time goes on I will have a look at what might be also useful. Ideas would be appreciated

]]>https://steven-england.info/2017/01/29/knimenet/feed/0Telegram 4 MQLhttps://steven-england.info/2016/07/03/telegram-4-mql/
https://steven-england.info/2016/07/03/telegram-4-mql/#respondSun, 03 Jul 2016 10:39:23 +0000http://steven-england.info/?p=122Telegram 4 MQL is a .NET library that brings all the possibilities from the well known Telegram Messenger to Metatrader. With the help of the Telegram Bot feature you will be able to send and receive messages with ease right Read More ...

]]>Telegram 4 MQL is a .NET library that brings all the possibilities from the well known Telegram Messenger to Metatrader. With the help of the Telegram Bot feature you will be able to send and receive messages with ease right from your MQL code.

Sample use cases of that might be for example:

Get a notification whenever an expert advisor makes a trade.

Receive scheduled messages with screenshots of the charts on your screen.

]]>https://steven-england.info/2016/07/03/telegram-4-mql/feed/0Workaround for Android error „The connection pool for database ‘/data/user/0/com.android.providers.contacts/databases/contacts2.db’ has been unable to grant a connection to thread X (ContactsProviderWorker) …“https://steven-england.info/2015/08/08/workaround-for-android-error-the-connection-pool-for-database-datauser0com-android-providers-contactsdatabasescontacts2-db-has-been-unable-to-grant-a-connection-to-thread-x-contact/
https://steven-england.info/2015/08/08/workaround-for-android-error-the-connection-pool-for-database-datauser0com-android-providers-contactsdatabasescontacts2-db-has-been-unable-to-grant-a-connection-to-thread-x-contact/#commentsSat, 08 Aug 2015 14:56:32 +0000http://steven-england.info/?p=115If you are living with Android Version 4.x or Cyanogenmod 10.x then you maybe recognize problems with some apps that want to retrieve data from the contacts database (contacts2.db). Remarkable indicators concerning my phone were: Contact app did not find Read More ...

]]>If you are living with Android Version 4.x or Cyanogenmod 10.x then you maybe recognize problems with some apps that want to retrieve data from the contacts database (contacts2.db). Remarkable indicators concerning my phone were:

Contact app did not find any contact

Other apps lacked or hung

Enormous battery drain

The error stays for quite a while and is somewhen solved very surprisingly. In the logs it reads as follows:

W/SQLiteConnectionPool (X): The connection pool for database ‘/data/user/0/com.android.providers.contacts/databases/contacts2.db’ has been unable to grant a connection to thread X (X) with flags X for X seconds.

Seems, that there were different patches like it was reported here. But that was not a solution for me, because my phone is not provided with updates anymore. So here is my solution (requires root):

Rename the contacts2.db to something different (contacts2.db.bak)

Reboot

Delete the newly created contacts2.db and rename your backup file back to contacts2.db

]]>https://steven-england.info/2015/08/08/workaround-for-android-error-the-connection-pool-for-database-datauser0com-android-providers-contactsdatabasescontacts2-db-has-been-unable-to-grant-a-connection-to-thread-x-contact/feed/2Setting up a Raspberry Pi as a download station with the help of JDownloader2https://steven-england.info/2014/11/23/setting-raspberry-pi-download-station-help-jdownloader2/
https://steven-england.info/2014/11/23/setting-raspberry-pi-download-station-help-jdownloader2/#commentsSun, 23 Nov 2014 19:23:23 +0000http://steven-england.info/?p=108This article covers a step by step how-to dealing with the setup of JDownloader2 on Raspberry Pi. The complete setup is meant to be used as the user pi. Take care of it, if you like to set it up Read More ...

]]>This article covers a step by step how-to dealing with the setup of JDownloader2 on Raspberry Pi.

The complete setup is meant to be used as the user pi. Take care of it, if you like to set it up for another user.

The goal

Run a JDownloader2 instance that automatically starts when a desktop session is established

Grant remote access to the JDownloader2 instance

Prerequisites

Running Raspian

Running a desktop session

How-to

JDownloader2 installation

Since newer versions of Raspian ship with the more or less original Oracle Java package and libraries like 7zip-JBinding, it is much more comfortable to set up a JDownloader2 installation and run it on a Raspberry Pi.

Create the directory, JDownloader will work in:

mkdir ~/jdownloader2
cd jdownloader2

Download the JDownloader starter file:

wget http://installer.jdownloader.org/JDownloader.jar

If you typed the last commands within a SSH connection, it is now time to change into a desktop session based terminal before starting JDownloader. That is because JDownloader needs features of an active LXDE environment, it won’t work as a headless service. You could for example use a automatically starting VNC server session like I explained here. Or (for testing purpose) just connect your Pi with your screen

It is already possible to start JDownloader with the command:

java -jar /home/pi/jdownloader2/JDownloader.jar

With this command JDownloader starts, retrieves updates and so on. Everything with this single command. The initial startup will take a longer time. Also following startups won’t be that fast but remote control works fluently once JDownloader was started.

To autostart JDownloader together with a specific user’s LXDE session, create this script in your preferred users home

nano /home/pi/jdownloader2/startjd2.sh

with the JDownloader init command in it:

#!/bin/sh
java -jar /home/pi/jdownloader2/JDownloader.jar

Set the correct permissions afterwards:

chmod 755 /home/pi/jdownloader2/startjd2.sh

Then edit

nano ~/.config/lxsession/LXDE/autostart

and put this line into this usually empty file:

@/home/pi/jdownloader2/startjd2.sh

If you want a desktop icon press

lxshortcut -o /home/pi/Desktop/JDownloader.desktop

and tell the wizard the path to your startjd2.sh

As a conclusion: If you have enabled auto login into a LXDE session (through configuration of the inittab, an automatically starting VNC service or just by enabling “Boot to Desktop/Scratch” when running raspi-config) in combination with auto starting JDownloader, you will end with an nearly headless JDownload server.

Remote control

In the previous version of JDownloader there was support for remote control by directly/locally accessing the JDownloader instance. This is past. Nowadays there is a web based environment called My JDownloader. Just create an account, link your JDownloader instance with it and you’re done.