Uncategorized

RethinkDB is dead ? Long live RebirthDB

Hi,

RethinkDB company has closed the doors, some time ago.
For me as a RethinkDB early developer and advocate, I really worried for the worse.

However when RethinkDB Joined The Linux Foundation, all of us got a little bit of a relief.  This happened on Feb. 6, 2017.

rethinkdb-open

From that point on, things did not change much. I felt a vacuum and only few developers managed to stay by committing with their own resources.

The last release published by the team was 2.3.6 Fantasia (Jul 23,2017).

 

For quite some time, members of the RethinkDB have been waiting for a new release, for project updates, for the founders to show-up for the community.

A freshly new release(2.4) is frozen for almost a year, all seems ready to launch, but nothing happened.

The community tried for several times to contact the founders, but no-one replied.

Without success, for long time we waited. But at some point, people started questioning the complete stone-walling silence from the former founders, and we asked ourselves the question: “Do they actually care?”, “Do they moved to a underground bunker without internet access?”.
It still a misery for many, because the last time we checked, Stripe is not a Coal mine in Zambia, in fact, we strongly believe that they have internet access over there.

The fact of the matter is: I still believe on the technology, I believe and I have built strong and resilient software using it. Software that I’m not keen to re-write. Software that I’m keen to update and monetize strongly for many years to come. People have built entire companies on top of this Database. We can’t just let it die.

We all know the fact: A year and a half has passed since the startup failed. We all know that we can’t see any database in the market fitting the same niche of RethinkDB.
The communication is just not happening, the official website is not updated, there is a slack channel advertised as “official” BUT new users can’t join.

The community is left scattered between Slack, Discord, IRC, Gitter and Google Groups. Too many choices, but not a single word from the founders.

So we decided enough is enough. Its time for us to get together, grab a bunch of volunteers, fork the database, and create a new organization. Start fresh, with a new plan and release the 2.4 ASAP.

Screenshot_20180525_124019

Thanks to @thelinuxlinch for paying from his own funds, the community have funds to start working and develop the Data Compression features we want so much.

Thanks for @Sam, @Atri and many other great devs that did not let us in the dark. We hope to be able to collect funds to sponsor the core work. We understand its very difficult to find developers with the skills we need and we really appreciate the fact that you have not turned the back on us!

If you are interested, please join us: RebirthDB, to help build the next-gen database.

 

Join us also on the RebirthDB @Github and star the project.

Advertisements
Blockchain, Ethererum, Solidity, Uncategorized

Solidity, The Ethereum programming model latest design flaw leads to vulnerability batchOverflow on uint256

Ethereum has a fairly “hard to understand” programming model.

This has been explained in detail on a previous post  Solidity, The Ethereum programming model. 

I highly recommend you read it before to understand some of the biggest flaws on writing Ethereum Smart contracts and prevent bugs.

 

Today I happen to learn a new issue reported by Coinmonks. They seem to have a automated software that scans all ERC20 tokens and reports alerts when very high transactions are performed.

The issue is really interesting, but is not a new issue. In fact its a 2yo issue that remains open on github Arithmetic overflows return silently:

Well, it turns out that someone exploited some poorly written ERC20 smart contract, and for me, its really interesting how people that do not understand the language can produce bizarre bugs.
In this case a bug that can cause millions of dollars to be stolen from its owner.
The issue is very simple, in fact is a issue that most experient programmers would have spotted right away, if they knew the language and what they where doing.

The image bellow shows the vulnerable function: batchTransfer()

Lets try to understand what is going on….shall we ??
In Ethereum Solidity, if you overflow a number it overflows silently and reset its value to 0.
So the attacker explored the issue by sending a batch transfer with a very big number: EG: (0x8000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000)
By having two _receivers passed into batchTransfer(),  with that extremely large _value, the attacker manages to explore the flaw and turn it into profit.
This is a example of how the function would have been called:
 batchTransfer([0x123f681646d4a755815f9cb19e1acc8565a0c2ac,0x123f681646d4a755815f9cb19e1acc8565a0c2ad], 0x8000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000)
This very large number will cause the uint256 number to overflow, and because number overflows in Ethereum silently reset to zero, there is no error, no exception, no nothing and the program silently continues.
With amount zeroed, the hacker manages to pass the sanity checks in lines 258–259 and make the subtraction in line 261 irrelevant.
Finally, because he send two addresses on the function call, the lines 262–265, the owner of the smart contract, unadvised, will be sending the extremely large _value to the hackers, and the hackers on their turn won’t have to spend a dime, due to the overflow issue!
I did a little research to find out if there are more examples like this one, and guess what…
Ethereum Solidity have some issues that they need to give a little more attention to, in fact this one just happen to become a huge problem and could have been avoided at the first place if the Github issue was properly fixed in a timely fashion manner.
I think the Crypto market need to evolve and become a little more professional and start dealing with the problems like Professionals.
There is a problem, no matter who did it, it need to be fixed. And right now, I think we can all agree that overflow a number silently, is kind of critical.

Just to wrap this up, I don’t want to spoil anyone party here. I just think there is a lot going on on Ethereum right now, developers are working hard and is likely that this get fixed soon (HOPEFULLY).

However, one should consider this points, before diving into programming in Solidity, therefore avoid creating new bugs like this.

 

More on the same subject:
Uncategorized

Yarn package manager, a bless or a curse ?

The other day, a developer on my team decided it was a good idea to leave a pull request half done before going on holiday. So, I went to pick this ticket from the board in order to clear-out things and start shipping the product out of the window … It was somewhat quite hard to understand and solve … so I  decided to write here what happened, maybe someone could benefit from it …

So, there was me, all alone with that issue what was “potentially” a quick fix ….

First things first, lets check that the build is green and CI automation is happy …. I Went to Codeship and oh my dear, someone else outside of my team (probably the maintainer of the module) decided it was a good idea to just delete a existing package from the yarn registry (who cares right?). Consequently, the build is now failing and the error is quite bizarre.

error An unexpected error occurred: "https://registry.yarnpkg.com/acorn/-/acorn-4.0.12.tgz: Request failed \"404 Not Found\"".

Screenshot from Codeship:

 

Without being able to believe myself / understand the error, I wondered “Someone is definitely doing something nasty” … So I retried the build 3 times … all ending up with the same error.

