Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
willtim
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
20 ms
·
241.
▲
by
willtim
7y ago
Wow, that's a huge difference. I'm tempted to try OpenBSD just for those man pages.
242.
▲
by
willtim
7y ago
Yes those words are too strong, but NixOS has certainly halted my Linux learning over the last few years :) In terms of configuration it's usually just "some.feature = true". Whereas with Debian, I'd go read a blog and
243.
▲
by
willtim
7y ago
I haven't tried it, but many are saying the Deepin desktop is better than all of the above.
244.
▲
by
willtim
7y ago
There are some advantages to this approach that often go unmentioned. Native widgets often have ad-hoc limitations based on their legacy, for example limits on composing/nesting widgets (can a list box contain a list of arbitrary widge
245.
▲
by
willtim
7y ago
Lenses are not necessary to practice FP, just sometimes useful (and Edward didn't invent them). Try updating a deeply nested record in your favourite imperative language without mutating the original (!)
246.
▲
by
willtim
7y ago
People should learn a functional language, even if they do not intend to ever use it professionally. Languages are tools for thought and if you only know imperative programming, it will limit your thinking (for example, one well-respected O
247.
▲
by
willtim
7y ago
> Purely functional algorithms and data structures are typically slower. Functional persistent data structures bring many advantages, even to imperative programmers. For example, if your text editor used a persistent data structure, it p
248.
▲
by
willtim
7y ago
If I understand correctly, applying a JavaScript Async function is effectful and starts the background tasks. A better design is for the async function to yield an Async computation when applied. These computations can then be composed and
249.
▲
by
willtim
7y ago
JavaScript automatically starts the tasks and this is bad design IMHO. One loses referential transparency and the ability to run the workflow with different schedulers. It looks like Rust has done a better job.
250.
▲
by
willtim
7y ago
I'm trying to understand the semantics not the implementation. The semantics are clearly not "let x = .. in .." as anyone familiar with expression let-bound variables would expect. I wish I could avoid Python but sadly it is
251.
▲
by
willtim
7y ago
That is really really confusing given that there is lots of prior art for = meaning variable binding and := assignment (Algol, Pascal etc). Using = for assignment was a bad decision and it's coming back to bite. EDIT: Based the example
252.
▲
by
willtim
7y ago
> Go is actually one of the best in terms of design. I respectfully disagree. Go's primary goal was to be (superficially) easy to use and familiar. Because of this, it fails to tackle the big issue with doing concurrency in most pri
253.
▲
by
willtim
7y ago
Yes, but my point is that it's a flaw in the language to allow this. Not all high-level languages share Go's problems. However, even Go would be a huge safety improvement over C++.
254.
▲
by
willtim
7y ago
I agree a stale read is bad. And I am surprised that the Go designers have repeated many past mistakes. It is possible to design a concurrent high-level language that does not have such issues, despite the hardware. For example, if all comm
255.
▲
by
willtim
7y ago
What do you mean by memory unsafety? A stale read would be bad, but wouldn't lead to arbitrary code execution.
256.
▲
by
willtim
7y ago
Maybe. I'm happy to run any formally verified C as my basement, for example the seL4 kernel, or for C to be used as an intermediate language. Especially as there should be less code at the bottom of the stack. But C++ seems worse, it&#
257.
▲
by
willtim
7y ago
> "The exploit used a race condition bug between two threads due to missing proper synchronization between them. It gives an attacker a Use-After-Free (UaF) condition that is very dangerous because it can lead to code execution scen
258.
▲
by
willtim
7y ago
> what happens when you plug an additional screen in? Absolutely nothing. I have to tyoe xrandr commands to make anything happen. I3 is strictly just a window manager. Unfortunately projects like Gnome solve these problems in a completel
259.
▲
by
willtim
7y ago
Using the new ribbon version of office I found out that document properties could only be inspected by clicking on a golden orb and going into a menu called "Publish". Similarly most other less-often used features became impossibl
260.
▲
by
willtim
7y ago
And it was a completely different UI, forcing all the users to relearn most of the functionality. I suspect that such a user-hostile change was done in order to achieve a patentable UI, something that LibreOffice and others would not be ab
261.
▲
by
willtim
7y ago
What about the Deepin desktop? I haven't tried it but many magazine sites say it's now the most polished. I'm fairly happy with i3, until I need to plug in additional screens...
262.
▲
by
willtim
7y ago
IIRC Safari achieves this by suspending the processes in background tabs, which could be running inefficient JavaScript (polling for new ads etc). There's no cross-platform way to do this, but I think Mozilla absolutely need to try and
263.
▲
by
willtim
7y ago
Both Chrome and Firefox have support for sandboxing on Linux. For the security conscious, there's always the Xen/Linux Qubes distribution, which is considerably more secure than MacOS.
264.
▲
by
willtim
7y ago
My employer encountered lots of basic bugs, like file handle exhaustion, which together with the amount of recent activity in GitHub, suggested to me that there is a lot of new code in Bazel. If it's essentially the same as Blaze as yo
265.
▲
by
willtim
7y ago
Syntax is the absolute best thing about Haskell and it's ML relatives, especially coming from C++ and Java as I did. It's succinct and very easy to read, without braces, parens and type annotations scattered everywhere. For exampl
266.
▲
by
willtim
7y ago
This is misleading. Bazel is full of brand new code and only parts of it have been in use at Google as part of Blaze.
267.
▲
by
willtim
7y ago
Ok here's a talk about making Haskell games that took place last week: https://keera.co.uk/blog/2019/09/16/maintainable-mobile-hask... I don't deny that making games in Haskell is niche, but it
268.
▲
by
willtim
7y ago
Those weekly Monad blog tutorials probably annoyed the Haskell community more than anyone. Extremely readable and well written papers had already been published by the Haskell community (e.g. Phil Wadler). Read the papers first.
269.
▲
by
willtim
7y ago
Ok bad example, but it shouldn't have taken them 15+ years to fix it.
270.
▲
by
willtim
7y ago
Perhaps most, but not all. Even something as simple as a date formatter in Java is not thread-safe.
More ›