Category Archives: programming

24-core CPU and I can’t type an email (part one)

When software doesn’t behave as expected, it can be really difficult to find out why. In this case, someone experienced an odd hanging problem while using GMail on his powerful computer and decides to investigate. Read on for all the gory details.

…I was just engaging in that most mundane of 21st century tasks, writing an email at 10:30 am. And suddenly gmail hung. I kept typing but for several seconds but no characters were appearing on screen. Then, suddenly gmail caught up and I resumed my very important email. Then it happened again, only this time gmail went unresponsive for even longer.

Source: 24-core CPU and I can’t type an email (part one)

Nibble Stew – a gathering of development thoughts: “A simple makefile” is a unicorn

Unicorn as in the mythical creature, not what VC’s think about.

Like every sentence that has the word “just”, this is at best horribly simplistic but mostly plain wrong. Let’s dive in more detail into this. If you look up simple Makefiles on the Internet, you might find something like this page. It starts with a very simple (but useless) Makefile and eventually improves it to this:

Source: Nibble Stew – a gathering of development thoughts: “A simple makefile” is a unicorn

Turning Design Mockups Into Code With Deep Learning

At the current stage it could help front-end developers in some of the grunt work in converting design templates into code. Some would go further to think that it will eliminate web development jobs. That is certainly not the case, as modern websites are not static “pages” but more like applications. Someone will still need to design the behaviour and logic.

In this post, we’ll teach a neural network how to code a basic a HTML and CSS website based on a picture of a design mockup. Here’s a quick overview of the process:

Turning Design Mockups Into Code With Deep Learning

[github] kosua20/herebedragons

Someone implemented the same 3D scene using different API/frameworks. Interesting from a learning point of view. But as someone commented in HN, some implementations could be made to look the same given enough effort.

This repository contains multiple implementations of the same 3D scene, using different APIs and frameworks on various platforms. The goal is to provide a comparison between multiple rendering methods. This is inherently biased due to the variety of algorithms used and available CPU/GPU configurations, but can hopefully still provide interesting insights on 3D rendering.

[github] kosua20/herebedragons

Starbucks should really make their APIs public. – Tendigi

See how closed API reverse engineering typically happens.

Now that I was able to sign and fingerprint my login requests, I combined everything into a small Node.js module that allows some basic Starbucks API functions. The good news is that it’s (mostly) hosted here on GitHub!

Voilà! Programmatic coffee.

Source: Starbucks should really make their APIs public. – Tendigi

AWS and Azure in Plain English

If you are not an architect-level user of AWS you will probably be lost in the ever growing list of AWS services. The non-obvious names (Cognito, Athena, anyone?) for the services doesn’t help. Now someone is attempting to provide a – sometimes tongue-in-cheek – explanation of those services. Well, it’s not exactly plain english, but good attempt anyway. An Azure version is also available.

  1. AWS in Plain English
  2. Azure in Plain English

Programming bug costs Citigroup $7m after legit transactions mistaken for test data for 15 years

Like I always say, all (non-trivial) software have bugs. It’s a matter of when and if they are discovered. If you’re lucky, the bugs may only result in financial loss. In more serious cases, safety and security can be compromised.

When the system was introduced in the mid-1990s, the program code filtered out any transactions that were given three-digit branch codes from 089 to 100 and used those prefixes for testing purposes.

But in 1998, the company started using alphanumeric branch codes as it expanded its business. Among them were the codes 10B, 10C and so on, which the system treated as being within the excluded range, and so their transactions were removed from any reports sent to the SEC.

Source: Programming bug costs Citigroup $7m after legit transactions mistaken for test data for 15 years

OneCore to rule them all: How Windows Everywhere finally happened

A long-ish article on the history of Windows and a few behind the scenes look at the technology powering the various generations of Windows. The creation of OneCore explains why Microsoft is able to deploy Windows 10 to such a wide range of platforms, from Raspberry Pi, to XBox, to servers and even Hololens.

Microsoft promised developers that Windows would run anywhere. This summer, it finally will.

Source: OneCore to rule them all: How Windows Everywhere finally happened

Soon We Won’t Program Computers. We’ll Train Them Like Dogs

A sensational title for sure. I, for one, am not convinced that progress in AI will lead to end of code. Techniques like ML will just become another tool, albeit a powerful one, in our toolbox. Formulating the right problem in the first place is something even most humans can’t do very well.

Welcome to the new world of artificial intelligence. Soon, we won’t program computers. We’ll train them. Like dolphins. Or dogs. Or humans.

Source: Soon We Won’t Program Computers. We’ll Train Them Like Dogs