So I went to double check that module Yarn is complaining about, with curl I checked for the package URL (To find out the obvious, it was deleted):

 

Yes, it have been deleted. Somehow yarn can’t figure out a solution for it. The author of the pull request said:

 

With no time to loose, I went deeper into the pull request … for minutes I was fighting with Yarn, NPM … all resulting in the same dead end, that dependency somehow always get written inside the yarn lock file, causing the build to fail.

Ok, so lets delete the yarn file and the new one should be good right ? no more issues like that, right ?

No, this time, after deleting the yarn lock file and generating a new one, I’m having some weird tests that where working before, to fail with even more strange error:

 TypeError: this.context.getStore is not a function

I wonder with myself, what next ? should I fight to fix this error, or should I stick with the old one ?? Fight with Yarn or with the new downloaded yarn dependencies that broke this poor project apart ?

I looked at the clock, the day is about to end, and I have to get this out of the window, and fast. So I decided it was about time to get this done, and fast.

I went on Yarn lock file and analyzed it “line by line”, its was about 8.000 lines …  so I finally  I found the culprit:

acorn@^4.0.3, acorn@^4.0.4:
 version "4.0.12"
 resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.12.tgz#335679ab819ec3c78772fe0c2c2f4bfa4359854e"

 

So I went on the web and tried to reach out the github repo for acorn … there is no such version 4.0.12, only 4.0.11 or 4.0.10:

 

So I was like, OMG how the hell this  happened (??), I’m looking at the right acorn ? What to do ? I decided to try my luck with version 4.0.13 ? and TADA, that works like a charm:

acorn@^4.0.3, acorn@^4.0.4:
 version "4.0.13"
 resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787"

 

After so many years doing this, I remember, with NPM it (Or … in the old times Maven) it was nothing different … so I was wondering, is Yarn package manager, a bless or a curse ? Is solving something for real or the issue is just now a little less worse ??

You tell me.

 

 

Happy opensource coding to everyone! 😀

Uncategorized

Kubernetes DevOps day-to-day tasks and commands – Kubernetes/HELM Cheatsheet

 

Often I see members of my team struggling to remember the somehow hard to remember commands for operating Kubernetes. Its quite hard to find a descent documentation that goes straight to the point. Not much lalala, but just give me the CMD I’m looking for.

This is a curated list that I’ve been updating periodically with many of the commands I use day to day on operations, so if you know anything that is not here, please let me know! 😀

Kubernetes DevOps day-to-day tasks and commands

devops

 

Kubernetes – How to change the scope to another namespace

$ kubectl config set-context $(kubectl config current-context) --namespace=env-JIRA-1234

Kubernetes – How to List the active pods on a namespace:

$ kubectl get pods
NAME READY STATUS RESTARTS AGE
golang-api-1280745034-4s6jt 1/1 Running 0 17m
golang-api-1280745034-7knzq 1/1 Running 0 17m
``

 

Kubernetes – How to Get the logs for a POD:

$ kubectl logs golang-api-1280745034-4s6jt

 

Kubernetes – How to Get services the Load Balancer IP addresses for a Namespace:

$ kubectl get services --namespace=develop
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
(...)

 

Kubernetes – How to Get the ingres and services for a Namespace:

$ kubectl get ing,service --namespace=develop

Kubernetes – How to Get info about the services for a Namespace

$ kubectl describe services --namespace=develop 
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
(...)

Kubernetes – How to Get info about the services for ALL Namespaces

$ kubectl get services --all-namespaces
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
(...)

 

Kubernetes – How to open a proxy to a POD and expose it locally OR (How to connect to a POD directly and expose it locally)

$ kubectl port-forward golang-api-1280745034-4s6jt 8888:3000

 

Kubernetes – How to configure kubectl to always point to same cluster

$ kubectl config set-context gke_apps_europe-west1-b_europa --namespace=prod

Kubernetes – How to Get the current context (The cluster kubectl is pointing to)

$ kubectl config current-context

Kubernetes – How to setup kubectl Auto Complete

$ source <(kubectl completion bash)

Kubernetes – How to check resource utilization (TOP) for all nodes (Cluster legs)

$kubectl top nodes

Kubernetes – How to check resource utilization (TOP) for all pods in all namespaces

$ kubectl top pods --all-namespaces

Kubernetes – How to WATCH constantly the resource utilization for all pods in a particular namespace and order the results so they don’t keep changing all the time.

$ watch "kubectl top pods --namespace=prod |sort"

Kubernetes – How to WATCH constantly the resource utilization for nodes in a particular namesmace (legs) and order the results so they don’t keep changing all the time.

$ watch "kubectl top nodes --namespace=prod |sort"

Kubernetes – How to WATCH constantly the resource utilization for all pods in ALL namespaces and order the results so they don’t keep changing all the time.

$ watch "kubectl top pods --all-namespaces |sort"

 

Kubernetes – How to kill all running jobs:

`kubectl delete jobs -l `

Kubernetes – How to SSH inside a node to execute commands

 gcloud compute ssh gke-cluster-default-pool-123-4321s --zone europe-west1-c

 

Kubernetes – How to SSH inside the pod and perform a curl on the healthcheck endpoint. This is particular useful for troubleshot and assert that the service is really running and healthy.

$ kubectl exec -ti golang-api-1280745034-4s6jt curl http://localhost:3000/health`

 

Kubernetes – How to Change the configuration file  ‘on the fly’

 kubectl apply -f kubernetes/config/develop.yaml

Kubernetes – How to Restart all PODS in one go:

 $kubectl delete pods -l app=golang-api --namespace=prod

Kubernetes – How to List all Environment variables for a particular POD

$ kubectl exec -ti golang-api-4135068084-3wpb5 env --namespace=prod

Kubernetes – How to Check health for a particular backend POD from inside the frontend pod in order to test that they connect with no issues

$ kubectl exec -ti front-end-355436834-whtnp curl http://golang-api/health --namespace=prod

Kubernetes – How to Check for all logs inside the main scheduler

 $ journalctl -f

Kubernetes – How to List all pods and order them by how many times they have restarted. This is useful to detect memory leaks or debug the pods that are restarting more often.

$ kubectl get pods --sort-by=.status.containerStatuses[0].restartCount

