Sometimes the person driving the car does not (want to?) pay attention or has "ceded responsibility" for car maintenance, and it's nice to get these reports without needing to periodically remember to check the car manually.
HN user
jreese
http://n7.gg amy @ n7.gg @n7cmdr
[ my public key: https://keybase.io/jreese; my proof: https://keybase.io/jreese/sigs/oMm1rGpBWQUZlYjQeGCSD25PvSnx2g6ZuaQ89HzjO2Q ]
I had a friend in high school who literally drove his (used) Civic every day for five years and never once changed the oil. You'd be amazed how well synthetic oil holds up in an engine designed for long term reliability.
iStat Menus is the venerable favorite: https://bjango.com/mac/istatmenus/
... and everyone laid off from Meta this week ...
And yet it can also be haphazard and misguided too. My experience has mostly been that the general comp level is high enough across the board, but discretionary/additional equity is almost exclusively thrown at high visibility/pet projects of the moment rather than the most important/impactful work that supports all of those fancy projects. Ie, working on infra has some of largest/widest impact in the company, but rarely merits AE/DE because everything is too incremental, difficult to explain the benefits to non-technical partners, or otherwise invisible to leadership at the levels necessary to grant equity. Losing a core, senior engineer from the database or network team can have a much larger technical impact than a random frontend engineer, and yet the bulk of AE/DE goes to flashy frontend product launches.
Fantastical is the Apple Calendar replacement that should have been mentioned.
I sincerely doubt anyone whose primary income is working as a retail employee is getting taxed anywhere near a 50% marginal tax rate, even if you include city/county/state taxes.
I'm sure they would love one, but it's probably not that easy/cheap to find one that can handle that much torque with such heavy loads. The biggest/heaviest trucks just end up using electric/traction motors running from diesel generators, so they don't need a transmission at all.
Trucks don't have 18 gears for efficiency. They have 18 gears because low-revving diesel engines have small power bands; mix that with heavy loads, and it pretty much necessitates having a lot of short, closely-spaced gear ratios, so that maximum torque can be achieved consistently, no matter what speed you're at.
Also, FWIW, they don't just pick between 18 gears with a single shifter. They have multiple inputs that allow shifting between multiple combinations of gears, some requiring clutch to change and some not, as they gain speed. Most trucks still only have 6-ish positions for the main gear shifter to slot in to.
I literally let my server sit without upgrades for almost three years before realizing my autoupdater script had been failing me. The biggest issue was needing to manually download a statically linked version of pacman (found on the arch forums) to support the new mirror/signing features. Once the system pacman was upgraded, I just ran `pacman -Syu`, let it spin for a while, and rebooted, and it just worked. ¯\_(ツ)_/¯
How do folks actually watch Formula E races, without a cable subscription? The Formula E Youtube channel only ever posts "highlights" through the season, and then waits to the end of the season to post full races to their channel.
I'm a happy F1TV subscriber, and really enjoyed watching some FE races here and there in the past, but it feels like they're going out of their way to make it difficult or pointless to actively watch full races during the season. Is there an "FETV" type of deal similar to F1TV, or do I just have to give up hope of seeing them before the end of the season?
Having your money "work for you" requires discipline, awareness, and trust in economic stewards far beyond what the average lottery player is capable of managing. The annuities still offer life-changing sums of wealth, but also guaranteed to give you 30 years to learn how to handle that much rather than accidentally spending it all in 3 years.
banking on your incapacity to calculate for inflation
$43M / year for 30 years sounds like a pretty good retirement in any sort of inflation short of catastrophic economic collapse.
$42.69/share is just sitting there, patiently waiting.
On the flip-side, it's worth keeping in mind where the puck is heading. Every "new" macOS app from Apple (eg, Shortcuts, System Settings, and even recent refreshes of old apps) has been written in either SwiftUI or Catalyst. A bunch of these still link to AppKit here and there, but it seems pretty clear that no new developement is breaking ground with AppKit.
Similar to the Carbon/Cocoa split, I'm sure we'll see AppKit supported well into the future, especially since we just passed the latest major architecture transition. But that doesn't mean AppKit isn't a dead end.
Even better, OBS now supports directly logging into Twitch, which then also gives you windows to set stream description and see user chat, all within OBS.
I'd buy a iPhone with a slide-out keyboard—a la the HTC Dream/G1 [1]—in a heartbeat. I'm happy with the onscreen keyboard for simple things like a quick search or message, but I also really want the option for a proper, physical keyboard any time I need to dig in and write something in depth. Bonus points for slider style devices like the G1 because you still got the "full size" screen, without having to sacrifice on keyboard size either; it really was the best of both worlds, and it's still my favorite device form factor I've ever used.
I've been doing it for over six years now, so why not? Joined ten years ago yesterday and made it to IC5, and haven't had any desire for a promo since then, so I just work on we/hatever I think is the best thing I can spend my time on for the team, and it's been sufficient for "meets all" or better every half except one. Just pick the right team with the right manager who actually cares about you and what is actually both for you and your coworkers.
I would rather get paid less (still in top 99+% of US mind you) to do work that is meaningful to me, my coworkers, and the wider open source community-and then clock out at six pm to spend time with my partner and play games-than earn more and spend all of my time in meetings and design discussions and worrying about whether I'm having enough cross functional impact to meet performance expectations or whatever the new director's pet project of the month is.
One of the best parts of being happy at a "terminal level" in FAANG is that I can easily pick what I work on for best impact on the teams around me (and the engineering org as a whole) without worrying about chasing a promotion. I know the levers I can pull to get a higher perf rating here and there, but I'm also free to focus on the "papercuts" knowing that I'm not sacrificing future promotions, because I just don't care about adding more responsibilities to my plate. I can do "the right thing" for my coworkers, and all I have to do is make a case for improving developer sentiment or efficiency to justify the work.
Oops! Thanks for catching that. I fixed the example.
This is only true for string literals. Strings constructed at runtime may (and often will) end up as separate objects:
>>> a = "this is a long sentence in a string literal"
>>> b = "this is a long" + " sentence in a " + "string literal"
>>> a is b
False
>>> id(a)
4386376272
>>> id(b)
4387721264
>>> a == b
TrueFWIW, that version ends up being slower, because you're constructing and iterating over a tuple for every iteration, which incurs a similar cost to running `.strip()` twice. The sub-generator example I gave is better because you're only constructing the generator expression once, and requires less overhead for each iteration.
I actually just used it to what I would say was a perfect example of where it legitimately improved code readability while maintaining pythonic constructs:
values = [
value
for line in buffer.readlines()
if (value := line.strip())
]
Previously, I would have needed to either duplicate effort like: values = [
line.strip()
for line in buffer.readlines()
if line.strip()
]
Or used a sub-generator: values = [
value
for value in (
line.strip() for line buffer.readlines()
)
if value
]
Or rewritten it altogether using a (slower) for loop calling append each time: values = []
for line in buffer.readlines():
line = line.strip()
if line:
values.append(line)
The assignment expression is perfect for this sort of use case, and is a clear win over the alternatives IMO.Edit: fixed initial example
I think this is clever, and maybe even necessary, but feels risky to do on unaudited third-party Python libraries.
This is why my coworker built the project he called "dowsing"; it tries to understand as much as possible from the setup.py's AST, without actually executing it.
Unless, of course, our goal isn't to win, but to just be eternally aggrieved. I am increasingly convinced that is the case.
It's worked pretty well for the conservatives the past couple decades.
The Louvre charges 17€ per person, and I'm pretty sure they're focused on fine art. How much they're profit focused versus just reinvesting profits is up for debate.
Sam Gross works for Meta, and to my knowledge, this is his #1 project. So in effect, one of the largest companies depending on Python is funding this work.
AFAIK, this is the first time that CPython could be directly compiled for WASM (with no patches IIRC), and PyScript adds a number of components for better integrating Python with the DOM, importing extra modules at runtime, as well as a dedicated py-script HTML tag.
But I've personally never used either, so maybe I'm missing something too?
The author mentions my talk in the list of ones to watch ("Open Source on Easy Mode"), but the actual presentation did not go well due to technical difficulties. I made the brave mistake of bringing only my iPad to present with, and apparently it was refusing to output 1080p, which resulted in squashed output of my slides in their A/V system. And delays while trying to fix it meant I had to give my talk on a compressed timescale. I had to talk even faster than expected, and still needed to elide some bits at the end. Lessons learned, I guess!
I'm planning to re-record the talk on my own at some point soon, but until then, all of my slides and examples, and the full script for the talk, are available on my github repo. Hopefully there's something useful there for everyone: