SilverKey Monitor

Announcing ML.NET 3.0

published on 2023/11/29

Deep Learning scenarios were substantially expanded in this release with new capabilities in Object Detection, Named Entity Recognition, and Question Answering. That’s all possible because of integrations and interoperability with TorchSharp and ONNX models. We’ve also updated our integration with LightGBM to the latest version.

Data processing scenarios are greatly improved with a long list of enhancements and bug fixes to DataFrame, as well as new IDataView interoperability features. The important steps of loading, inspecting, transforming, and visualizing your data are much more powerful


Hanging punctuation in CSS

published on 2023/11/28

The hanging-punctuation property in CSS is almost a no-brainer. The classic example is a blockquote that starts with a curly-quote. Hanging that opening curly-quote into the space off to the start of the text and aligning the actual words is a better look.

Chris Coyier


CUPID—for joyful coding

published on 2023/11/27

The five CUPID properties are:

  • Composable: plays well with others
  • Unix philosophy: does one thing well
  • Predictable: does what you expect
  • Idiomatic: feels natural
  • Domain-based: the solution domain models the problem domain in language and structure

Dan North

A book: Beej's Guide to Interprocess Communication

published on 2023/11/27

You know what’s easy? fork() is easy. You can fork off new processes all day and have them deal with individual chunks of a problem in parallel. Of course, its easiest if the processes don’t have to communicate with one another while they’re running and can just sit there doing their own thing.

However, when you start fork()’ing processes, you immediately start to think of the neat multi-user things you could do if the processes could talk to each other easily. So you try making a global array and then fork()’ing to see if it is shared. (That is, see if both the child and parent process use the same array.) Soon, of course, you find that the child process has its own copy of the array and the parent is oblivious to whatever changes the child makes to it.

How do you get these guys to talk to one another, share data structures, and be generally amicable? This document discusses several methods of Interprocess Communication (IPC) that can accomplish this, some of which are better suited to certain tasks than others.

A book: Understanding Deep Learning

published on 2023/11/27

Table of contents

  • Chapter 1 - Introduction
  • Chapter 2 - Supervised learning
  • Chapter 3 - Shallow neural networks
  • Chapter 4 - Deep neural networks
  • Chapter 5 - Loss functions
  • Chapter 6 - Training models
  • Chapter 7 - Gradients and initialization
  • Chapter 8 - Measuring performance
  • Chapter 9 - Regularization
  • Chapter 10 - Convolutional networks
  • Chapter 11 - Residual networks
  • Chapter 12 - Transformers
  • Chapter 13 - Graph neural networks
  • Chapter 14 - Unsupervised learning
  • Chapter 15 - Generative adversarial networks
  • Chapter 16 - Normalizing flows
  • Chapter 17 - Variational autoencoders
  • Chapter 18 - Diffusion models
  • Chapter 19 - Deep reinforcement learning
  • Chapter 20 - Why does deep learning work?
  • Chapter 21 - Deep learning and ethics