Lernkultur
Bonn, Germany, Mon, 07 Sep 2020 20:05:46 +0200
#^Codequalität lehren und lernen: Erfahrungen aus 6 Jahren Programmierausbildung | heise online


Wir empfehlen Maßnahmen, um vor dem Berufseinstieg für eine bessere Ausbildung zu sorgen und eine sinnvolle Weiterbildung zu etablieren.
Rust
Sun, 30 Aug 2020 15:57:42 +0200
#^Entwicklung: Warum Rust die Antwort auf miese Software und Programmierfehler ist | heise online


Rust bringt so viele schlaue Ideen mit, dass die Programmiersprache viele Experten sofort überzeugt hat. Und hoffentlich einer rosigen Zukunft entgegensieht.
Fuzz
Bonn, Germany, Fri, 07 Aug 2020 00:23:45 +0200
#^FuzzCon Europe 2020


FuzzCon Europe is the event for everyone who wants to learn more about the latest developments, technologies, and trends in application security testing.
Theia
Wed, 01 Apr 2020 00:12:58 +0200
#^Theia 1.0 - Finally a Good Browser IDE
My experience was that it was a bit of luck if VS Code extensions did really work. Tried to debug one extension in Theia, but after 4 evenings getting lost in endless loops in the debugger I gave up. Should give it a try again.
Reminds me I still need to update Eclipse Che.
We are excited to announce Version 1.0 of Eclipse Theia, the vendor-neutral open-source IDE platform that runs in browsers and on desktops.
My experience was that it was a bit of luck if VS Code extensions did really work. Tried to debug one extension in Theia, but after 4 evenings getting lost in endless loops in the debugger I gave up. Should give it a try again.
Reminds me I still need to update Eclipse Che.
msodbcsql17 Buster
Fri, 21 Feb 2020 19:26:12 +0100
After a recent php:7.3-apache Docker image rebuild we were not able to connect to the M$SQL server anymore from our PHP application inside the docker container. Seems to be related with the Debian 9 (Stretch) --> Debian 10 (Buster) update of the official PHP base image.
The error message with the new container was:
Too lazy to find a proper solution right now, but a quick fix is to add following code to our Dockerfile:
Another lessons learned is to use the right base image tag e.g.: php:7.3-apache-stretch
The error message with the new container was:
[Microsoft][ODBC Driver 17 for SQL Server]TCP Provider: Error code 0x2746
[Microsoft][ODBC Driver 17 for SQL Server]Client unable to establish connection
Too lazy to find a proper solution right now, but a quick fix is to add following code to our Dockerfile:
RUN sed -i 's/SECLEVEL=2/SECLEVEL=1/g' /etc/ssl/openssl.cnf
Another lessons learned is to use the right base image tag e.g.: php:7.3-apache-stretch
Deprecations
Tue, 02 Apr 2019 23:04:08 +0200
Good article about #PHP development in general.
#^Help! My tests stopped working.

#^Help! My tests stopped working.

Sebastian Bergmann provides guidance on how to avoid frustration when upgrading to a new major version of PHPUnit.
Refactoring
Thu, 20 Dec 2018 22:37:51 +0100
#^Martin Fowler: "Refactoring ist heute relevanter als vor zwanzig Jahren"


Martin Fowler hat als Autor das Thema Refactoring einer breiten Öffentlichkeit vermittelt. Im Gespräch mit heise Developer erklärt er, warum er für die frisch erschienene Neuauflage seines Buchs zum Thema auf JavaScript statt Java setzt.
The Birthday Paradox mit Python erklärt
Mon, 03 Dec 2018 17:32:31 +0100
#^Gemeinsame Geburtstage unter Partygästen


Dass auf einer Geburtstagsparty mit 23 Gästen in mehr als 50 Prozent der Fälle zwei Gäste mit dem gleichen Geburtstag weilen sollen, hört sich für Mathe-Laien abenteuerlich an. Mit statistischen Bordmitteln macht sich Partylöwe Mike Schilli daran, die Behauptung zu beweisen.
Bei dem Problem kommt es auf die genaue Formulierung an. Niemand kann erwarten, auf eine Party mit 23 Leuten zu gehen und dort mit 50 Prozent Wahrscheinlichkeit jemanden mit dem gleichen Geburtsdatum zu treffen.
Trunk based development
Fri, 22 Jun 2018 16:37:23 +0200
Quite interesting reading this overview
#^Trunk Based Development - Game Changers

#^Trunk Based Development - Game Changers

Since the early 80’s a number of things have pushed best practices towards Trunk-Based Development, or away from it.
The language in use to describe such things has changed over time. Software Configuration Management (SCM) is used less today than Version Control Systems (VCS) is. A simpler still term - “Source Control” - seems to be used more recently, too.
Similarly, ‘trunk’ and ‘branch’, have not always been used as terms for controlled code lines that have a common ancestor, and are eminently (and repeatably) mergeable.
Eureka
Fri, 19 Jan 2018 00:13:59 +0100
- $dsn = $this->driver_dbtype . ':host=' . $server . (intval($port) ? '' : ';port=' . $port);
+ $dsn = $this->driver_dbtype . ':host=' . $server . (intval($port) ? ';port=' . $port : '');
It took me three evenings to find out why some database unit tests just did not want to work.