Kubernetes – How to test that your API is returning something on a particular endpoint directly inside the POD (Useful when you deploy something but is not working .. you are pulling your hair out and hating kubernetes … keep call and curl it from inside 😀 )

$ kubectl exec -ti frontend-355436834-whtnp curl http://golang-api/find/1 --namespace=develop

 

Kubernetes – How to proxy a existing InfluxDB pod so you can use it locally:

$ kubectl port-forward --namespace monitoring $(kubectl get pods --namespace monitoring -l app=influxdb-influxdb -o jsonpath='{ .items[0].metadata.name }') 8086:8086

 

GCLOUD: How to list all images for your Docker eu.gcr.io:

gcloud

$ gcloud container images list-tags eu.gcr.io/thomasmodeneis-apps/golang-api

 

HELM DevOps day-to-day tasks and commands

helm

HELM – How to deploy a Docker image from eu.gcr.io to your cluster:

$ export NAMESPACE=develop
$ export VERSION=1.0.0
$ helm upgrade -i golang-api-$NAMESPACE ./helm_chart \ 
--namespace=$NAMESPACE 
--values helm_values/develop.yaml 
--set cluster=clustername,version=$VERSION

 

HELM – How to delete a chart and all its pods

helm delete redis-develop

 

HELM – How to delete a chart and all its pods for a specific namespace:

helm delete redis-develop --namespace=cache-develop

 

HELM – How to delete a chart and all its pods and purge it, in order to also delete PV and PVC’s associated to it: (Caution, this will delete all your data from stored disks).

helm delete redis-develop --purge

 

 

I hope it helps,

 

Happy opensource coding for everyone 😀

Uncategorized

The 2017 – OpenSource Development Laptop

The begin of …

Its 2017, Long after this post could be written, I suffered long days and nights on Windows on the 90’s, why not, almost all possible Windows combinations of it … Windows 3.11, Windows 95, Windows 2000, Windows XP, Windows NT …

Bill-Gates-Will-Teach-You-How-to-Count-Windows-10-Meme

Oh, it was a hell of a pain, it was proprietary, expensive and, well it was Windows …

How nice it was when Windows suggested for us to look online for solutions … exactly when the internet was not working …

The middle age …

Until one day I decided it was about time to kill the old Windows and get myself a brand new fancy Macbook… I had them all, Macs 10.4, 10.5, 10.6, 10.7, 10.8, 10.9 …

Until one day …

Latest release: Macbook Pro 13-inch
macpro2017

Specs:

  • Processor: 2,9‑GHz dual‑core Intel Core i5‑processor
    Memory: 16 GB DDR3 2133‑MHz,
  • HD: SSD van 512 GB1
    Graphics Card: Intel Iris Graphics 550

Price: 2.439,00 euros.

But … Its 2017, all the other vendors are shipping notebooks with 64GB, i7 or Xeon with 8 cores processor and fully configurable, but Macbook Pro, comes locked, sealed …can touch it .. its just fancy, the hardware is capped.

So I decided it was time …

2weeks

The Macbook Pro is dead, long live the king!

Linux on a High-end Laptop, is it worth it ?

Yes it does, and to confirm that I took the challenge to buy two new laptops.

I did long research on the web to find the best price for my money, because I have a development team, is important that all the developers have proper computers to be able to process BigData computations with really memory consuming frameworks for Map-Reduce and several other databases that the projects this days are demanding …

After researching for months, I decided with two good machines: Lenovo P50 and Dell Skylake Precision.

Lenovo Thinkpad P50 with Ubuntu 16.04

lenovo-p50-keyboard

Specs:

Intel Core i7-6820HQ 2.7 GHz @ 2.7 GHz (Intel Core i7) – 8 cores.
Graphics adapter NVIDIA Quadro M2000M – 4096 MB, Core: 1136 MHz, Memory: 1252 MHz, GDDR5, ForceWare 354.25, Optimus

64GB DDR4 Ram Corsair.

Price: 2.400 euros.

Installing Ubuntu 16.04 on it was easy but I found after the purchase a very unpleasant defect: External Display issue on P50 Linux

It took me days to figure a way out, in the end I decided to install Kubuntu …

 

Lenovo Thinkpad P50 with Kubuntu 16.04 … making your High-end Laptop friendly

Kubuntu is an operating system built by a worldwide community of developers, testers, supporters and translators. Kubuntu is a free, complete, and open-source alternative to Windows and Mac OS X which contains everything you need to work, play or share. Check out the Feature Tour if you would like to learn more!

Screenshot_20170521_185641

Kubuntu 16.04.2 LTS

Download Kubuntu 16.04.2 LTS from http://www.kubuntu.org/alternative-downloads 

Download and Install the ISO file into the pendrive using UNetbootin https://unetbootin.github.io/ and boot from it.

UNebooin

Boot your computer from the pendrive and after installing Kubuntu, Open System Settings, Display and Monitor and configure your second monitor:

 There you go, ready for Real Open Source Software Development with two screens.
Now the alternative for Lenovo on the other side of the coin behaves much better with Ubuntu 16.04:

Dell Skylake Precision 5520 with Ubuntu 16.04

dell-laptop-100618568-large

Specs: Intel Core i7-6700HQ 2.60GHz, GeForce GTX 960M/PCIe/SSE2

16GB DDR4 Ram Corsair.

500 GB Generic HDD.

Price: 2.100

Easy to install as well, in 30 minutes I had Ubuntu running with two monitors and no issues so far, making Dell Skylake the best buy for Ubuntu 16.04.

 

 

except after I put it for sleep and after awake … Suddenly all my dreams went apart, and the UI started to behave buggy 😦

 

Problem with Nvidia drivers

nviidadefect

It took me few days to figure a way out, I was just without time and restart the computer seemed to work, so oh … I happened to have this defect for two months, until one day I had enough and decided it was time for a proper fix.

How to fix Strange window borders after waking computer from sleep mode on Ubuntu 16.04

nvidiadefect

This fix is already packaged, but unfortunately is not yet available from the standard repositories, but you can easily get it from a PPA and replace your current driver with it by running the following commands:

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt purge nvidia*
sudo apt install nvidia-381

After you finished, reboot and the issue should be gone.

Conclusion:

Yes, is time for OpenSource software development … There is proper hardware and proper Software for doing it so, thats I’m more than sure by now.

