HNHacker News
TopNewBestAskShowJobs

JD557

948 karma · joined April 19, 2012

submissionscomments
JD557··on ZGC – What's new in JDK 16
>running with around 92G heap size

I'm curious about this choice. The elasticsearch documentation recommends a maximum heap slightly below 32GB [1].

Is this not a problem anymore with G1GC/ZGC, or are you simply "biting the bullet" and using 92G of heap because you can't afford to scale horizontally?

1: https://www.elastic.co/guide/en/elasticsearch/reference/7.11...

JD557··on Show HN: Regular expression compilation visualized
I guess this might be hard, but it would be pretty cool to be able to "stop" the optimizations at some point and see the resulting code.

Say "give me the generated code for the Rabin–Scott powerset construction (NFA to DFA)". That way, one could see the impact of each optimization step.

Nevertheless, this is a pretty cool proeject!

JD557··on Scala projects are difficult to maintain
I might be a bit biased, since I've been writing Scala professionally for years.

While most of the article rings true, I wanted to share some counter-arguments:

1) A lot of the problems mentioned are only really noticeable if you use Spark, which really lags behind in Scala versions compared to the rest of the ecosystem. As someone who doesn't use Spark, I don't really feel much of the "Scala minor versions" pain.

2) While not great, cross-compilation/publishing is not that bad (there are plugins like `sbt-release` and `sbt-crossproject` that pretty much take care of it).

3) I mostly disagree with the "Difficult to publish to Maven" point. I'm not saying that it's easy, but I enjoy the fact that it's not as trivial like other languages. I would argue that this whole process makes [1] almost impossible, which is a plus for me.

1: https://medium.com/@alex.birsan/dependency-confusion-4a5d60f...

JD557··on Fuckin' user interface design, I swear
>And then you have the weird gestures that are completely undiscoverable. [...] I mean, yeah, I know it's there, but I never would have actually discovered that on my own

I noticed a lot of UI problems like this when my parents changed from Windows Phone to Android and I had to help them. There are a lot of small actions that make sense if you used Android in the past (since they've been slowly introduced) but are completely bonkers to anyone picking it up now:

- To reject a call, swipe the "Accept call" icon down (this one is particularly horrible); - To enable Wi-Fi, bluetooth, etc. swipe from the top; - To dismiss a notification, swipe it to the side.

JD557··on Show HN: A social platform with music in focus. Download the app
I haven't installed the app for the reasons other users have pointed out here. I would have loved to see a web app, though.

Nevertheless, one of the things I miss from the old MySpace that seems to be missing from other sites is being able to search bands based on a location.

Yes, Bandcamp allows you to filter by location, but it seems to be restricted to a small set of large cities. What I really want is a way for me to find out "what are the new bands from my hometown?" or "how's the punk scene in this neighborhood city?".

JD557··on Response to “WireGuard: great protocol, but skip the Mac app”
In case the author is reading this, I recently started using Wireguard in Mac OS with the Mac app and the experience has been great.

Not only is it much faster other VPNs that I used in the past, but compared to other clients (Forticlient and Tunnelblick), the overall experience feels much nicer, IMO.

Thank you so much for your work!

JD557··on LibrePhotos: A Self-Hosted Google Photos Alternative
Looking at this project and some of the alternatives provided, they seem to be quite memory hungry. I assume this is related to the ML model.

Is there any way to run this (or one fo the alternatives) in a "Lite" mode without any ML?

I see that Photoprism has a ton of flags, but it's not obvious how those affect memory usage.

JD557··on ‘YouTube recommendations are toxic,’ says dev who worked on the algorithm (2019)
+1 for cleaning up the watch history. It's pretty nice that youtube let's you edit that and doesn't use a "full history" to train the recommendation algorithm.

I try to be careful and always use private browsing when opening "suspicious" videos, but every now and then, one slips and taints my recommendation.

OTOH, with a clean history, I barely subscribe to channels, since new videos usually end up in the recommendations, anyway.

JD557··on Gitter now speaks Matrix
Hi there.

I'm completely new to Matrix, so sorry if this is a stupid question, but is there something like a gitter homeserver where I can login with my gitter credentials?

If so, what homeserver URL should I use in element?

JD557··on Advanced Join Patterns for the Actor Model Based on CEP Techniques
>It's funny. For all the useless Java "factory" patterns, the one thing there ISN'T a factory for - Futures[...]. >It's a bit of a puzzle to me why this isn't just standardized.

It kind of is. A `FutureFactory` it's pretty much `IO` (as in, Haskell's IO).

