28 May 2021

MS Teams integrates PowerPoint

When sharing content in Microsoft Teams, the pane to choose the screen/window to share has now moved to the right (was bottom), on my version (1.4.00.1116). 

In the pane a new option PowerPoint Live has been added. 


It opens slides directly in presenter view in teams, while attendees see the presentation itself. Attendees can even (individually) browse to other pages, if you allow them to.


Great addition, and more features are coming. Here's a Microsoft article on this, but take care: all features discussed have not been rolled out yet at the time of this writing.

Most annoying problem is that it does not remember which presentations you loaded from your local machine, so you have to reload them every time you leave the presentation to share your screen.

22 May 2021

Vue devtools plugin V5 not working with Vue 3: install plugin V6 (beta)

Even though Vue 3 was relased in september 2020 the current vue devtools plugin v5.x does not work with this version (the devtools panel does not show up when debugging a vue application).

You can install the beta for the v6 version to get some browser debugging support:

  1. Remove the old devtools plugin from your browser if present
  2. Go to the beta release channel
  3. In the assets at the bottom of the latest beta, click the vuejs_devtools_beta-6.0.0.xx-an+fx.xpi link

Good bug hunting with Vue 3!

21 May 2021

Windows: software to add (updated)

Current list of software I'm running:

28 April 2021

Corona contact tracing apps expose private data on Android

Data logged by Android contact tracing apps, which are to remain private on the local device, can be read by privileged pre-installed apps (from google, your phone manufacturer or its partners).

A stock Xiaomi Redmi Note 9, for example, has 54 preinstalled apps with elevated permissions.

More...

25 April 2021

 Write code that is easy to delete, not easy to extend.

programming is terrible - lessons learned from a life wasted

31 March 2021

Java SE 16: some goodies

Record

Records are a simple form of classes intended for value objects. Example:

public record Expert (String name, String domain) {} 

Records are like classes for immutable data with default boilerplate code added

  • all attributes are private
  • Constructor with arguments for all attributes
  • getters
  •  equals and hashCode methods
  • toString()

This is similar to the conventions used in Lombok and Kotlin data classes.

Methods can be added to the class and default methods can be overridden.

Limitations

  • no inheritance: records cannot extend classes and are implicitly final
  • extra attributes must be static

instanceof instanciation

Classic code

if (car instanceof F1) {
    F1 redBull = (F1) car;
    redBull.race();
}

Java 16

if (car instanceof F1 redBull) {
  redBull.race();  

}

jpackage

jpackage is a command to generate an installer package for you project. It can

  •     generate a classical jar for you, but adds a  startup scrip including all necessary classpaths
  •     include the JRE (or just the modules you need) to have a n installer without dependencies
  •     produce .exe, .msi, .rpm ... pacakges

23 March 2021

Proof of Concept code for MicroSoft Exchange vulnerability dissapears from GitHub

Recently Microsoft got into open source code distribution by acquiring widely used open source distribution sites like github and npm. 

Its stance with respect to open software has changed remarkably over the last years. 

But the risks of Microsoft's influence in this market become clear now: it has removed proof of concept  code that showed weaknesses in Microsoft Exchange mail servers.

Although the code is still available from other Open Source repositories like GitLab, this shows the willingness and capability of Microsoft to control the distribution of Open Source Software.

More...