HackerTrans
TopNewTrendsCommentsPastAskShowJobs

marceldegraaf

no profile record

comments

marceldegraaf
·16 dagen geleden·discuss
It's perfect for gaming: silent, reliable network and Bluetooth, and supports basically any TV or projector. Works great with Xbox Elite controllers.

Only downside is that keyboard/mouse can't connect to Apple TV, so it's controller-only.
marceldegraaf
·23 dagen geleden·discuss
Ah, I see someone has listened to "The Rest is Science" recently. Great podcast with Michael Stevens (VSauce) and Hannah Fry (the mathematician)

https://www.youtube.com/watch?v=9t-5lQ2mzuw
marceldegraaf
·2 maanden geleden·discuss
This video explains how Gaussian splatting works: https://www.youtube.com/watch?v=X8yRlA7jqEQ
marceldegraaf
·2 maanden geleden·discuss
I have my Windows gaming rig in a rack at home, and run Apollo [1] on it. Using that, I can game on any Apple TV (with an Xbox controller) or the MacBook (connected to a display/keyboard/mouse) anywhere in my home. With wired networking 60fps at 4K is no problem at all.

This would be easy to set up the other way around, too: having a gaming rig on your desk with Moonlight, and running Linux on another machine somewhere in the network with Apollo to host the development setup.

No KVM (or KVM-equipped monitor) or other special hardware needed.

1: https://github.com/ClassicOldSong/Apollo
marceldegraaf
·4 maanden geleden·discuss
It was a compliment to Miele in particular, not to all of German engineering ever ;-)
marceldegraaf
·4 maanden geleden·discuss
A BEAM process is not an OS thread. The way I understand it, a BEAM process is just a very small memory space with its own heap/stack, and a message system for communication between BEAM processes.

The BEAM itself runs multiple OS threads (it can use all cores of the CPU if so desired), and the BEAM scheduler gives chunks of processing time to each BEAM process.

This gives you parallel processing out of the box, and because of the networking capabilities of the BEAM, also allows you to scale out over multiple machines in a way that's transparent to BEAM processes.
marceldegraaf
·4 maanden geleden·discuss
Counterpoint on the "going all-in": we have a 7 year old Elixir/Phoenix project that currently sits at ~100K LOC and I couldn't be happier.

It has been absolutely wonderful building this with Elixir/Phoenix. Obviously any codebase in any language can become a tangled mess, but in 7 years we have never felt the language or framework were in our way.

On the contrary: I think Elixir (and Phoenix) have enabled us to build things in a simple and elegant way that would have taken more code, more infrastructure, and more maintenance in other languages/frameworks.
marceldegraaf
·4 maanden geleden·discuss
Not OP, but I made the move from Ruby/Rails to Elixir years ago, so I'll try to answer from my perspective.

Elixir is a functional programming language based on the "BEAM", the Erlang VM. We'll get back to the BEAM in a moment, but first: the functional programming aspect. That definitely took getting used to. I remember being _very_ confused in the first few weeks. Not because of the syntax (Elixir is quite Ruby-esque) but because of the "flow" of code.

However, when it clicked, it was immediately clear how easy it becomes to write elegant and maintainable code. There is no global state in Elixir, and using macros for meta-programming are generally not encouraged. That means it becomes very easy to reason about a module/function: some data comes in, a function does something with that data, and some data comes out. If you need to do more things to the data, then you chain multiple functions in a "pipe", just like how you chain multiple bash tools on the command line.

The Phoenix framework applies this concept to the web, and it works very well, because if you think about it: a browser opening a web page is just some data coming in (an HTTP GET request), you do something with that data (render a HTML page, fetch something from your database, ...) and you return the result (in this case as an HTTP response). So the flow of a web request, and your controllers in general, becomes very easy to reason about and understand.

Coming back to the BEAM, the Erlang VM was originally written for large scale (as in, country size) telephony systems by Ericsson. The general idea is that everything in the BEAM is a "process", and the BEAM manages processes and their dependencies/relationships for you. So your database connection pool is actually a bunch of BEAM processes. Multi-threading is built-in and doesn't need any setup or configuration. You don't need Redis for caching, you just have a BEAM process that holds some cache in-memory. A websocket connection between a user and your application gets a separate process. Clustering multiple web servers together is built into the BEAM, so you don't need a complex clustering layer.

The nice thing is that Elixir and Phoenix abstract most of this away from you (although it's very easy to work with that lower layer if you want to), but you still get all the benefits of the BEAM.
marceldegraaf
·4 maanden geleden·discuss
I recently replaced the shock dampers on our Miele washing machine (~10 years old) and I was amazed how well designed and ergonomic the inside of the machine is.

Parts are very easy to get at, all screws are Torx of identical size, and there's one very obvious way to take the machine apart and put it back together again. Made the replacement a breeze.
marceldegraaf
·5 maanden geleden·discuss
Hey, this looks great! I would love to test the Home Assistant version via TestFlight if that's possible; email is in my profile.
marceldegraaf
·8 maanden geleden·discuss
It's funny that you mention this, and it made me take some time to appreciate I've been working with Elixir full-time for almost 10 years now, and the entire experience has been so... stable.

There's been little drama, the language is relatively stable, the community has always been there when you need them but aren't too pushy and flashy. It all feels mature and – in the best possible way – boring, and that is awesome.
marceldegraaf
·8 maanden geleden·discuss
Arq (https://www.arqbackup.com/) is a pretty decent backup solution for macOS (and Windows) that lets you bring your own storage. So you can let it back up to Amazon S3/Glacier, Dropbox, your own NAS with ZFS, or one of the other supported destinations.
marceldegraaf
·9 maanden geleden·discuss
The Netherlands has very complete and reliable public datasets (provided by the government) that contain loads of information about roads, buildings, up to individual trees. Additionally, there's sites like Netherlands3D[0] that combines these datasets into a 3D representation of the entire country.

0: https://netherlands3d.eu/