HN user

grumdan

343 karma
Posts0
Comments115
View on HN
No posts found.

For many languages there are mature parsers out there that can be reused (e.g. Google's Closure compiler or babel for JavaScript, or the Soot framework for Java that also simplifies more advanced code analysis). In the worst case, it's sometimes possible to interface with the standard compiler for the language directly (for example, the TypeScript compiler provides TypeScript APIs for its parser/type checker/etc.). I believe for C++ for example, a Clang plugin (https://clang.llvm.org/docs/ClangPlugins.html) would have been a plausible way to implement something like this.

If only Jolla devs had kept their promises of open-sourcing more of their code.

I think that's a big part of the answer to why it hasn't caught among techies. When I tried using it (shortly after release), there were numerous issues in their default apps that nobody could fix because they are proprietary and Jolla didn't seem to have the resources to handle all the bugs.

I'd wager that if it had been open source, the early adopters would have put some time in to fix a lot of the bugs.

In retrospect I'm pretty pissed at them for not being honest and upholding their promises. In my book they're basically con artists that just tried to get the Linux community's money by saying "open source" without actually meaning it.

You can provide this implementation yourself easily enough though. I agree it's maybe not ideal that this needs to be done for every Trait you want this behavior for.

At least now we are checking that two pieces of saying what we want a program to do match up. It's less likely to get both the implementation and specification (in the form of types) wrong. Whenever the program fails to type-check, it will make you think about both bugs in the type and bugs in the code, even if the latter is more likely.

At the same time we finally got a phone that is built with some security in mind (Librem).

If it ever materializes. It's already more than half a year behind schedule and after preordering it close to when it was announced, I'm very skeptical I'll ever receive it.

I agree that prohibition does cause a lot of issues.

This makes even less sense since one difference is that there is no equivalent to "alcohol poisoning" with LSD. A dose at which LSD is physically toxic is so high (200 times a recreational dose) that it's incredibly unlikely to take by accident. As far as I know, there are no known overdose deaths due to LSD.

(However, there are analogues to LSD that are toxic: 25I-NBOMe and 25C-NBOMe).

Why Generics? 7 years ago

I have found Rust to be a nice middle-ground for this. Sure, the borrow checker takes some getting used to, but it features an ML-style type system (though I still miss some extensions to Haskell's type system available in GHC), rock-solid tooling, and a comprehensive well-documented standard library. The high quality of third-party crates also surprised me. Whether the C-like syntax is sane is debatable though.

Why Generics? 7 years ago

because all existing implementations are bad

I'm also not sure why in OOP-land, generics are this crazy experimental weird feature, when in functional languages, people figured out how to implement parametric polymorphism (the original term for generics) in quite reasonable ways. I get that subtyping adds some complexity, but overall I don't understand why such a basic way to build abstractions is so controversial in (some) OOP languages. If anyone has some context on why this is more difficult to have in Java-like languages, I'd be curious to hear it.

I was asking if you think it's equally bad for gay people in Iran and the west, or worse in Iran. Your first statement sounded like you think it's no better in the west, and the second one like you think Iran is worse.

Everyone already agrees with you.

That's really not my experience. A significant portion of people I meet, including technical people, articulate some form of "I have nothing to hide, so I don't care" when the topic comes up.

I know the comment you replied to was in jest, but he did actually say quite the contrary (at least according to Theravada, one major Buddhist tradition): He in several places said the point of all his teachings was to help people put an end to suffering; he only taught the particular things he taught because according to him, they were the best/only way of reaching that goal.

Some schools even go so far as to say that the Buddhist path is something to let go of as well at the very end of the process in order to truly reach enlightenment. It's only a tool to get there.

Still not as good as Google Maps, but I find maps.me (also open-source and based on OSM data) significantly nicer than the default OSM client for Android (I think it's called OsmDroid or something similar).

One point is that the rewrite itself costs developer time that could be spent on something else.

Aside from that, rewriting something in C++ based on code in a higher-level language with better abstractions might cost additional developer time, maintainability, and quality.

A minor addition to what the article says about ipython: You can run arbitrary shell commands there without system() by prefixing them with !. It even supports using python variables as in `a = "some_dir"; ! cd $a`.

True, except that fingerprint sensors can often be fooled and you cannot change your fingerprint once it becomes "compromised". For instance, anyone who ever visited the US, at least as a non-citizen, will have given their fingerprints to CBP.

I think this only works for an attacker model that excludes reasonably sophisticated attackers. I expect this to thwart pickpockets or muggers, but not the police or anyone more sophisticated than that.