HN user

_peeley

419 karma
Posts5
Comments74
View on HN

I'm surprised that this is being dropped, but the "Send to Kindle"[0] feature is still supported. I would imagine that the email servers (and whatever other behind-the-scenes cruft it requires) to relay files to individual Kindle devices is a much bigger maintenance burden and "piracy" enabler than transferring via USB.

I'm a huge user of the Send to Kindle feature via my Calibre library too, so this has me pretty bummed and pessimistic for the future. I guess if the worst comes to pass, I can just look into jailbreaking or getting any of the zillion other Android-based eReaders from AliExpress.

[0] https://www.amazon.com/sendtokindle/email

Matrix 2.0 Is Here 2 years ago

Very exciting! I'm particularly pleased to see the invisible encryption stuff mentioned.

One of the biggest pain points I had when setting up a self-hosted Matrix instance and getting all my devices signed in was the crypto stuff. At least in the client I use, Element, I was bombarded with tons of popups with vague "Upgrade your encryption!" prompts upon logging in the first time. The copywriting on the "Security & Privacy" page was less than helpful in illuminating what I was actually "upgrading" or setting up, since specific technical terms (e.g. recovery key/security phrase/security key) were all used more or less interchangeably. If that kind of confusion can be reduced or swept under the rug for end-users, it'd be a huge improvement on user experience.

Interesting post. I've used Laravel for a few years now for work and personal projects, and I've really enjoyed it. I tried to test out Rails to explore other MVC web frameworks, and I just couldn't vibe with it. I think the major areas in which I was incompatible with Rails were:

- Lack of dependency injection/inversion of control. I find it interesting the author lists this as an advantage. With Rails, I was always a little anxious not knowing where things were defined or being implemented.

- Validation happens on models, not requests. With Laravel, I really appreciate being able to validate pretty much any data coming into the application regardless of whether or not it ends up in the database. With Rails, I tried to look for something similar to FormRequest and its validation rules, but I couldn't find many solutions. I think it might just be one of those things that's not the "Rails way".

- Perhaps more of a Ruby issue than a Rails issue, but the dynamism of the language - especially in its type system - was a bit of a drawback for me. I really appreciate PHP 8 and newer versions of Laravel for their support in type hinting and static analysis; being able to mouseover anything and know pretty confidently what I'm working with is a huge boon in my productivity.

I definitely agree with the author on a lot of the Laravel tooling stuff. I've learned to just kind of ignore most of the offerings outside of the core framework. I'm sure it's all great, but there's always a bit of churn in Laravel as the author mentioned so I'd rather save myself the future heartbreak.

Ah, I think you're referencing the sidenotes. Sometimes the website doesn't render properly on mobile (I've tried getting click-to-expand working, but it's tricky), so try reading in desktop mode.

Regarding sidenote #1, I actually very deliberately did not mention the language or company ;) Here's the full text of the sidenote, if you're still unable to get it rendering:

I'm not going to name the language itself, because this post would just turn into a flame war over that language specifically, and I definitely don't want to cast shade on any language/community in particular. I'm also kind of hoping that the most annoying people read this and think, "Ah, of course he's talking about that language over there! This criticism obviously doesn't apply to my perfect and favorite language!" Regardless, I feel that the thesis and content of this post applies pretty evenly to most functional programming languages.

Same, I originally had a bunch of RasPi's in my lab running differing versions of Raspbian until I got tired of the configuration drift and finally Nixified all of them. Writing a single Nix Flake and being able to build declarative SD card installation images for all of them makes managing a bunch of different machines an absolute dream (tutorial here[0], for those interested).

The only issue is remotely deploying Nix configs. The only first-party tool, nixops, is all but abandoned and unsupported. The community driven tools like morph and deploy-rs seem promising, but they vary in terms of Flakes support and how much activity/longevity they seem to have.

[0] https://blog.janissary.xyz/posts/nixos-install-custom-image

I agree. For most people just starting out, it's a lot more worthwhile to get a single cheapo repurposed desktop or a single Raspberry Pi to run PiHole or something on and then expand from there. My homelab[0] started as a single Pi running PiHole and has expanded to four machines running everything I need from Jellyfin to Calibre to DNS, etc.

That being said, when I finally got around to rackmounting and upgrading some of the other hardware in my lab, this "beginner"'s guide was really helpful.

[0] https://blog.janissary.xyz/posts/homelab-0

I remember when I was diving deep into Docker for the first time a few years ago, I would have really appreciated seeing something like this. I wrote something kind of similar in a blog post [0], but that was only a semi-confident note to self that took quite a bit of digging through READMEs and GitHub issues. All the different container runtimes/engines/interfaces are really enough to make your head spin.

[0] https://blog.janissary.xyz/posts/docker-gripes , see `Conclusion` section

