Wednesday, June 30, 2021

Service Mesh: HashiCorp Consul

Consul by HashiCorp


Service Mesh for any runtime or cloud
Consul automates networking for simple and secure application delivery.

A Terrible, Horrible, No-Good, Very Bad Day at Slack - Slack Engineering


This story describes the technical details of the problems that caused the Slack downtime on May 12th, 2020.

the story behind an outage can make for good reading indeed and so it went here with Slack early in 2020. It came down to how they were using HAProxy.


Consul for service discovery, and consul-template to render lists of healthy webapp backends that HAProxy should route requests to.


moving towards Envoy Proxy for all of our ingress load-balancing (we’ve recently moved our websockets traffic onto Envoy


HAProxy - The Reliable, High Performance TCP/HTTP Load Balancer


Tuesday, June 29, 2021

Azure Arc: Hybrid and Multicloud

 5 reasons to attend the Azure Hybrid and Multicloud Digital Event | Azure Blog and Updates | Microsoft Azure

Be more productive and agile with hybrid cloud solutions. Azure Hybrid and Multicloud Digital Event. June 29, 2021

Azure Hybrid and Multicloud Digital Event
Tuesday, June 29, 2021
9:00 AM–11:00 AM Pacific Time (UTC-7)

SMS => RCS (Rich Communication Services): "mini apps"

RCS Messaging: The New Application Development Platform | nativeMsg

RCS (Rich Communication Services) is the next evolution of SMS/MMS services on the mobile device. Essentially, RCS brings features of advanced, rich messaging to the native SMS inbox. All the cool buttons, carousels and widgets you see in over-the-top messaging apps like Facebook Messenger, Telegram and WhatsApp will soon be available in the native SMS inbox on your phone. One caveat to date, RCS is only supported natively on Android devices – Apple/iOS has not yet publicly announced support for it.

The upgrade from SMS/MMS to RCS is not a slight one and that makes this even more compelling. You have the most used channel by volume globally upgrading from command line text to a rich graphical interface in the year 2019 and beyond. Here are some of the features you will see with RCS: the verified sender giving improved customer peace of mind; branding with name, logo and color; rich media with images, videos, and GIFS; true metrics supplying read receipts and other advanced analytics ; QR codes for tickets, tracking, and redemptions; suggested replies giving customized reply buttons; suggested actions with URL, map, calendar, or dialer functionality (GSMA).


RCS Business Messaging  |  Google Developers


Monday, June 28, 2021

mobile: Kotlin Multiplatform / Native

 Kotlin for Cross-Platform Mobile Development | Kotlin Multiplatform Mobile

Kotlin Multiplatform Mobile allows you to use a single codebase for the business logic of iOS and Android apps. You only need to write platform-specific code where it’s necessary, for example to implement a native UI or when working with platform-specific APIs.


Kotlin Native | Kotlin


Netflix Android and iOS Studio Apps — now powered by Kotlin Multiplatform | by Netflix Technology Blog | Netflix TechBlog



Saturday, June 26, 2021

Chess-AI

GitHub - SebLague/Chess-AI

"A fairly simple chess program, implementing in C# in the Unity game engine."

Tuesday, June 22, 2021

node.js "web containers" in Chrome web browser

JavaScript run directly in Chrome, only "native" parts of node.js run compiled to WASM.

not open source (yet). 

mostly intended for development tools / environment.

claims to be 20% faster than "native" node.js 

also mentioned "OS in browser" also running on WASM. 

interesting... 

Running Node natively in the browser with Eric Simons from StackBlitz (JS Party #178) |> Changelog


Introducing WebContainers

Key WebContainer Components
  • Virtual File System with lazy-loading capabilities
  • Virtual Networking
  • Multi-threaded/multi-process application support
  • Inter-Process communication/process signaling
  • POSIX-esque shell with ability to shell out between processes

Thursday, June 17, 2021

Wednesday, June 16, 2021

Rust for Node.js Developers

Deep Dive into Rust for Node.js Developers | by Florian GOTO | May, 2021 | ITNEXT

With the advent of WebAssembly (home) there has never been a better time to learn Rust on top of your existing JavaScript and Node.js knowledge for high performance computing in the browser, on the server and on the edge.

Monday, June 14, 2021

GitHub: Web Components with Catalyst

no jQuery anymore, but no React, Angular or View either

They do use TypeScript though!

GitHub's Journey with Web Standards and Web Components @InfoQ


"The starting point to write a new Web Component at GitHub is Catalyst, a framework relying on TypeScript and decorators to reduce boilerplate and adopting an observe, listen, query approach to handle state change and user interaction. GitHub also created a Web Components linter which is used along its generic JavaScript linter."

How we use Web Components at GitHub | The GitHub Blog


Removing jQuery from GitHub.com frontend | The GitHub Blog


Catalyst

"Web Components made easy"

Catalyst took inspiration from the excellent Stimulus library, and Google’s LitElement.

Introduction - Catalyst


Saturday, June 12, 2021

efficient JavaScript: ArrayBuffer & typed arrays

JavaScript typed arrays - JavaScript | MDN

JavaScript typed arrays are array-like objects that provide a mechanism for reading and writing raw binary data in memory buffers.

To achieve maximum flexibility and efficiency, JavaScript typed arrays split the implementation into buffers and views. A buffer (implemented by the ArrayBuffer object) is an object representing a chunk of data; it has no format to speak of and offers no mechanism for accessing its contents. In order to access the memory contained in a buffer, you need to use a view. A view provides a context — that is, a data type, starting offset, and the number of elements — that turns the data into a typed array.

Typed arrays in an ArrayBuffer

ArrayBuffer - JavaScript | MDN

Uint8Array - JavaScript | MDN

ArrayBuffer, binary arrays


How to convert ArrayBuffer to and from String  |  Web @developers.google


Typed Arrays: handling binary data (advanced) • JavaScript for impatient programmers (ES2021 edition)

Wednesday, June 09, 2021

Stack Overflow => $1.8 Billion

 The $1.8 Billion Acquisition Of Stack Overflow Aims To Turbocharge The World’s Software Knowhow

"In yet another sign that the world is software-driven, Prosus N.V., one of the world’s largest tech investment firms operating as the international Internet assets arm of South African multinational Naspers, announced on June 2 that it’s acquiring Stack Overflow, a global knowledge-sharing platform for developers and technologists, for $1.8B. Prosus already owns significant stakes in online education companies Udemy and Codecademy, in addition to a number of other tech companies—most notably, Tencent."

Scrum Checklist: 2x work in 1/2 time

Agile / Scrum: learning how to "land a plane" 

Scrum: the art of doing twice the work in half the time by Jeff Sutherland - YouTube

Jeff Sutherland - Wikipedia

Scrum: How to do twice as much in half the time | Jeff Sutherland | TEDxAix - YouTube



Plans Are Worthless, But Planning Is Everything – Quote Investigator


Dwight D. Eisenhower apparently made a paradoxical statement about preparation.
Here are two versions:

1) Plans are useless, but planning is indispensable.

2) Plans are worthless, but planning is essential.


 SCRUM: Twice the Work, Half the Time - YouTube

  1. LIST: Create/Update a Backlog List (list document)  
  2. ESTIMATE:  Fibonacci numbers 1,2,3,5,8,13
  3. POPULATE: Make Work Next Actions Visible 
  4. CHART: Make Work Progress Visible 
  5. ASK: Conduct 15-minute Daily Stand-up Meetings  
  6. DEMONSTRATE: Host a Sprint Demonstration  
  7. REFLECT: Conduct a Sprint Retrospective (lessons learned document)  

