Strange Computer Languages: A Hacker’s Field Guide

Why do we build radios or clocks when you can buy them? Why do we make LEDs blink for no apparent purpose? Why do we try to squeeze one extra frame out of our video cards? We don’t know why, but we do. That might be the same attitude most people would have when learning about esolangs — esoteric programming languages — we don’t know why people create them or use them, but they do.

We aren’t talking about mainstream languages that annoy people like Lisp, Forth, or VBA. We aren’t talking about older languages that seem cryptic today like APL or Prolog. We are talking about languages that are made to be… well… strange.

INTERCAL

We have to start at the beginning. INTERCAL. This was started as a joke in 1972 and the acronym is purportedly for Compiler Language With No Pronounceable Acronym. There was no actual implementation, though, until around 1990. Now there are two: C-INTERCAL and CLC-INTERCAL.

Since INTERCAL is a parody, it makes some very odd choices. For example, bitwise operators like AND operate with two arguments, but one of the arguments is reversed. That is, the top bit of one operand matches the bottom bit of the second operand. In a nod to social convention, there is a modifier known as PLEASE that you should sometimes use when, for example, reading data as in “PLEASE READ IN.” If you don’t use it often enough, the compile will fail warning you that the program is insufficiently polite. However, if you use it too often, you’ll also get an error that your program is excessively polite.

Originally, the implementation used EBCDIC, so it uses some characters that don’t appear on conventional 7-bit ASCII systems. This forced some character substitutions and now, with Unicode, some versions will allow the old-style characters if you prefer them. The INTERCAL manual renames nearly all the special characters for further confusion. A single quote is a “spark” and the equal sign is a “half-mesh”. Only the ampersand remains unscathed.

Want to know more? Be careful what you wish for.

Continue reading “Strange Computer Languages: A Hacker’s Field Guide”

Would Nuclear Winter Cancel Out Global Warming?

Nuclear war was very much a front-of-mind issue during the fraught political climate of the Cold War era. Since then, atomic sabre rattling has been less frequent, though has never quite disappeared entirely.

Outside of the direct annihilation caused by nuclear war, however, is the threat of nuclear winter. The basic concept is simple: in the aftermath of a major nuclear war, the resulting atmospheric effects could lead to a rapid cooling in global temperatures.

Some say it couldn’t ever happen, while others – including Futurama – suggest with varying degrees of humor that it could help cancel out the effects of global warming. But what is the truth?

Hard data is isn’t really available, as thus far there have been  no large-scale nuclear wars for scientists to measure. Several studies have explored the concept of nuclear winter, however, and explored its potential effects.

Continue reading “Would Nuclear Winter Cancel Out Global Warming?”

Floating Solar Farms Are Taking The World’s Reservoirs By Storm

Photovoltaic solar panels are wonderful things, capable of capturing mere light and turning it into useful electricity. They’re often installed on residential and commercial rooftops for offsetting energy use at the source.

However, for grid-scale generation, they’re usually deployed in huge farms on tracts of land in areas that receive plenty of direct sunlight. These requirements can often put solar farms in conflict with farm-farms — the sunlight that is good for solar panels is also good for growing plants, specifically those we grow for food.

One of the more interesting ideas, however, is to create solar arrays that float on water. Unlike some of the wackier ideas out there, this one comes with some genuinely interesting engineering benefits, too!

Continue reading “Floating Solar Farms Are Taking The World’s Reservoirs By Storm”

Casually Chirping Into The World Of LoRaWAN

While wireless communications are unquestionably useful in projects, common wireless protocols such as WiFi and Bluetooth peter out after only a number of meters, which is annoying when your project is installed in the middle of nowhere. Moving to an LTE-based or similar mobile solution can help with the range, but this does not help when there’s poor cell coverage, and it tends to use more power. Fortunately, for low-bitrate, low-power wide-area networks (LPWAN) like e.g. sensor networks, there’s a common solution in the form of LoRaWAN, as in long-range wide area network (WAN).

