Luna – A WYSIWYG language for data processing

Luna – A WYSIWYG language for data processing

Luna is a data processing and visualization environment built on a principle that people need an immediate connection to what they are building. It provides an ever-growing library of highly tailored, domain specific components and an extensible framework for building new ones. Luna targets domains where data processing is the primary focus, such as data science, IoT, bioinformatics, graphic design and architecture.

Source: www.luna-lang.org

Common Lisp: Numbers

Common Lisp: Numbers

In SBCL the floating point modes can be inspected:

For arbitrary high precision calculations there is the computable-reals library on QuickLisp:

The precision to print is set by , by default 20

There are 5 types of complex number: The real and imaginary parts must be of the same type, and can be rational, or one of the floating point types (short, single, double or long). There is a difference between and for negative numbers:

Similar functions , , and return the result as floating point, of the same type as their argument:

The predicate returns if all arguments are numerically equal. The function generates either integer or floating point random numbers, depending on the type of its argument.

Source: lispcookbook.github.io

Italy proposes tax on savings hidden in safety deposit boxes

Italy proposes tax on savings hidden in safety deposit boxes

MILAN (Reuters) – Italy’s government may tax cash and other valuables locked away in safety deposit boxes held with banks, Italian newspapers said on Wednesday, quoting Deputy Prime Minister Matteo Salvini. The dailies quoted Salvini as telling a late-night TV program on Tuesday that he had been advised that safety deposit boxes in Italy held assets worth hundreds of billions of euros. “Money that is substantially hidden,” he said, suggesting that deposit boxes were a way of hiding income and assets from the tax authorities.

Source: www.reuters.com

Show HN: Slim – Build 23MB micro-VM from Dockerfile, boots in seconds

Show HN: Slim – Build 23MB micro-VM from Dockerfile, boots in seconds

Provision a new instance of the given micro-vm image as a virtual machine (using virtualbox). VirtualBox will run the micro-vm instance as an attached iso loaded into a cdrom, and boot up the iso in seconds. For convenience, a ssh connection command is provided at the end of the command, allowing easy access into the machine: Example:

Unfortunately, due to the experimental nature, there are a few system dependencies you must also install:

To boot and run the image, you also need a hypervisor:

For kvm, you can install the following dependencies for ubuntu:

Source: github.com

AdTech Sucks: This Time It’s Personal IDs

AdTech Sucks: This Time It’s Personal IDs

If a company has your mobile phone number, but not your address or e-mail, they can make a match and get the rest of this information from a data broker like Experian (who likely buys pizza data) and be pretty sure that data is up-to-date. If you get a new e-mail address, but don’t change your mobile phone number, and next time you order pizza, you enter your new e-mail address and the same mobile number – when this new data gets sold to a data broker, AHA! So now this company you’re buying stuff from knows know your mobile, e-mail, address and app ID through history, and they also know where you’ve been.

Source: lockwood.dev

How the pursuit of leisure drives internet use

How the pursuit of leisure drives internet use

The second half of the internet will not come online as quickly as the first half was doing in the early 2010s; exponential growth cannot continue in a finite world. According to Ajit Mohan, Facebook’s new India chief and the former boss of Hotstar, it is the services that drive demand: the consumers want messaging, video and storytelling, all of which the mobile internet is far better at providing than it was a decade ago. The younger Ms Sharma uses her phone mostly for WhatsApp, Instagram and Facebook, and for watching videos on YouTube and TikTok, a Chinese-owned social app that has been downloaded a billion times since its launch in 2017, largely by people outside the world’s big cities.

Source: www.economist.com

Dear Bureaucrat, Our computer system is useless

Dear Bureaucrat, Our computer system is useless

Spreadsheets are the most common form, but people also use templates, macros, web-based file sharing services, etc. Add hyperlinks to each step that open the files you will need with a single click — spreadsheets you need to record data in, address lists of people who should receive that step’s email, boilerplate text for notices you need to send, etc. Of all the cuff system techniques, the one that saves me the most time is using conditional formatting and lookup functions to make spreadsheets check for errors and automatically summarize data into the tables I need to present.

Source: www.federaltimes.com

Living and Dying at the Port of Ancient Rome

Living and Dying at the Port of Ancient Rome

The findings suggest that the political upheaval following the Vandal sack of Rome in AD 455 and the 6th century wars between the Ostrogoths and the Byzantines may have had a direct impact on the food resources and diet of those working at Portus Romae. Director of the University of Southampton’s Portus Project, Professor Simon Keay explained, “Our excavations at the centre of the port provide the first archaeological evidence of the diet of the inhabitants of Portus at a critical period in the history of Imperial Rome.” Project, led by the University of Southampton, studies the development of Portus, Imperial Rome’s maritime port, which was used to feed the city’s population between the mid 1st and the 6th Century AD.

Source: www.arch.cam.ac.uk

Formatting Floating Point Numbers

Formatting Floating Point Numbers

The implementation described here works with IEEE 754 double precision floating-point format which has the following bit layout (source)

Let’s look at the π constant as an example:

This is not easy to parse, so let’s split the number into sign, exponent, and fraction, store them in a struct and create a simple formatter for pretty printing:

Now we can do

Here is a sign, is a biased (offset by 1023) exponent, is a fraction, and is the actual exponent. Because for 53-bit significand (52 bit fraction + implicit 1), 17 decimal digits should be enough for the round trip, i.e. reading the number back will give the same binary representation. This is great but if we make use of the extra bits we should normalize the number, i.e. shift the significand left until the top-most bit is one and adjust the exponent to compensate for that:

To get powers of 10 for scaling, we can store a table of precomputed powers in the normalized form and look them up based on the binary exponent.

Source: www.zverovich.net