HNHacker News
TopNewBestAskShowJobs

LeonidasXIV

960 karma · joined April 20, 2010

[ my public key: https://keybase.io/leonidas; my proof: https://keybase.io/leonidas/sigs/IOViWLvq7-z4htfYMci-AY4qAFliBQJdKNQINDqd5UM ]
submissionscomments
LeonidasXIV··on Pyre: Fast Type Checking for Python
> On the web application side, I find static typing to be entirely an impediment - usually because the types that I really care about are already defined at the database level.

I disagree here. Take one example, Slack. They publish "types" for their API that they don't adhere to, since every endpoint of their API that is supposed to return that "type" is returning something else. That could've been solved with a type system or schema validation which in itself is a weak form of a type system.

LeonidasXIV··on Credit card fraud warning signs
> In Germany we have a system called 'giropay', which is basically instant wire transfer via your online banking

I never saw a shop accept these. Most of the times it is a regular wire transfer, sometimes PayPal with fees or via invoice. Nowadays many shops also do credit card.

LeonidasXIV··on The dots do matter: how to scam a Gmail user
The parent comment means the scammer case who can set the password back because they are still logged in. Which might be feasible.

But I don't think a scam that relies on you resetting the password and not becoming suspicious is a bit of a stretch.

LeonidasXIV··on Elm changed my mind about unpopular languages
There is SimCorp and Issuu that I know of, but I've also been at a meetup hosted by a company doing ReasonML. And there are a couple of people doing OCaml at Zendesk, but I don't know if they use it in production or just for fun.
LeonidasXIV··on Elm changed my mind about unpopular languages
I think I know the person in Copenhagen, it is a small city after all :D
LeonidasXIV··on Elm changed my mind about unpopular languages
I think this was only to demonstrate the point. Elm's string concatenation operator is ++, so you never run into a case where this would happen.
LeonidasXIV··on Elm changed my mind about unpopular languages
There is also Erlang and Elixir which while functional aren't typed. There are some static analysis tools though.
LeonidasXIV··on Elm changed my mind about unpopular languages
Where does that specialization stop, reasonably? Isn't this the same with JavaScript? If you have worked with any Algol-derived language you can learn them all.
LeonidasXIV··on Elm changed my mind about unpopular languages
> One of the reasons I'm using OCaml/Elm in my new startup

Where do I apply? ;-)

(To prove the point: yes, I'm one of those passion people, moving to Denmark to work in OCaml full-time, before working in Clojure full-time. Now someone give me an Idris job, heh!)

LeonidasXIV··on Why driverless cars may mean jams tomorrow
> People own cars to serve this need, because nothing else will (unless you're in a mega-city that can afford to run high-frequency mass transport 24/7).

Uhm, I guess then 600.000 inhabitant Copenhagen must be this mega-city where high-frequency mass transport runs 24/7 (a driverless metro) and people use bikes to get around in stochastic patterns at arbitrary times of day (because there are bike lanes everywhere).

LeonidasXIV··on What ORMs have taught me: just learn SQL (2014)
If I link to zzzeek's blog in my HN profile, will I also become Michael Bayer?
LeonidasXIV··on We’re sorry, and we’re not rolling out the fees change
In Denmark you just use NFC/Contactless. Hardly anyone ever types in PIN numbers and it is also very quick.

When I was visiting Sweden the terminals did not support NFC or I was just doing something wrong.

LeonidasXIV··on Postmortem: Every Frame a Painting
I would also add Now You See it: https://www.youtube.com/channel/UCWTFGPpNQ0Ms6afXhaWDiRw
LeonidasXIV··on Messenger.com Now 50% Converted to Reason
Casting is a bit of a wrong term here, since that's not at all what happens. `ignore` is just a function that takes any argument and returns `()` (unit). That's useful because sometimes you want to throw away the result of the computation (usually a side effect), so you can just call `ignore` on it and get a `()` value out.
LeonidasXIV··on Yes, Python is Slow, and I Don’t Care
> And you can do that in any language, regardless of its stance on typing.

Yes and no, because nothing prevents you from passing the wrong kind of value in an untyped language unless, well, you check for the runtime type yourself in the function and reject that. And you can only do that at runtime, at which point you'll not be able to immediately see where you're passing in invalid data accidentally unless you hit this exact branch in your code. So actually just the type tagging is quite useful already.

Also, it looks like more powerful dependently-typed languages like Idris[0] (and probably also Agda and Coq) can encode this information in the type system.

[0]: https://stackoverflow.com/a/28436452

LeonidasXIV··on Yes, Python is Slow, and I Don’t Care
> You can say that something is a floating point number (a type) but what if that something must be between zero and one? A type can't tell you that.

Of course it can. The idea behind a decent type system is to make illegal states unrepresentable. You define a type which contains a value between 0 and 1 (lets name it `probability`) and make a function `float -> probability` which checks the range. That way, everytime you'll see `probability` in your code, you will know it is in the right range.

The problem with spec is that it can only verify what it sees on run time, whereas a static type system by definition has 100% coverage over your entire program.

LeonidasXIV··on Candy Japan total sales cross $1M
> You should expand the service (or start a new one) into other categories of physical goods: manga, novels, video games, figurines and other merchandise not found anywhere else outside of Japan.

But then he'd be competing with established players like http://shop.j-subculture.com/

LeonidasXIV··on 153k Ether Stolen in Parity Multi-Sig Attack
> Well, that's exactly kind of people you to attract to write your security-sensitive code.

Unsurprisingly, Tezos is actually written by OCaml people who seem to value the correctness of the contract language.

LeonidasXIV··on A Year of Google and Apple Maps
> In developing countries this shift has already happened ('distance' to 'time') due to things like traffic jams, inconsistent infrastructure (some routes are longer but faster due to lesser traffic signals or better maintained etc.)

Then I guess Germany has not yet developed. But when talking about places people always specify the distance. Berlin is 584 km away from Munich, not 5 hours and 15 minutes. Talking about time to destination is something I have exclusively seen Americans do. Maybe that's because in the US distance and time are basically the same, since everybody takes the car and drives at the speed limit. But in Germany there is no general speed limit, and you might also decide to take the train or airplane to Berlin (and may people do) at which point talking about time would be confusing at best.

LeonidasXIV··on Why ML/OCaml are good for writing compilers (1998)
I always found that strange since Python has the same GIL and it hasn't stopped the massive adoption, same with MRI Ruby (though one could argue JRuby is more popular, but don't see any massively multicore applications in Ruby either), so that reason does not convince me.
LeonidasXIV··on Curl is C
Do you? For building C projects I certainly don't have to build libcurl, it comes packaged and ready to use with my distribution. The same could be the case with a hypothetical HTTP library written in Rust.
LeonidasXIV··on JSCaml: A compile-time transformation from JavaScript to OCaml
Please pick another name, as JoCaml[0] already exists, it is an OCaml with join calculus.

[0]: http://jocaml.inria.fr/

LeonidasXIV··on Acing the technical interview
That's already a lot more than the number of cool Ruby and Python programs I use.

Going by that metric, we should all switch to C and C++ as they are obviously the way to get software done.

LeonidasXIV··on Acing the technical interview
I also got a homework which I could implement in whatever I wanted and knowing they are a Clojure company… I chose OCaml. We did the review of the code, explaining the interviewer enough of ML to make him being able to understand the code and why I solved things this way. Was a fun day, would recommend it.

And I did get an offer.

LeonidasXIV··on When Discs Die
Leaving a VHS in the hands of a child would've yielded similar results, with records most likely the same.
LeonidasXIV··on The trouble with FreeBSD
> I used Python around 2004 and 2005, and never went back to it for my personal projects.

How does the choice of VCS make a difference for your personal projects using Python?

LeonidasXIV··on Exposing Digital Photography (2015)
The point is that he just tells you everything is amazing and to please buy it from Amazon so he can support his ever growing family.

And sometimes his advice is good, sometimes it isn't but as a newbie you don't know which part you can trust and which one is one of his peculiarities. Therefore I would avoid following his opinions. His list of camera/lens specs is admittedly pretty good.

And the other issue is that his photos are so comically bad that I kinda have problems taking whatever he says seriously.

LeonidasXIV··on Flickr – A Year Without a Byte
The other thing they don't spend money on is making their app work. For me it often fails to load images and has to be closed and restarted and it maybe displays images. I mean, c'mon, that's your core task, don't fail at this.

Also I have found an issue where they replaced the Flash based profile avatar chooser by HTML5 but forgot to test on computers without Flash installed so it was still not shown. Apparently nobody noticed for months. To their credit, I spoke to one of their engineers and it was solved very quickly.

LeonidasXIV··on Ask HN: Node vs. .NET Core
Or Haskell.
LeonidasXIV··on Mastering Time-to-Market with Haskell
It depends what you are looking for. If you are looking for work then Scala beats the other two hands down. Then comes F# and Haskell somewhere in the end.

If you're looking for enlightenment, pick up Haskell, maybe OCaml and skip F#.

← PreviousPage 8 of 16Next →