Skip to content

Instantly share code, notes, and snippets.

Christian Lück clue

Block or report user

Report or block clue

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@clue
clue / 2019-08-28 introducing-reactphp-stdio.md
Last active Aug 29, 2019
Introducing event-driven console I/O with ReactPHP
View 2019-08-28 introducing-reactphp-stdio.md

Today, I'm happy to announce the stable v2.3.0 release of clue/reactphp-stdio, the event-driven and UTF-8 aware console input & output (STDIN, STDOUT) library for truly interactive CLI applications, built on top of ReactPHP 🎉

Once again, the version number and its release history suggests this is not exactly a new project. In fact, this has been used in production for some projects for a few years already. So I guess it's about time to write an introductory blog post about this project and why I think @ReactPHP's design makes it a perfect fit.

PHP is not only for the web

Traditionally, PHP is most frequently used to build web pages. Additionally, more and more people are getting accustomed to using PHP to build interactive CLI (command line interface) applications that run from the terminal instead of being accessed from a web browser. This often makes sense for maintenance commands th

@clue
clue / 2019-08-23 new-domain.md
Last active Sep 10, 2019
Brief note: New domain
View 2019-08-23 new-domain.md

As of today, https://clue.engineering is the new domain for this site. This includes all past and upcoming blog posts, articles, project information, downloads etc.

All links to the legacy domain (lueck.tv) should automatically redirect to the updated location, so all incoming links should continue to function as usual. I've also updated any incoming links from public projects and profiles to point to the correct destination. If you find any broken links, please drop me a line and I'll take a look!

Additionally, I've taken this opportunity to perform some minor layout updates, thanks to some fabulous help and design reviews by @brob. This site will continue to receive some more significant updates in the nearer future, but I figured it makes sense to get the first batch of updates out as soon as possible with the updated domain. Stay tuned for more updates and blog posts to be released soon, cheers! 🥂

Brief note: As of tod

View MagicBytesSplitter.php
<?php
namespace Clue\React\Foo;
use Evenement\EventEmitter;
use React\Stream\ReadableStreamInterface;
use React\Stream\WritableStreamInterface;
use React\Stream\Util;
class MagicBytesSplitter extends EventEmitter implements ReadableStreamInterface
@clue
clue / 2019-07-11 announcing-reactphp-lts.md
Last active Aug 23, 2019
Announcing full stable ReactPHP LTS release
View 2019-07-11 announcing-reactphp-lts.md

ReactPHP – 7 years

Exactly seven years ago, 11th July 2012, the very first v0.1.0 release of ReactPHP was tagged. On last year's anniversary we took the chance to releases the first set of stable components for ReactPHP's main components. Today, we're thrilled to announce the immediate availability of the very first stable v1.0.0 release of the remaining main components of any ReactPHP application:

ReactPHP consists of a set of individual components. This means that instead of installing something like a "ReactPHP framework", you actually can pick only the components that you need. With the

@clue
clue / 2019-05-14 introducing-reactphp-sqlite.md
Last active Aug 23, 2019
Introducing async SQLite database for ReactPHP
View 2019-05-14 introducing-reactphp-sqlite.md

Today, I'm happy to announce the very first stable v1.0.0 release of clue/reactphp-sqlite, the async SQLite database for ReactPHP 🎉

Now that v1.0.0 has been tagged and released today, let's take a look at how we can use an async SQLite database in a non-blocking PHP application, how it compares to other databases and why I think @ReactPHP's design makes it a perfect fit.

About SQLite

SQLite is a widespread and efficient in-process database. It offers a common SQL interface to process queries to work with its relational data in memory or persist to a simple, portable database file. Its lightweight design makes it an ideal candidate for an embedded database in portable (CLI) applications, test environments and much more.

This library provides you a simple API to work with your SQLite database from within PHP. Because working with SQLite and the underlying filesystem is inherently bl

@clue
clue / 2019-03-11 introducting-reactphp-redis.md
Last active May 14, 2019
Introducing async Redis database client for ReactPHP
View 2019-03-11 introducting-reactphp-redis.md

