HNHacker News
TopNewBestAskShowJobs

mdup

283 karma · joined August 29, 2013

Machine Learning PhD
submissionscomments
mdup··on Git for the US Code
Shameless plug: I built this for French law

https://juriblio.fr/pourquoi-juriblio

It shows git-like diffs plus an AI summary of what changed. There is no author attribution though - I'm not sure there is a business use case for it, lawyers don't care about who wrote a specific law.

mdup··on Small Programs and Languages
I recommend parent's ioccc gem https://www.ioccc.org/2012/tromp/
mdup··on Apple Music 404 Not Found
It needs to be at least 320kbps or the silence will contain audible distortion.
mdup··on Ask HN: Who is hiring? (September 2025)
Proton | AI Engineer | Geneva, Paris, London, Barcelona, Prague, Taipei, EU Remote | Full time

We recently launched Lumo, a privacy-friendly ChatGPT alternative, by the makers of Proton Mail & Proton VPN.

We are looking for curious and talented people to help us grow Lumo with any of these skills: ML engineering, LLM inference, GPU infra & devops, Frontend (Typescript, React), Backend (Rust, PHP). Looking for senior-level or fast-growing juniors.

I'm one of Lumo's core devs, write to me directly at marc dot dupont, domain proton ch, with "HN" in the subject.

https://lumo.proton.me

mdup··on Smuggling arbitrary data through an emoji
I worked in phishing detection. This was a common pattern used by attackers, although .exe are blocked automatically most of the time, .html is the new malicious extension (often hosting an obfuscated window.location redirect to a fake login page).

RTL abuse like cute-cat-lmth.png was relatively common, but also trivial to detect. We would immediately flag such an email as phishing.

mdup··on What is an eigenvalue?
It means the eigenvalues will only give you information about the system relatively to the center of that system.

Before describing any system, it's up to you (your "convention") to assert where is the zero-point of your world and in which directions the axes (x,y,z) are pointing.

For instance, in the real world you can choose your 3D coordinate system such that your mirror, as a physical system, keeps the origin untouched (0,0,0) -> (0,0,0). If you decide the origin is a point on the mirror, the equations will be linear: mirror(X) = AX. However if you setup the origin some point far from the mirror, like the center of your eyes, the equations are no longer linear, but affine: mirror(X) = AX+B. Looking at the values of the "AX" part of the system would reveal you the mirroring plane, but now shifted by an offset of "+B" -- the distance between the mirror and your eyes -- because your choice of coordinates was not leaving the origin intact.

mdup··on Mozilla Welcomes the Rust Foundation
It's entirely a myth that unsafe is needed to get speed boosts in Rust. Usually, the standard library, as well as other crates, offer optimal performance without resorting to unsafe code.

