Monday, January 24, 2022

Saturday, January 22, 2022

cloud hosting: Render.com

"second level cloud provider, like Heroku", just newer and based on Kubernetes

podcast interview
softwareengineeringdaily.com/2021/12/07/render-with-anurag-goel


render.com
Render is a unified cloud to build and run all your apps and websites with free TLS certificates, a global CDN... 






Make the most of 750 free compute hours each month with automatic scale-to-zero services.

Friday, January 21, 2022

Metaverse: Microsoft += Activision Blizzard - $68.7 billion

Microsoft to acquire Activision Blizzard for $68.7 billion - The Verge

Satya Nadella says the deal ‘will play a key role in the development of metaverse platforms’

Microsoft is acquiring Activision, the troubled publisher of Call of Duty, World of Warcraft, and Diablo. The deal will value Activision at $68.7 billion, far in excess of the $26 billion Microsoft paid to acquire LinkedIn in 2016. It’s Microsoft’s biggest push into gaming, and the company says it will be the “third-largest gaming company by revenue, behind Tencent and Sony” once the deal closes.

Thursday, January 20, 2022

Gotemberg: GoLang stateless API for PDF files

clever name, useful tool :)

gotenberg.dev


"A Docker-powered stateless API for PDF files

Gotenberg provides a developer-friendly API to interact with powerful tools like Chromium and LibreOffice to convert many documents (HTML, Markdown, Word, Excel, etc.) to PDF, transform them, merge them, and more!

Thanks to Docker, you don't have to install each tool in your environments; drop the Docker image in your stack, and you're good to go!"


Gotenberg Hero Logo

Wednesday, January 19, 2022

infviz.io: Automated AWS Diagrams

infviz.io
Automated AWS Diagrams

"Manually drawing your infrastructure no longer makes sense.
Get meaningful diagrams rendered directly from your
AWS Accounts or CloudFormation Templates."


TODO app with 10 JavaScript web frameworks

I built the same app 10 times // Which JS Framework is best? @YouTube

github.com/fireship-io/10-javascript-frameworks

  1. Vanilla JS
  2. React
  3. Angular
  4. Vue
  5. Svelte
  6. Lit
  7. Alpine
  8. Solid
  9. Stencil
  10. Mithril

Tuesday, January 18, 2022

Amazon SageMaker Studio Lab


"light" / free version of "enterprise" tool Amazon SageMaker Studio

[INTRODUCING] Amazon SageMaker Studio Lab: AWS Podcast

Amazon SageMaker Studio Lab is a free, no-configuration service built to reduce friction when getting started with ML.

only email required for signup, no AWS account needed; 

up to 12 hours on CPU, 4 hours on GPU, 

jupyter notebooks could be loaded directly from GitHub

Read the blog | Learn more | Sign up to preview


Monday, January 17, 2022

CodeSee: visualize code

codesee.io

Quickly identify cross-code dependencies and navigate between files and folders. With insights to improve your understanding of the codebase and guide onboarding, planning, and reviews.


Sunday, January 16, 2022

Microsoft Linux distro: Mariner


Azure Posdcast: When Windows is nowhere to be found - Making Azure better with CBL Mariner

YouTube: https://youtu.be/Q_F5xQo5u6w

GitHub repo - https://github.com/Microsoft/CBL-Mariner

CBL-Mariner is an internal Linux distribution for Microsoft’s cloud infrastructure and edge products and services. CBL-Mariner is designed to provide a consistent platform for these devices and services and will enhance Microsoft’s ability to stay current on Linux updates. This initiative is part of Microsoft’s increasing investment in a wide range of Linux technologies, such as SONiC, Azure Sphere OS and Windows Subsystem for Linux (WSL). CBL-Mariner is being shared publicly as part of Microsoft’s commitment to Open Source and to contribute back to the Linux community.




About Web3, and example dApp

Why it’s too early to get excited about Web3 – O’Reilly
By Tim O’Reilly
December 13, 2021

"There’s been a lot of talk about Web3 lately, and as the person who defined “Web 2.0” 17 years ago, I’m often asked to comment. I’ve generally avoided doing so because most prognostications about the future turn out to be wrong. What we can do, though, is to ask ourselves questions that help us see more deeply into the present, the soil in which the future is rooted. As William Gibson famously said, “The future is already here. It’s just not evenly distributed yet.” We can also look at economic and social patterns and cycles, using as a lens the observation ascribed to Mark Twain that “history doesn’t repeat itself, but it rhymes. Using those filters, what can we say about Web3?"

“Web3” as we think of it today was introduced in 2014 by Gavin Wood, one of the cocreators of Ethereum. Wood’s compact definition of Web3, as he put it in a recent Wired interview, is simple: “Less trust, more truth.”


"To get a feeling for the web3 world, ... made a dApp called Autonomous Art that lets anyone mint a token for an NFT by making a visual contribution to it. The cost of making a visual contribution increases over time, and the funds a contributor pays to mint are distributed to all previous artists (visualizing this financial structure would resemble something similar to a pyramid shape). At the time of this writing, over $38k USD has gone into creating this collective art piece.

