HNHacker News
TopNewBestAskShowJobs

mrout

39 karma · joined May 7, 2017

submissionscomments
mrout··on Verizon is killing Tumblr’s fight for net neutrality
Grocery stores are directly selling things to you, and they cost different amounts based on their costs to the grocery stores, handling requirements, etc.

ISPs are like mail services: a letter is a letter is a letter. A package is a package is a package. And a packet is a packet is a packet.

mrout··on Show HN: Fast C-based HTML 5 parsing for Python
-pedantic-errors -Wall -Werror isn't used in the wild because it breaks whenever a new compiler comes out. New compilers often come out with new warnings, new cases for old warnings, etc. It's not forwards-compatible to make warnings errors.

You should release your code with no warnings on the current compiler, but new warnings shouldn't break everything.

mrout··on Ask HN: Women in tech, how do you find non-toxic work environments?
I think the key thing for people to realise is that none of what you just said has anything to do with women.

Meet your direct manager. Make sure you get along with them. Make sure people give off 'good vibes' i.e. you get along with them. Talk to people, get to know them.

This is just basic people skills. The interview is about you evaluating them as much as it is about them evaluating you.

mrout··on Ask HN: Women in tech, how do you find non-toxic work environments?
No pressure to socialise with coworkers? What kind of law firm is this? Lawyers are by a huge margin the most social people I know. I know a lot of lawyers, and not one of them doesn't go out for social drinks on a Friday at 430...
mrout··on On average, skipping college and investing tuition costs nets a higher return
The 'actual costs' are not the reason that fees are so high in the USA though.
mrout··on Goodbye PNaCl, Hello WebAssembly
If you run them as a different user from yourself, maybe, but who does that?

The idea that software is secure if it only runs on your own user account is stupid IMO. I'd rather that software had access to everything on my computer EXCEPT my personal files.

mrout··on When the Patient Is a Gold Mine: The Trouble with Rare-Disease Drugs
ECON101 isn't 'mainstream economics'. It's incredibly simplified economics.
mrout··on Microsoft’s New Patent Identifies Pirated Content: Flags Repeat Offenders
Not ironic. Just very fitting. They're using a failed system (patents) to try to monopolise their (probably very obvious) method of enforcing a failed monopoly system.
mrout··on FCC Filings Overwhelmingly Support Net Neutrality Once Spam Is Removed
Sorry for the harsh language, but that's fucking ridiculous in this context.

Free speech? Free speech doesn't exist so that people can make ridiculous comments like 'taking comments from the public into account when making policy is mob rule'. Free speech exists so that people can make those comments on policy and have them heard.

