When I updated the Darwin SDK and source releases in nixpkgs last year, I tried using the FreeBSD locale data. It worked in a technical sense, but it broke things that depended on the quirks in the Apple’s locale data. That statement about compatibility is unfortunately true.
HN user
kenada
[ my public key: https://keybase.io/reckenrode; my proof: https://keybase.io/reckenrode/sigs/LY2JlmwttMfru6j2RNHGXQgSL6PZtTJ9mIeWxvEZHMg ]
I’m in my mid-40s. I’ve been practicing GTD for about a decade. My system used to be fairly elaborate in the beginning, but now it’s fairly simple. However, I don’t view it as an organizational system. It’s a tool for me to be confident that I’m doing the right thing right now.
For organizing reference material, I have a drawer with files for physical things and cloud storage and notes for digital things. I label it by topic as it seems appropriate/obvious. I review my reference material annually, deleting or destroying anything that’s not still needed.
In practice, I don’t actually engage with my system much. I review it weekly to clear out any next actions I did. It’s there as a backstop (i.e., I use deadlines as appropriate in OmniFocus) and to help keep me aware of my hard and soft landscapes.
(I lost my weekly review habit for a while, and that was bad for me and my system. I’m glad I’ve reestablished it.)
If (for example) I decide to hack on nixpkgs stuff tonight, I don’t need a task for that. I may capture one to resume later, but what’s important is that I know what I’m not doing, and I’m fine with that. If it turns out I’m not, then that’s a sign I need to renegotiate or delegate some of those things.
macOS also supports the APIs, but password manager developers don’t seem willing to implement them there.
I’ve used 1Password for a long time, but I’m probably going to drop it for Apple’s password manager because when users ask 1Password to add support, they are directed to use 1Password’s browser extension and universal autofill instead. Neither support passkeys in applications. I also find the browser extension buggy at times (especially with passkeys).
Improving the interaction with language ecosystems was one of the motivating reasons for how I approached the [rework][1] of Darwin support in nixpkgs. A lot of Rust stuff was simply impossible to build due to their SDK needs and how hard it was to override the SDK correctly, but that’s fixed now (with a few remaining cases that will be fixed in the final staging cycle before 24.11). I expect other ecosystems to benefit similarly, especially since Darwin support looks more like a native toolchain while still being built and provided by nixpkgs.
For example, Zed and Wezterm (previously failing intermittently on x86_64-darwin) now build on Darwin. Someone even has [Firefox building from source][2]. PyTorch will be able to support MPS, and MoltenVK will be able to use Metal 3 features if your system supports them.
The bug probably wasn’t reproducing on Linux because the clang shipped with Xcode is from Apple’s fork. The version may say “15”, but it was closer to upstream LLVM’s clang 16. There are also changes that haven’t been upstreamed yet and probably some that may not ever be (if my experience updating libtapi in nixpkgs was anything to go by).
The manager would tell people which ServiceNow tickets to work or what project work to do. We went from empowered to micromanaged. Maybe the kinks got worked out eventually, but I didn’t stick around and left after a few months.
That’s fair, and you’re right. I apologize for being unclear. Perhaps I should have quoted it to reflect that my issue is with what gets called “agile” rather than what the practice is supposed be (and the former seems unfortunately common).
I’ve had good experiences with scrum. I was on a team that was empowered to own and refine its practice. We were able to halve our cycle time and improve sprint planning to the point where we rarely overcommitted. It was great, and it was credited with the successful delivery of a major project.
Unfortunately, our management changed, and we were no longer empowered. The new manager had his own ideas for how things should be done, and that resulted in a replacement process that was worse. We lost the ability to do effective capacity planning and iterate quickly. It was terrible.
That’s really my biggest issue with agile. There’s a big focus on process, but it’s about the people. If the people aren’t empowered, it won’t work. If you’re not iterating and communicating, it won’t work. If someone’s not on board with that, they can sabotage things (intentionally or otherwise).
The traditional markers of financial success—from owning a home to snagging that corner office at work—are becoming not only less attainable but also less valuable for Gen Zers.
To be fair, those corner offices might not even exist anymore depending on the employer. From when I started working part-time in college in the early ’00s through today, those sorts of things have disappeared.
I remember how the programmers where I first worked in an entry-level position out of college had their own offices. I’m a staff engineer now, and I don’t even have my own desk (because it’s an open office with hoteling). I hate it.
The way I handle this on my home network is to advertise a ULA prefix in addition to the one delegated by my ISP. The ULA addresses are not routed. They’re just used for my network. My home DNS server advertises AAAA records using the stable, ULA addresses for those servers I want to advertise. For other machines (like computers, laptops, etc), I rely on mDNS.
NetNewsWire has had an iOS version for a while now.
Am I the only one who finds them hard to read at smaller sizes (when they’re in-line with text)?
This is what I do. If I need an ad hoc environment, I use `nix shell`, or I set up a flake for the project and have `direnv` activate it when I `cd` into the project directory or open the folder in VS Code.
`podman machine` uses Fedora CoreOS, which doesn’t currently support aarch64. However, it [sounds like][1] that could change soon.
[1] https://github.com/coreos/fedora-coreos-tracker/issues/13
The Podman daemon can run as a user service, so the only advantage that would be lost is not having to run a daemon at all (but I don’t think one can avoid that if Docker API compatibility is needed). Is there something else I’m not considering?
Podman [supports][1] `docker-compose` now. Just set `DOCKER_HOST` to the path of your Podman socket after activating the service, and it should just work (unless you use Swarm, which is not supported).
Spectrum assigns a /128 to your router via DHCPv6, but you also get a delegated prefix. That prefix seems to be a /64 by default, but you can request and receive a /56.
The place to do this would be in ingest, wouldn’t it? The ingest configuration is just Python, so one could conceivably write a module to assign accounts based on the incoming data. I know there was a module that would try to use ML to do that based on your account history.
If you don’t want to do that, another option is hledger. I used that for a while before deciding to switch back to beancount for its ingest process. However, considering I have made no progress on that over the last year, I might just go back to using hledger.
hledger’s ingest process is not as sophisticated as beancount’s. You can’t write arbitrary plugins like with beancount, but you can pattern match on the incoming text and assign accounts that way. You can also define automatic transactions in your books, which I found incredibly helpful for managing my budget.
The package selection is fairly limited. I tried it recently and was disappointed that neither neovim nor ripgrep are packaged. It also has little mindshare. I found out by accident that it was available for macOS.
Well, it is, but it’s not in the productivity pr0n sense. It’s not about compiling lists of tasks and planning everything out, so you can churn through them like a machine. The point isn’t to maximize how many things you do. The hyperbole gives me an opportunity to address that misconception.
When I first met my wife, she commented on how I would capture everything. To her, it seemed like I had to plan everything out, so how could I be spontaneous? It’s actually the opposite. By knowing my landscape, I knew what I had to hand off at work while I was away visiting her, and what I could let wait until I got back.
I barely engaged with my system while I was visiting her, but that’s okay. It was still there keeping all my responsibilities safe while I was away, so I could focus on my time with her instead.
And to be fair, sometimes people want a method that tells them what to do or how to make decisions. GTD isn’t that method, but it can help you manage your next actions once you figure what they are.
It's about being able to take complete stock of your life on a regular basis.
Yes! This so much! I spend time in r/gtd, and I see that kind of misunderstanding (“productivity pr0n”) not infrequently. People want a system they can use to tell them what to do, and that’s not what GTD is about. I usually reply with something along what you said, paraphrasing David Allen: GTD is not about getting things done; it’s about being engaged appropriately in your life.
My first implementations were clumsy because I wanted to get fancy with my system with sequential projects and deeply nested tasks (in OmniFocus), but I eventually evolved to realize that the book really was right. I use a fairly minimal system that hews closely to what the book says. The most liberating thing was understanding that I _shouldn’t_ necessarily plan all my future actions out. I can document things I know I need in my support material, but those aren’t next actions, and GTD is about capturing and clarifying next actions.
Another comment here mentions that the book sometimes isn’t easy reading. I can definitely agree with that. There are places where it gets into the details before it properly introduces a concept and why it’s useful. Contexts are widely misunderstood because of this. The book leads with what they are (tools, people, places, etc), and people conclude that since we’re connected almost all the time, we don’t have contexts. The reality is contexts are just filters, and they’re useful because they help you manage having lots of next actions.
Linux installs[1] and runs on T2 Macs. The experience varies depending on the model, but it mostly works. The only thing likely to never be supported is Wi-Fi, which is due to the lack of compatible firmware rather than anything to do with the T2 chip.
Thanks for the suggestion. It turns out, I was wrong. dhcpcd is being imported into base for FreeBSD 13.
One big limitation with dual-dhclient is that dhclient doesn’t support setting the delegated prefix on the interface. You have to parse it out and generate a rtadvd.conf with the prefix.
I ended up switching from dhcp6 to dhcpcd since the latter is actually maintained and seems to work better with my ISP (hopefully …).
This is a pretty decent overview of IPv6 on a home network. Here are some other things I learned when doing something similar recently on my home network (except the router is a FreeBSD box).
- You can run `dhclient` interactively to learn the size of the prefix your ISP delegates. The OP touches on this, but the solution is OpenWRT-specific. Most distributions include `dhclient` or have it packaged.
- It’s possible that the IP your ISP assigns your router is in a different prefix from the prefix it delegates to you. For example, my ISP for a while assigned an IP in 2607::/16 while delegating a /56 prefix in 2605::/16.
- Prefixes can also change. When I switched my router to FreeBSD, I started getting a /56 prefix in 2607::/16 instead of 2605::/16.
- Some systems (e.g., Windows 7) don’t support getting DNS via router advertisements. If you want to support them, you need to run a DHCPv6 server and advertise that other stateful configuration is available.
- Kea is the successor to the ISC DHCP server. I found it a bit nicer and more flexible to configure.
- On Linux, NetworkManager and systemd-networkd handles a lot of this stuff automatically, but your customization options are limited. I couldn’t find a way to do the above without having to do things manually myself.
- FreeBSD’s DHCP client in base does not yet support DHCPv6. To get an IP and a prefix, you need to install one from ports. I’m using dhcp6c, following this guide[1] to set it up.
- ICMPv6 is integral to IPv6, but if you want to filter it, follow the advice in RFC-4890. Filtering ICMPv6 incorrectly will mess up your network in weird ways (e.g., my MBP could get an IP but wouldn’t get a DNS server until I fixed the problem).
- IANA maintains a registry[2] of IPv6 multicast addresses. I found this helpful when writing firewall rules.
- When advertising LAN services over DNS, make sure you use the “secure” or “template” IP and not the temporary IP used for IPv6 privacy. Also, you can’t assign domain names to link-local addresses, but you can advertise a DNS server (via RA and DHCPv6) on one.
- mDNS is the exception to the above. Avahi and Bonjour advertise link-local address and are able to resolve them properly.
[1] https://vladvasiliu.com/post/20180827-0922-ipv6_prefix_deleg...
[2] https://www.iana.org/assignments/ipv6-multicast-addresses/ip...
It’s out and has been for a while, but it’s not a standalone product.[1] You need to set up your database in one of the apps, and some functionality is not implemented (yet).
I went through the same thing, and I think that may be why I prefer Ruby over Python. I still have a soft spot for Eiffel and checked it out recently, but the tooling situation and library ecosystem is still not great, and I can’t see myself actually using it for anything practical.
If you don't mind, does it give you a /64 subnet? And do you know if you can get a larger subnet?
It does give you a /64. I don’t know whether it’s possible to get a larger one.
We got this last week. I just called Spectrum to cancel our service. It’s good enough for the price, especially since Spectrum raised the price of Internet to $69.99 this month.
- Speeds vary, but we seem to average around 100/20. The highest I’ve seen is 150/50. The lowest is 50 down. I have (separately) seen some awful upstreams—around 2 Mbps up.
- Latency is server-dependent but worse than cable. It’s probably not good for latency-sensitive applications (like some games).
There is one important caveat: T-Mobile uses CGN. Their network is IPv6 with 464XLAT bridging to non-IPv6 sites.
Not currently, but Codeweavers is working on a solution.
https://www.codeweavers.com/about/blogs/ken/2019/10/3/crosso...