Scrum (software development) - Wikipedia





Monday, June 07, 2021

Sunfish: a Python Chess Engine in 111 lines of code

 GitHub - thomasahle/sunfish: Sunfish: a Python Chess Engine in 111 lines of code

"Sunfish is a simple, but strong chess engine, written in Python, mostly for teaching purposes. Without tables and its simple interface, it takes up just 111 lines of code! (see compressed.py) Yet it plays at ratings above 2000 at Lichess.

Because Sunfish is small and strives to be simple, the code provides a great platform for experimenting. People have used it for testing parallel search algorithms, experimenting with evaluation functions, and developing deep learning chess programs."

My move: g8f6 8 ♖ ♘ ♗ ♕ ♔ ♗ · ♖ 7 ♙ ♙ ♙ ♙ ♙ ♙ ♙ ♙ 6 · · · · · ♘ · · 5 · · · · · · · · 4 · · · · ♟ · · · 3 · · · · · · · · 2 ♟ ♟ ♟ ♟ · ♟ ♟ ♟ 1 ♜ ♞ ♝ ♛ ♚ ♝ ♞ ♜ a b c d e f g h Your move:

Python: Sunfish chess engine (PDF)

Sunfish - Chessprogramming wiki

Author: Thomas Dybdahl Ahle | LinkedIn

"Thomas Dybdahl Ahle is a Post Doctoral Researcher at the Basic Algorithms Research group (BARC) in Copenhagen. He is an expert in the analysis of very large datasets and related optimization and infrastructural problems. Thomas has a PhD in Computer Science from Copenhagen and a Bachelor of Arts from the University of Oxford."


chess-engine · GitHub Topics · GitHub


Building My Own Chess Engine — Andrew Healey

To build healeycodes/andoma, I used the following resources (and recommend all of them).



Blue Origin - human flight plan

Blue Origin - Wikipedia

Jeff Bezos Plans to Travel to Space on Blue Origin Flight



Sunday, June 06, 2021

podcast: GOTO

 GOTO - For Developers, By Developers RSS Feed

GOTO - For Developers, By Developers - When To Use Microservices (And When Not To!) • Sam Newman & Martin Fowler • GOTO 2020

When To Use Microservices (And When Not To!) • Sam Newman & Martin Fowler • GOTO 2020 - GOTO - For Developers, By Developers | Podcast on Spoti

fy

Hybrid Cloud Containers management

AWS Outposts overview (HW + SW)

"AWS Outposts is a fully managed service that offers the same AWS infrastructure, AWS services, APIs, and tools to virtually any datacenter, co-location space, or on-premises facility for a truly consistent hybrid experience. AWS Outposts is ideal for workloads that require low latency access to on-premises systems, local data processing, data residency, and migration of applications with local system interdependencies."

 Amazon Elastic Container Service Anywhere is now generally available (SW)

"Amazon ECS Anywhere provides a fully managed container orchestration service that enables customers to run and manage containerized applications on-premises using the same APIs, cluster management, workload scheduling, monitoring, and deployment pipelines they use with Amazon ECS today. Customers can use Amazon ECS Anywhere on their own infrastructure by connecting their servers or instances to the managed Amazon ECS control plane. Enterprises who need to keep their data on-premises for latency or regulatory reasons can now use a single and consistent cloud-managed container orchestrator across their hybrid footprint."



"Extend Azure services and capabilities to your environment of choice—from the datacenter to edge locations and remote offices—with Azure Stack. Build, deploy, and run hybrid and edge computing apps consistently across your IT ecosystem, with flexibility for diverse workloads."

Azure Arc - Hybrid & Multicloud | Microsoft Azure (SW)

"Azure Arc offers simplified management, faster app development, and consistent Azure services. Easily organize, govern, and secure Windows, Linux, SQL Server, and Kubernetes clusters across data centers, the edge, and multicloud environments right from Azure."





"Anthos is a managed application platform that extends Google Cloud services and engineering practices to your environments so you can modernize apps faster and establish operational consistency across them.
Build, deploy, and optimize applications anywhere—simply, flexibly, and securely
Consistent development and operations experience for hybrid and multicloud environments"




"Red Hat® OpenShift® is an enterprise-ready Kubernetes container platform with full-stack automated operations to manage hybrid cloud, multicloud, and edge deployments. Red Hat OpenShift is optimized to improve developer productivity and promote innovation."


Saturday, June 05, 2021

When To Use Microservices (And When Not To!)

Cover image for Building Microservices

 GOTO 2020 • When To Use Microservices (And When Not To!) • Sam Newman & Martin Fowler - YouTube


Martin Fowler and Sam Newman: When to Use Microservices (And When Not To!) - GOTOpia


Building Microservices

Sam Newman Monolith To Microservices


Monolith To Microservices - Book Overview - YouTube

Episode #100: All Things Serverless with Jeremy Daly - Serverless Chats Podcast

Ethereum 2.0: from Proof-of-Work to Proof-of-Stake

#188 - Vitalik Buterin: Ethereum 2.0 | Lex Fridman Podcast



Vitalik’s Twitter: https://twitter.com/VitalikButerin

