April 10, 2017
(work in progress)
A friend of mine got a new notebook the HP Elitebook 840 G4 with Windows 10. In this blogpost I want to document whats working and what not.
More detailed information about the hardware (lspci). You can also look at the the output of lspci -v
00:00.0 Host bridge: Intel Corporation Device 5904 (rev 02)
00:02.0 VGA compatible controller: Intel Corporation Device 5916 (rev 02)
00:14.0 USB controller: Intel Corporation Sunrise Point-LP USB 3.0 xHCI Controller (rev 21)
00:14.2 Signal processing controller: Intel Corporation Sunrise Point-LP Thermal subsystem (rev 21)
00:15.0 Signal processing controller: Intel Corporation Sunrise Point-LP Serial IO I2C Controller (rev 21)
00:15.1 Signal processing controller: Intel Corporation Sunrise Point-LP Serial IO I2C Controller (rev 21)
00:16.0 Communication controller: Intel Corporation Sunrise Point-LP CSME HECI (rev 21)
00:17.0 SATA controller: Intel Corporation Sunrise Point-LP SATA Controller [AHCI mode] (rev 21)
00:1c.0 PCI bridge: Intel Corporation Device 9d11 (rev f1)
00:1c.3 PCI bridge: Intel Corporation Device 9d13 (rev f1)
00:1d.0 PCI bridge: Intel Corporation Device 9d18 (rev f1)
00:1f.0 ISA bridge: Intel Corporation Device 9d58 (rev 21)
00:1f.2 Memory controller: Intel Corporation Sunrise Point-LP PMC (rev 21)
00:1f.3 Audio device: Intel Corporation Device 9d71 (rev 21)
00:1f.4 SMBus: Intel Corporation Sunrise Point-LP SMBus (rev 21)
00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (4) I219-V (rev 21)
01:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS522A PCI Express Card Reader (rev 01)
02:00.0 Network controller: Intel Corporation Device 24fd (rev 78)
03:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd Device a804
I installed Linux Mint 18.1. The only non standard thing i had to do, was to shrink the Windows 10 partition with gnuparted. The installer had no option for that or I did not found it. Other than that, the installation went without a hitch and I was able to start both Windows 10 and Linux mint afterwards.
The kernel which is installed is linux-image-4.4.0-72-generic.
As the display of the notebook has 2560×1440 pixel, the user interface was very small and difficult to use with both the mate and cinnamon flavor. Cinnamon has a configuration (Settings-General) where you can scale the interface for high dpi displays as that one. With the option “double” the cinnamon user interface is quite nice and usable.
- Sound works out of the box
- Special keys like dimming the display or muting work
As of now, the wifi is not working. There seems to be drivers missing. Output of lshw
description: Network controller
product: Intel Corporation
vendor: Intel Corporation
physical id: 0
bus info: pci@0000:02:00.0
width: 64 bits
While lspci gives me
Network controller: Intel Corporation Device 24fd (rev 78)
- The clock is changing in weird ways when booting into windows and linux.
- Standby does not seem to work.
January 18, 2017
If you are interested in open source and privacy friendly android apps you should have a look at this two projects.
The group Privacy Friendly Apps are a collection of Android-Applications, which are optimized based on privacy. This means that only a minimum of permissions is used. There are no unnecessary permissions, e.g. a torch application would ask for a permission to read the contacts.
They provide apps like dicer, sudoko, weather and more. You can find a list of all their apps in the google playstore.
Simple Mobile Tools: A group of simple, stupid, open source Android apps with customizable widgets, without annoying ads and unnecessary permissions.
They develop camera, file-manager, gallery apps and more. You can find the apps on github/f-droid and play store.
December 28, 2016
On Infoq.com you can wath a presentation about that:
John Rizzo introduces Twitch’s chat’s architecture, telling how their engineers investigated and worked through the issues in what turned out to be a make-or-break situation for the company.
December 5, 2016
If you are using maven you may have been flabbergasted by an error like this
[ERROR] Non-resolvable parent POM: Failure to find at.test:test:pom:23 in https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced and 'parent.relativePath' points at wrong local POM @ line 9, column 10
I had this error and was wondering why it was occurring? I had the parent artifact in my local repository. It was not missing. Maven did know this, because the log said
[DEBUG] Verifying availability of /home/stefon/.repository/at/test/test/23/test-23.pom from [central (http://repo.maven.apache.org/maven2, releases)]
So if I have the parent POM file in my repository and maven knows about it? Why are we getting an error?
As the file is not available on central, Maven will (correctly in my opinion) fail the build as the build would be non-reproducible.
So, what do we do if it is not possible to publish our parent pom artifact?
there is a CLI option that you can enabled in Maven 3.1.1 that tells Maven “I know what I am doing and don’t make that check this time” i.e. –legacy-local-repository
In other words:
mvn clean install --legacy-local-repository
Just remember: This is a hack and may break at any moment with a new maven version! There is an blog article where you can find other solutions for your problem
November 30, 2016
Java 8 is released since 2014. If you are working in an enterprise oriented company, chances are you are only now getting experience with usage of Java 8. You may ask yourself what this warning is telling you.
VM warning: ignoring option MaxPermSize=128M; support was removed in 8.0
Why is PermGen gone? An article of infoq.com tells you something of the reasoning behind this change.
November 22, 2016
If you are working behind a proxy and have to access git repositories on the internet via ssh (e.g. github), then you sooner or later (probably sooner) find out that this will not work out of the box. This is because you need to proxy your ssh connection. This summary on stackoverflow explains how to do this in a short but comprehensible manner.