It just so happens that a lot of implementations don't want you to call `unsafeRun` (so that `unsafeRun` in only called at the edge of the world) and some implemetations don't like, but nothing stops you from having a `unsafeRunToFuture` that returns a `Future`. This is actually pretty common in Scala.

Some examples:

- Cats-effect: https://typelevel.org/cats-effect/datatypes/io.html#unsafeto...

- ZIO: https://javadoc.io/doc/dev.zio/zio_2.12/latest/zio/Runtime.h...

- Monix: https://monix.io/api/current/monix/eval/Task.html#runToFutur...

I guess that this is not very standardized in OOP languages because they lack some of the ergonomics to use such factories (namely, do-notation).

JD557··on Scala 3.0.0-M1
> Too bad there's not really a ML/AI ecosystem around (besides Spark, which seems to be losing favor partially because of its embarrassing performance), because using Python is such a drag.

I think it's not that bad. Sure, it loses to Python, but that's some tough competition.

Personally, I find that smile[1] covers most use cases. Breeze[2] also has a lot of love, but I'm not much of a fan of the `UFunc` abstraction.

I'm also really excited about polynote[3]. It's still a bit green and only supports Scala 2.11/2.12, but it's such a joy to be able to use Scala in notebooks :). You also get Python interop, in case you need to use some specific python library.

P.S.: I hope that Scala's ML/AI libraries other than Spark keep growing, because "embarassing" is a nice way to describe it's performance on everything that's not a "really-huge dataset".

1: https://github.com/haifengl/smile 2: https://github.com/scalanlp/breeze 3: https://github.com/polynote/polynote

JD557··on Graphical User Interface Using Flutter in Embedded Systems [pdf]
As a Scala dev, having flutter support would be awesome.

When I started to learn the language, it was being hyped as a viable alternative for Android apps (which has been abandoned since 2.10, IRCC).

Kotlin seems nice, but after getting used to a stronger type system, it's hard to go back.

JD557··on Admitting That Functional Programming Can Be Awkward (2007)
I think it helps if you don't think about a single axis (functional vs imperative), but in two axis (functional vs procedural, declarative vs imperative).

When you use IO with do notation, you are actually doing imperative functional programming.

JD557··on Police told not to download NHS Covid-19 app
This seems plausible.

I'm not sure how frequently the codes are refreshed, but you could just hide a bluetooth receiver near the police station to get the daily codes for most officers, transmit that to your phone and have an app that tells you if a police officer is nearby.

JD557··on BBC Sound Effects made available to download for use under RemArc Licence (2018)
Looking at the license[1], I think not:

> [...] You can't [...] put ads next to or over it (the content)

1: https://github.com/bbcarchdev/Remarc/blob/master/doc/2016.09...

JD557··on We need physical audio kill switches
>Set top boxes

Maybe that's a regional thing, but I think that all set top boxes (and DTV decoders) that I used had it's own remote with adjustable volume.

JD557··on We need physical audio kill switches
Since the user is complaining about the way Mac OS handles the audio buttons, I'm surprised that he doesn't mention the problems with HDMI.

I don't understand why the OS disables the audio controls of HDMI outputs. If I press the volume down button, I want the volume to go down. Instead, I get a "I can't let you do that" warning!

This is particularly bad if I have my headphones connected to the display (I have both my desktop and laptop connected to the same display, keyboard and mouse, being able to share the same headphones would be pretty convenient).

JD557··on We now consider Moment.js to be a legacy project in maintenance mode
>I don't think there's any at least medium sized project that is considered to be done but not abandoned/legacy and does not receive any commits.

As another commenter mentioned, this can be pretty common in math libs.

Here's an example: https://github.com/fommil/netlib-java

This project BLAS/LAPACK/ARPACK bindings for JVM languages. The repository is marked as archived and the owner explicitly states that the project is done. The last commit was 21 Jun 2017.