Vitalik’s Blog: https://vitalik.ca/






"One of the reasons that early blockchain implementations (Bitcoin and Ethereum included) suffered from performance issues was the fact that they rely on a processing-power-intensive process known as proof of work to validate and record transactions. In such a system, participating computer nodes compete to generate cryptographic hashes that satisfy a network-determined level of complexity. To maintain security, that complexity level is kept high enough that it would deter anyone from attacking the network because it would be too costly to operate the required hardware.

The problem with proof of work is that it’s terribly inefficient, and that’s by design. To begin solving that problem, Ethereum 2.0 is going to transition its blockchain to a more efficient, proof-of-stake system. In such a system, the node that records each transaction is chosen by an algorithm, with chances of selection increasing with the amount of the currency the node’s owner holds. That makes it possible to dramatically decrease the complexity of the cryptographic work, leading to massive throughput gains for the whole network. As each node must stake its own currency to participate, it would remain prohibitively expensive for anyone to attack the network."



"The switch from Proof-of-Work to Proof-of-Stake

The biggest change in the upgrade of Ethereum from 1.0 to 2.0 is the switch from the work-based PoW to stake-based PoS. PoS (Proof of Stake) is a low-cost, low-energy type of consensus that involves the allocation of responsibility of maintaining the blockchain ledger to a participant node based on their proportion of the virtual currency they hold. With PoW, getting the right answer is easy, but getting the wrong answer is expensive. PoW rewards the miner for finding the right answer while PoS punishes the miner for getting the wrong answer.'








Operating system Cross-platform
Platform x86-64, ARM
Size 300 GB (2020-03)




Friday, June 04, 2021

Open source on Mars

Open source goes to Mars 🚀 with Martin Woodward, DevRel @ GitHub (The Changelog #440) |> Changelog

"first Mars Helicopter, Ingenuity, took flight in the thin Martian atmosphere. This is an incredible achievement for the teams at NASA and the Jet Propulsion Lab (JPL). It’s also an achievement powered, in part, by an invisible team of open source developers from around the world. In fact, nearly 12,000 developers on GitHub contributed to Ingenuity’s software via open source. And yet, much like the first image of a black hole, most of these developers are not even aware that they helped make the first Martian helicopter flight possible."



Thursday, June 03, 2021

CoreWCF: WCF => .NET Core

 CoreWCF Reached Its First GA Release

CoreWCF project is a port of Windows Communication Framework (WCF) to .NET Core. The main goal of this project is to enable existing WCF projects to move to .NET Core and after 21 months of public development, CoreWCF has reached its first GA release.

Wednesday, June 02, 2021

kslDB

ksqlDB Homepage

The database purpose-built for stream processing applications.

Real-time

Build applications that respond immediately to events. Craft materialized views over streams. Receive real-time push updates, or pull current state on demand.

Kafka-native

Seamlessly leverage your existing Apache Kafka® infrastructure to deploy stream-processing workloads and bring powerful new capabilities to your applications.

What, not how

Use a familiar, lightweight syntax to pack a powerful punch. Capture, process, and serve queries using only SQL. No other languages or services are required.


How Real-Time Stream Processing Works with ksqlDB

How Real-Time Materialized Views Work with ksqlDB

How Real-Time Stream Processing Safely Scales with ksqlDB


The Cloudcast: kslDB Database for Streaming Events
Confluent Homepage


Tuesday, June 01, 2021

AWS DevOps Guru & Blog

#444: [INTRODUCING] Amazon DevOps Guru | AWS Podcast | Podcasts on Audible | Audible.com

Amazon DevOps Guru | ML-powered cloud operations service to improve application availability


"Amazon DevOps Guru is a Machine Learning (ML) powered service that makes it easy to improve an application’s operational performance and availability. DevOps Guru detects behaviors that deviate from normal operating patterns so you can identify operational issues long before they impact your customers.

DevOps Guru uses machine learning models informed by years of Amazon.com and AWS operational excellence to identify anomalous application behavior (e.g. increased latency, error rates, resource constraints, etc.) and surface critical issues that could cause potential outages or service disruptions..." 

AWS DevOps Blog


Implementing GitFlow Using AWS CodePipeline, AWS CodeCommit, AWS CodeBuild, and AWS CodeDeploy | AWS DevOps Blog