Today, I'm happy to announce the v2.3.0 release of clue/reactphp-redis, the async Redis database client built on top of ReactPHP 🎉

Once again, the version number and its release history suggests this is not exactly a new project. In fact, this has been used in production in a larger number of projects for a few years already. So I guess it's about time to write an introductory blog post about this project, what Redis is all about and why I think @ReactPHP's design makes it a perfect fit.

About Redis

Redis is an open source, advanced, in-memory key-value database. It offers a set of simple, atomic operations in order to work with its primitive data types. Its lightweight design and fast operation makes it an ideal candidate for modern application stacks.

This library provides you a simple API to work with your Redis database from within PHP. It

@clue
clue / 2019-01-14 introducing-reactphp-child-process.md
Last active Aug 23, 2019
Introducing event-driven child process for ReactPHP
View 2019-01-14 introducing-reactphp-child-process.md

Today, we're very happy to announce the immediate availability of the next major beta release of reactphp/child-process, the event-driven library for executing child processes with ReactPHP. 🎉

ReactPHP ❤️ Windows

As the main feature of this v0.6.0 release, this library now has limited Windows support and supports passing custom pipes and file descriptors to the child process. Let's look into why we think this is a major milestone for this project and how this can be used to spawn a child process to offload a blocking process in a non-blocking way with ReactPHP.

This post aims more for the "why" instead of "what" has changed. This release involves a few minor BC breaks, but we expect that most consumers of this package will actually not be affected. If you're upgrading from a previous version of this project, you may want to take a look at the changelog describing all

@clue
clue / 2018-01-07 introducing-tls-1-3-for-reactphp.md
Last active Aug 23, 2019
Introducing TLS 1.3 for ReactPHP
View 2018-01-07 introducing-tls-1-3-for-reactphp.md

Today, we're very happy to announce the immediate availability of the next v1.2.0 feature release of reactphp/socket, the async, streaming plaintext TCP/IP and secure TLS socket server and client for ReactPHP. 🎉

As the main feature of this release, this library now has improved support for secure TLS 1.3 connections for both server side connections as well as client side connections. TLS 1.3 is an official standard as of August 2018. The protocol has major improvements in the areas of security, performance, and privacy. It is an exciting protocol update that we can expect to benefit from for years to come. Not only will encrypted connections (such as HTTPS) become faster, but they will also be more secure. If you want to learn more about TLS 1.3, see also CloudFlare's excellent introduction.

As a

@clue
clue / 2019-01-01 2018-in-review.md
Last active Aug 23, 2019
2018 - A Year In Review
View 2019-01-01 2018-in-review.md

Without further ado, let me start with saying:

<?php

echo 'Happy New Year! 🎉';

Now with a fresh start, let's take a moment to review some of my highlights of the past year. In 2018…

@clue
clue / 2018-12-19 introducing-reactphp-ssh-proxy.md
Last active Aug 23, 2019
Introducing SSH proxy connector for ReactPHP
View 2018-12-19 introducing-reactphp-ssh-proxy.md

Today, I'm happy to announce the very first stable v1.0.0 release of clue/reactphp-ssh-proxy 🎉

Async SSH proxy connector and forwarder, tunnel any TCP/IP-based protocol through an SSH server, built on top of ReactPHP.

Now that v1.0.0 has been tagged and released today, let's take a look at how we can use SSH tunnels as a powerful feature for many different use cases, how it compares to other proxy protocols and why I think @ReactPHP's design makes it a perfect fit.

SSH proxy a.k.a. SSH tunnel

Secure Shell (SSH) is a secure network protocol that is most commonly used to access a login shell on a remote server. Its architecture allows it to use multiple secure channels over a single connection. Among others, this can also be used to create an "SSH tunnel", which is commonly used to tunnel HTTP(S) traffic through an intermediary ("proxy"), to conceal the origin address (anonymity) or to

You can’t perform that action at this time.