Ruby 2.4.0 Released

Posted by naruse on 25 Dec 2016

We are pleased to announce the release of Ruby 2.4.0.

Ruby 2.4.0 is the first stable release of the Ruby 2.4 series.
It introduces many new features, for example:

Improve the internal structure of hash table (st_table) by introducing open addressing
and an inclusion order array.
This improvement has been discussed with many people, especially with Yura Sokolov.

Binding#irb: Start a REPL session similar to binding.pry

While you are debugging, you may often use p to see the value of variables.
With pry you can use binding.pry in your application
to launch a REPL and run any Ruby code.
introduces binding.irb which behaves like that with irb.

Though ISO/IEC 30170:2012
doesn’t specify details of the Integer class,
Ruby had two visible Integer classes: Fixnum and Bignum.
Ruby 2.4 unifies them into Integer.
All C extensions which touch the Fixnum or Bignum class need to be fixed.

See also the ticket and akr’s slides.

String/Symbol#upcase/downcase/swapcase/capitalize(!) now handle
Unicode case mappings instead of

Original URL:

Original article

Channels in Golang

Channel is an important feature in Golang.
It is one of the features that make Golang unique.
It makes concurrent programming easier (at least looks), flexible and fun,

This article will list all the channel related concepts, syntaxes and rules.

Channel Concepts And Syntaxes

Channel Introduction

A channel can be viewed as a FIFO (first in, first out) message queue in a program internal.
The purpose of using channels is to transfer values,
more accurately, to transfer ownerships of values, between goroutines.
A well designed program should make sure most one goroutine can have the ownership of any value at any time.
By using channels properly, data races between goroutines can be avoided.

Channel Types And Values

Channel types are composite types. Like array, slice and map,
a specified channel type has an element type.
All data to be pushed into the channel must be values of the element type.
For example, if the element type is string,
then the channel type is

Original URL:

Original article

A fork in the road

Last week, we released the final CM-13.0 releases, updated to the latest security patches, in anticipation of what follows.
Yesterday, Cyanogen Inc (Cyngn) announced that they were shutting down the infrastructure behind CyanogenMod (CM). This is an action that was not unpredictable given the public departure of Kondik (cyanogen himself) from the company, and with him our last remaining advocate inside Cyngn’s leadership.
In addition to infrastructure being retired, we in the CM community have lost our voice in the future direction of CM – the brand could be sold to a third party entity as it was an asset that Kondik risked to start his business and dream. Even if we were to regroup and rebuild our own infrastructure, continuing development of CM would mean to operate with the threat of sale of the brand looming over our heads. Then there is the stigma that has grown to be attached to anything

Original URL:

Original article

The new f-strings in Python 3.6

Hurray! It’s Christmas time – and Python 3.6 has been released!

One of the many goodies packed into the new release are formatted string literals, or simply called “f-strings”. In this blog post I’ll explain why this is good news.

First, they are called f-strings because you need to prefix a string with the letter “f” in order to get an f-string, similar to how you create a raw string by prefixing it with “r”, or you can use the prefixes “b” and “u” to designate byte strings and unicode strings. Note that the “u” prefix was only necessary in Python 2 (“Legacy Python”), since native strings are the default now in Python 3.

The letter “f” also indicates that these strings are used for formatting. Now Python already provides several ways for formatting strings, so you may wonder why the Python gods introduced yet another way, in blatant violation of the Zen

Original URL:

Original article

After having its infrastructure shuttered, CyanogenMod will live on as Lineage

 The days leading up to the holiday have been a real roller coaster ride for Cyanogen fans. Yesterday, Cyanogen Inc. unceremoniously pulled the plug on its support for CyanogenOS in a short post declaring that “all services and Cyanogen-supported nightly builds will be discontinued” by the year’s end.
In a post today titled “A Fork in the Road,” the team behind… Read More

Original URL:

Original article

All Cyanogen Services Are Shutting Down