10 reasons why you should get a High-end Laptop with Linux for your next workstation: 

1. Ubuntu is user-friendly
2. Ubuntu is free
3. It’s secure. Say no to anti-virus.
4. It supported on High-End notebooks
5. Tons of Ubuntu flavors, [SOLVED] Kubuntu enabled Thinkpad P50 to run Linux with two monitors.
6. Supportive Ubuntu community, all this answers could not be provided without the community.
7. Low system requirements, it can run from the low to the high-end.
8. Tons of free software in Software Center
9. Improved compatibility, included drivers, [SOLVED] Dell Skylake Precision 5520 NVidia borders issue.
10. It’s open source

 

The long dark ages of vendor locking are gone, today is easy and simple to get your new computer with Ubuntu 16.04.

 

Get Ubuntu/Kubuntu on your next Notebook and enjoy the power of having 64GB DDR4 RAM.

 

Why not give it a try ?

Happy coding to everyone.

Uncategorized

How to restore KDE Plasma without restarting the computer

Hi,

If you are developing on KDE  for a while, you may experience that your KDE Plasma desktop environment will sometimes stop responding properly, or it will start taking a long time to do anything.

kde-plasma-5.9-wallpaper-750x469

Some people will just take the hit and reboot computer, I don’t like restarting … so, I decided it was about time to properly document the steps I have to do once in a while and use this for my own understanding … and maybe, help someone else.

Screenshot_20170514_112630

How To Restart KDE Plasma on Kubuntu

  • Open a terminal and run the following command:
kquitapp5 plasmashell && kstart plasmashell
  • The output for the command should be something like this:
  • $ kquitapp5 plasmashell && kstart plasmashell
    kstart(26096) main: Omitting both --window and --windowclass arguments is not recommended

Don’t worry about the warning, it should work with no problems.

You may experience that this shell after running the command, will be printing the logs of plasma for you, something like this is expected to happen:

$ org.kde.plasma.pulseaudio: No object for name "alsa_output.pci-0000_00_1f.3.analog-stereo"
org.kde.plasma.pulseaudio: No object for name "alsa_output.pci-0000_00_1f.3.analog-stereo"
org.kde.plasma.pulseaudio: No object for name "alsa_input.pci-0000_00_1f.3.analog-stereo"
libkcups: Cancel-Subscription last error: 0 successful-ok
file:///usr/share/plasma/shells/org.kde.plasma.desktop/contents/views/Panel.qml:83: TypeError: Cannot read property 'Layout' of null
Connecting to deprecated signal QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString)
file:///usr/share/plasma/plasmoids/org.kde.plasma.digitalclock/contents/ui/DigitalClock.qml:443:5: QML Text: Cannot anchor to a null item.
Notifications service registered
libkcups: Get-Jobs last error: 0 successful-ok
libkcups: Get-Jobs last error: 0 successful-ok
libkcups: Create-Printer-Subscriptions last error: 0 successful-ok
Plasma Shell startup completed
libkcups: 0
libkcups: 0
Both point size and pixel size set. Using pixel size.
networkmanager-qt: void NetworkManager::NetworkManagerPrivate::propertiesChanged(const QVariantMap&) Unhandled property "AllDevices"
networkmanager-qt: void NetworkManager::NetworkManagerPrivate::propertiesChanged(const QVariantMap&) Unhandled property "Devices"
networkmanager-qt: void NetworkManager::NetworkManagerPrivate::propertiesChanged(const QVariantMap&) Unhandled property "GlobalDnsConfiguration"
networkmanager-qt: virtual void NetworkManager::DevicePrivate::propertyChanged(const QString&, const QVariant&) Unhandled property "LldpNeighbors"
networkmanager-qt: virtual void NetworkManager::DevicePrivate::propertyChanged(const QString&, const QVariant&) Unhandled property "Real"
networkmanager-qt: virtual void NetworkManager::DevicePrivate::propertyChanged(const QString&, const QVariant&) Unhandled property "LldpNeighbors"
networkmanager-qt: virtual void NetworkManager::DevicePrivate::propertyChanged(const QString&, const QVariant&) Unhandled property "Real"
networkmanager-qt: virtual void NetworkManager::DevicePrivate::propertyChanged(const QString&, const QVariant&) Unhandled property "S390Subchannels"
networkmanager-qt: virtual void NetworkManager::DevicePrivate::propertyChanged(const QString&, const QVariant&) Unhandled property "LldpNeighbors"
networkmanager-qt: virtual void NetworkManager::DevicePrivate::propertyChanged(const QString&, const QVariant&) Unhandled property "Real"
networkmanager-qt: virtual void NetworkManager::DevicePrivate::propertyChanged(const QString&, const QVariant&) Unhandled property "LldpNeighbors"
networkmanager-qt: virtual void NetworkManager::DevicePrivate::propertyChanged(const QString&, const QVariant&) Unhandled property "Real"
networkmanager-qt: virtual void NetworkManager::DevicePrivate::propertyChanged(const QString&, const QVariant&) Unhandled property "LldpNeighbors"
networkmanager-qt: virtual void NetworkManager::DevicePrivate::propertyChanged(const QString&, const QVariant&) Unhandled property "Real"
networkmanager-qt: virtual void NetworkManager::DevicePrivate::propertyChanged(const QString&, const QVariant&) Unhandled property "LldpNeighbors"
networkmanager-qt: virtual void NetworkManager::DevicePrivate::propertyChanged(const QString&, const QVariant&) Unhandled property "Real"
networkmanager-qt: virtual void NetworkManager::DevicePrivate::propertyChanged(const QString&, const QVariant&) Unhandled property "LldpNeighbors"
networkmanager-qt: virtual void NetworkManager::DevicePrivate::propertyChanged(const QString&, const QVariant&) Unhandled property "Real"
networkmanager-qt: virtual void NetworkManager::DevicePrivate::propertyChanged(const QString&, const QVariant&) Unhandled property "LldpNeighbors"
networkmanager-qt: virtual void NetworkManager::DevicePrivate::propertyChanged(const QString&, const QVariant&) Unhandled property "Real"
ktp-common-internals: Current presence changed
ktp-common-internals: Current presence changed



Other variant for the error:

libkcups: Get-Jobs last error: 0 successful-ok
 libkcups: 0
 libkcups: Get-Jobs last error: 0 successful-ok
 libkcups: 0
 QXcbConnection: XCB error: 2 (BadValue), sequence: 762, resource id: 20971554, major code: 142 (Unknown), minor code: 3
 QXcbConnection: XCB error: 2 (BadValue), sequence: 767, resource id: 20971552, major code: 142 (Unknown), minor code: 3
 QXcbConnection: XCB error: 2 (BadValue), sequence: 772, resource id: 20971550, major code: 142 (Unknown), minor code: 3
 QXcbConnection: XCB error: 2 (BadValue), sequence: 777, resource id: 20971549, major code: 142 (Unknown), minor code: 3
 QXcbConnection: XCB error: 2 (BadValue), sequence: 782, resource id: 20971548, major code: 142 (Unknown), minor code: 3
 QXcbConnection: XCB error: 2 (BadValue), sequence: 787, resource id: 20971547, major code: 142 (Unknown), minor code: 3
 QXcbConnection: XCB error: 2 (BadValue), sequence: 792, resource id: 20971545, major code: 142 (Unknown), minor code: 3
 QXcbConnection: XCB error: 2 (BadValue), sequence: 797, resource id: 20971544, major code: 142 (Unknown), minor code: 3
 QXcbConnection: XCB error: 2 (BadValue), sequence: 802, resource id: 20971543, major code: 142 (Unknown), minor code: 3
 QXcbConnection: XCB error: 2 (BadValue), sequence: 807, resource id: 20971542, major code: 142 (Unknown), minor code: 3
 QXcbConnection: XCB error: 2 (BadValue), sequence: 812, resource id: 20971541, major code: 142 (Unknown), minor code: 3
 QXcbConnection: XCB error: 2 (BadValue), sequence: 817, resource id: 20971540, major code: 142 (Unknown), minor code: 3
 QXcbConnection: XCB error: 2 (BadValue), sequence: 822, resource id: 20971539, major code: 142 (Unknown), minor code: 3
 QXcbConnection: XCB error: 2 (BadValue), sequence: 827, resource id: 20971538, major code: 142 (Unknown), minor code: 3
 QXcbConnection: XCB error: 2 (BadValue), sequence: 832, resource id: 20971536, major code: 142 (Unknown), minor code: 3
 QXcbConnection: XCB error: 2 (BadValue), sequence: 837, resource id: 20971535, major code: 142 (Unknown), minor code: 3
 QXcbConnection: XCB error: 2 (BadValue), sequence: 842, resource id: 20971534, major code: 142 (Unknown), minor code: 3
 QXcbConnection: XCB error: 2 (BadValue), sequence: 847, resource id: 20971752, major code: 142 (Unknown), minor code: 3
 QXcbConnection: XCB error: 2 (BadValue), sequence: 852, resource id: 20971761, major code: 142 (Unknown), minor code: 3
 org.kde.plasma.pulseaudio: No object for name "alsa_output.pci-0000_00_1f.3.analog-stereo"
 org.kde.plasma.pulseaudio: No object for name "alsa_output.pci-0000_00_1f.3.analog-stereo"
 org.kde.plasma.pulseaudio: No object for name "alsa_input.pci-0000_00_1f.3.analog-stereo"

 

Restarting KDE Plasma common errors

It maybe that the plasma will just refuse to die and it will throw rocks back to you:

$ kquitapp5 plasmashell && kstart plasmashell
 "Quitting application plasmashell failed. Error reported was:\n\n org.freedesktop.DBus.Error.UnknownObject : No such object path '/MainApplication'"

 

$ kquitapp5 plasmashell | true && kstart plasmashell | true "Quitting application plasmashell failed. Error reported was:\n\n org.freedesktop.DBus.Error.NoReply : Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken." kstart(577) main: Omitting both --window and --windowclass arguments is not recommended

 

Restarting KDE Plasma ignoring errors

This command will ignore the error exit from the first command and continue processing the start even if the kquitapp5 fails to execute.

 

$ kquitapp5 plasmashell | true && kstart plasmashell | true
  ..
  ..
 org.kde.plasma.pulseaudio: No object for name "alsa_output.pci-0000_00_1f.3.analog-stereo"
 org.kde.plasma.pulseaudio: No object for name "alsa_output.pci-0000_00_1f.3.analog-stereo"
 org.kde.plasma.pulseaudio: No object for name "alsa_input.pci-0000_00_1f.3.analog-stereo"
 kstart(6920) main: Omitting both --window and --windowclass arguments is not recommended
 libkcups: Cancel-Subscription last error: 0 successful-ok
 libkcups: Create-Printer-Subscriptions last error: 0 successful-ok
 libkcups: Cancel-Subscription last error: 0 successful-ok

$ kf5.kcoreaddons.desktopparser: Could not locate service type file kservicetypes5/plasma-popupapplet.desktop, tried ("/home/u/.local/share", "/usr/share/plasma", "/usr/local/share", "/usr/share", "/var/lib/snapd/desktop")
kf5.kcoreaddons.desktopparser: Could not locate service type file kservicetypes5/plasma-popupapplet.desktop, tried ("/home/u/.local/share", "/usr/share/plasma", "/usr/local/share", "/usr/share", "/var/lib/snapd/desktop")
kf5.kcoreaddons.desktopparser: Could not locate service type file kservicetypes5/plasma-popupapplet.desktop, tried ("/home/u/.local/share", "/usr/share/plasma", "/usr/local/share", "/usr/share", "/var/lib/snapd/desktop")
kf5.kcoreaddons.desktopparser: Could not locate service type file kservicetypes5/plasma-popupapplet.desktop, tried ("/home/u/.local/share", "/usr/share/plasma", "/usr/local/share", "/usr/share", "/var/lib/snapd/desktop")
kf5.kcoreaddons.desktopparser: Could not locate service type file kservicetypes5/plasma-popupapplet.desktop, tried ("/home/u/.local/share", "/usr/share/plasma", "/usr/local/share", "/usr/share", "/var/lib/snapd/desktop")
kf5.kcoreaddons.desktopparser: Could not locate service type file kservicetypes5/plasma-popupapplet.desktop, tried ("/home/u/.local/share", "/usr/share/plasma", "/usr/local/share", "/usr/share", "/var/lib/snapd/desktop")
kf5.kcoreaddons.desktopparser: Could not locate service type file kservicetypes5/plasma-popupapplet.desktop, tried ("/home/u/.local/share", "/usr/share/plasma", "/usr/local/share", "/usr/share", "/var/lib/snapd/desktop")
kf5.kcoreaddons.desktopparser: Could not locate service type file kservicetypes5/plasma-popupapplet.desktop, tried ("/home/u/.local/share", "/usr/share/plasma", "/usr/local/share", "/usr/share", "/var/lib/snapd/desktop")
kf5.kcoreaddons.desktopparser: Could not locate service type file kservicetypes5/plasma-popupapplet.desktop, tried ("/home/u/.local/share", "/usr/share/plasma", "/usr/local/share", "/usr/share", "/var/lib/snapd/desktop")
kf5.kcoreaddons.desktopparser: Could not locate service type file kservicetypes5/plasma-popupapplet.desktop, tried ("/home/u/.local/share", "/usr/share/plasma", "/usr/local/share", "/usr/share", "/var/lib/snapd/desktop")
kf5.kcoreaddons.desktopparser: Could not locate service type file kservicetypes5/plasma-popupapplet.desktop, tried ("/home/u/.local/share", "/usr/share/plasma", "/usr/local/share", "/usr/share", "/var/lib/snapd/desktop")
file:///usr/share/plasma/shells/org.kde.plasma.desktop/contents/views/Panel.qml:83: TypeError: Cannot read property 'Layout' of null
kf5.kcoreaddons.desktopparser: Could not locate service type file kservicetypes5/plasma-popupapplet.desktop, tried ("/home/u/.local/share", "/usr/share/plasma", "/usr/local/share", "/usr/share", "/var/lib/snapd/desktop")
Connecting to deprecated signal QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString)
Trying to use rootObject before initialization is completed, whilst using setInitializationDelayed. Forcing completion
file:///usr/share/plasma/plasmoids/org.kde.plasma.digitalclock/contents/ui/DigitalClock.qml:443:5: QML Text: Cannot anchor to a null item.
kf5.kcoreaddons.desktopparser: Could not locate service type file kservicetypes5/plasma-popupapplet.desktop, tried ("/home/u/.local/share", "/usr/share/plasma", "/usr/local/share", "/usr/share", "/var/lib/snapd/desktop")
kf5.kcoreaddons.desktopparser: Could not locate service type file kservicetypes5/plasma-popupapplet.desktop, tried ("/home/u/.local/share", "/usr/share/plasma", "/usr/local/share", "/usr/share", "/var/lib/snapd/desktop")
kf5.kcoreaddons.desktopparser: Could not locate service type file kservicetypes5/plasma-popupapplet.desktop, tried ("/home/u/.local/share", "/usr/share/plasma", "/usr/local/share", "/usr/share", "/var/lib/snapd/desktop")
kf5.kcoreaddons.desktopparser: Could not locate service type file kservicetypes5/plasma-popupapplet.desktop, tried ("/home/u/.local/share", "/usr/share/plasma", "/usr/local/share", "/usr/share", "/var/lib/snapd/desktop")
kf5.kcoreaddons.desktopparser: Could not locate service type file kservicetypes5/plasma-popupapplet.desktop, tried ("/home/u/.local/share", "/usr/share/plasma", "/usr/local/share", "/usr/share", "/var/lib/snapd/desktop")
kf5.kcoreaddons.desktopparser: Could not locate service type file kservicetypes5/plasma-popupapplet.desktop, tried ("/home/u/.local/share", "/usr/share/plasma", "/usr/local/share", "/usr/share", "/var/lib/snapd/desktop")
kf5.kcoreaddons.desktopparser: Could not locate service type file kservicetypes5/plasma-popupapplet.desktop, tried ("/home/u/.local/share", "/usr/share/plasma", "/usr/local/share", "/usr/share", "/var/lib/snapd/desktop")
kf5.kcoreaddons.desktopparser: Could not locate service type file kservicetypes5/plasma-popupapplet.desktop, tried ("/home/u/.local/share", "/usr/share/plasma", "/usr/local/share", "/usr/share", "/var/lib/snapd/desktop")
kf5.kcoreaddons.desktopparser: Could not locate service type file kservicetypes5/plasma-popupapplet.desktop, tried ("/home/u/.local/share", "/usr/share/plasma", "/usr/local/share", "/usr/share", "/var/lib/snapd/desktop")
kf5.kcoreaddons.desktopparser: Could not locate service type file kservicetypes5/plasma-popupapplet.desktop, tried ("/home/u/.local/share", "/usr/share/plasma", "/usr/local/share", "/usr/share", "/var/lib/snapd/desktop")
kf5.kcoreaddons.desktopparser: Could not locate service type file kservicetypes5/plasma-popupapplet.desktop, tried ("/home/u/.local/share", "/usr/share/plasma", "/usr/local/share", "/usr/share", "/var/lib/snapd/desktop")
kf5.kcoreaddons.desktopparser: Could not locate service type file kservicetypes5/plasma-popupapplet.desktop, tried ("/home/u/.local/share", "/usr/share/plasma", "/usr/local/share", "/usr/share", "/var/lib/snapd/desktop")
kf5.kcoreaddons.desktopparser: Could not locate service type file kservicetypes5/plasma-popupapplet.desktop, tried ("/home/u/.local/share", "/usr/share/plasma", "/usr/local/share", "/usr/share", "/var/lib/snapd/desktop")
kf5.kcoreaddons.desktopparser: Could not locate service type file kservicetypes5/plasma-popupapplet.desktop, tried ("/home/u/.local/share", "/usr/share/plasma", "/usr/local/share", "/usr/share", "/var/lib/snapd/desktop")
kf5.kcoreaddons.desktopparser: Could not locate service type file kservicetypes5/plasma-popupapplet.desktop, tried ("/home/u/.local/share", "/usr/share/plasma", "/usr/local/share", "/usr/share", "/var/lib/snapd/desktop")
kf5.kcoreaddons.desktopparser: Could not locate service type file kservicetypes5/plasma-popupapplet.desktop, tried ("/home/u/.local/share", "/usr/share/plasma", "/usr/local/share", "/usr/share", "/var/lib/snapd/desktop")
kf5.kcoreaddons.desktopparser: Could not locate service type file kservicetypes5/plasma-popupapplet.desktop, tried ("/home/u/.local/share", "/usr/share/plasma", "/usr/local/share", "/usr/share", "/var/lib/snapd/desktop")
kf5.kcoreaddons.desktopparser: Could not locate service type file kservicetypes5/plasma-popupapplet.desktop, tried ("/home/u/.local/share", "/usr/share/plasma", "/usr/local/share", "/usr/share", "/var/lib/snapd/desktop")
Trying to use rootObject before initialization is completed, whilst using setInitializationDelayed. Forcing completion
Notifications service registered
kf5.kcoreaddons.desktopparser: Could not locate service type file kservicetypes5/plasma-popupapplet.desktop, tried ("/home/u/.local/share", "/usr/share/plasma", "/usr/local/share", "/usr/share", "/var/lib/snapd/desktop")
kf5.kcoreaddons.desktopparser: Could not locate service type file kservicetypes5/plasma-popupapplet.desktop, tried ("/home/u/.local/share", "/usr/share/plasma", "/usr/local/share", "/usr/share", "/var/lib/snapd/desktop")
kf5.kcoreaddons.desktopparser: Could not locate service type file kservicetypes5/plasma-popupapplet.desktop, tried ("/home/u/.local/share", "/usr/share/plasma", "/usr/local/share", "/usr/share", "/var/lib/snapd/desktop")
kf5.kcoreaddons.desktopparser: Could not locate service type file kservicetypes5/plasma-popupapplet.desktop, tried ("/home/u/.local/share", "/usr/share/plasma", "/usr/local/share", "/usr/share", "/var/lib/snapd/desktop")
kf5.kcoreaddons.desktopparser: Could not locate service type file kservicetypes5/plasma-popupapplet.desktop, tried ("/home/u/.local/share", "/usr/share/plasma", "/usr/local/share", "/usr/share", "/var/lib/snapd/desktop")
kf5.kcoreaddons.desktopparser: Could not locate service type file kservicetypes5/plasma-popupapplet.desktop, tried ("/home/u/.local/share", "/usr/share/plasma", "/usr/local/share", "/usr/share", "/var/lib/snapd/desktop")
kf5.kcoreaddons.desktopparser: Could not locate service type file kservicetypes5/plasma-popupapplet.desktop, tried ("/home/u/.local/share", "/usr/share/plasma", "/usr/local/share", "/usr/share", "/var/lib/snapd/desktop")
kf5.kcoreaddons.desktopparser: Could not locate service type file kservicetypes5/plasma-popupapplet.desktop, tried ("/home/u/.local/share", "/usr/share/plasma", "/usr/local/share", "/usr/share", "/var/lib/snapd/desktop")
kf5.kcoreaddons.desktopparser: Could not locate service type file kservicetypes5/plasma-popupapplet.desktop, tried ("/home/u/.local/share", "/usr/share/plasma", "/usr/local/share", "/usr/share", "/var/lib/snapd/desktop")
kf5.kcoreaddons.desktopparser: Could not locate service type file kservicetypes5/plasma-popupapplet.desktop, tried ("/home/u/.local/share", "/usr/share/plasma", "/usr/local/share", "/usr/share", "/var/lib/snapd/desktop")
libkcups: Get-Jobs last error: 0 successful-ok
libkcups: Get-Jobs last error: 0 successful-ok
libkcups: Create-Printer-Subscriptions last error: 0 successful-ok
file:///usr/lib/x86_64-linux-gnu/qt5/qml/QtQuick/Controls/ScrollView.qml:350: TypeError: Cannot read property 'padding' of null
file:///usr/lib/x86_64-linux-gnu/qt5/qml/QtQuick/Controls/ScrollView.qml:349: TypeError: Cannot read property 'padding' of null
file:///usr/lib/x86_64-linux-gnu/qt5/qml/QtQuick/Controls/ScrollView.qml:348: TypeError: Cannot read property 'padding' of null
file:///usr/lib/x86_64-linux-gnu/qt5/qml/QtQuick/Controls/ScrollView.qml:347: TypeError: Cannot read property 'padding' of null
Plasma Shell startup completed
libkcups: 0
libkcups: 0
kf5.kcoreaddons.desktopparser: Could not locate service type file kservicetypes5/plasma-popupapplet.desktop, tried ("/home/u/.local/share", "/usr/share/plasma", "/usr/local/share", "/usr/share", "/var/lib/snapd/desktop")
kf5.kcoreaddons.desktopparser: Could not locate service type file kservicetypes5/plasma-popupapplet.desktop, tried ("/home/u/.local/share", "/usr/share/plasma", "/usr/local/share", "/usr/share", "/var/lib/snapd/desktop")
kf5.kcoreaddons.desktopparser: Could not locate service type file kservicetypes5/plasma-popupapplet.desktop, tried ("/home/u/.local/share", "/usr/share/plasma", "/usr/local/share", "/usr/share", "/var/lib/snapd/desktop")
kf5.kcoreaddons.desktopparser: Could not locate service type file kservicetypes5/plasma-popupapplet.desktop, tried ("/home/u/.local/share", "/usr/share/plasma", "/usr/local/share", "/usr/share", "/var/lib/snapd/desktop")
Both point size and pixel size set. Using pixel size.
kf5.kcoreaddons.desktopparser: Could not locate service type file kservicetypes5/plasma-popupapplet.desktop, tried ("/home/u/.local/share", "/usr/share/plasma", "/usr/local/share", "/usr/share", "/var/lib/snapd/desktop")
kf5.kcoreaddons.desktopparser: Could not locate service type file kservicetypes5/plasma-popupapplet.desktop, tried ("/home/u/.local/share", "/usr/share/plasma", "/usr/local/share", "/usr/share", "/var/lib/snapd/desktop")
kf5.kcoreaddons.desktopparser: Could not locate service type file kservicetypes5/plasma-popupapplet.desktop, tried ("/home/u/.local/share", "/usr/share/plasma", "/usr/local/share", "/usr/share", "/var/lib/snapd/desktop")
kf5.kcoreaddons.desktopparser: Could not locate service type file kservicetypes5/plasma-popupapplet.desktop, tried ("/home/u/.local/share", "/usr/share/plasma", "/usr/local/share", "/usr/share", "/var/lib/snapd/desktop")
networkmanager-qt: void NetworkManager::NetworkManagerPrivate::propertiesChanged(const QVariantMap&) Unhandled property "AllDevices"
networkmanager-qt: void NetworkManager::NetworkManagerPrivate::propertiesChanged(const QVariantMap&) Unhandled property "Devices"
networkmanager-qt: void NetworkManager::NetworkManagerPrivate::propertiesChanged(const QVariantMap&) Unhandled property "GlobalDnsConfiguration"
networkmanager-qt: virtual void NetworkManager::DevicePrivate::propertyChanged(const QString&, const QVariant&) Unhandled property "LldpNeighbors"
networkmanager-qt: virtual void NetworkManager::DevicePrivate::propertyChanged(const QString&, const QVariant&) Unhandled property "Real"
networkmanager-qt: virtual void NetworkManager::DevicePrivate::propertyChanged(const QString&, const QVariant&) Unhandled property "LldpNeighbors"
networkmanager-qt: virtual void NetworkManager::DevicePrivate::propertyChanged(const QString&, const QVariant&) Unhandled property "Real"
networkmanager-qt: virtual void NetworkManager::DevicePrivate::propertyChanged(const QString&, const QVariant&) Unhandled property "S390Subchannels"
networkmanager-qt: virtual void NetworkManager::DevicePrivate::propertyChanged(const QString&, const QVariant&) Unhandled property "LldpNeighbors"
networkmanager-qt: virtual void NetworkManager::DevicePrivate::propertyChanged(const QString&, const QVariant&) Unhandled property "Real"
networkmanager-qt: virtual void NetworkManager::DevicePrivate::propertyChanged(const QString&, const QVariant&) Unhandled property "LldpNeighbors"
networkmanager-qt: virtual void NetworkManager::DevicePrivate::propertyChanged(const QString&, const QVariant&) Unhandled property "Real"
networkmanager-qt: virtual void NetworkManager::DevicePrivate::propertyChanged(const QString&, const QVariant&) Unhandled property "LldpNeighbors"
networkmanager-qt: virtual void NetworkManager::DevicePrivate::propertyChanged(const QString&, const QVariant&) Unhandled property "Real"
networkmanager-qt: virtual void NetworkManager::DevicePrivate::propertyChanged(const QString&, const QVariant&) Unhandled property "LldpNeighbors"
networkmanager-qt: virtual void NetworkManager::DevicePrivate::propertyChanged(const QString&, const QVariant&) Unhandled property "Real"
networkmanager-qt: virtual void NetworkManager::DevicePrivate::propertyChanged(const QString&, const QVariant&) Unhandled property "LldpNeighbors"
networkmanager-qt: virtual void NetworkManager::DevicePrivate::propertyChanged(const QString&, const QVariant&) Unhandled property "Real"
networkmanager-qt: virtual void NetworkManager::DevicePrivate::propertyChanged(const QString&, const QVariant&) Unhandled property "LldpNeighbors"
networkmanager-qt: virtual void NetworkManager::DevicePrivate::propertyChanged(const QString&, const QVariant&) Unhandled property "Real"
kf5.kcoreaddons.desktopparser: Could not locate service type file kservicetypes5/plasma-popupapplet.desktop, tried ("/home/u/.local/share", "/usr/share/plasma", "/usr/local/share", "/usr/share", "/var/lib/snapd/desktop")
kf5.kcoreaddons.desktopparser: Could not locate service type file kservicetypes5/plasma-popupapplet.desktop, tried ("/home/u/.local/share", "/usr/share/plasma", "/usr/local/share", "/usr/share", "/var/lib/snapd/desktop")
kf5.kcoreaddons.desktopparser: Could not locate service type file kservicetypes5/plasma-popupapplet.desktop, tried ("/home/u/.local/share", "/usr/share/plasma", "/usr/local/share", "/usr/share", "/var/lib/snapd/desktop")
kf5.kcoreaddons.desktopparser: Could not locate service type file kservicetypes5/plasma-popupapplet.desktop, tried ("/home/u/.local/share", "/usr/share/plasma", "/usr/local/share", "/usr/share", "/var/lib/snapd/desktop")
ktp-common-internals: Current presence changed
ktp-common-internals: Current presence changed

 


Restarting KDE Plasma by Killing plasmashell and then restart it in the background (ignore output).

$ killall plasmashell && plasmashell > /dev/null 2>&1 & disown
[1] 2054

 

Restarting KDE Plasma by running kquitapp5 and then restart it in the background.

 kquitapp5 plasmashell && plasmashell &

 

 

I hope it helps.

Happy open-source coding to everyone! 🙂

linux, rethinkdb, Uncategorized

Running a RethinkDB Proxy as Daemon

 

In this article we are going to learn the commands and steps to have a install daemonize package on Ubuntu 16.10,Ubuntu 14.04, CentOS 6, CentOS 7, Fedora, etc …

Quick Install Daemonize:

wget https://github.com/bmc/daemonize/archive/release-1.7.7.tar.gz
tar -xvzf release-1.7.7.tar.gz
cd daemonize-release-1.7.7/
sh configure
make
sudo make install

 

Running RethinkDB Proxy with Daemonize:

daemonize -E BUILD_ID=dontKillMe -p /opt/rethinkdb_proxy.pid \ 
/usr/bin/rethinkdb proxy --join yourcluster:29015 \
--http-port 8095 --bind all

 

Check all the other usages for daemonize:

# daemonize
daemonize, version 1.7.7
Usage: daemonize [OPTIONS] path [arg] ...

OPTIONS

-a Append to, instead of overwriting, output files. Ignored
 unless -e and/or -o are specified.
-c <dir> Set daemon's working directory to <dir>.
-e <stderr> Send daemon's stderr to file <stderr>, instead of /dev/null.
-E var=value Pass environment setting to daemon. May appear multiple times.
-o <stdout> Send daemon's stdout to file <stdout>, instead of /dev/null.
-p <pidfile> Save PID to <pidfile>.
-u <user> Run daemon as user <user>. Requires invocation as root.
-l <lockfile> Single-instance checking using lockfile <lockfile>.
-v Issue verbose messages to stdout while daemonizing.

 

Cheers.