HNHacker News
TopNewBestAskShowJobs

isaachier

152 karma · joined September 24, 2017

submissionscomments
isaachier··on Conflating pointers with arrays: C's biggest mistake? (2009)
Probably not a big deal assuming uint8_t is a typedef for unsigned char.
isaachier··on Writing a Game Boy emulator
Ditto. My project is in Zig here: https://github.com/isaachier/gbemu.
isaachier··on Crafting Interpreters
If using C++ I'd usually just opt for a type enum and switch on it. Visitor is a better way of using type to dispatch, but harder to see control flow.
isaachier··on Learn C and Build Your Own Lisp (2014)
OK reread and believe you were referring to architecture not language. My mistake.
isaachier··on Learn C and Build Your Own Lisp (2014)
Clojure/ClojureScript are pretty popular for a language that "never caught on."
isaachier··on Ask HN: Best programming language or theory to learn before learning Rust?
Lol why?
isaachier··on Ask HN: Best programming language or theory to learn before learning Rust?
Learn Zig (https://github.com/ziglang/zig). Aims to be lightweight alternative to Rust, similar to how C is lightweight alternative to C++. Both Zig and Rust use LLVM backend and borrow some concepts from the LLVM IR.
isaachier··on Pointers Are More Abstract Than You Might Expect in C
Zig again.
isaachier··on Pointers Are More Abstract Than You Might Expect in C
Andrew explains in the video that the speedup is mostly due to compile-time speed ups and potentially the use of the rorx instruction. It cannot be faster than the fastest assembly because the by definition is the fastest assembly.
isaachier··on Pointers Are More Abstract Than You Might Expect in C
My guess is type based alias analysis. The classic example is casting an int to a float like so may crash your program due to undefined behavior:

float my_bad_function(void) { int x = 5; float* y = (float) &x; return y; }

isaachier··on Ask HN: What highly scalable thing have you built with Go?
Personally I don't know. We don't use the elasticsearch backend internally.
isaachier··on Ask HN: What highly scalable thing have you built with Go?
At Uber we built Jaeger (https://github.com/jaegertracing/jaeger), which is doing something like 200K writes per minute into our Cassandra cluster.
isaachier··on PeerTube: A ‘Censorship’ Resistent YouTube Alternative
Resistant
isaachier··on Performance patches in Go 1.11
IIRC the mapaccess improvement had to be rolled back. There was a bug in it. Not sure if it will make this release.
isaachier··on PCG: a family of better random number generators
My bad. They should add that.
isaachier··on Why Crystal Is My Next Language
I worked as a C++ developer for three years and switched to Go development this year. I used to love making a "generic" solution to a given problem using templates in C++. Now I find myself without even a decent data structure in the Go standard library. Have you seen the way priority queues are implemented? Just a terrible design choice.
isaachier··on PCG: a family of better random number generators
As usual, it is worth testing and seeing the results empirically. For an excellent project testing these and comparing results, see https://github.com/lemire/testingRNG.
isaachier··on PCG: a family of better random number generators
Not sure about that. The pcg C implementation uses some handrolled assembly and iirc already does SSE or AVX instructions.
isaachier··on Minimalist C Libraries
How about PCG? http://www.pcg-random.org
isaachier··on Ask HN: How did you transition from Mac to Linux?
Honestly, nothing. Now I regret all that time I wasted using Mac. I find Linux is really built for software developers, so if I experience problems, usually someone online will have a one-line terminal solution to fix it.
isaachier··on Sloc Cloc and Code – What Happened on the Way to Faster Cloc
I was a C++ developer now working on a Go project. I'm always suspicious of garbage collection, but people say it is an exaggerated claim. Glad to hear someone confirm this.
isaachier··on LR Parsing: More Elegant Than You Think
Lol I thought it might be. The dialect has changed a lot since I last dabbled in JS.
isaachier··on LR Parsing: More Elegant Than You Think
What language is being used in the snippets?
isaachier··on Modern CMake short tutorial and best practice
Yes! I started using it ~8 months ago and fell in love with its simplicity. Hunter aims to be a full package manager, so it strives to build a project and all of its depedendencies recursively. This is fundamentally different than just adding one external project and ignoring the depedencies (what ExternalProject_Add does). The downside is this forces Hunter to maintain many forks of original repos just to keep track of the dependency information. Meanwhile, Hunter basically guarantees rebuilds only when necessary and caches all library builds locally in the ~/.hunter directory. It really really simplifies the whole dependency management of a CMake project.
isaachier··on Comparing the C FFI overhead in various programming languages
I believe most of these if not all of the languages have a native C compatibility layer. Java has JNI. Zig and Rust inherently use llvm. Go has cgo. nim compiles to C. luajit has its own FFI notation. Etc.
isaachier··on Modern CMake short tutorial and best practice
Hunter allows this using the HUNTER_DISABLED flag. https://github.com/ruslo/hunter
isaachier··on Modern CMake short tutorial and best practice
This benchmark would imply that isn't usually the case: http://david.rothlis.net/ninja-benchmark/.
isaachier··on Modern CMake short tutorial and best practice
Check out https://github.com/ruslo/hunter for a fantastic CMake package manager built to solve this issue.
isaachier··on Ask HN: Why is there not a memory-safe C?
That isn't exactly a memory issue to be fair. It is deadlock.
isaachier··on Ask HN: Why is there not a memory-safe C?
Suggesting another language implies that language is essentially just a variant of C and can be used in any situation as C. The OP was asking why there is no (mainstream?) variant of C with built-in memory safety. Suggesting Go implies Go is a direct replacement for C in most cases, which it is not.

Regarding plugins, yes that is the package I am referring to. The idea of dynamic loading is completely ignored in the Go programming language but it is used in many, many other languages (i.e. Java, Python, Lua). Go's support for this feature is lacking and should be fixed for it to interact with other languages.

← PreviousPage 2 of 4Next →