Programming

A collection of 21 posts

The Golden 20s
Security

The Golden 20s

The Golden 20s of the 20th century began with the end of WW1 and ended with the stock market crash of 1929. It was considered the decade that was the

When will Rust be formally specified ?
Programming

When will Rust be formally specified ?

The sooner a language is formally specified and standardized the better. I don’t want to see Rust go the way of languages like Ruby(which eventually got a

Error handling or The Emperor's Old Clothes.
Rust

Error handling or The Emperor's Old Clothes.

TLDR; This problem has been solved for 40 years but the software development industry is still very fashion-oriented. In both Common Lisp and Smalltalk error handlers can resume the computation

Everyday Ada : Simple REST Service
Ada

Everyday Ada : Simple REST Service

Ada (previously) is a time-tested, safe, secure programming software-engineering language with a 40-year record of success in mission-critical applications such as… Air Traffic Management SystemsDesktop and Web ApplicationsCommercial AviationBanking and

Raspberry Pi 4
Hardware

Raspberry Pi 4

The Raspberry Pi 4 is a leap forward not just for the Pi but for single-board computers across the board. It’s a great light-weight desktop replacement. It’

Ada, Rust and Steelman language requirements
PLT

Ada, Rust and Steelman language requirements

Ada is the only pragmatic language that is still growing in a healthy way that meets the Steelman language requirements (created by US DoD circa 1978). Ada is rare among

Functional Programming

Two sorts with Rust

Here are some initial thoughts on Rust in the almost two years since I last looked at it along with some implementations of merge and quick sort. (These are just my opinions so please don’t panic !) 1. Cargo is awesome for managing

Ring probabilities with Elixir
Elixir

Ring probabilities with Elixir

I’ve been hearing more about Elixir lately so I thought I’d take it for a spin. “Elixir is a functional, meta-programming aware language built on

Functional Programming

Purely Functional Data Structures & Algorithms : Union-Find (Haskell)

*Updated 08-23-2012 01:04:38* Replaced the use of Data.Vector with the persistent Data.Sequence which has O(logN) worst case time complexity on updates. A Haskell version of the previous codeΒ using the more efficient(access and update) persistent Data.Sequence type

Functional Programming

Purely Functional Data Structures & Algorithms : Union-Find

It’s been a while since I last posted in this series. Today we look at the disjoint-set data structure, specifically disjoint-set forestsΒ and the complementary algorithm : union-find. InΒ computing, aΒ disjoint-set data structureΒ is aΒ data structureΒ that keeps track of a

History

Codebreaker - A new film about the life of Alan Turing

CODEBREAKER tells the story ofΒ one of the most important people of the 20th century.Β  Alan Turing set in motion the computer age and his World War II codebreaking helped save two million lives. Β Yet few people have heard his name, know his tragic

Alan Kay on Programming today (and a few other things)
Programming

Alan Kay on Programming today (and a few other things)

From a recent Dr. Dobbs interview : On adults – Binstock:Β So you called them on the lying. Kay:Β Yeah. But the thing that traumatized me occurred a couple years later,

Programming

Facts about STM

These days there just can’t be enough said to counter the hype that comes with STM. The following paper is an eye opening read(it measures actual peformance of STM). Hopefully some of the STM faithful will re-consider their fanatic beliefs. Software

Mathematics

Ο€ in assembly (spigot algorithm)

// pi_spigot.s - calculates Pi using a spigot algorithm // as an array of n digits in base 10000. // http://mathworld.wolfram.com/SpigotAlgorithm.html // // x86-64/SSE3 with for Linux, Intel, gnu assembler, gcc // // assemble: as pi_spigot.s -o pi_spigot.o // link:

Philosophy

The Dangers of Computer Science Theory

Quotes from Don E. Knuth : “If we make an unbiased examination of the accomplishments made by mathematicians to the real world of computer programming, we are forced to conclude that, so far, the theory has actually done more harm than good. There are

Mathematics

Happy Ο€ approximation day/night (in assembly) !

// pi_x64.s - calculates Pi using the Leibniz formula. // Each iteration prints a closer approximation to 50 digits. // This is not an optimal implementation and it runs forever. // // x86-64/SSE3 with for Linux, Intel, gnu assembler, gcc // // assemble: as pi_x64.s -o

Functional Programming

Generating Ο€ in Haskell

Haskell beats CL quite comfortably using the same algorithm : module Main( main ) where import System( getArgs ) arccot :: Integer -> Integer -> Integer arccot x unity = arccot' x unity 0 start 1 1 where start = unity `div` x arccot' x unity sum xpower n sign

Functional Programming

Generating Ο€ in CL (faster)

Thanks to metacircular for pointing out that (floor (/ x y)) can be written as (floor x y) while avoiding the intermediate rational. (defun machin-pi (digits) "Calculates PI digits using fixed point arithmetic and Machin's formula with double recursion" (labels ((arccot-minus (xsq n xpower) (let

Functional Programming

Generating Ο€ in CL

Update 2009-07-23 : Faster version in CLΒ and a Haskell version. ——————————————————————————– A trivial approximation using the Leibniz formula.

Functional Programming

Visualization of SBCL development history since 2000

My curiousity got the better of me tonight. Video behind the link.