Skip to content

Instantly share code, notes, and snippets.

View artob's full-sized avatar
⌨️
Coding

Arto Bendiken artob

⌨️
Coding
View GitHub Profile
@bkaradzic
bkaradzic / idl.md
Last active February 3, 2025 14:50
bgfx is switching to IDL to generate API

bgfx is switching to IDL to generate API

bgfx main API is using basic C++ that looks like C, but it's C++ enough that can't be used directly in C projects. C is important as it provides ability to bind API to other languages, and also as sanity check for API design.

Every time API changes manual process of process for adding/changing API for C99 bindings was changing header declarations of function and function type for interface virtual table (I'll use bgfx::createVertexBuffer function as an example):

/* ... bunch of funcs ... */

/**/
BGFX_C_API bgfx_vertex_buffer_handle_t bgfx_create_vertex_buffer(
@cb372
cb372 / riscv.md
Last active August 3, 2025 22:04
Writing an OS in Rust to run on RISC-V

(This is a translation of the original article in Japanese by moratorium08.)

(UPDATE (22/3/2019): Added some corrections provided by the original author.)

Writing your own OS to run on a handmade CPU is a pretty ambitious project, but I've managed to get it working pretty well so I'm going to write some notes about how I did it.

@moyix
moyix / aigen.php
Last active April 2, 2025 02:41
PHP code generated by GPT-2
<?php
require ' vendor/autoload.php ' ;
/**
* Handles an HTTP request that contains information for registering/unregistering
* a FNA application.
import 'package:flutter/material.dart';
Stream<bool> interval =
Stream.periodic(Duration(seconds: 1), (i) => (i % 2 == 0))
.asBroadcastStream();
class Blink extends StatelessWidget {
String text;
Blink({Key key, this.text}) : super(key: key);
@joyeusenoelle
joyeusenoelle / NewYearSolstice.md
Last active December 24, 2023 19:02
Why isn't the New Year on the Winter Solstice?

“Why isn’t the new year on the winter solstice?”

The answer, honestly, is that the Romans had no fucking idea how to run a calendar.

Like, seriously, people notice "OCTOber" and "DECEMber" and say, "hey, those mean 'eight' and 'ten', but they're the 10th and 12th months, what's up with that?".

If you've got a little more history, you'll know that July and August are named after Julius and Augustus Caesar, and think, "oh, they added those two months and bumped the rest of the months back."

Nope. The Romans were way, way worse at calendars than that.

@mraleph
mraleph / ffi.md
Last active November 11, 2023 14:44

Dart VM FFI Vision

Background

The aim of Dart FFI project (tracked as Issue #34452) is to provide a low boilerplate, low ceremony & low overhead way of interoperating with native C/C++ code.

The motivation behind this project is twofold:

@Rich-Harris
Rich-Harris / what-is-svelte.md
Last active July 4, 2025 21:38
The truth about Svelte

I've been deceiving you all. I had you believe that Svelte was a UI framework — unlike React and Vue etc, because it shifts work out of the client and into the compiler, but a framework nonetheless.

But that's not exactly accurate. In my defense, I didn't realise it myself until very recently. But with Svelte 3 around the corner, it's time to come clean about what Svelte really is.

Svelte is a language.

Specifically, Svelte is an attempt to answer a question that many people have asked, and a few have answered: what would it look like if we had a language for describing reactive user interfaces?

A few projects that have answered this question:

@pdyraga
pdyraga / benchmark.md
Last active May 18, 2022 16:16
Parity benchmarks (24 Sep 2018)

About the benchmarks

The Parity client benchmarks are based on the work of Martin Holst Swende done 21 July 2018 for Constantinopole. The new benchmarks have been done for 2.1.1-beta version released 20 September 2018 as well as for master branch (branch as of 25 Oct - 5a1dc3e) with bn dependency pointing to version before and after the optimalisations by Andre Silva

If we compare pre- and post- benchmarks we see there is a significant performance boost justifying reduction of gas prices for ecmul and ecadd operations. Also, pairing is ~2.82 times faster when we compare Martin's benchmark and version 2.1.1-beta what also suggests that pairing gas cost can be reduced.

Martin's benchmark (21 Jul)

Name Gascost Time (ns) MGas/S Gascost for 10MGas/S Gascost for ECDSA eq
@josephg
josephg / README.md
Last active June 7, 2024 09:37
Getting Zig compiling to WASM

In case anyone else wants to play with Zig on webassembly, here's what you need to do to make it work on a mac today.

1. Get LLVM 7 compiled with webassembly support.

You'll need LLVM to output to the WASM target. This has just been added by default in trunk, so if LLVM >7 is available, you might be able to just brew install llvm.

If you have wasm support already you should see:

$ llc --version
//
// Author: Jonathan Blow
// Version: 1
// Date: 31 August, 2018
//
// This code is released under the MIT license, which you can find at
//
// https://opensource.org/licenses/MIT
//
//