I also made a dApp called First Derivative that allows you to create, discover, and exchange NFT derivatives which track an underlying NFT, similar to financial derivatives which track an underlying asset 😉.

... there is nothing particularly “distributed” about the apps themselves: they’re just normal react websites. The “distributedness” refers to where the state and the logic/permissions for updating the state lives: on the blockchain instead of in a “centralized” database."



Saturday, January 15, 2022

AWS CloudFormation tools

github.com/aws-cloudformation/awesome-cloudformation

A curated list of resources and projects for working with AWS CloudFormation.

PDFKit.js + React

npmjs.com/package/@react-pdf/pdfkit
github.com/diegomura/react-pdf


A JavaScript PDF generation library for Node and the browser.

This project is a fork of pdfkit by @devongovett and continued under the scope of this project since it has react-pdf specific features.


PDFKit is a PDF document generation library for Node and the browser that makes creating complex, multi-page, printable documents easy. It's written in CoffeeScript, but you can choose to use the API in plain 'ol JavaScript if you like. The API embraces chainability, and includes both low level functions as well as abstractions for higher level functionality. The PDFKit API is designed to be simple, so generating complex documents is often as simple as a few function calls.

Check out some of the documentation and examples to see for yourself! You can also read the guide as a self-generated PDF with example output displayed inline. If you'd like to see how it was generated, check out the README in the docs folder.

You can also try out an interactive in-browser demo of PDFKit here.



Friday, January 14, 2022

Security: AWS vs. Azure vs. GCP

free booklet

Secure Service Configuration in AWS, Azure, & GCP by SANS

This poster compares and contrasts the popular security services of each major cloud provider - Amazon Web Services (AWS), Google Cloud Platform (GCP), and Microsoft Azure. By identifying insecure defaults and little-known security features, you can ensure the security of your organization's assets across each public cloud environment.

PDF

Wednesday, January 12, 2022

Serverless, AWS SAM => AWS CDK

 Serverless Stack Update: Using AWS CDK

Many of our readers have said defining resources in yaml is both cumbersome and error prone. We’ve now updated Serverless Stack to use AWS CDK 7 instead of CloudFormation YAML. This is a big change! And it makes configuring your Serverless infrastructure a lot easier.

So defining a DynamoDB table looks like this:

- Resources: - NotesTable: - Type: AWS::DynamoDB::Table - Properties: - TableName: ${self:custom.tableName} - AttributeDefinitions: - - AttributeName: userId - AttributeType: S - - AttributeName: noteId - AttributeType: S - KeySchema: - - AttributeName: userId - KeyType: HASH - - AttributeName: noteId - KeyType: RANGE - # Set the capacity to auto-scale - BillingMode: PAY_PER_REQUEST + const table = new dynamodb.Table(this, "notes", { + partitionKey: { name: 'userId', type: dynamodb.AttributeType.STRING }, + sortKey: { name: 'noteId', type: dynamodb.AttributeType.STRING }, + billingMode: dynamodb.BillingMode.PAY_PER_REQUEST, + });


What is AWS CDK


Better together: AWS SAM and AWS CDK

AWS Serverless Application Model CLI (AWS SAM CLI) support for local development and testing of AWS Cloud Development Kit (AWS CDK) projects. 

AWS SAM and AWS CDK are both open-source frameworks for building applications using infrastructure as code (IaC). AWS SAM is template-based using JSON or YAML, while the AWS CDK uses languages such as Python or Node.

Before today, you could use the AWS SAM CLI to build locally, test, and package serverless applications defined using AWS CloudFormation or AWS SAM templates. With this preview release, you can use AWS SAM CLI to build, test, and in the future, package applications defined using the AWS CDK.


AWS CDK vs Serverless Framework


Using AWS CDK with Serverless Framework


Tuesday, January 11, 2022

The "end of software" as we know it?

 The end of software is coming | Peter Wang and Lex Fridman - YouTube

"Peter Wang is the co-founder & CEO of Anaconda and one of the most impactful leaders and developers 
in the Python community. Also, he is a physicist and philosopher."

The "software as we know it" (for last 50 years) is not quite predictable, both correctness of implemented features as well as in performance. 

The new "ML" (machine learning) based systems are often defined in terms of expected output and performance, and with this could run as "cybernetic systems", without "human in the loop". 

So while "no software" tagline promoted by Salesforce in early 2000's was describing "no software to install and manage", the next wave of "software" could be and "autonomous system" that produces expected results, without direct insight or even control how this is done. 







javascript imaging libs

sharp.pixelplumbing.com

The typical use case for this high speed Node.js module is to convert large images in common formats to smaller, web-friendly JPEG, PNG, AVIF and WebP images of varying dimensions.

Resizing an image is typically 4x-5x faster than using the quickest ImageMagick and GraphicsMagick settings due to its use of libvips 