This project is still heavily used, there are still multiple libraries that use those bindings.

JD557··on Teacher's low-tech laptop hack to display handwritten notes for online class
My mother is a kindergarten teacher and was "teaching remotely", which was pretty much setting up a shared google drive with parents, sharing with them weekly activities and then asking the parents to send pictures/videos of the kids performing the activities.

There is indeed a curriculum here. It's obviously pretty lightweight and not very strict, but kids are expected to know things like animal names/sounds, the ABC, have some musical/coordination skills...

JD557··on Planning for My Kidnapping
>The link is random generated link available only 6 hours, this is important to be safe as you don't want anyone to be able to access all your passwords ...

This seems like too short of a duration. What happens if the email is sent between 23:00-01:00 (your parents timezone? They are probably asleep and the email will expire at 5-7AM. Will they see the email in time?

JD557··on Why I still use an old PowerPC Mac
I'm not going to argue about old productivity software, but some games do indeed "age badly".

Obviously the game stays the same, but game designed has advanced and, if you are used to play modern games, some problems that are mostly fixed on all games from the last decade become annoyingly obvious.

For me, the main one is controls:

* Once you are used to WASD+mouse for FPS, going back to ctrl+arrow-keys (with some awkward keys to strafe and look up/down) is awful. If you are able to patch the controls to WASD+mouse, some games then become much easier than intended (since they were not designed with circle strafing in mind).

* Controlling the camera in old 3D platforming games is also a pain. It's amazing how long it took to move the camera controls from the bumpers to right the analog stick. The limited ability to control the camera is also partially responsible for it to get stuck in corners a lot.

There are also some level design choices that are arguably bad, but were required at the time, such as loading tunnels or abusing backtracking/repeated assets (e.g. fight all bosses again) to make the game longer.

JD557··on Albert Uderzo has died
I'm not sure if this is the case here, but IIRC, the internet archive is considered a library, which grants them some special rights regarding copyright.

I believe that's the reason that allows them to host arcade ROMs as well.

JD557··on Twitter is suspending pro-Bloomberg accounts, citing ‘platform manipulation’
That looks like a cool model, but isn't that pretty close to what Twitter does (at least if you use TweetDeck instead of the twitter webpage/app)?

I only see:

- Things posted by who I follow

- Things retweeted by who I follow

- Things liked by who I follow (I think I don't actually see this in TweetDeck)

JD557··on Helping newcomers become contributors to open projects
> * Have a style guide. Link it in the README. This saves you time in review.

I would go even further and recommend using some automatic style formatter. That way, you can fail the CI step if the code is not correctly formatted and that problem is trivial to fix (just run the formatter).

JD557··on KaiOS
Note that most KaiOS devices can be flashed with GerdaOS[1], which claims to be more privacy focused.

1: https://gerda.tech/

JD557··on Firefox Nightly on macOS: decrease in power usage by a factor of about 3x
AFAIK, it's a known issue with retina screens and scaled resolutions. If you use the default resolution, you should not see any issue.
JD557··on Standard JS: npm install funding
goatinaboat was probably talking about this: https://github.com/features/package-registry
JD557··on The Hottest Phones for the Next Billion Users Aren’t Smartphones
If you are interested in this new feature phones running KaiOS, I recommend taking a look at the BananaHackers website[1] and twitter account[2].

Some of those devices (such as the Jio phone shown in the article) can be jailbroken to support a lot more applications.

[1]: https://sites.google.com/view/bananahackers/home [2]: https://twitter.com/BananaHackers

JD557··on Slack was down
>you will not be able to receive/access emails that are sent to your primary address/domain until the provider resolves their issues.

You won't be able to receive new e-mails, but if you use a local client like thunderbird, you can still access your old e-mails.

With slack down, I can only access the messages that I (luckily) have cached locally.

JD557··on Adblocking: How about Nah?
> My personal expierience with one of the news sites (cant remember which it was) after GDPR was somehow refreshing. If you didnt agree, they disabled all javascript and throw you into same website but with only text and images relevant to the article. I loved it.

That was probably NPR.

Text version: https://text.npr.org/

← PreviousPage 3 of 10Next →