NewsBits - Elasticsearch, Redis, MongoDB, etcd, GCC, Go, Homebrew and more

Published

NewBits for the week ending 5th May - Elasticsearch goes to 5.4, Redis history revealed, MongoDB and etcd updates, GCC is 30 years old, production quality Go, Homebrew matures, VSCode gets extra colorful, calculating on 200,000 cores in the cloud and see C turn into machine code before your eyes...

This is NewsBits. We take bits of database, cloud and development news and assemble them into your end of week briefing that is NewsBits. Bring on the bits....

Database Bits

Elasticsearch 5.4

Elastic have released their latest update to their bundle of products, Elastic Stack, which includes Elasticsearch. Enhancements in this release include batching reduction of search results for large clusters, better multi-word synonym searches and smarter handling of range queries to select the more efficient of one of two modes to run the query with. There's also some breaking changes, one with an eye on Elasticsearch 6.0.0.

Redis originally

Salvatore Sanfilippo, aka Antirez, found a copy of the original Redis in his gmail and shared it with the world. LMDB was a closed source application written in TCL back in 2009 and had only one user - that user now "makes the best ice cream in Barcelona". As Antirez notes, most of the Redis ideas - forking to persist, push/pop primitives, simple readable protocols - are present and how a short throw-away program can point the way to future developments.

Redis locally

Running applications locally while developing is a huge boon for developers, but it's worth remembering that those applications are still vulnerable. Take this example of Redis running locally. Although everything may be behind a firewall and NAT and more, the user of the machine can be browsing and the browser can be tricked in to looping back to the local host and particular ports to drop a payload. Redis users need to be aware of the security issues that surround having an open, unauthed Redis running, even on their local system. Make sure you run 3.2.8 locally - a fix for cross-script attacks from browsers landed in 3.2.7 but that had its own issue, so 3.2.8 is the local version you are looking for.

Other updates - MongoDB and etcd

The MongoDB 3.2.13 update we talked about in last week's NewsBits arrived on May 1st. For users of etcd, there's a patch update to 3.1.7 which fixes a couple of bugs. There's also the first release candidate of etcd 3.2.0, RC0 now available with a bundle of new features, building with Go 1.8 and some breaking changes in there too.

Developer Bits

GCC 7 - 30 years and 7.1

The GNU Compiler Collection, GCC, is celebrating it being thirty years to the month since version 1.0 of GCC was released. What better way to do it than with a major release, and so GCC 7.1 has arrived. There's experimental support for all of C++17 in the new release, improvements to diagnostics and optimizers and more. If you want to know more, check out LWN's write up of GCC 7 and if you want, even more, see the GCC 7 Changes document for the nitty gritty details.
https://lwn.net/Articles/718910/

Go to production

Looking for tips on how to make your Go code production ready? Check out How to ship production-grade Go on O'Reilly which looks at error handling, panic handling, structured logging, application metrics and testing (more).

Homebrew bettered

The now ubiquitous-for-Mac-based-developers Homebrew has been updated to version 1.2. If you don't know it, Homebrew has become the go-to open source package manager on macOS. This update's major change sees the core of Homebrew moved into homebrew-core, bringing the tools components into one repository. There's lots of deprecations too and some new commands so you can see outdated casks, formula locations and clean up more easily. Most importantly, there's a new docs page to help you navigate all the latest enhancements. The best part; if you use Brew you won't have noticed you've been updated already.

VS Code's April update

Microsoft's surprisingly good Visual Studio Code, an all purpose editor/IDE, has received its monthly update. Version 1.12 of the Electron-based editor completes earlier theming work so you can color coordinate your workspace. There's also an improved keyboard shortcuts editor with conflict highlighting, improved SCM handling, extended Git support, macOS native tabs and swipe gestures, TypeScript 2.3 support and type checking for plain JavaScript, Grunt autodetection and debugging improvements. (PSA: The VS Code product is licensed, the source code is under MIT).

Finally

220,000 cores in the cloud

The cloud does open up opportunities for massive calculations as this post from Google shows. An MIT professor, Andrew V. Sutherland has been harnessing large numbers of preemptible VMs to take on exploring hypereliptical curves. The latest cluster had 220,000 cores in it running in parallel, but he has his eye on a 400,000 core cluster next.

Z80 in your browser

At the 8bitworkshop, there's a C to Z80 compiler that works in real time, turning C code in one editor into Z80 code in another. If you ever wanted to see the machine code convolutions required to make code go.

C to Z80


If you have any feedback about this or any other Compose article, drop the Compose Articles team a line at articles@compose.com. We're happy to hear from you.

Dj Walker-Morgan
Dj Walker-Morgan is Compose's resident Content Curator, and has been both a developer and writer since Apples came in II flavors and Commodores had Pets. Love this article? Head over to Dj Walker-Morgan’s author page to keep reading.

Conquer the Data Layer

Spend your time developing apps, not managing databases.