Things I've figured out:
Jul 25 2023
Jul 18 2023
Jun 6 2023
I haven't used heat-set inserts yet and I'm not sure if they're trustworthy or not.
May 30 2023
One actual logical issue inline.
Fine as-is, but see inlines about Conduit error behavior.
May 29 2023
May 28 2023
This version looks correct to me in all non-pathological cases, thanks!
May 27 2023
PhutilJSONParserException is sometimes handled specifically:
My preferred behavior is that the error is reported to the user, but not sent to the error log.
This is a big mess, but here's some general guidance (see also inline):
May 26 2023
I think the JSON change is suspicious, everything else looks good.
The two phlog() commands introduced in error handling seem unrelated, can we strip those out of this change? Everything else looks good.
May 24 2023
I didn't catch anything that looks suspicious or hazardous. Thanks!
May 15 2023
(Haven't forgotten about this stuff, but the kids got sick and family is flying in soon.)
May 8 2023
The relation between AuthProvider and AuthProviderConfig and AuthAdapter confused me a bit
Apr 30 2023
I think the string typehint isn't supported until recent-ish PHP, so its availability will depend on your minimum supported version.
Apr 29 2023
For https://we.phorge.it/T15281, consider modifying DiffusionGitCommandEngine->newFormattedCommand() to pass explicit configuration to Git (as we do in Mercurial) rather than requiring administrators correctly configure Git via .gitconfig via $HOME.
With the caveat that I mostly dig holes in the dirt now and no longer remember how computers work:
Apr 26 2023
I favor dealing with them on a case-by-case basis since they don't seem especially pervasive and I think in most of the cases where I've fixed the issue, the fix I chose wasn't just to swap the call. I think these strlen() errors are often a correct/useful symptom of undesirable slop in type handling.
Apr 25 2023
Aha! Looks good, then. Thanks!
I'm a little confused about how we ever hit the test for zip_open() (or whatever prompted the original change in D21860) if you don't have any custom compressed fonts and Phabricator doesn't ship with any custom compressed fonts? This change looks good to me, but how did we run into a problem in the first place?
(It would also probably be fine to just remove support for compressed figlet fonts, they're probably saving like 5KB?)
Apr 1 2023
I also cherry-picked this to stable, since I don't have any specific plans around when I'm going to cut the next release right now.
If the small pipe needs to drain into the big one, how about taking a large pvc end-cap, drilling a 1/4" hold and forcing the smaller pipe in it?
Mar 31 2023
I've been using Fusion 360, which I'd say is "not bad". (See also T13697, perhaps.)
Mar 2 2023
...I suspect that's a difficult geometry for FDM in PLA.
These sewing machine shaft collars are kind of tricky: thread unspools around them, so the inward face must have a completely smooth edge that can't catch or snag. This rules out a simple clamping-style shaft collar with a slit in it.
Spool Cap (Small)
Feb 17 2023
Feb 7 2023
ADPClientService is a (currently) non-essential background service that collects juicy user data to send to Autodesk, since there's no way they could be expected to make ends meet on just $545/year licenses alone. You can find lots of threads about how to disable it in various Autodesk products, but none of these instructions appear to work in the current version of Fusion 360.
Feb 5 2023
... Focus taken by Safari. Focus taken by ADPClientService. Focus taken by Safari. ...
Feb 4 2023
It stopped doing it as soon as I started watching it. But just wait, I'll catch it in the act. >_> <_<
An easy optimization here is likely to avoid calling phutil_utf8v(...) on very long strings using a strategy like this:
- Slightly smaller diff.
Jan 23 2023
They sell "broken" Ender 3 printers on eBay for like $75 shipped. I ordered two. One had a bad board (a $40 part); one had a bad Y limit switch (a $3 part) -- so the actual cost per printer seems to be around ~$100 if you're familiar with how they work and can identify which parts aren't working.
Dec 22 2022
Dec 21 2022
I traced the alarms back to Breaker #8 in Panel #2 (the detector tool actually worked okay this time). I disconnected the breaker and verified that killed the circuit. I swapped the alarms and updated the map of known breakers with this new information:
Dec 20 2022
No great surprise, but the blue boards seem about the same as the red boards and have the same problems:
The genuine article is not a JST-VH 4-pin connector -- the connecting clip is a little different, and there's no hole in the housing for (unused) pin #2. However, the pin size and spacing is right, so you can cut the connecting clip off a JST-VH and melt one of the pins out and the connector will fit well enough.
Dec 16 2022
I bought an oscilloscope and tested the speed signal of one of the new red boards once it arrived. The scope showed the perfectly sensible signal I expected, and the signal came off the board fine once I hooked it up. So maybe the first couple boards were legitimately bad?
This connector has a 4mm pin pitch, but I had a great deal of difficulty finding a likely-seeming bare connector with a 4mm pitch. After resigning myself to a Digikey quest for a connector that will fit a board on T13692, which also has a "4mm" pitch I realize the pitch is probably not 4mm but 3.96mm -- a wonderful pitch for which many connectors are readily available.
Here's the updated lightbar:
Dec 14 2022
Here's my nice safe smoke detector power adapter:
There doesn't seem to be anything mechanically wrong with the toy, although the motor and gearbox don't seem to be accessible without breaking something.
Dec 13 2022
Dec 5 2022
The capacitors on both boards arrived pretty banged up.
Dec 3 2022
Dec 1 2022
Nov 22 2022
Nov 4 2022
Couple of years ago the furnace wasn't working so well. Light comes on, three reds. Pressure switch stuck open. I take off a panel, pull the pressure switches. The contacts close properly. No clue what's wrong. Call an HVAC guy. He's pretty busy. No problem, we got plenty of sweaters. Ha. He makes it out early the next week.
... condensate drain ...
...there's enough absorbent material underneath the sink...
Nov 3 2022
I can't see a way to make the trap be any less garbage than it is because the 4" flanged tailpipe (the shortest flanged 1-1/4" tailpipe I could find) plus an additional 8" of tailpipe underneath it (the only 1-1/4" branch tailpipe I could find, which is only available with a slip fitting) means that the bottom of the lower tailpipe is super low. It looks like I left an extra 6" of flexible pipe on the drain side for fun, but that's just the rigid bottom of the tailpipe plus the minimum bend radius without making the flexible pipe start to crimp -- the bottom of the tailpipe is like 1-1/2" below the black plastic retainer clip.
Since there's no fresh water supply to the dehumidifier I don't think there's much benefit to an air gap, as there's no way backflow could ever contaminate a supply line. A clogged sink drain could possibly drain sink water out through the dehumidifier bucket, but the top of the drain line is only ~1"-2" below the top of the sink so it would overflow the basin onto the floor before very long anyway.
Oct 26 2022
Other options I explored and rejected:
- Inline Comments: See PHI2217. See PHI2206. Inline comments don't currently attach images.
- Destroying Edges: See PHI2201. See PHI2217. Destroying files that have old edge types may raise warnings. The destruction still works, although it doesn't hit the edges.
- Destroying Files: See PHI2217. Destroying an object doesn't destroy corresponding FileAttachment objects, so you can end up with ghosts in the UI.
There are some remaining non-security bugs with this that I'll follow up on in T13682. I believe the security side of this is now resolved.
The details of this attack will be disclosed at a later date, once installs have had some sort of plausible chance to upgrade.
An earlier patch here (rCORE6d6170f76463) swapped binlogs to MIXED and set a 24-hour retention policy. This issue has not reoccurred in the cluster since that patch went out, but the root causes remain unresolved.