HNHacker News
TopNewBestAskShowJobs

cptwunderlich

95 karma · joined August 28, 2015

submissionscomments
cptwunderlich··on Why Haskell?
There is also [Learn Haskell by building a blog generator](https://learn-haskell.blog/) - that might be interesting to you.
cptwunderlich··on Why Haskell?
The Haskell Language Server (LSP) always needs help: https://github.com/haskell/haskell-language-server/issues?q=...

As for GHC compile times... hard to say. The compiler does do a lot of things. Type checking and inference of a complex type system, lots of optimizations etc. I don't think it's just some bug/inefficient implementation, bc. resources have been poured into optimizations and still are. But there are certainly ways to improve speed. For single issues, check the bug-tracker: https://gitlab.haskell.org/ghc/ghc/-/issues/?label_name%5B%5...

For the big picture, maybe ask in the discourse[1] or the mailing list. If you want to contribute to the compiler, I can recommend that you ask for a gitlab account via the mailing list and introduce youself and your interests. Start by picking easy tickets - GHC is a huge codebase, it takes a while to get familiar.

Other than that, I'd say some of the tooling could use some IDE integration (e.g., VS Code plugins).

[1]...https://discourse.haskell.org/

cptwunderlich··on Diving into GCC Internals
Gosh, I really wish GCC had more/better documentation. Especially big picture stuff. E.g., I would like to know what register allocation algorithms it uses (and how certain details are handled), but looking at that code I noped out...
cptwunderlich··on Ask HN: Solving problems by mapping to other problems that we know how to solve
This is very fundamental not only in maths but in theoretical computer science in general. Even to prove how "hard" a problem is. E.g. look into (Turing/many-one) reductions [1]

Many problems can be reduced to SAT and then you can employ an off-the-shelf SAT/SMT solver to solve it for you. Etc etc.

But in general, being able to reduce problem A to problem B implies that A is not harder than B. I.e., to show that a problem P is undecidable, you can reduce the Halting problem to P.

TSP is NP-hard and can be reduced to SAT, then solved with a SAT solver. But something like determining whether a player has a winning strategy in unrestricted chess (with an nxn board, for arbitrary n) is in EXPTIME and can't be reduced to an "easier" problem.

Edit: Someone ITT also mentioned ILP (integer linear programming). Also a good example. E.g., many optimization programs can be mapped to ILP.

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

cptwunderlich··on Completing a part-time Master's in computer science while working
Uff, I started working part-time pretty soon after starting my bachelors and have studied and worked part-time for many years. It's terrible. Worst of both worlds. Now I quit my job and trying to finish my master's thesis. What surprises me is, that he took so few classes. This seems to be different in every country (note: am in Europe). When I did a semester abroad, I got way more credits per class. Here all the classes are either 3 or 6 credits and you need 120 (30 for thesis).

Anyway, I do like the academic side of things and so many topics that I would have never gotten into (compilers, formal methods...), so I wouldn't want to miss it. Just wish I had finished sooner...

cptwunderlich··on Upcoming/proposed breaking changes to Haskell
That's not really true. There was a huge outcry against the removal of (/=). There are still lots of warts in Prelude and base (head being partial, foldl is in prelude but not foldl'). So yeah, language evolution is still a hard problem
cptwunderlich··on An Object-Oriented Language for the '20s
Not yet, but it's a work in progress: https://discuss.ocaml.org/t/multicore-ocaml-february-2021/74...
cptwunderlich··on Point Cloud Library
Related: Potree WebGL point cloud renderer https://potree.github.io/
cptwunderlich··on I bought 300 emoji domain names from Kazakhstan and built an email service
Uff, φ is all sold out :smh:
cptwunderlich··on TLA+
Relevant: "Hillel Wayne is Designing Distributed Systems with TLA+" https://www.youtube.com/watch?v=qubS_wGgwO0
cptwunderlich··on Haskell: The Bad Parts, part 2 (2020)
FYI there was a proposal for a "Haskell 2021 Language" Extensions (similar to Haskell 98 and 2010), which was approved. This enables a bunch of extensions (and I guess will become default): https://github.com/ghc-proposals/ghc-proposals/blob/master/p...

That being said, while there are alternative preludes, I'm not sure how or when (or ever) the current prelude will be changed or replaced.

In terms of language evolution, the community seems to focus on further extensions of the Type System (linear types, quicklook impredicativity, dependent types), where I think there is a bigger need in better tooling. Of course, there too, lots of things are happening, like haskell-language-server, ghc-debug etc. etc. But still lots of work to do. Would be great if more people worked on modern tooling and improving GHC. And even better if more companies would fund that =)

cptwunderlich··on Why Apple Chose Clang (2008)
What, since when is GCC implemented in C++? I don't see any of that: https://github.com/gcc-mirror/gcc

Maybe in libstdc++, but what else would you use there.

I wanted to know what register allocation algorithms GCC implements, but I can't even find it. It's all files with cryptic names and hundreds in one directory. You can find _even less_ documentation, talks and blog posts about GCC internals :(

cptwunderlich··on Ask HN: Is an ARM-based laptop a viable development machine for a Backend dev?
Yeah, well, Docker doesn't currently work so smoothly on Apple Silicon: https://github.com/docker/for-mac/issues/4733
cptwunderlich··on What ORMs Have Taught Me: Just Learn SQL (2014)
And layers of abstraction make it worse. Devs don't know SQL because Hibernate, now new devs rely on the "auto-magic" of Spring Data JPA and don't now Hibernate...
cptwunderlich··on Elon Musk Shows the Germans How to Move Quickly
That's different. Shift work - also around the clock - is allowed, as long as the individual worker's rest times are respected. The point being that there are three shifts of each 8 hours, not one worker works 24 hours.
cptwunderlich··on Haskell RecordDotSyntax language extension proposal (Accepted)
Here the ticket: https://gitlab.haskell.org/ghc/ghc/-/issues/18599
cptwunderlich··on Italian Ruby
There have been some attempts for localized programming languages. In fact, e.g., MS Excel Macros are localized (e.g., "SUMME()" in german instead of "SUM()"). There is even a Wikipedia page: https://en.wikipedia.org/wiki/Non-English-based_programming_...

I'm a bit conflicted. On the one hand, I am all for language diversity and empowering local languages. It may also help novices and very young learners. On the other hand you are already learning an unfamiliar formalism and it hinders interoperability, sharing and collaborating. Hm..

cptwunderlich··on ZipPy: fast and lightweight Python 3 implementation using the Truffle framework
Isn't the biggest issue that alternative Python implementations (pyston, pypy) have to implement all the quirks of CPython and compatibility with C-Extensions? Since there is no written standard and libraries rely on CPython behavior. Making things like Numpy etc. work, that heavily use C, seems really hard for jitted implementations.
cptwunderlich··on Mozilla Common Voice Dataset: More data, more languages
Oh man, I'm really interested in TTS (for rarer languages). Do you have any pointers or good resources to share?
cptwunderlich··on How to make pizza like a Neapolitan master
Or this one, which I think is the exact same recipe by the same guy, but made in the oven: https://www.youtube.com/watch?v=Cq90lUQUCUo

I really love his accent xD Reminds me of my semester in Naples <3

cptwunderlich··on Jitsi Meet: An open source alternative to Zoom
I've tried jitsi for a group chat with friends, but the CPU usage went to the roof and we had other problems too. Apparently that's an issue with Firefox, as I've learned here.

Anyway, we were using talky.io, which is also a WebRTC based solution and it worked really well. No registration, good Audio/Video quality, screen sharing. No background blurring though, if that's what you need.

cptwunderlich··on MessagePack: like JSON, but fast and small
And you trust a message from an unknown source? You can't simply memcpy according to some length indicator, that's just not safe. You still have to parse and validate.
cptwunderlich··on Using BPF to Transform SSH Sessions into Structured Events
Since the author, russjones, seems to be here, I'd like to ask a question regarding writing the actual BPF programs. I've been writing a term paper about BPF verification, the in-kernel verifier and research like PREVAIL [1], so I'm curious.

Is writing valid BPF programs really that "hard"? E.g., does one often have to rewrite programs bc. the verifier wouldn't accept them? Do you see a need to extend BPF with more capabilities? (bounded loops have been added in Kernel 5.3, but maybe something else)

Thank you.

[1] https://vbpf.github.io/

cptwunderlich··on Show HN: Building an open-source language-learning platform
I also wanted to congratualte you for your effors. I'm a daily and long time user of Duolingo and thought of libre alternatives for a while.

I'd agree with some sentiments in this comment section, that you might want to find a niche, as competing with Duolingo or Babbel would be difficult. Duolingo doesn't too well with "smaller" languages and different scripts.

Are you using a TTS engine for the voice (I assume)? I was looking for TTS for a smaller language I'm studying, but I couldn't find anything. I hope that something comes out of the Mozilla's Common Voice project.

cptwunderlich··on Luis von Ahn, co-founder and CEO of Duolingo
I don't think there is anything comparable OSS wise. Creating such an alternative wouldn't only be very difficutl tech-wise, but someone would also have to create the content.

Anyway, I've been using Duolingo since ca. 2014 and it didn't shutdown... Plus, it's free - what do you have to lose? Your progress on some language learning app? You won't lose the knowledge gained.

cptwunderlich··on Language Learning with Netflix extension
You can search for a language on Netflix though, e.g., search for "Italian" and it will show several tags next to "Explore titles related to", like "Italian-languae Movies & TV".
cptwunderlich··on I opened a link some random person sent me and I got raided (2015)
FYI, this was in Austria, the BVT is an Austrian agency, this website is on an .AT domain and he writes in his about page that he is a Texan living in Austria =)
cptwunderlich··on I opened a link some random person sent me and I got raided (2015)
No, this was in Austria, not Germany!
cptwunderlich··on قلب: a non-ASCII programming language written in Arabic
He is very right about how many tools and sites have problems with RTL (right-to-left) text. And don't get me started on mixing LTR and RTL text.
cptwunderlich··on Google Feedback on TypeScript 3.5
I have no personal experience with this, but can't Kotlin target the JVM, native and JavaScript?
Page 1 of 2Next →