Before you continue, if you don't know what IMGUI is don't bother reading this post, just ignore it, don't write anything in comments section, etc. If you're curious about IMGUI see bottom of this post, otherwise continue whatever you were doing, this post it's not for you. Thanks!
If you know what IMGUI is, for context read following presentations and blog posts:
- Insomniac’s Web Tools Postmortem
;; Try to ensure sensible window splitting, independent of frame and font size. | |
;; Things I don't want: | |
;; - excessive horizontal splitting (generally I prefer no more than 2 windows across) | |
;; - horizontal splitting when frame is tall and narrow (causing eg useless narrow man page formatting) | |
;; So, aim for a simple policy: popup windows shall be half width in a wide frame, | |
;; half height in a tall frame. | |
;; | |
;; Emacs' window splitting behaviour is complex and must be read carefully. | |
;; In particular, note: it checks split-window-height first, and if that permits it to | |
;; split vertically, it does that and split-window-horizontally is ignored. |
An animated cheatsheet for smartparens using the example configuration specified here by the smartparens author. Inspired by this tutorial for paredit.
C-M-f | sp-forward-sexp |
C-M-b | sp-backward-sexp |
:root { | |
--heng-fa-chuen: #b51921; | |
--tai-koo: #b2103e; | |
--kowloon-bay: #c41832; | |
--tseung-kwan-o: #ef342a; | |
--wui-kai-sha: #a84d18; | |
--po-lam: #f68f26; | |
--sai-wan-ho: #faca07; | |
--disneyland-resort: #07594a; | |
--skek-kip-mei: #4ba946; |
(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.
Disclaimer: I have no professional education in Compulational Fluid Dynamics, these are various notes on what I found/learned when trying to learn a bit on the topic. Some of the notes lack sources as I wrote them up later often just remembering some StackExchange answer. Some things I might have misinterpreted.
These are notes to the stream: https://youtu.be/S9V-pcTrdL8
- We are not aware of a lot of GNU software available to us.
- Seems that Guix more hacker-friendly/explorable.
Description | Nix | Guix | Comment |
Pipewire is the replacement for JACK and PulseAudio, Pipewire allows low latency compared to any pulseaudio tweaks | |
Here is a short list of what you should do to get the lowest latency in Osu! | |
Higher audio rate equals less latency always, unless you increase your quantum | |
to calculate node latency for your audio device take the quantum size divided by your audio rate | |
so 64/96000 = 0.00066666666 * 1000 = 0.6ms this is 0.6ms node latency | |
To check client latency use pw-top, take the quantum size and the audio rate of the client then use quantum / audio rate * 1000 | |
to get overall latency for the client |
The fact that 1 + 1 is equal to 2 is one of those things that is so obvious it may be hard to justify why. Fortunately mathematicians have devised a way of formalizing arithmetic and subsequently proving that 1 + 1 = 2. Natural numbers are based on the Peano axioms. They are a set of simple rules that define (along with a formal system) what natural numbers are. So in order to prove 1 + 1 = 2 in Rust we first need a formal system capable of handling logic. The formal system that we'll be using is not some random crate, but Rust's type system itself! We will not have any runtime code, instead the type checker will do all the work for us.
First let's go trough the Peano axioms. The first axiom is that "Zero is a natural number". Basically what it says is that zero exists. In order to express that in the type system, we just write: