3 December 2020

Salesforce buys Slack

 Cloud CRM juggernaut Salesforce has gobbled up the Slack team collaboration platform for $28bn.

Although Slack was still growing at a healthy pace, it was bypassed by MS Teams last year.

With the backing of Salesforce, Slack will be have the means to strike back.

 

A Salesforce MVP (Most Valuable Professional) : 

There is still no compelling reason to use Slack over Chatter. You still should NOT share your corporate data out to any external system, even Teams.

They're already convinced it's better than Teams. But why did day cash out all that money if they've got something better in house?

12 November 2020

HP PRINT FREE FOR LIFE dies

HP rolled out a subscription policy for home use of printer ink.

The low tier of the subscription was... free. 

If you signed up for the print free for life plan, you could print 15 pages for free each month.

Life is short at HP is seems: after 3 years HP terminated the print free for life plan, and customers need to pay $12/year now.

more...

EU takes on amazon for monopoly abuse

The EU has, in a preliminary report, accused amazon of using data of third party retailers on the platform to position its own products.

The EU is also opening an investigation on amazon promoting its own products and those of parties using its services over other third parties on the amazon platform.

29 September 2020

Android 12 allowing alternate playstores, disallowing alternate pay

After the controversy over the margins the play stores (Huawei, Epic Games...) Google is allowing alternate playstores on Android.

They will enforce over the exclusive use of Google Pay for all payments more strictly, however.

more...

20 September 2020

TikTok deal with Oracle

Part of the global activities of TikTok will be sold to Oracle and other investors.
Oracle will also run the TikTok US infrastructure.
Seems like Larry Ellison has invested his money wisely.

19 September 2020

git links

Windows: which java version do I use?

 On windows oracle java uses quite a complicated way to find the java executable.

> echo %PATH%
C:\Program Files (x86)\Common Files\Oracle\Java\javapath;...

Starting from javapath it uses quite a complex mechanism, which well explained in this stackoverflow answer.

Ultimately the windows registry is used, like I also explained earlier.

When you frequently have to hop from one Java version to another, it is a good idea to store the path to your java binaries in the JAVA_HOME environment variable and prepend that to your windows path.

17 September 2020

Specflow support on Jetbrains Rider

Specflow is a .Net implementation for Behaviour Driven Development using the Gherkin language. It is the .Net counterpart of the popular Cucumber library for Java.

Specflow is well intergrated in MS Visual Studio, but is not supported in JetBrains Rider

Here's an open source integration for Rider for simple cases.

14 September 2020

Java 15 new features

 On september 15th Java SE 15 is released, along with some preview features, these are the new features:

Hidden classes

Classes that are dynamically generated by frameworks that can not be discovered (and thus not directly used) through reflection.

Text blocks

