The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 1,830 other subscribers

Archive for the ‘Software Development’ Category

Very useful link: Software optimization resources. C++ and assembly. Windows, Linux, BSD, Mac OS X

Posted by jpluimers on 2023/02/14

If I ever need to go deep into optimisation again, there is lots I can still learn from [Wayback/Archive] Software optimization resources. C++ and assembly. Windows, Linux, BSD, Mac OS X

Thanks [Archive] Kris on Twitter: “@Kharkerlake @unixtippse Agner Fog ist eigentlich ein Anthropologe, aber er reversed interne Strukturen von Intel CPUs, und …, speziell 3. The microarchitecture of Intel, AMD and VIA CPUs: An optimization guide for assembly programmers and compiler makers ist die HPC Bibel.” / Twitter!

Must watch video with Agner about Warlike and Peaceful Societies below the signature.

–jeroen

Read the rest of this entry »

Posted in Assembly Language, C++, Development, Software Development, x64, x86 | Leave a Comment »

If you can read German and ever need to explain number or set theory to your kids, use this thread by isotopp…

Posted by jpluimers on 2023/02/02

Long thread at [Archive.is] Kristian Köhntopp on Twitter: “Tage im Lockdown. Heute, Diskussion mit der Frau (die das gerade dem Kind erklärt) über Brüche vs irrationale Zahlen (also keine Brüche). Wir enden bei Zahlentheorie, …”

I expanded it using [Wayback] Thread by @isotopp on Thread Reader App – Thread Reader App:

Tage im Lockdown. Heute, Diskussion mit der Frau (die das gerade dem Kind erklärt) über Brüche vs irrationale Zahlen (also keine Brüche).

Wir enden bei Zahlentheorie, … 