The proprietary LoRa RF modulation technique that underlies LoRaWAN is based on Chirp Spread Spectrum (CSS). This modulation technique is highly resistant to channel noise and fading as well as Doppler shift, enabling it to transmit using relatively low power for long distances. LoRaWAN builds on top of the physical layer provided by LoRa to then create the protocol that devices can then use to communicate with other LoRa devices.

Courtesy of global LoRaWAN gateway and software providers such as The Things Industries and ThingSpeak, it’s possible even as a hobbyist to set up a LoRaWAN-powered sensor network with minimal cost. Let’s take take a look at exactly what is involved in setting up LoRaWAN devices, and what possible alternatives to LoRaWAN might be considered. Continue reading “Casually Chirping Into The World Of LoRaWAN”

Unpicking The Hype Around Web 3, What’s The Tech?

The buzzword of the moment in the frothier portions of the technology press is inescapable: “Web 3”. This is a collective word for a new generation of decentralised online applications using blockchain technologies, and it follows on from a similar excitement in the mid-2000s surrounding so-called “Web 2” websites that broke away from the static pages of the early Internet.

It’s very evident reading up on Web 3, that there is a huge quantity of hype involved in talking about this Next Big Thing. If this were April 1st it would be tempting to pen a lengthy piece sending up the coverage, but here in January that just won’t do. Instead it’s time to peer under the hype and attempt to discern what Web 3 really is from a technology standpoint. Sure, a Web 3 application uses blockchain technology, often reported breathlessly as “the Blockchain” as though there were only one, but how? What is the real technology beneath it all?

Where Did All This Web 3 Stuff Come From Anyway?

"This machine is a server. DO NOT POWER IT DOWN!!" Tim Berners-Lee's famous sticker on the front of his NeXTcube, the first web server.
“This machine is a server. DO NOT POWER IT DOWN!!” Tim Berners-Lee’s famous sticker on the front of his NeXTcube, the first web server. Binary Koala CC BY-SA 2.0.

In its earliest days, the web could be found only in academia, from Tim Berners-Lee at CERN, and then from others such as the National Center For Supercomputing Applications at the University of Illinois. In the mid-1990s the vast majority of web sites were served by the NCSA’s HTTPD server software, which served as the basis for the later hugely popular Apache project. Sites from this era were later dubbed Web 1.0, and operated as static HTML pages which could be refreshed only by reloading a page.

The millennium brought us Web 2.0. This is generally taken to refer to a much slicker generation of sites that made use of user-generated content. Behind every such generational shift lies a fresh technology, and if it was the HTTP server for Web 1.0, it was the use of Javascript in the browser to refresh page content on the fly for Web 2.0. This was dubbed AJAX, for Asynchronous Javascript And XML, and though the data transfer is now much more likely to be JSON than XML it remains the way that today’s web sites blur the line between a web page and an app. Continue reading “Unpicking The Hype Around Web 3, What’s The Tech?”

Longer Range EVs Are On The Horizon

When electric cars first started hitting the mainstream just over a decade ago, most criticism focused on the limited range available and the long recharge times required. Since then, automakers have been chipping away, improving efficiency here and adding capacity there, slowly pushing the numbers up year after year.

Models are now on the market offering in excess of 400 miles between charges, but lurking on the horizon are cars with ever-greater range. The technology stands at a tipping point where a electric car will easily be able to go further on a charge than the average driver can reasonably drive in a day. Let’s explore what’s just around the corner.

Continue reading “Longer Range EVs Are On The Horizon”

KiCAD 6.0: What Made It And What Didn’t

I’ve been following the development of KiCAD for a number of years now, and using it as my main electronics CAD package daily for a the last six years or thereabouts, so the release of KiCAD 6.0 is quite exciting to an electronics nerd like me. The release date had been pushed out a bit, as this is such a huge update, and has taken a little longer than anticipated. But, it was finally tagged and pushed out to distribution on Christmas day, with some much deserved fanfare in the usual places.

So now is a good time to look at which features are new in KiCAD 6.0 — actually 6.0.1 is the current release at time of writing due to some bugfixes — and which features originally planned for 6.0 are now being postponed to the 7.0 roadmap and beyond. Continue reading “KiCAD 6.0: What Made It And What Didn’t”