Skip to content

Manage your windows installed software with chocolatey and backup your collection by using this little manager

While working more and more with windows, I wanted the freedom of having a centralized packagemanager under the hood to ease up "keeping software up to date" or manage installed software in general.

Right now, I ended up using chocolatey.

After using it and building up my "finest selection" of installed software, I wanted to backup this collection.

I found the needed powershell commands pretty fast. Since I am a lazy person, I wanted to even ease up this by just having two scripts doing all the "heavy work" for backing up and restore this software collection.

After 30 minutes of work, I was able to release version one of my chocolatey manager.

This is a simple wrapper to backup and restore packages maintained by chocolatey.

The "" will install chocolatey if not installed. The "" will create a local file containing the currently installed packages.

Hope I can put you too more into the lazy area with this.

Cheers, artodeto

Translate to de es fr it pt ja

How to set a proxy for Signal-Desktop on Windows

If you want to use signal behind a cooperate proxy, you have to write a little bat script to set some proxy variables in the environment before starting signal. Copy and paste the following code into a file like set_proxy_and_start_signal.bat.

:: ####
:: # Sets http and https proxy variables and starts signal.
:: ####
:: # @see:
:: # @since: 2020-02-14
:: # @author: stev leibelt <[email protected]>
:: ####

set HTTP_PROXY=<your proxy>
start %LOCALAPPDATA%\Programs\signal-desktop\Signal.exe

If you want to know more here is the thread for this issue.

Translate to de es fr it pt ja

How to upgrade nextcloud from gui to next major version

So, nextcloud version 15.0.x is out already and whenever you are logging into your next cloud with your administrator account, you still get this "you are on the latest version" message.

Further more, you just got a update to version 14.0.x while waiting for version 15.0.x.

To fix this, all you have to do is to switch from the channel "stable" to "beta". After a page reload, you should see a version 15.0.x available. Do the upgrade and do not forget to switch back to the stable channel.

Translate to de es fr it pt ja

Zend Framework Kickstart or quick start script available

I was so bored setting up a zend framework application after another that I've created a simple script.

Sharing is caring, so you can find it on github with the lovely repository name phpzendframework_kickstarter.

This repository provides you two scripts to quickly create a new application from scratch (like a breeze and blazing fast within seconds ;-)).

git clone
bash php_zend_framework_kickstarter/create_application /path/to/the/application

See it working and that is it. All mandatory parts are a bash.

Translate to de es fr it pt ja

teamviewer 13 requires a desktop environment or login with lightdm etc, with startx it won't work

I stumbled upon the following quote while trying to figure out why teamview is failing silently.


teamviewer 13 requires a desktop environment or login with lightdm etc, with startx it won't work, the staff of teamviewer confirmed, startx feature won't come in this year, it seems reverting back to teamviewer 12 is the only option for startx folks.


The teamviewer people are pretty in the we don't give a fuck mood. So you either have to install bloat-ware on your pc or stick to an older version of teamviewer.

Translate to de es fr it pt ja
Categories: coding
Defined tags for this entry: ,
Vote for articles fresher than 7 days!
[0] 1804 hits

JDownloader and spontaneous core dump

JDownloader was working properly and than you just get core dumps all over again? Best try, upgrade your Java Runtime Environment.

sudo archlinux-java status
sudo pacman -S jre9-openjdk
sudo archlinux-java set jre9-openjdk
#if not needed anymore
sudo pacman -R jre8-openjdk

You need to update the $PATH variable. Either you restart your system or you open a new terminal to start JDownloader from their. All should work fine now.

Translate to de es fr it pt ja

Categories: os
Defined tags for this entry: , ,
Vote for articles fresher than 7 days!
Derzeitige Beurteilung: 1 of 5, 21 Stimme(n) 1243 hits

quick one, output the license for each composer.json project within a root path

A quick one since I have to alligne all my open source packages to theSPDX License List. To list all available licenses from my root path, I've quickly written this one liner.

find . -maxdepth 2 -name composer.json -type f -exec grep -i -H license {} \;

Boy, to write this one liner without having a look to one man-page took me ... well, ages.

Translate to de es fr it pt ja

Categories: coding
Defined tags for this entry: , , ,
Vote for articles fresher than 7 days!
Derzeitige Beurteilung: 1 of 5, 3 Stimme(n) 5264 hits

Ocramius ProxyManager or the great library that does the heavy lazy loading lifting for you

Within the next few lines, I will show you how you can use the proxy manager and how low the setup fee is compared to self written code.

The setup fee

Give is, that you have installed the ProxyManager with Composer. Than, create a script like the following (I will name it foo.php because I like it ;-)).

 * @author stev leibelt <[email protected]>
 * @since 2017-12-12

require_once __DIR__ . '/vendor/autoload.php';

use ProxyManager\Factory\LazyLoadingValueHolderFactory;
use ProxyManager\Configuration;

$configuration = new Configuration();
    __DIR__ . '/../cache'


class A
    /** @var mixed */
    private $foo;

    public function __construct(
    ) {
        echo __METHOD__ . PHP_EOL;
        echo 'Something will take very long.' . PHP_EOL;
        $this->foo = $foo;
        echo 'Done.' . PHP_EOL;

    public function __call($name, $arguments)
        echo __METHOD__ . sprintf(
            'name: >>%s<<, list of arguments: >>%s<<.',
        ) . PHP_EOL;

    public function foo()
        echo $this->foo . PHP_EOL;

class B extends A
    /** @var mixed */
    private $constructorFoo;

    /** @var bool */
    private $isNotInstantiated;

    public function __construct(
    ) {
        echo __METHOD__ . PHP_EOL;
        echo 'Superfast.' . PHP_EOL;
        $this->constructorFoo       = $foo;
        $this->isNotInstantiated    = true;
        echo 'Done.' . PHP_EOL;

    public function __call($name, $arguments)

        parent::__call($name, $arguments); // TODO: Change the autogenerated stub

    public function foo()

        parent::foo(); // TODO: Change the autogenerated stub

    private function instantiateIfNeeded()
        if ($this->isNotInstantiated) {

            $this->isNotInstantiated = false;

echo ':: Construct A' . PHP_EOL;
$a = new A('a');
echo ':: Construct B' . PHP_EOL;
$b = new B('b');
echo ':: Construct C' . PHP_EOL;
$factory = new LazyLoadingValueHolderFactory(
$c = $factory->createProxy(
    function (&amp; $wrappedObject, $proxy, $method, $parameters, &amp; $initializer) {
        $wrappedObject = new A('c'); // instantiation logic here
        $initializer   = null; // turning off further lazy initialization

echo ':: Begin A' . PHP_EOL;
$a->bar('foo', 'bar', 'baz');
echo ':: End A' . PHP_EOL;

echo ':: Begin B' . PHP_EOL;
$b->bar('foo', 'bar', 'baz');
echo ':: End B' . PHP_EOL;

echo ':: Begin C' . PHP_EOL;
$c->bar('foo', 'bar', 'baz');
echo ':: End C' . PHP_EOL;

And finally, execute it (clear && php foo.php).

What have we done - the explanation of the script

First, we are creating a class "A" that does some complicated stuff. Than, we are trying to implement our own lazy loading logic by creating a class "B". Afterwards we are instantiating A, B and A with the proxy manager. Finally, we are calling two methods for each instantiation.

When you execute the script, you quickly will figure out that the instantiation of $a is taking as long as expected while $b and $c are almost instantly there. At the end $b and $c will react the same.

Why should you use the proxy manager if you can archive the same stuff with "just some lines of code"? Because the proxy manager reduced your maintenance coast. If "A" would change, you would have need to extend or change "B" as well (e.g. A gets another method) while you don't have to touch any piece of code when using the proxy manager. Secondly, proxy manager is well tested and used. If you find an issue, you can fix it since the code is open source and do something good for the world - because sharing is caring.

Translate to de es fr it pt ja

Categories: coding
Defined tags for this entry: , , ,
Vote for articles fresher than 7 days!
Derzeitige Beurteilung: 2 of 5, 2 Stimme(n) 1678 hits

Firefox 56 to 57, my changed list of essential extensions to gain back freedom on the broken internet

Well, after ages and lots of donated money to the extension developer (yes, I do an you should do the same!), mozilla made fundamental changes in ther way how to extend their browser. Because of that, I need to update my collection of extensions.

Firefox 57? Thats the browser where you have to open "about:config", search for "pocket" and set the value to false for "extension.pocket.enabled" and "browser.toolbarbuttons.introduced.pocket-button". You also have to disable all the spam on your blank start page (new tab). And of course, disable and remove all cliqz related shit.

Here is my new list working with firefox 57. Lets see how well things are working out. The mozilla extension search results are as bad as google search results today.

  • AdBlocker for YouTube
  • HTTPSEverywhere
  • Open With
  • Tree Style Tab
  • Tree Style Tab Mouse Wheel
  • uBlock Origin
  • uMatrix
  • Disconnect
  • Vim Vixen or Tridactyl
  • Empty Cache Button
  • Tab Suspender
  • Quick Accept-Language Switcher
  • User-Agent Switcher
  • I don't care about cookies
  • Cookie AutoDelete

For the log, here is my old list working in firefox 56.

  • BarTab Lite
  • AdBlocker for YouTube
  • HTTPSEverywhere
  • Open With
  • Tree Style Tab
  • uBlock Origin
  • uMatrix
  • Disconnect
  • Cache Status
  • checkCompatibility
  • Firebug
  • Flashblock
  • HttpRequester
  • Locale Switcher
  • NoScript
  • Privacy Settings
  • Random Agent Spoofer
  • RequestPolicy
  • Selenium IDE Button
  • Self-Destructing Cookies
  • Session Manager
  • YouTube and Audio Downloader
  • Pentadactyl
    Translate to de es fr it pt ja

aur/teamviewer 12.0.85001 is not starting anymore on an arch linux system

Just had the "joy" to figure out that teamviewer is not starting anymore on my arch linux.

I restarted the deamon and also launched teamviewer from the command line.

CheckCPU: SSE2 support: yes
XRandRWait: No value set. Using default.
XRandRWait: Started by user.
Checking setup...
Launching TeamViewer ...
Launching TeamViewer GUI ...

And at "Launching TeamViewer GUI ..." that was it, no entries in an error log or the journal, nothing. After having a look into the aur package log, it quickly turned out to be a solvable problem.

sudo pacman -U lib32-freetype2-2.8-2-x86_64.pkg.tar.xz 

Looks like teamviewer decided to use an old and deprecated version of freetype2 within his bugfix release.

Translate to de es fr it pt ja

MySQL and a known bug since 2003 about the auto_increment value

We detected a bug that is known since 2003.

The value of an auto increment column is set back to zero when you are having an empty table and restarting the MySQL DBMS. We run into this issue by using the auto increment value as a history id into a second table.

How can you work around this issue?

The easiest way is to order by id descending on the second table or to setup a "start up" shell script that calculates and sets the auto increment value.

Translate to de es fr it pt ja

Debian 8 owncloud client signature verification NO_PUBKEY 4ABE1AC7557BEFF9

You have a Debian 8 installation and get an error like the following when you want to install or update the owncloud client?

W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error:  Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 4ABE1AC7557BEFF9

W: Failed to fetch  

W: Some index files failed to download. They have been ignored, or old ones used instead.

Execute the following command and try it again.

sudo apt-key adv --keyserver --recv-keys 4ABE1AC7557BEFF9
Translate to de es fr it pt ja

disable automatic selected "Allow comments to this entry" for each entry in serendipity (s9y) blog system

For real, I was searching for this option for a year now and couldn't find an answer in a readme.

By disabling users in an other setup and restricting other users right, I found the magic checkbox I was searching for. Following the clickpath: Settings->Users->Edit User->Default settings for new entries->Allow comments to this entry Choose the radio button "no" and everything is working as expected :-).

Translate to de es fr it pt ja

Categories: others
Defined tags for this entry: ,
Vote for articles fresher than 7 days!
[0] 7048 hits

How to upgrade the bios of a lenovo x250 on linux (and other not windows systems)

So, you want to update the bios of your lenovo x250 by downloading this iso from that page?

Read this readme. But also read the following lines. Lenovo missed "just some little facts".

First of all, I was not able to dump that iso to an usb stick by using dd. Secondly and most importatn, you have to go in your bios setup and change your boot up way from "legacy" to "uefi". After you have done that, your burned optical disk will boot up and you can finally upgrade your bios.

Translate to de es fr it pt ja

Categories: os
Defined tags for this entry: , , ,
Vote for articles fresher than 7 days!
[0] 5508 hits

Wie wird man Terrorist? Durch HTTPS und Tails

The charge sheet includes one count of preparation of terrorism "by researching an encryption programme, developing an encrypted version of his blog site, and publishing the instructions around the use of [the] programme on his blog site."



Translate to de es fr it pt ja

simple bash function to prefix any given command with sudo if needed

The title of this entry tells it all. I've create a simple bash function to prefix any given command expression with sudo if needed. If needed means, if you are not root. It is totally simple but to be true, it took me time to use my bash skills to write it. Imagine you now how to draw a cloud, the sun, a tree and a house and once you figure out how to concatenate all of that elements to draw a picture for your parents ;-).

if [[ $# -lt 1 ]];
    echo "Invalid number of arguments provided"
    echo "${FUNCNAME[0]} <command to execute>"
    return 1

if [[ $(whoami) == "root" ]];
    [email protected]
    sudo [email protected]

Looks like Chuck Norris is using github right now. Github is down, otherwise I would add a link to the fitting repository commit. Github is back online, here is the promised link to the commit.

Translate to de es fr it pt ja

serendipity command line update released

I am happy to announce the initial and 1.0.0 of the serendipity command line update script. It is designed to do the boring work of updating against the latest release. The workflow is dead simple.

  • fetch latest version
  • check if latest version is installed
  • make a backup of the existing installation
  • update

Enjoy using it. If you find an error, feel free to open an issue or a pull request.

Translate to de es fr it pt ja

Vim 8.0 released

This the first major Vim release in ten years. There are interesting new features, many small improvements and lots of bug fixes.

Among the new features are:
- Asynchronous I/O support, channels, JSON
- Jobs
- Timers
- Partials, Lambdas and Closures
- Packages
- New style testing
- Viminfo merged by timestamp
- GTK+ 3 support
- MS-Windows DirectX support


Translate to de es fr it pt ja

Kirigami official released

Das KDE-Framework Kirigami steht in einer ersten Veröffentlichung bereit, um Qt-Entwickler bei der Erstellung konvergenter Apps für Desktop und Mobilgeräte plattformübergreifend zu unterstützen.

Kirigami currently officially supports Android, Desktop GNU/Linux (both X11 and Wayland), Windows, and the upcoming Plasma Mobile. iOS support is currently in an experimental stage, support for Ubuntu Touch is being worked on. The plan is to eventually become part of KDE Frameworks 5, but is currently released standalone in KDE Extragear. Since it is aimed to be a Tier 1 framework, it has no other dependencies apart from Qt, and therefore will not increase your application’s size any more than necessary. [...]

kirigami design principles, ui patterns and styleguide
kirigami api documentation

Translate to de es fr it pt ja

web - a beautiful transfer of agil coding to building a house to show you how bad this approach can be

Miles English has published a beautiful text to demonstrate how bad agil development can be if you are doing things totally wrong (and at the end, sadly this is the common way of building software :-(). He illustrates the agil approach by start building a house without knowing how this should look like.
The sad truth is, that dishonesty is build up from this approach. The development team starts doing things secretly to fix the flaws they had to build. The consequence of this is, that even simple task are taking more time then expected (because of the hidden refactoring) which in turn disgusts the management.
At the end, both side are talking but no one is listening because no one is trusting the other sides words.

Translate to de es fr it pt ja

For the future, you simple have to believe in the car industry

A few days ago, I saw that japan wants to replace the analog mirrors for the cars and I thought "WTF?".
Today a Zero-day exploit was released which lets hackers attack your bmw car via their web portal.
With the second news in mind, I was forced to write this article - especially because of the last sentence.

Getting back to the titel, for me as a person who as to deal with technology day in and day out, it is hard to accept that people with less amount of knowledge about this stuff simple believe into technology. A mirror can not break. If it breaks, you are in serious issue anyway. But a camera, as well as a monitor can simple stop working. Especially the second post is something a whole industry simple does not want so accept that this will happen. What about hackers? What about a worm or a virus you just have to put into a mashed network of cars? What happens to the video records the camera will do? Don't think the so called "intelligence organizations" are not using this free mass surveillance option. And all in all, where are the real benefits for getting a bit more enslaved by technology?
Right now, it looks like only the industry who builds the camera system benefits from this. The car won't get cheaper if you add more and more stuff. The car also won't use less gas if it has to power and move more stuff. Last but not least, the car won't be easier to recycle with all that complicated materials inside.

Last sentences: Open source community, it looks like the magical hand of the market failed again on the car sector. Instead of building useful products, they simple try to add technology everywhere. They destroyed our cars, so lets start building our own ones, reliable, safe and with a small footprint for mother nature.

Translate to de es fr it pt ja

X11 freezes and system total hang up on an Lenovo X250 i7-5600U since kernel 4.6.2 (arch linux)

Hey folks, since kernel 4.6.2 I got a lot of X11 freezes as well as unusable gui tools (delayed inputs, scrolling and broken display rendering). Also all the virtual box clients are behaving the same. Only the chromium gui and xterm were usable (well, xterm only on my host, not on the virtual box clients).
I tried my best and here are the changes I made that stopped the system from a total freeze since four days:

#run as root
cat /etc/X11/xorg.conf.d/20-intel-graphics.conf < DELIM
Section "Device"
    Identifier      "Intel Graphics"
    Driver          "intel"
    Option          "AccelMethod"   "uxa"
    Option          "NoAccel"       "True"

I am crossing fingers it is working on your machine also.

Translate to de es fr it pt ja