HNHacker News
TopNewBestAskShowJobs

greg7mdp

369 karma · joined March 2, 2012

submissionscomments
greg7mdp··on QEMU should move from C to Rust
Could the effort be bootstrapped by using a C to Rust translator, like https://github.com/immunant/c2rust, preserving the existing semantics prior to updating the code to remove the "unsafe" tags.
greg7mdp··on A philosophical difference between Haskell and Lisp (2015)
I disagree. With composition we have general building blocks which can be combined in an infinity of ways, and remain available to combine with newly added functions. The monolith way provides a fixed, non upgradable set of possibilities, so if your need does not fall into what already exists you need to add yet another monolith (see remove-if vs remove-if-not).
greg7mdp··on 95% of Programming Isn’t Hard (and other random thoughts)
I kind of disagree. When programming isn't hard, it is because it is not done right, and the coder uses repetition instead of higher level abstraction.

Regardless of the programming task, it is usually hard to find the best way to do it, and not trivial to implement it correctly. This is demonstrated by the fact that most code sucks.

greg7mdp··on The Haskell Elephant in the Room
What is bitcoin if not a distributed ledger?
greg7mdp··on Recursive, a free variable font for code and UI, now on Google Fonts
Would be nice for a "code" font if the '+' character was displayed correctly.
greg7mdp··on 1:60 scale Boeing 777 made from manila folders
This guy has truly mastered 3d printing!
greg7mdp··on Linear types are merged in GHC
Incredible work, congrats, the evolution of GHC is quite impressive. A better description of what linear types can be useful for is at https://www.tweag.io/blog/2017-03-13-linear-types/.
greg7mdp··on Compiling a Functional Language Using C++, Part 10 – Polymorphism
Impressive work for a CS student - or even for a senior developer. Kudos to you.
greg7mdp··on Chelsea Manning ordered to be released [pdf]
Her prolonged imprisonment in inhumane conditions is an ugly stain on Obama's presidency. I remember when he campaigned praising whistleblowers and government openness.
greg7mdp··on Scientists identify pathways that extend nematode worm lifespan fivefold
Dang, my retirement savings will have to last much longer than I had expected.
greg7mdp··on C++ Pattern Matching Proposal [pdf]
There is no x==x in example 4.3. This is like structured binding where x binds to the first element of the tuple.
greg7mdp··on C++ Pattern Matching Proposal [pdf]
Love this proposal! C++ is getting better in leaps and bounds.
greg7mdp··on Developers don't understand CORS
dude, I've been a developer for over 30 years and I haven't ever heard of CORS. Let alone understand it.
greg7mdp··on Paul Graham's Keynote at Pycon 2003: The Hundred-Year Language
Hard to believe this does not mention Haskell or functional programming ... but then again that was a Pycon talk from 2003.
greg7mdp··on Open-sourcing F14 for memory-efficient hash tables
Performance is very similar to my header-only version of the Abseil's hash tables available at https://github.com/greg7mdp/parallel-hashmap.
greg7mdp··on Open-sourcing F14 for memory-efficient hash tables
You may want to try my version of the Abseil hash tables (I updated the code to make them header-only) at https://github.com/greg7mdp/parallel-hashmap.
greg7mdp··on Game Programmers and the C++ collapse
I work on very large codebases, and I very seldom rebuild the whole thing. 99% of the time I rebuild a small dll in a few seconds. The focus on the time it takes to rebuild 8 million LOC is misguided imho.

Also, not using stl and boost because it is too slow? In my experience people who make this argument often use significantly worse implementations with serious shortcomings.

greg7mdp··on Ask HN: What open source project, in your opinion, has the highest code quality?
It is like porn, you know it when you see it.
greg7mdp··on Teenager Finds Classical Alternative to Quantum Recommendation Algorithm
If he had discovered this algo a few years back, he might have won the $1 million netflix prize (https://en.wikipedia.org/wiki/Netflix_Prize).
greg7mdp··on French museum discovers half of its collection are fakes
There is a great book written about this dutch forger which includes this amusing story: https://www.amazon.com/Man-Who-Made-Vermeers-Unvarnishing/dp...
greg7mdp··on Quantum cheques could be a forgery-free way to move money
bitcoin/ether are here today.
greg7mdp··on SoftBank Agrees to Buy Boston Dynamics From Alphabet
> wheels are insufficient

Tell that to these guys: https://www.youtube.com/watch?v=v1apqfrJYwk. I think one day we have have two wheeled robots with these kind of capability.

greg7mdp··on A dive into spatial search algorithms
You should check out the Churchill Challenge (http://churchillnavigation.com/challenge/) and the 54 solutions (source code available at https://github.com/churchillnavigation/challenge1). I came in at #7.

Beyond the classic spatial search data structures, the fastest solutions all used SSE instructions (see https://github.com/sDessens/churchill-challange for nice writeup). People did try pretty hard to win the grand prize of $5000, and the fastest solution was 7 times faster than the best optimized code that Churchill's team had previously.

greg7mdp··on Tell HN: I'm bad at my job
Check out this video, and you may have your answer: https://www.youtube.com/watch?v=khOaAHK7efc
greg7mdp··on It's Basically Just Immoral to Be Rich
And it is immoral as well to use your immense wealth to swing elections and impose your views on what should be a democracy, but increasingly is becoming a pay-to-play oligarchy.
greg7mdp··on The State of Go
How can you write an efficient container without generics?
greg7mdp··on The State of Go
My impression is that Go is a language that was cobbled together to simplify the coding of some specific applications, such as simple servers. It lacks any kind of purity, is not the best choice for any specific task, but is just good enough for some (many?) tasks. And poor type safety!

Frankly, I can't help being disappointed by how bland this language is, and I have zero interest in using it. Maybe because I like coding, and the IMHO using Go or Java would totally kill the fun of it.

greg7mdp··on How expensive are the union and intersection of two unordered_set in C++?
Interesting, but not unexpected, the memory locality of the vector dominates otherwise similar algorithms.

One remark. In the unordered_set case, it would be faster to assign rather than inserting the first set, because with insert() we loose the fact that the elements in A are already unique and out will not be resized appropriately.

out = A; out.insert(B.begin(), B.end());

greg7mdp··on Announcing GVFS: Git Virtual File System
This is similar to what Google uses internally. See http://cacm.acm.org/magazines/2016/7/204032-why-google-store...:

"Most developers access Piper through a system called Clients in the Cloud, or CitC, which consists of a cloud-based storage backend and a Linux-only FUSE13 file system. Developers see their workspaces as directories in the file system, including their changes overlaid on top of the full Piper repository. CitC supports code browsing and normal Unix tools with no need to clone or sync state locally. Developers can browse and edit files anywhere across the Piper repository, and only modified files are stored in their workspace. This structure means CitC workspaces typically consume only a small amount of storage (an average workspace has fewer than 10 files) while presenting a seamless view of the entire Piper codebase to the developer."

This is a very powerful model when dealing with large code bases, as it solves the issue of downloading all the code to each client. Kudos to Microsoft for open sourcing it, and under the MIT license no less.

greg7mdp··on A word on Haskell Monads and C++
I disagree with your conclusion, and actually a good understanding of monads can lead to better designs that are not necessary intuitive, even for C++ experts - see https://bartoszmilewski.com/2011/07/11/monads-in-c/.
← PreviousPage 2 of 4Next →