Long-time Slashdot reader Nemosoft Unv. writes: A very brief post on
Cyanogen’s blog says it all really: “As part of the ongoing consolidation of Cyanogen, all services and Cyanogen-supported nightly builds will be discontinued no later than 12/31/16. The open source project and source code will remain available for anyone who wants to build CyanogenMod personally.” Of course, with no focused team behind the CyanogenMod project it’s effectively dead. Building an Android OS from scratch is no mean feat and most users won’t be able to pull this off, let alone make fixes and updates. So what will happen next?

Cyanogen had already laid off 20% of its workforce in July, and in November announced they had “separated ties” with Cyanogen founder and primary contributor Steve Kondik. One Android site quoted Kondik as saying “what I was trying to do, is over” in a private Google+ community, and the same day Kondik

Original URL:

Original article

We’re Bringing GitLab Pages to the Community Edition

The wider community asked us open source GitLab pages. Inspired by the holiday-spirit we’re happy to bring GitLab Pages to the Community Edition (CE) of GitLab. GitLab Pages allows you to host static websites straight from GitLab, with any kind of static site generator. For instance, my personal website is hosted through GitLab Pages on using my favorite static site generator Middleman (see the source here). Even our documentation site is also fully built on GitLab Pages. Until today, GitLab Pages was exclusive to the Enterprise Edition of GitLab. When we chose to limit this functionality to EE, we did so based on the reasoning that small teams wouldn’t be interested in this functionality. We thought it met our stewardship criteria that it was more relevant for organizations that have more than 100 potential users. We thought that small teams would use the option of using (which runs

Original URL:

Original article

Usenet Computer YArchive

Computer Architecture

The prospects for 128 bit processors (John R. Mashey) [8913 bytes]
64 bit processors: history and rationale (John R. Mashey) [32401 bytes]
AMD64 (Linus Torvalds; Terje Mathisen) [12514 bytes]
Asynchronous logic (Mitch Alsup) [3766 bytes]
Atomic transactions (Mitch Alsup; Terje Mathisen) [86188 bytes]
BCD instructions: RISC and CISC (John R. Mashey) [3624 bytes]
Big Data (John R. Mashey, Larry McVoy) [30027 bytes]
Byte_addressing (John R. Mashey) [2819 bytes]
Caches (John R. Mashey; John D. McCalpin) [7821 bytes]
Parity and ECC use in caches (John R. Mashey) [1549 bytes]
Cache thrashing (Andy Glew; Linus Torvalds; Terje Mathisen) [9422 bytes]
Carry bits; The Architect’s Trap (John R. Mashey) [8038 bytes]
CMOS logic speeds (Mitch Alsup) [9317 bytes]
CMOV (Terje Mathisen) [2341 bytes]
CPU feature economics (John R. Mashey) [3860 bytes]
CPU power usage (Mitch Alsup) [2795 bytes]
Hardware to aid debugging (John R. Mashey) [10408 bytes]
DRAM cache (Mitch Alsup; Terje Mathisen) [8807 bytes]
DRAM latencies (Mitch Alsup) [3056 bytes]
Endian (John R. Mashey) [2053 bytes]
Separate floating point

Original URL:

Original article

Autovpn – Script to Create an OpenVPN Endpoint on AWS

Script that allows the easy creation of OpenVPN endpoints in any AWS region. To create a VPN endpoint is done with a single command takes ~3 minutes. It will create a VPC with proper security groups. It spins up a tagged ec2 instance and configures OpenVPN software. Once instance is configured an OpenVPN configuration file is downloaded and ready to use. There is also functionality to see which instances are running in which region and ability to terminate the instance when done. Additional functionality includes specifying instance type, generate ssh keypairs, specify custom ami, change login user and more to come.

Dependencies: boto and paramiko (python packages) and aws .credentials file on system

Clone repo to system.
Execute autovpn with -C -k and -r options to deploy to AWS
./autovpn -C -r us-east-1 -k macbook
OpenVPN config files are downloaded to current working directory.
Import the OpenVPN config file into VPN

Original URL:

Original article

Proudly powered by WordPress | Theme: Baskerville 2 by Anders Noren.

Up ↑

%d bloggers like this: