In my first decade writing Makefiles, I developed the bad habit of liberally using GNU Make’s extensions. I didn’t know the line between GNU Make and the portable features guaranteed by POSIX. Usually it didn’t matter much, but it would become an annoyance when building on non-Linux systems, such as on the various BSDs. I’d have to specifically install GNU Make, then remember to invoke it (i.e. as
Bitcoin and Ethereum provide a decentralized means of handling money, contracts, and ownership tokens. From a technical perspective, they have a lot of moving parts and provide a good way to demo a programming language. This article will develop a simple blockchain-like data structure, to demonstrate these in Haskell: Writing a binary serializer and deserializer Using cryptographic primitives to c
Published on August 20, 2017; updated on August 22, 2017 Apparently, Google is trying to patent (an application of) Asymmetric Numeral Systems, so I spent some time today learning what it is. In its essense lies a simple and beautiful idea. ANS is a lossless compression algorithm. Its input is a list of symbols from some finite set. Its output is a positive integer. Each symbol \(s\) has a fixed k
It has been a long time since the last release (4 months already!). We wanted to be sure everything was ready before releasing this one. A lot of new adds, bug fixes and other surprises are there, have fun! Changes § For the interested ones, here is the list of the (major) changes: cairo: Add Format::stride_for_width() as a wrapper for cairo_format_stride_for_width() ImageSurface: return a Result<
Inspired by the always-incredible work on Dolphin, I decided to write myself an NES emulator called Corrosion a couple years ago. I managed to get it working well enough to play basic games, and then put the project aside. This post is not about the emulator itself, but rather the JIT compiler I added to it last year and the upgrades to said JIT compiler I’ve made over the past few weeks. Having r
This post is a wiki. Anybody can edit it! Make your best guesses. Hey there. I just finished some unstable feature triage. It seems like there’s a lot cooking. Lately I’ve been anxious about filling the feature pipeline, and making sure we have big-ticket things to crow about in release announcements, so I’ve projected forward a few releases the things that seem like they are in the works. So here
Warning: this has turned out to be a .. long post. Recently, on the twitters, Stephanie Hurlburt suggested that it'd be healthy for people who have been around the computering industry for a while (*cough cough*) to take some "audience questions" from strangers. I obliged, and someone asked me an interesting one: "After memory safety, what do you think is the next big step for compiled languages t
I don’t know about you, but quite frankly I’m tired of seeing the same tired vector example being used to demonstrate why dependent types are useful. Recently, I had the opportunity to use current Haskell’s dependently-typed facilities to solve a somewhat contrived, yet real-world problem. Below I will go through the steps I took in moving from an untyped free-for-all to having GHC reject more bad
Danny Yoo <dyoo@hashcollision.org> Source code can be found at: https://github.com/dyoo/brainfudge. The latest version of this document lives in http://hashcollision.org/brainfudge. 1 IntroductionIf people say that Racket is just a Scheme, they are short-selling Racket a little. It’s more accurate to say that Racket is a language laboratory, with support for many different languages. Is that reall
本日、はてなブックマークでは、 8月8日に下記エントリーで告知した通り、コメント一覧ページ(エントリーページ)をリニューアルいたしました。機能や導線を整理し、話題に対するユーザー様の反応が見やすくなっています。 コメント一覧ページのデザインリニューアルおよびページ内の一部機能の廃止・整理を行います - はてなブックマーク開発ブログ 新しくなったコメント一覧ページは、例えばこちらでご覧いただけます。 はてなブックマーク - コメント一覧ページをリニューアルしました - はてなブックマーク開発ブログ なお、コメントの表示制御機能のうち、個別のブックマークを非表示にする機能は廃止しておりますが、コメント一覧全体の非表示機能は引き続きご利用いただけます。詳しくは、ヘルプ「コメント一覧非表示機能について」をご参照ください。 新しいコメント一覧ページに関するご意見、ご利用方法に関するご質問などございま
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く