Support for strings containing newlines. Text blocks are delimited using """ (triple double quote).
Indent and trailing spaces are removed from such strings (i.e. you can paste in indented code, the blanks will be removed).
Normal string escape characters (\n, \t,...) apply, and some extra escape characters are added:
\
\ at the end of a line: escapes the newline (the newline will not appear in the final string)
\s
A hard space. This space (and any preceding spaces) will not be removed, even if it is a trailing space.

29 August 2020

Facebook's Zuckerberg lobbied against tiktok

US president Trump's measures against tiktok may not have come from Chinafobia.

Facebook's CEO Marc Zuckerberg has been actively lobbying against the popular Chinese internet video company.

Maybe Trump owned Facebook a little favour after his 2016 election?

With this move the US is following China's example of nationalising the internet.

This may have far reaching implications for the open internet as we know it.

It might also backlash if other countries take the same actions against US internet companies.

 

If you could read my mind: brain monitoring implants

Neuralink, a company owned by  Elon Musk, is working on brain reading implants.

A first application could be giving direct brain instructions for certain tasks. 

The readings are currently not precise enough for more impactful applications.

The company is concentrating on basic enabling technology: real time reading of brain activity and surgery for inserting and removing the implant.

more...

13 June 2020

windows credentialmanager in het nederlands: referentiegegevensbeheer

I veranderde per ongeluk een git paswoord in windows credential manager.
Hoewel die authenticatie niet werkt, slaat de credential manager die op en wordt de toegang vanaf dan geweigerd zonder dat je een nieuwe poging kan doen om je paswoord te corrigeren.
In het control panel kon ik die niet terug vinden omdat mijn systeem in het nederlands draait.
Blijkt dat je moet zoeken naar referentiegegevensbeheer, en dan kan je je paswoord corrigeren.
In microsoft help wordt verkeerdelijk vermeld dat je naar aanmeldingsgegevensbeheer moet zoeken. Blijkbaar gebruikt Microsoft verschillende vertalingssystemen op verschillende plaatsen...

18 May 2020

Google bans apps from playstore for mentioning corona

On Google playstore only government approved apps are allowed to mention corona.
This is a frightening act of censorship, even though Google claims the policy is there to protect the users from malicious apps.
More...

22 April 2020

Intellij IDEA 2020.1 highlights

  • You can now download and configure the desired JDK from your IDE, by selecting it from a drop down menu.
    Oracle restrictions on  long term support for java and open source initiatives to mitigate the problem have complicated the process of finding the right JDK. A welcome help for the novice user.
  • Inline refactorings. It has always been counterintuitive that a simple thing like a rename was a refarctoring. Now IntelliJ will detect when you edit the signature of a method and automatically prompts you for a refactoring in a little drop down.

  • code vision: in-code indications of usages/implementations of methods
  • debugger dataflow analysis: the debugger predicts values of variables in statements you have not reached yet, by analysing your code
  • The code profiler lets you to filter out the calls you want to focus on 
  • Reworked git/VCS integration
  • Better update support after Gradle/Maven modifications 
  • You can split the terminal window now
  • support for
    • Selenium testing
    • OpenAPI, Swagger codegen
    • Vuex
more...

Facebook censors vietnamese content

Facebook is censoring posts with govenrment criticism in Vietnam,
after the government was pressuring them by restricting access to the Facebook site in their country.

more...

6 April 2020

Upload .jpg to Google photos failed

I tried uploading a .jpg (obtained from a scan with my Canon Pixma) to Google photos but this failed.
I tried drag & drop and uploading from my computer, both did not work.
The photo is not even shown as a possible upload when browsing on my computer, because the .jpg type is not among the supported file types. .jpeg is present however, so I renamed my scan to .jpeg and lo!, the photo uploads without a problem.
Seems I'm not the only one having this problem, judging from the upvotes on this closed thread on support.google.com > photos.

26 March 2020

Microsoft (GitHub) buys npm

Microsoft is acquiring npm through its earlier GitHub acquistion. npm is the javascript industry de facto standard package management and hosting software.
By announcing this as a GitHub buy, microsoft is apparently trying to pass this as smoothly as possible, to the open source community.
With VSCode, GitHub and npm microsoft sure has a strong grip on the operation of the open source community.

18 March 2020

Java 14 released: switch expressions

    switch (day) {
        case MONDAY, FRIDAY, SUNDAY -> System.out.println(6);
        case TUESDAY                -> System.out.println(7);
        case THURSDAY, SATURDAY     -> System.out.println(8);
        case WEDNESDAY              -> System.out.println(9);
    }

    int numLetters = switch (day) {
        case MONDAY, FRIDAY, SUNDAY -> 6;
        case TUESDAY                -> 7;
        case THURSDAY, SATURDAY     -> 8;
        case WEDNESDAY              -> 9;
    };
    Also:
    • NullPointerExceptions can now report which variable was null, but this is off by default. To enable use the commond line option -XX:+ShowCodeDetailsInExceptionMessages.
    • Java 14 says goodbye to its Sun origins by deprecating the Solaris (OS) and SPARC (processor) ports
    • some preview and incubator features, scheduled for future releases

    Citizens being tracked to map Corona spread

    We all know the technologies of Google to track your location history.
    The register reports that governements are deploying these technologies to track where people infected with corona where before and with whomm they had contact.
    China has such a system in place and Iran is reportedly doing the same.
    The Israeli caretaker government also has enabled this, without consent from parliament or the relevant committees. The data are under strict oversight and limited to thirty days.
    In America the Trump administration is talking to Google and Facebook to supply these data.
    Governments all over the world are eagerly taking the opportunity to  overrule privacy rights of citizens.

    21 February 2020

    AI succesfully selects antibiotics candidate

    MIT researches have trained an AI system on databases of antibiotics molecules. Then they have used the system to select from a set of candidates the most promising molecules that were structurally different from existing antibiotics. The system selected 8 molecules, from which the team finally picked one. The molecule was named halicin, after the 2001 - Space odissey computer, HAL. Halicin has proved effective in the lab against multiple baceria, some of which are highly resistant against current antibiotics. Although the system only helped to narrow down the selection to concentrate efforts on some candidates, it looks like a great help to increase the efficiency of the antibiotics research.

    16 February 2020

    Oracle employees run petition against their boss funding the Trump campaign

    Oracle employees have started an online petition against a fund raising event for the re-election campaign of president Donald Trump by Larry Ellison, founder and CTO of Oracle.

    12 February 2020

    git on Windows: HTTP basic authentication failed

    I had been playing a bit with git security: SSH authentication, GPG signing, different user accounts and the like. A little later I reverted back to HTTPS, but now my gitlab push failed with
    HTTP basic authentication failed.
    No matter which git config i changed, I could not get this going.
    Problem is that credentials were cached in the windows credential manager.
    Hard to find an interface to that program. The command you have to run to get access is

    > rundll32.exe keymgr.dll, KRShowKeyMgr
    This gives you a window with a list of cached credentials. I Removed the gitlab entry and lo! next time I push I get a nice popup requesting my username/password. Next push, everything works without the popup, means Windows credential manager caches the right stuff from now on.

    3 February 2020

    Berlin traffic jam

    Streets in red indicate traffic jams on Google Maps.

    31 January 2020

    Android Studio tips

    •  If you are used to windows shortcuts, be sure to map CTRL+Y (delete line) to redo. This is OK in Intellij now, but  change does not seem to have made it to Android Studio yet
    • Markdown plugin
    • The Intellij markdown plugin does not work in Android Studio.Use the Markdown Navigator Enhanced plugin as an alternative.This is a paying plugin , but it is free for Community IDE's, and I think Android Studio qualifies as such.
      Works fine for me anyway.

    29 January 2020

    Git error on new repository: fatal: refusing to merge unrelated histories

    Scenario

    You have a local project you want to add to a git cloud repository (like github).
    You create an empty git repository on the platform.
    On your local system you add the repository to your project, for example by doing:

    $ cd myProject
    $ git remote add origin https://github.com/myAccount/myProject.git
    $ git push -u origin -all
    error: failed to push some refs to https://github.com/myAccount/myProject.git
    hint: Updates were rejected because the remote contains work that you do
    hint: not have locally. This is usually caused by another repository pushing
    hint: to the same ref. You may want to first integrate the remote changes
    hint: (e.g., 'git pull ...') before pushing again.


    This should work without errors!? Well, let's follow the suggestion...

    $ git pull origin master
    warning: no common commits
    remote: Enumerating objects: 3, done.
    remote: Counting objects: 100% (3/3), done.
    remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
    Unpacking objects: 100% (3/3), done.
    From https://github.com/myAccount/myProject
     * branch            master     -> FETCH_HEAD
     * [new branch]      master     -> origin/master
    fatal: refusing to merge unrelated histories


    Cause

    You get this error if you created the repository on the git cloud repository with one or more files in it, for example a README.md or a license file.

    Solution

    $ git pull --allow-unrelated-histories origin master
     From https://github.com/myAccount/myProject
     * branch            master     -> FETCH_HEAD
    CONFLICT (add/add): Merge conflict in README.md
    Auto-merging README.md
    Automatic merge failed; fix conflicts and then commit the result.


    Resolve the merge conflicts, then

    $ git commit -a
    $ git push -u --allEnumerating objects: 89, done.
    Counting objects: 100% (89/89), done.
    Delta compression using up to 8 threads
    Compressing objects: 100% (81/81), done.
    Writing objects: 100% (87/87), 25.17 KiB | 560.00 KiB/s, done.
    Total 87 (delta 32), reused 0 (delta 0)
    remote: Resolving deltas: 100% (32/32), done.
    To https://github.com/myAccount/myProject
       efa6140..4dc0893  master -> master
    Branch 'master' set up to track remote branch 'master' from 'origin'.



    All's well now!

    26 January 2020

    experimental replacements for git checkout

    The git checkout command has two forms. Since git 2.23 there are two experimental separte commands for each form.

    • git restore
      • replaces git checkout <path> to restore specific files to the current working directory. Examples of old/new equivalents:
        • git checkout ac36590 hamburger.md
        • git restore -s ac36590 hamburger.md
          # -s (or --source) commit or branch
        • git checkout -- tiramisu.md
        • git restore tiramisu.md
          # restore from index
        •  
        •  other interesting options
          • --staged: restore to index
          • --staged --worktree: restore to index and working directory
    •  git switch
      • replaces git checkout to switch to another branch. Examples of old/new equivalents:
        • git checkout feature
        • git switch feature

        • git checkout -b newFeature
        • git switch -c newFeature # -c or --create

    25 January 2020

    ISOC to sell .org domain to private investors for over 1 billion dollar


    Last year ICANN (Internet Corporation for Assigned Names and Numbers), the organisation that supervises DNS, lifted the price cap on .org domain names, despite many protests. This was a decision taken by staff, not by the board. .org domain names are used by many non-profit organisations.
    Now that more money can be made here, ISOC (Internet SOCiety), the authority who manages the .org domain, has put the top domain up for sale.
    ISOC has immediatly found a candidate who wants to pay $1.135bn for it: Ethos Capital a completely new company with only two staff members, set up by... the former CEO of ICANN, Fadi Chehade, backed by investment companies. Ties of these investment companies with American republican billionaires have raised concerns about political neutrality with respect to the non-profit organisations under the .org umbrella.
    A third of the purchase is going to be financed by debt, implying that Ethos capital will have to earn a lot of money with the sale of those domains.
    People have been protesting and asked the ICANN board to halt the decision, arguing that, as ICOS never purchased .org, they do not have the right to sell it for more than a billion dollar.

    16 January 2020

    SHA-1 fully and practically broken

    Redently scientists have been able to break SHA-1, with a computational cost (e.g. on Amazon cloud) of $11K.
    You should only use the SHA-2 family of secure hash functions (SHA-256, SHA-512...) now.

    15 January 2020

    Jongeren in tijden van big data

    Met hun video’s op TikTok
    als een digitale prikklok
    weten machtige Chinezen
    heel hun leven af te lezen.

    Wie er links of rechts een date had?
    Wel, Mark Zuckerberg, die weet dat.
    Dankzij kiekjes, filmpjes, flardjes,
    ruim voorzien van tags en hartjes.

    Een id moet dezer dagen
    ook hun vingerafdruk dragen.
    Privacy is, zo te zien,
    zó 2019!

    Stijn de Paepe - dagvers 11/01/2020

    git state management

    The Three Trees


     Detailed


    9 January 2020

    Firefox 72: get rid of push notification popups

    In Firefox 72 you can now avoid random websites asking to send you notifications. Automatically say no in options> privacy and security, scroll down to notifications and click settings...
    Then:


    Additionally Firefox has enhanced security by making fingerprinting more difficult.

    Developer features:

    • debugger watchpoints: breakpoints on property changes.
    • experimental CSS motion path feauture: an easier way to animate than transform.