mrout··on Why do many math books have so much detail and so little enlightenment? (2010)
Good example of something (although it's perhaps a bit trivial) that is a puzzle that seems to make even non-mathematicians curious is the 'justification' for greco-latin squares.

The idea is that you have 6 files of 6 men. Each is of a different regiment, each is of a different rank. Is it possible to arrange them so that no row and no file have two men of the same rank or from the same regiment?

You can mention this in your first lecture on algebraic geometry (or, for that matter, combinatorial geometry i.e. matroid theory) and then come back to it when you talk about projective geometries.

mrout··on Gender differences and bias in open source: PR acceptance of women versus men
>Ostensibly, making everyone interact on the internet under their real name will "prevent harassment and bullying". But I have no idea how anyone with even passing familiarity with internet communities could believe that

The idea is that anonymous people 'harass' the over-privileged so-called celebrities on Twitter.

Of course if everyone was anonymous then there would be nobody to harass, and if everyone was pseudonymous then at least anyone would be a name-change away from harassment.

Personally I think that one interesting thought experiment would be that everyone sees everyone else as a different name. So we all see totally randomly generated strings as each others' names. If you block someone then they can't just make a new account and go to your profile, because the new account can't see BlisteringOakPlatypus (assuming some sort of gfycat-like scheme), as that name is only my randomly generated identity from the perspective of their old account.

You also can't bandwagon on people: "hey, go harass DribblingPharmacologicalHippopotamus" wouldn't have any effect.

How would you connect with people you know? You could generate a one-use code they could put into their account to find your profile and communicate with you. Or you could generate a code that lets them just view your profile, without communicating with you. Or for either of these, a many-use code. This lets you be a 'broadcaster' like a celebrity on Twitter, but just because you broadcast doesn't mean you have to receive messages back.

How would you find new people? Well on a Facebook-like platform, through friends-of-friends. What happens if you block someone and they reconnect to one of your friends and can then see you again? The same way you deal with encountering people you don't like IRL through friends of friends. You just have to deal with it like a human.

On a Twitter-like platform, you just follow particular tags or whatever, hashtags, etc.

On a bulletin board, you add people that you see make points you like/appreciate/find to be helpful.

mrout··on C++14 either monad and why you shouldn't use exceptions
>Exceptions are 2-3 orders of magnitude slower if exceptions are thrown

And free if they aren't thrown. It doesn't really matter if it's slow in the error path, as the error path is.. well.. the error path. You aren't doing useful work on the error path anyway.

>Exceptions are not part of the type-system

False. 'noexcept' is absolutely part of the type system.

>auto unsafe = [] { // a function that throws, sometimes we can't avoid it...

Please don't write code like this, this is unidiomatic C++.

>Either<std::exception, int> e = Try<std::exception>(unsafe); // let's lift the exception into the typesystem

This is really bad style in Haskell, where you got this idea from, let alone in C++. Either is a symmetric type, it's like std::pair<a, b> (in fact it's the dual of std::pair). std::either should be to std::variant as std::pair is to std::tuple.

(Minor note: Idiomatic C++ is for types to be lowercase, see the std::exception and int.)

>e.left() .map([](auto const& e) {

These 'functional maps' are unidiomatic in C++, especially for things that aren't ranges or containers.

> return std::cerr << e.what() << std::endl;

I don't really understand why you would want to return std::cerr. Why map?

>int result = e .leftMap([](auto) { return 42; }) // do nothing with exception and map to 42 .rightMap([](auto x) { return x * 2; }) // do further computation if value available .join() // join both sides of either

A different sense of join compared to Haskell as well? Wow that's designed to confuse.

Instead of doing this, you could just have a couple of `if` statements. There's nothing wrong with using `if` statements in C++, honestly. C++ isn't Haskell.

mrout··on Programming is hard. That’s precisely why you should learn it
Programming is easy.
mrout··on Air carriers are still failing people with disabilities
That's just stupid. There's way more to be gained by restricting cattle and cars than planes.
mrout··on Air carriers are still failing people with disabilities
That's silly. There's huge inertia in the US because they're all insanely profitable and there's no competition.
mrout··on Air carriers are still failing people with disabilities
> it's nearing completion very soon (I mean, maybe this or next year, that's "very soon" in the GDS scale).

On whose scale is this or next year not very soon?

mrout··on Air carriers are still failing people with disabilities
>Telcos are high-profit margin regional monopolies

Only in the US. Outside the US we have competition law.

mrout··on The Many Layers of Packaging: Why PyPI Isn't an App Store
There's not really a lot you can do about this though, is there?

It's not that hard to test that things work, or to see the failures. Comments I've seen like 'there should be a server that installs every package on its own and makes sure its tests pass' have a bit of an issue: we already know the issues exist. Having a big list of them in one place doesn't really give us a lot more information.

What's the solution? If you need to compile native dependencies, how do you take PyPI and Python packaging in general and make those native dependencies able to be portably compiled, reliably, on any platform?

Things that are straight up unworkable:

* Bundling native dependencies as binaries * Specifying a single version of your native dependencies (the 'shrinkwrap' approach) and every library having its own

mrout··on The Many Layers of Packaging: Why PyPI Isn't an App Store
Well people used to mail USB keys and CD-ROMs and such. It seems less popular now that everyone has gigabit fibre.
mrout··on More than anything, GitHub projects need a big “active/not active” sign
No, I haven't. I don't make a pull request if the project is obviously abandoned, which is trivial to find out: it shows the dates of the most recent updates to each file/directory in the root of the project, you can see the timestamps of the most recent 20ish commits with one click on Github, etc.
mrout··on What's Reasonable to Qualcomm Isn't to Apple
Patents should be abolished. Anything less has no practical purpose.
mrout··on Playing the Birth and Death of Language in ‘Dialect’
Okay, it sounds like it really affected the author or whatever. But I still have no idea what the game is actually about after reading this.
mrout··on More than anything, GitHub projects need a big “active/not active” sign
The only people I see complain about this sort of thing are people that just want to leech off others' work without contributing back.
mrout··on Git 2.13
To me the most useful parts of fugitive, the only things that actually feel more useful than the command line equivalents, are fugitive-:Gdiff and fugitive-:Gblame.

:Gblame is particularly useful.

mrout··on What is so ‘scientific’ about Sanskrit?
Korean and Hangul are different. If you know the Latin alphabet that doesn't mean you know how to read English. It means you know how to read the Latin alphabet.
mrout··on What is so ‘scientific’ about Sanskrit?
You aren't learning Korean. You are learning Hangul. You don't just need to learn 'the Korean words'. You need to learn Korean lexicon, Korean syntax, Korean morphology, Korean idiom, Korean pronunciation, etc. etc. Those are the actually difficult parts of language.

Learning the Latin alphabet doesn't mean you have learnt to read English.

And sure of course you can learn the Arabic alphabet quickly. It's a lot simpler than it looks.

mrout··on Key differences between Python 2.7.x and Python 3.x (2014)
He's said 3.10 more recently than that:

https://twitter.com/gvanrossum/status/583346987925278720

mrout··on Key differences between Python 2.7.x and Python 3.x (2014)
I think that if you treat strings as just lists[0] of UTF-8 code units, and code points, grapheme clusters, etc. are just views/adapters of those bytes, you're probably going to benefit the most.

[0]: When I say 'lists', I mean whatever the standard idea of a sequence of things is in the language. For C that's the array, or maybe the pointer+length pair. For Go it's a slice. For Rust, an iterator perhaps? For Python, it's a list.

mrout··on French election: Macron defeats Le Pen
I did mean educated person under 40, yeah. sorry.
mrout··on What is so ‘scientific’ about Sanskrit?
>one could become quite proficient at reading (without any comprehension of what they are reading)

If you can't comprehend what you're reading, you're not reading. Learning the Korean alphabet is not learning Korean.

Page 1 of 2Next →