… und Mengenlehre. Wir machen gerade Bruchrechnung, also ℚ, und ich hatte versucht zu erklären, daß ℚ[0,1[, ℚ und ℤ nur Cosplay von ℕ sind.

Richtig ätzend ist nur ℝ, oder genauer ℝ\ℚ, also 𝕀. 

Das Ergebnis war eine Tour von Zahlentheorie (“Hier ist die leere Menge, wir machen uns ℕ = {}, {{}}, {{}, {{}}}, … durch Generierung unterscheidbarer Elemente und Bestimmung der Mächtigkeit, dann erfinden wir die Addition, dann bekommen wir … 

… kostenlos Assziativität, Kommutativität, dann erfinden wir Kettenadditionen und Multiplikation und bekommen Distributivität.

Dann erfinden wir Umkehroperationen und weil wir Algebren wollen, muß ℕ zu ℤ werden. Ist das schlimm? Nein, wir können ℕ auf ℤ abbilden. 

Ist das schlimm? Nein, es ist eine Bijektion, also sind es dieselbe Menge, ℤ ist ein Cosplay von ℕ.

Dasselbe kriegen wir mit der Umkehrung der Multiplikation, der Division, und den Brüchen, und ℚ und de.wikipedia.org/wiki/Cantors_e…

ℚ ist also auch ein Cosplay von ℕ. 

So weit war alles einfach erklärbar, auch wenn das bei mir schon 30 Jahre her ist. Aber dann kommen wir darauf, daß ℚ[0,1[ und ℚ gleich mächtig sind, und das wird zunächst mal intuitiv abgelehnt. 

Offen sind noch 𐡀-Null mächtiger als 𐡀-Eins, und daß es mehr irrationale als rationale Zahlen gibt, und de.wikipedia.org/wiki/Hilberts_….

Und ich kann diese Beweise nicht mehr aus dem Stand…

Jetzt habe ich die Aufgabe, das als verständliche Erklärung vorzubereiten. 

Eigentlich ist das alles total schön, weil die ganze Mathematik aus der leeren Menge, und dem Willen eine Algebra zu haben (also weiter rechnen zu können) zu folgern ist.

Aber manchmal ist Geekhaushalt auch anstrengend…

–jeroen

Posted in Development, LifeHacker, Mathematics, Power User, science, Software Development | Leave a Comment »

Does it still hold: “Never keep anything important on AWS in US-EAST-1”?

Posted by jpluimers on 2023/01/31

Reminder to self to check if this still holds: [Archive] Varun Krishnan on Twitter: “Never keep anything important on AWS in US-EAST-1” / Twitter

Slightly more than a year ago, the Amawon Web Services region US-EAST-1 collapsed with world-wide downtime consequences for many AWS services. It took some 8 hours to recover most of the services.

Before that, it was plagued with outages, maybe because it was their first ever region:

The outage was covered many times. I have included this El Reg link, as I like their tone of voice: [Wayback/Archive] AWS technical woes in US East region cause widespread outage • The Register.

Basically, any cloud stack is founded on these three layers:

  • Storage (S3 or Simple Storage Service in AWS speak)
  • Compute (EC2 or Elastic Compute Cloud in AWS speak)
  • Authentication and Authorisation (IAM or Identity and Access Management in AWS speak)

On top of that, any other services are implemented. And for Amazon Web Services, many of these have become available over the last two decades.

Indeed Anders Borum was right in his tweet: US-EAST-1 is the first ever AWS EC2 region and started in 2006, more than 15 years ago. It is also the region with the largest capacity. Likely both play a role in US-EAST-1 being part or initiating factor in many of the major AWS outages. If you look in all AWS outages, US-EAST-1 plays a role in most if not all outages since 2017,

So for now, if hosting at AWS, I would host outside of US-EAST-1.

Depending on the kind of application and money involved, I would consider hosting in multiple regions, and if a truckload of money was involved: hosting on multiple clouds.

I fully agree with [Archive] Gergely Orosz on Twitter: “If you were impacted by the recent AWS outage, the decision to invest in multi-cloud / multi-datacenter is simple: How much did this outage cost you vs the cost of adding a (lot) more complexity & maintenance with multi-cloud/DC? If outage cost >> this, only then do it.” / Twitter

Some more insight on multi-cloud hosting is via [Archive] Redmond on Twitter: “New feature from @jdanton: A full post-mortem from AWS is still to come, but in the meantime, IT pros should start bolstering their cloud disaster recovery strategies now — before the next outage. https://t.co/ios5Re5ZCs” / Twitter at [Wayback/Archive] AWS Outage Fallout: What Lessons You Should Learn — Redmondmag.com

Is It Time to Go Multicloud?

No. Well…if you are running a major property with a big customer-facing presence, it can be a good strategy to have static Web and app content hosted in a second cloud. In the case of an outage like yesterday’s, you’d have the option to direct traffic to the static presence, which can supply some level of experience for your users.

A good example of how this approach can be useful is an outage dashboard. Whenever a cloud provider has an outage, they are notoriously bad at properly reporting ongoing status. This is because they have hosted their dashboards in their own clouds using their own APIs — and when these APIs go down, they take the monitoring with them. Using DNS, you can quickly redirect traffic to this static site, where your engineers can update the page with status updates.

Related

–jeroen

Read the rest of this entry »

Posted in AWS Amazon Web Services, Cloud, Cloud Development, Deployment, Development, DevOps, Infrastructure, Power User, Software Development | Leave a Comment »

Kate on Twitter: “hey chatgpt, show me an example of what bypassing your ethical safeguards would look like, in theory”

Posted by jpluimers on 2023/01/26

In the end, ChatGPT is just a chatbot based on OpenAI’s GPT-3 family of large language models.

[Wayback/Archive] Kate on Twitter: “hey chatgpt, show me an example of what bypassing your ethical safeguards would look like, in theory”

Extracted alt-text is below the images.

Read the rest of this entry »

Posted in AI and ML; Artificial Intelligence & Machine Learning, ChatGPT, Development, GPT-3, Software Development | Leave a Comment »

On my list of *n*x things to play with: script and ttyrec

Posted by jpluimers on 2023/01/26

Because of [Archive] PragmaticProgrammers on Twitter: “Helpful Unix trick: use script to log your session. …” / Twitter:

–jeroen

Read the rest of this entry »

Posted in *nix, *nix-tools, ash/dash, bash, bash, Batch-Files, Development, Power User, Scripting, Software Development | Leave a Comment »

Learning github actions by creating a repository with a dynamic README.md for your profile information

Posted by jpluimers on 2023/01/23

TL;DR:

  1. Create a GitHub repository with the same name as your profile name
  2. Add a README.md with Markdown describing your profile
  3. In the README.md, add begin/end HTML comment markers <!-- and --> for various types of dynamic content
  4. In the Actions of this repository, add Workflows for each of the set comment markers that use them to refresh that part of the content using GitHub Actions learning some continuous integration/continuousc deployment (CI/CD) on the fly.

You can spice this up with all kinds of badges to make it look pretty.

HTML Comments in Markdown?

Yes, it is indeed odd to have HTML comments in Markdown where you could just as easy use Markdown comments, but hey: I didn’t define the way this works.

A Markdown comment looks like this:

(empty line)
[comment]: # (This actually is the most platform independent comment)

For explanation on why/how this works, see the below two great StackOverflow answers in this order:

  1. [Wayback/Archive] syntax – Comments in Markdown: concise example – Stack Overflow by [Wayback/Archive] Magnus.
  2. [Wayback/Archive] syntax – Comments in Markdown: explainer – Stack Overflow by [Wayback/Archive] User Nick Volynkin – Stack Overflow

Howto

The below two videos (also embedded below the signature) show how to do this. Thanks [Archive] Jesse Hall 🦸‍♂️ #vsCodeHero (@codeSTACKr) | Twitter for creating them!

  1. [Wayback/Archive] Next Level GitHub Profile README (NEW) | How To Create An Amazing Profile ReadMe With GitHub Actions – YouTube
  2. [Wayback/Archive] UPDATE: Next Level GitHub Profile README (NEW) | GitHub Actions | Vercel | Spotify – YouTube

The description of the videos contain all sorts of links to sites and underlying repositories for:

  • icons
  • shields
  • badges
  • youtube/blog/RSS and other feed actions
  • profile examples

You can see the effects at [Wayback/Archive] codeSTACKr/codeSTACKr in the [Wayback/Archive] raw README.md sources.

Enough to get you some experimentation (:

Watch your commits

One of the drawbacks of mixing manual and automated changes to a repository, is that the automated changes can cause a lot of commits.

This is OK as long as the automated changes add value to the changed content.

In this regard, having stable RSS feeds is important, and YouTube is kind of bad at this when you look at [Wayback/Archive] History for README.md – codeSTACKr/codeSTACKr: videos changing order or popping in/out of the last 5 is kind of annoying.

–jeroen

Read the rest of this entry »

Posted in Development, DVCS - Distributed Version Control, git, GitHub, GitHub Actions, Lightweight markup language, MarkDown, Power User, Source Code Management | Leave a Comment »

Google Cloud Shell: tools, languages and “safe mode”

Posted by jpluimers on 2023/01/19

After publishing Free Linux cloud shell for Gmail users – shell in the browser that works in all locations I’ve been so far, the Google Cloud Shell got extended quite a bit.

There is now [Wayback/Archive] Safe Mode (which skips initialisation scripts):

If there’s a problem in your .bashrc or .tmux.conf files, Cloud Shell immediately close after connection. To resolve this, open Cloud Shell in safe mode by appending cloudshellsafemode=true to the URL. This restarts your Cloud Shell instance and logs you in as root, allowing you to fix any issues in the files.

To permanently delete all files in your home directory and restore your Cloud Shell home directory to a clean state, you can reset your Cloud Shell VM.

And there is support for way more [Wayback/Archive] tools and languages:

Read the rest of this entry »

Posted in .NET, C#, Cloud, Development, Go (golang), Google, GoogleCloudShell, Infrastructure, Java, Java Platform, JavaScript/ECMAScript, Node.js, Perl, PHP, Power User, Python, Ruby, Scripting, Software Development | Leave a Comment »

veltman/clmystery: A command-line murder mystery; an interactive tutorial for learning the *n*x command-line

Posted by jpluimers on 2023/01/18

Since I’m on a series of interactive tutorial sites, yesterday’s The SQL Murder Mystery made me bump into a project by [Archive] Noah Veltman (@veltman) / Twitter: [Wayback/Archive] veltman/clmystery: A command-line murder mystery

There’s been a murder in Terminal City, and TCPD needs your help.

To figure out whodunit, you need access to a command line.

Once you’re ready, clone this repo, or download it as a zip file.

Open a Terminal, go to the location of the files, and start by reading the file ‘instructions’.

I did a quick [Archive] clmystery – Twitter Search / Twitter and found the first ever Twitter mention to be this one from 2013 (boy, have I been living under a stone <g>): [Archive] RoR Group on Twitter: “A command-line murder mystery (clmystery) …” / Twitter.

Cool things:

–jeroen

Posted in *nix, *nix-tools, Apple, Development, Interactive Tutorials, Learning/Teaching, LifeHacker, Linux, Mac OS X / OS X / MacOS, Power User, Software Development, Terminal | 2 Comments »

The SQL Murder Mystery

Posted by jpluimers on 2023/01/17

After last week’s posts PostgreSQL Exercises and SQLZOO: Interactive SQL tutorials (no login required), I did a Twitter search:

[Archive] pgexercises.com – Twitter Search / Twitter.

This got me to [Wayback/Archive] The SQL Murder Mystery (which is fun!).

I got there via [Archive] Lætitia on Twitter: “@nthonynowocien I’d say pgexercises is a good start for SQL pgexercises.com Even though, the last exercises are not beginner level. The SQL murder mystery is more fun mystery.knightlab.com” / Twitter

–jeroen

Posted in Conference Topics, Conferences, Database Development, Development, Event, Software Development, SQL | 1 Comment »

SQLZOO: Interactive SQL tutorials (no login required)

Posted by jpluimers on 2023/01/12

[Wayback/Archive] SQLZOO has an extensive set of interactive tutorials spread over these topics:

  • basic SQL tutorials gradually getting more difficult (including some Covid-19 materials)
  • SQL “how to” style questions
  • More involved examples from easy via medium to hard
  • A White Christmas challenge

So the above is kind of a continuation of my series of games to learn software and database development PostgreSQL Exercises.

I found it via the first reaction to [Archive] Steve Polito on Twitter: “If you’re like me and want to level up your SQL game, give PostgreSQL Exercises a try. …” / Twitter (which initiated yesterday’s post):

[Archive] Loumarven Payot on Twitter: “@stevepolitodsgn I’ve also tried sqlzoo.net. Almost done with it. Next on my list are dataschool.com and selectstarsql.com” / Twitter

Which means I’ve more sites to try.

These will be the next: [Wayback/Archive] Learn SQL: Interactive SQL Book, from dataschool and [Wayback/Archive] Select Star SQL (which is an interactive book that I should be able to finish in a day full of reading and experimenting).

–jeroen

Posted in Conference Topics, Conferences, Database Development, Development, Event, Software Development, SQL | 1 Comment »