supporting PHP versions
Fri, 10 Nov 2017 23:45:25 +0100
There are libraries that drop PHP <= 7.0 support in a minor release.
But pretend to still "follow" semver in conjunction with composer. This makes it even more problematic shipping just one release source for all supported PHP versions or include vendor folder.
On the one hand I can understand their point. The libraries API is still semver and the platform requirements are transparently handled through composer. But PHP5.6 and PHP7.0 have officially EOL in end of 2018, so still over a year.

On the one hand I can understand their point. The libraries API is still semver and the platform requirements are transparently handled through composer. But PHP5.6 and PHP7.0 have officially EOL in end of 2018, so still over a year.
Calliope
Bonn, Germany, Thu, 21 Sep 2017 00:05:20 +0200
#^CALLIOPE | Home

#^CALLIOPE | Home

Unsere Mission ist es, jeder Schülerin und jedem Schüler in Deutschland ab der 3. Klasse einen spielerischen Zugang zur digitalen Welt mit Hilfe der Calliope mini zu ermöglichen.
#^CALLIOPE | Home
Our mission is to give pupils from year 3 onwards a playful approach to the digital world.
With Calliope mini you have countless creative options right at your fingertip. You want to build a robot or transmit messages? With just a few clicks you can create a program for the microprocessor and make things move.
Besides 25 red plus one RGB LED and two programmable buttons the board contains a combined position sensor with motion sensor and compass as well as a bluetooth module that allows the Calliope mini to communicate with other devices. The board can't only be programmed with your computer: you can use an app to transfer apps you created yourself to your mini computer.
Monotree, not Monorepo
Wed, 09 Aug 2017 17:29:03 +0200
Interesting blog post.
#^Why Github can't host the Linux Kernel Community
#^Why Github can't host the Linux Kernel Community
A while back at the awesome maintainerati I chatted with a few great fellow maintainers about how to scale really big open source projects, and how github forces projects into a certain way of scaling. The linux kernel has an entirely different model, which maintainers hosting their projects on github don’t understand, and I think it’s worth explaining why and how it works, and how it’s different.
Oxygen
Wed, 28 Jun 2017 21:44:56 +0200
Finally!!! Really looking forward to the included #PHPUnit support.
#^Eclipse Oxygen

#^Eclipse Oxygen

Eclipse is probably best known as a Java IDE, but it is more: it is an IDE framework, a tools framework, an open source project, a community, an eco-system, and a foundation.
HAS-A or IS-A
Mon, 17 Apr 2017 23:40:29 +0200
#^Composition over inheritance - Wikipedia


Composition over inheritance (or composite reuse principle) in object-oriented programming is the principle that classes should achieve polymorphic behavior and code reuse by their composition (by containing instances of other classes that implement the desired functionality) rather than inheritance from a base or parent class.[2] This is an often-stated principle of OOP, such as in the influential book Design Patterns.
Thou Shalt Not Depend on Me
Mon, 13 Mar 2017 13:12:14 +0100
#^Thou Shalt Not Depend on Me: Analysing the Use of Outdated JavaScript Libraries on the Web
Web developers routinely rely on third-party JavaScript libraries such as jQuery to enhance the functionality of their sites. However, if not properly maintained, such dependencies can create attack vectors allowing a site to be compromised.
In this paper, we conduct the first comprehensive study of client-side JavaScript library usage and the resulting security implications across the Web. Using data from over 133k websites, we show that 37% of them include at least one library with a known vulnerability; the time lag behind the newest release of a library is measured in the order of years. In order to better understand why websites use so many vulnerable or outdated libraries, we track causal inclusion relationships and quantify different scenarios. We observe sites including libraries in ad hoc and often transitive ways, which can lead to different versions of the same library being loaded into the same document at the same time. Furthermore, we find that libraries included transitively, or via ad and tracking code, are more likely to be vulnerable. This demonstrates that not only website administrators, but also the dynamic architecture and developers of third-party services are to blame for the Web’s poor state of library management.
The results of our work underline the need for more thorough approaches to dependency management, code maintenance and third-party code inclusion on the Web.
Dice
Wed, 08 Mar 2017 22:57:30 +0100
From the DICs I have looked at so far I like Dice the most. Especially it's documentation is one that you understand what to use it for and how. This feeling I didn't have with most of the other documentations I have read from other DICs.
#^Dice - PHP Dependency Injection Container
Maybe should take a look at the PSR-11 wrapper for Dice.
#^Dice - PHP Dependency Injection Container
Dice is a minimal, lightning fast PHP Dependency Injection Container with a focus on being easy to use.
Dice allows developers to move object creation logic out of their application logic. This has many advantages when it comes to OOP theory, but also makes the developers life easier. It tries to be as minimal and unobtrusive as possible. Everything is done to minimise and simplify application code, making the application developers job easier and making the learning curve as shallow as possible.
Maybe should take a look at the PSR-11 wrapper for Dice.
Use content element relations in TYPO3 extensions
Mon, 05 Dec 2016 16:15:15 +0100
Use content element relations in TYPO3 extensions
Wouldn’t it be cool to enable editors to use standard or custom content elements in your extensions? The consequence is that you do not have to develop each and every functionality again. In this post I will show you, how you can use all available content elements of your installation.
This website is tracked using the Piwik analytics tool. If you do not want that your visits are logged this way you can set a cookie to prevent Piwik from tracking further visits of the site (opt-out).