(If we go pedantic, Vec and other primitives do rely on unsafe, but the point is as an application developer you don't have to write unsafe code yourself.)

mdup··on Non-English-based programming languages
Probably it was the false friend "hasard" which, in French, means: chance, randomness.
mdup··on A Visa for founders, engineers and investors willing to join France
In your example, your month of July would be paid. You're out of work the whole month yet your payslip is the same as any other month.
mdup··on Ask HN: Is there a “ground-up” explanation of PGP/GnuPG?
Not the OP, but I have found the following useful:

https://git-scm.com/book/en/v2/ scroll to Chapter 10 "Git Internals"

(Direct link: https://git-scm.com/book/en/v2/Git-Internals-Plumbing-and-Po... but it only shows you the first page among nine.)

mdup··on Rosetta catches dusty organics
Genuine question: How do we know the organic compounds seen by Rosetta do not come from Earth and were not brought by Rosetta itself?
mdup··on WaveNet: A Generative Model for Raw Audio
Nitpicking: surjective functions do not relate to unicity of ouptuts; you'd rather talk about non-injective functions. I agree with your point, though.

(surjective != non-injective, in the same way that non-increasing != decreasing)

mdup··on Ask HN: Describing skills and competencies in a resume?
Recently I've tried an approach where I send two documents when asked for a CV:

- a "classic" CV which describes education, skills, work experience, and "miscellaneous" projects (late night hacks mostly);

- a second document entitled "friendly CV" but which is actually a short pdf with slides. It is super casual and I explain my previous work with pictures of algorithms and technical stuff. I cut down all the noise and try to speak directly to the inner geek of my potential reader.

From my perspective, I'd say I had quite some success with it.

I think it doesn't matter if you do exactly that. The point is to wake up your reader if you're the 50th CV they're reading this afternoon.

mdup··on Show HN: Language Evolution Simulation
Nice demo! Feature request: I'd like to see the people talking, like display sentence of a random pair of agents, every 10 sec e.g. That way I would feel immersed into users discussions :)
mdup··on Ask HN: Who wants to be hired? (May 2016)
Location: New York City (desired). Paris, France (current)

Remote: No

Willing to relocate: Yes, to NYC.

Technologies: Machine Learning / Data Science. Python (sklearn), R, C++, Java, JavaScript, Go, Rust. Also got exposure to Haskell, Scala, Erlang, Clojure; several {,No}SQL DBs.

Résumé/CV: http://mdup.fr/cv-classic.pdf http://mdup.fr/cv-friendly.pdf

Email: marc#mdup,fr

More info: PhD in Machine Learning (time series analysis for gesture recognition). I have the profile of a good data scientist with excellent software engineering skills. I can bridge the gap between research scientists (good POCs but crappy engineering and slow perfs) and software engineers (write good code but struggle to grasp underlying math).

mdup··on Show HN: 3D Vector Graphics
One could argue that as a name, `go` is not optimal either, yet it seems the community has worked around it pretty well.
mdup··on Biohackers Creating Open-Source Insulin
I remember reading in another HN thread about insulins (too lazy to search it right now) that plenty of prototype insulins have been developed, but most of them could cause nasty diseases, notably cancer. Hence only a low number of well-tested commercial insulins have been pushed to the market. Does someone knowledgeable have more info about those "good" vs. "bad" insulins?
mdup··on From Python to Go and Back Again
Not advocating anything, but could C++ have been a good choice? You'd get top performance, small memory footprint, opt-in static linking, at the price of a less "fun" language and verbosity. Regarding memory leaks, it's easy to write a leak-free C++ program these days with smart pointers. However, it doesn't come "batteries included" for net-related stuff, and ASIO can give a couple of headaches.
mdup··on The microservices cargo cult
How about Cap'n Proto? Their marketing is great, but I don't recall seeing many experiences with it, so I'm asking for feedbacks here.
mdup··on Free Lossless Image Format
So, is it eff-leef or fleef ?
mdup··on To Master Vim, Use It Like Language
1. For the mnemonic, "\v" turns on "very magic" where all possibly special characters will have their special meaning without prefixing them with "\". Now, "\V" is just the opposite of "very magic", which is "very not magic", i.e. disable all special characters.
mdup··on To Master Vim, Use It Like Language
I use them all the time (I've switched them on by default in .vimrc) while editing C++ code. Extremely, extremely helpful to get the structure of a file at a glance. For example, if a 400-line file has about 10 functions in it, you can fold all "zM" and instantly you see only the function signatures, while the bodies are folded.

How to enable it: use "set foldmethod=syntax" (with C++) or "set foldmethod=indent" (with JS, where "syntax" doesn't work for me). Also, I use "set foldminlines=0" so that 1-line paragraphs get closed as well (it looks more consistent).

How to use it: close all folds "zM" (I remember it because the M is shaped like it's all folded on itself). Open all folds "zR". Open one fold "zo", close one fold "zc". Open one fold recursively "zO", close one fold recursively "zC".

By the way, I almost never use manual folds, so "zf" is almost useless to me.

mdup··on To Master Vim, Use It Like Language
By the way, in your specific example, "ct(" is not necessarily the most efficient, because most of the time a function name will be a nice alphanumeric string; hence you can use "ciw" which will work anywhere in the string, not only at the beginning.
mdup··on An annotation of the Rust standard library
If you're wondering where the content actually is, take a look at the commit, where comments are written alongside the code:

https://github.com/brson/annotated-std-rs/commit/e50c2b16455...

mdup··on GitHub threatens to shut down a repository for using the word 'retard'
What worries me the most in this thread is the quantity of GIFs, memes, and blatantly useless "me too, lol" comments. Can you relate how A MESSAGE WRITTEN IN CAPS makes you feel the author is shouting? Well, in the exact same way, those ridiculous pictures and messages feel to me like teenagers joining a conversation with childish jokes adding nothing to the debate, except noise.

Honestly, this looks more like a YouTube comment thread than a community of professionals discussing grown-ups issues.

mdup··on Show HN: Spot the Drowning Child
Would you say no sane person would inflict 450-volt electric shocks to someone else?

https://en.m.wikipedia.org/wiki/Milgram_experiment

mdup··on Ask HN: Is physics moving forward?
The point of your comment is disproved by your last paragraph! The more science is discovered, the more it gets compacted into the essentials of this knowledge. If 100 year old PhD level fluid dynamics can be taught to undergrads, this means it got digested into the most useful part of the work.

Similarly, it's considered basic undergrad work to understand Fourier decomposition; but the notations and clarity we get the insight from is the result of two centuries from the 1807 paper by Fourier. It was certainly PhD level at the time.

Certainly science is compacted and that's how it gets transmitted to younger generations. And remember that our brains get bigger, so maybe we'll never hit any "limit" to understanding? :)

mdup··on Solving Every Sudoku Puzzle (2006)
Another way to solve Sudoku is to understand that it is an instance of the Exact Cover problem [1]. Basically, solving a 3x3 Sudoku grid is nothing more than finding 9 "sheets" of each number which superimpose exactly on top of the grid.

For example (2x2 sudoku = 4 sheets):

    1324
    3142 
    4213
    2431
is:

    1...   .2..   .3..   ...4
    .1..   ...2   3...   ..4.
    ..1. + .2.. + ...3 + 4...
    ...1   2...   ..3.   .4..
or even:

    x...   .x..   .x..   ...x
    .x..   ...x   x...   ..x.
    ..x. + .x.. + ...x + x...
    ...x   x...   ..x.   .x..
    x...   .x..   ..x.   ...x <- number row
where the last "number row" does not belong to the grid but serves to indicate the number of the sheet.

This explains how sudoku relates to the Exact Cover problem. Now, there is a good algorithm by Knuth to solve Exact Cover, which is known as Algorithm X [2].

Algorithm X is just an algorithm but Knuth has also invented a very efficient implementation of it, called Dancing Links or DLX for short [3]. DLX is described in a very good and very readable paper by Knuth himself [4]. This is one of the first serious papers I ever read and it was a real joy, mind-opener.

[1] https://en.wikipedia.org/wiki/Exact_cover

[2] https://en.wikipedia.org/wiki/Knuth%27s_Algorithm_X

[3] https://en.wikipedia.org/wiki/Dancing_Links

[4] http://www-cs-faculty.stanford.edu/~uno/papers/dancing-color...

mdup··on Swift Functors, Applicatives, and Monads in Pictures
When I started using quaternions for rotations, which -- if we're honest -- is the #1 practical applications, I had much more success building my intuition around this Wikipedia section:

https://en.wikipedia.org/wiki/Quaternions_and_spatial_rotati...

mdup··on Show HN: Bubblin – Next-generation books
Nice job! I like the idea and the implementation. A not-so-minor nitpick though: I have a decent recent laptop yet the Solar System book takes forever to load on Firefox (29s including 25s where the whole UI thread is blocked.) Maybe some kind of lazy loading would help?
Page 1 of 2Next →