Exact same boat here - got my Framework a couple months ago when my Thinkpad X230 finally started showing its age, installed NixOS on it. The only disappointments so far have been battery life and heat management. I get maybe 5-6 hours from full charge, and the laptop gets super hot/noisy when sitting on anything other than a hard flat surface where the fans get maximum airflow (even using it when it's on my lap gets uncomfortable quick, and putting it on top of a blanket is out of the question).

The Didactic Novel 5 years ago

Heaven's Vault is a good one. It's a very indie point-and-click type adventure game with really nice storybook-style visuals and music. You play as an interstellar archaeologist exploring ruins and piece-by-piece deciphering an ancient pictographic language for clues and lore, so as you progress through the game you basically learn this constructed language. I'd recommend it to anyone interested in linguistics/writing systems/Unicode nerds.

My God, this looks like an absolute death trap even in the best traffic conditions. What happens if a car catches fire, as enormous lithium batteries are known to do? The walls are too close to open a door and climb out, and good luck stopping and climbing out of the back hatch. The tunnels look like they're not even high enough for emergency vehicles like ambulances to enter, or even a tow truck if someone breaks down. I don't think you could pay me enough to drive through one of these.

The article mentions electric vehicles several times as a panacea for suburbanism, but I think a lot of people fail to realize just how _miserable_ owning and commuting in a car is. I spend half an hour every morning and evening alternating between white-knuckling the steering wheel on the freeway while fearing for my life and being stuck in traffic on some God-forsaken stroad[0]. My daily routine would be unimaginably more enjoyable if I could step out of my front door and simply walk to the places I need to go, or take (reliable) public transportation. Because the only affordable housing in my area is in single-family housing developments accessible only via the nearest freeway exit, walking would be suicide and there's not enough density for actual public transportation to be efficient/financially feasible.

[0] https://www.strongtowns.org/journal/2018/3/1/whats-a-stroad-...

Django 4.0 5 years ago

Every time I need to write up a research paper in TeX and insert a graph, I make the same mistake of searching "latex images" and getting some pretty exotic results

When it comes to reaching actual content that isn't just an entry in an API doc somewhere, Google is basically just a vehicle for me to get to StackOverflow/Reddit at this point. For almost every search I've done without appending "reddit", the first page is full of bullshit zero-effort listicles. Like the other day I wanted to see what web frameworks Go has to offer, but when I search "golang web frameworks" I get a million links like "Top 10 Best Go Web Framework 2021!!" that are filled with obviously scraped or auto-generated content.

I get that SEO is kind of a race-to-the-bottom scenario, but I always wonder - how are these random sites in business? I understand that they get a good amount of traffic from said SEO and "advertising" pays good money for that traffic, but do advertisers really not grasp that people spend all of five seconds on these pages before going somewhere else?

Content preservation is a seriously underrated aspect of piracy. Prior to getting shut down in 2016, what.cd was practically the modern-day Library of Alexandria of music. Literally anything you could ever want to listen to was available in lossless FLAC format, made available by anonymous volunteers purely out of a love of music.

Now it's gone, and who knows how much music has been lost to time as a result.

I use Laravel both at my day job and for a few side projects, and it's a real blast to work with. It's very similar to Rails in that you can auto-generate most boilerplate for models/views/controllers, and then paint-by-numbers from there. The HTML templating is nice enough for static sites, but it has great Vue integration if you're making something a little more interactive. If you also ever need to venture outside the super feature-packed framework, the PHP ecosystem is absolutely enormous so it's rare you'll ever be wanting for packages.

The PHP language obviously still has some sharp edges and annoying design choices, but it's seen some huge improvements in the past few years imo. Simply using a framework like Laravel will also save you from some of the more infamous footguns, since there's a lot of secure/sane defaults included.

It always irks me when organizations/governments/businesses use the word "lost" in this context, like when people say Spotify/Netflix have "lost" $Xm to digital content piracy. It's not like they once had your money, and no longer do (i.e., they actually lost it) - it's little more than presupposing that your money _belongs_ to them, and any violation of these expectations is tantamount to crime.

If I take the liberty of assuming you'll give me $5 for whatever reason (or in the case of taxation, I threaten to take $5 and assume you'll comply), and you do not do so, is it fair to say that I've "lost" that $5?

Why Lisp? 5 years ago

Not really. With Clojure you don't even have to leave your editor (I use Emacs with the fantastic CIDER package). You can put your cursor over an S-expression, hit two keys, and evaluate and see the results of the S-expression directly within the text buffer. The feedback loop is so quick it's basically instant - even tabbing over to a browser or terminal window feels lethargic in comparison.

I haven't used Common Lisp much, but I've seen a few really impressive demos of debugging in its available REPLs. This is a longer one, but a good tour of SLIME (also an Emacs package): https://youtu.be/_B_4vhsmRRI

I haven't looked into Bazel at all, other than knowing it's a build system used at Google. Sounds a lot like Nix's philosophy of totally sandboxed/declarative package builds, although instead of needing a monorepo with every piece of software you can just grab a reproducible build from nixpkgs.

Another great Rich Hickey talk is Simple Made Easy, very similar message. So many of these auto-project tools are very easy to use, but in no way simple to understand and end up adding complexity in the long-term.

A good example is a tool like `create-react-app` (especially if you add TypeScript support). It's super easy to use and creates the project scaffold and enormous JS build system for you, but good luck trying to fix it if something breaks!

I bought a PinePhone when they were on sale a few months ago for $150. I tinkered around with it for a few days, but it's just been collecting dust ever since. I kind of expected not to use it as a daily driver since I rely on App/Play Store apps, but it was unusable for a bunch of other reasons like:

- Short battery life, was pretty much drained after maybe 4 hours of light use

- The phone would get insanely hot during use, or while plugged into the charger

- Display bugs, every time the phone rotated from portrait to landscape there were black bars or other artifacts

- Poor performance in general, typing too fast caused latency issues and opening apps really made the phone chug

Overall, I think Linux on mobile just needs some more time in the oven along with access to the hardware market that Android/iOS has been able to use for a while. I could probably deal with not having access to the Google/Apple app ecosystem if the phone itself were a smooth user experience, but that's just not the reality of it yet.