npmjs.com/package/sharp

www.npmjs.com/package/jimp


stackoverflow.com/questions/42277138/easy-way-to-resize-image-in-node-js

www.npmjs.com/search?q=image%20resize


Monday, January 10, 2022

Parcel: Web Application Bundler


flaviocopes.com/parcel

Parcel is a Web Application Bundler. It's in the same tool category of webpack, with a different value proposition. Parcel promises to do many things without any configuration at all, and be fast too.





Sunday, January 09, 2022

Ethereum 2.0 with eWASM


Ewasm: Where We Are and Where We Are Going | by Dj | ParaState | Nov, 2021 | Medium

On Ethereum, smart contracts are deployed through its virtual machine called the Ethereum Virtual Machine (EVM), an architecture that is currently rigid and only supports low-performance programming languages such as Solidity.

The solution is the flexible, high performance Ewasm, WebAssembly optimized for the Ethereum Network. Ewasm ensures Ethereum compatibility when migrating Ethereum dApps to high performance blockchains, replacing the current Ethereum virtual machine. Ewasm advances on EVM by upgrading Ethereum smart contracts to near-native speed.

The Ewasm project aims for backward compatibility by also supporting the current opcode instruction set and including transcompile options in its specifications, beyond allowing new smart contracts to be written in high-level languages like Rust, Go, etc.

The eWasm will be a new EVM, which will allow smart contracts to be written in any programming language and not just Solidity, as is currently the case with Ethereum.

GopherCon UK 2021 videos

GopherCon UK 2021 @YouTube

Videos from all of our great GopherCon UK speakers, recorded in October 2021

GopherCon UK

Saturday, January 08, 2022

Visual Studio 2022

 Visual Studio 2022 IDE - Programming Tool for Software Developers


Visual Studio 2022 Roadmap | Microsoft Docs


Visual Studio 2022 - Launch Event - YouTube


main "competition": VS Code :)


Download Visual Studio Tools - Install Free for Windows, Mac, Linux


Code as Data

Code as data - Wikipedia

code and data allows computers to treat instructions in a programming language as data handled by a running program

Homoiconicity - Wikipedia

In computer programminghomoiconicity (from the Greek words homo- meaning "the same" and icon meaning "representation") is a property of some programming languages. A language is homoiconic if a program written in it can be manipulated as data using the language, and thus the program's internal representation can be inferred just by reading the program itself. This property is often summarized by saying that the language treats "code as data".

A commonly cited example is Lisp, which was created to allow for easy list manipulations and where the structure is given by S-expressions that take the form of nested lists, and can be manipulated by other Lisp code.[1] Other examples are the programming languages Clojure (a contemporary dialect of Lisp), Rebol (also its successor Red), RefalProlog, and more recently Julia

Lisp data, a list using different data types: (sub)lists, symbols, strings and integer numbers.

((:name "john" :age 20) (:name "mary" :age 18) (:name "alice" :age 22))

Lisp code. The example uses lists, symbols and numbers.

(* (sin 1.1) (cos 2.03))      ; in infix: sin(1.1)*cos(2.03)


Homoiconic Languages @wiki.c2.org

Examples (in alphabetical order):

Language-oriented programming - Wikipedia

Language-oriented programming (LOP)[1] is a software-development paradigm where "language" is a software building block with the same status as objects, modules and components,[2] and rather than solving problems in general-purpose programming languages, the programmer creates one or more domain-specific languages for the problem first, and solves the problem in those languages.

Symbolic programming - Wikipedia

symbolic programming is a programming paradigm in which the program can manipulate its own formulas and program components as if they were plain data.


HTTP/3

 HTTP/3 is Fast

HTTP/3 is here, and it’s a big deal for web performance. See just how much faster it makes websites!


Friday, January 07, 2022

Thursday, January 06, 2022

BMW color-changing SUV

BMW debuts color-changing SUV at CES 2022 #Shorts - YouTube

BMW showed off its new color-changing paint technology concept at CES 2022. At the touch of a button, the iX can shift from black and white. The company says it’s the same technology found in e-readers.




A white surface reflects a lot more sunlight than a black one,” the company says. “By implication, heating of the vehicle and passenger compartment as a result of strong sunlight and high outside temperatures can be reduced by changing the exterior to a light color.” In cooler weather, darker tones will help the vehicle to absorb more warmth from the sun.

Python.NET vs IronPython

talkpython.fm/episodes/show/342/python-in-architecture-as-in-actual-buildings


IronPython: ironpython.net

Python.NET: github.com


If you want to mainly base your code on the .NET framework, I'd highly recommend IronPython vs Python.NET. IronPython is pretty much native .NET - so it just works great when integrating with other .NET langauges.

Python.NET is good if you want to just integrate one or two components from .NET into a standard python application.


IronPython is written entirely in C#, although some of its code is automatically generated by a code generator written in Python.


related:

Swift <=> Python interop vis PythonKit