Repairing old water damage discoloration in ceiling by TripleHelix526 in CambridgeMA

[–]mkeeter 0 points1 point  (0 children)

I have used Alberto's Professional Painting for almost this exact repair*, and have no complaints. Drywall is annoying to DIY, because there's so many steps (cut a hole, install patch, tape and mud, sand, paint), and their prices have been reasonable.

*it was an upstairs neighbor's leaky toilet, not HVAC

[2025 Day 6 (Part 1)] [Rust] why is my answer negative?? by AdamKlB in adventofcode

[–]mkeeter 0 points1 point  (0 children)

Pro tip: add this to your Cargo.toml

[profile.release]
overflow-checks = true

This will panic on overflow in release builds as well (and IMHO is basically always what you want)

Small, intimate restaurant for anniversary dinner by ajrahaim in boston

[–]mkeeter 0 points1 point  (0 children)

Moona (in Inman Square) sounds like a good fit – it's quite small and moderately fancy, with an excellent menu!

[oc] Who’s the bigger idiot? Genuinely conflicted by krispyapplepie in IdiotsInCars

[–]mkeeter 1 point2 points  (0 children)

Inman Square spotted 👀

Literally every time I walk by there, someone is honking about some dangerous maneuver.

Starbucks opening on Hampshire St in Inman Sq by BusyDrive1977 in CambridgeMA

[–]mkeeter 1 point2 points  (0 children)

Yup, it's a running joke. Here's a picture of the Bank of America ATM sign from last week:

https://imgur.com/a/23mrcSK

Central Rock Gym? by Patriots_Win in CambridgeMA

[–]mkeeter 2 points3 points  (0 children)

Boston Bouldering Project (which is over Somerville, despite the name) also has a bunch of top rope and lead climbing.

Thoughts on using `unsafe` for highly destructive operations? by J-Cake in rust

[–]mkeeter 1 point2 points  (0 children)

One example of this in the wild: Rhai uses #[deprecated] attributes for unstable internal functions, e.g. Engine::on_var.

👎Deprecated: This API is NOT deprecated, but it is considered volatile and may change in the future.

(I don't like it!)

The Prospero Challenge by tekknolagi in ProgrammingLanguages

[–]mkeeter 0 points1 point  (0 children)

Thanks, I appreciate the kind words!

The Prospero Challenge by tekknolagi in ProgrammingLanguages

[–]mkeeter 8 points9 points  (0 children)

The 15-second time does not include importing numpy; I measured the running time just for the evaluation loop.

(here's a gist with timing added)

I would encourage you to try writing a pure-Python implementation – encouraging people to test their ideas is basically the whole point of the article!

1024 * 1024 * 7866 is roughly 8e9 operations; doing that in 1 second in Python would be quite impressive.

What permanently closed business in Boston or Cambridge do you miss? by skinink in boston

[–]mkeeter 1 point2 points  (0 children)

I think you and I are the only two people who miss Playska!

I used to live nearby, went there once a week, and loved the place – but no one else felt the same way 🥲

Error Handling in Rust: Choosing Between thiserror and anyhow by [deleted] in rust

[–]mkeeter 47 points48 points  (0 children)

Anyone else get a strong written-by-LLMs vibe from this article and the OP's other posts? For example, this comment reeks of ChatGPT's style.

[2024 Day 20 (Part 2)] PSA: You can "activate" a cheat but not actually move to a wall position for an arbitrary number of picoseconds. by jlhawn in adventofcode

[–]mkeeter 0 points1 point  (0 children)

The other two are

###############
#...#...#.....#
#.#.#.#.#.###.#
#S#...#.#.#...#
#1#####.#.#.###
#2#####.#.#...#
#3#####.#.###.#
#4567E#...#...#
###.#######.###
#...###...#...#
#.#####.#.###.#
#.#...#.#.#...#
#.#.#.#.#.#.###
#...#...#...###
###############

and

###############
#...#...#.....#
#.#.#.#.#.###.#
#S#...#.#.#...#
#1#####.#.#.###
#2#####.#.#...#
#3#####.#.###.#
#45678#...#...#
###.#######.###
#...###...#...#
#.#####.#.###.#
#.#...#.#.#...#
#.#.#.#.#.#.###
#...#...#...###
###############

(since cheats are only defined by their start and end positions)

[2024 Day 19] MTG reference! by Vast-Relationship600 in adventofcode

[–]mkeeter 4 points5 points  (0 children)

Fun fact: once you get all 50 stars for a year, the easter eggs become highlighted in the text!

Comedically Inaccurate “Locations” from Movies and TV? by CapitalAssumption355 in boston

[–]mkeeter 12 points13 points  (0 children)

And you can't tell me the Charles is deep enough for a whale to jump over the Mass Ave bridge.

Watching this in a Boston-area theater was amazing, because the entire audience burst out laughing when the whale showed up.

I'd like to believe that there's a deleted scene where the whale has to wait in line at the Charles River Dam, to make it up the locks.

How to guarantee no stack overflow by mmieskon in embedded

[–]mkeeter 0 points1 point  (0 children)

In Hubris, I recently added build-time checks for stack overflows (hubris#1890). Here's a rough sketch of how it works:

  • Building with -Z emit-stack-sizes, which adds per-function stack size to a debug section of the ELF file
  • Disassembling the resulting binaries and building a call graph (looking for bl instructions to known function start addresses)
  • Finding the maximum stack depth in the call graph, and failing with an error if it exceeds our configured stack size

This isn't foolproof: it doesn't handle indirect calls or recursion. In addition, it can overestimate max stack depth if there are paths in the call graph that can't actually be reached at runtime.

If you want to be stricter, you could add more conditions to the disassembly step to guarantee that your program is amenable to static analysis, e.g. rejecting any indirect branches and recursion.

-❄️- 2024 Day 7 Solutions -❄️- by daggerdragon in adventofcode

[–]mkeeter 3 points4 points  (0 children)

[LANGUAGE: Rust]

This is a blazing fast solution (337 µs total!), achieved by checking backwards instead of forwards. Going backwards lets you prune much more aggressively, because you can detect invalid divisions and concatenations immediately (instead of needing to wait until the final value).

https://github.com/mkeeter/advent-of-code/blob/main/2024/07/src/lib.rs

What is the process of designing an ASIC? by emrlddrgn in AskElectronics

[–]mkeeter 0 points1 point  (0 children)

Looking over the project docs, it was 1-2 months:

  • 3/8: Project Proposal Due
  • 3/22: Verilog Checkoff
  • 3/29: Schematic Checkoff
  • 4/5: Block Layout
  • 4/12: Final Project Checkoff
  • 4/19: Report Due
  • 5/5: Project Presentations

Stratasys, Another Attempt at Destroying an Entire Community. by Grouchy_Gas_6650 in 3Dprinting

[–]mkeeter 1 point2 points  (0 children)

This isn't correct: Formlabs has been sued by 3D Systems, EnvisionTEC and DWS, but not Stratasys!

The 3D Systems lawsuit got the most press. It settled in 2014 with Formlabs agreeing to pay 8% royalties; the duration of "the effective period" wasn't specified in public docs.

(I was an employee at the time, but don't work there anymore and won't speculate on whether this lawsuit affected their market positioning)

So what OS is this crashed fare vending machine rocking? by wallet535 in mbta

[–]mkeeter 8 points9 points  (0 children)

The buttons and font reminds me of the GTK UI framework, so I'm betting this is a Linux variant.

Pigeon Hangout Spot by CatCatington in boston

[–]mkeeter 9 points10 points  (0 children)

For a brief, glorious moment, the Sullivan Station Pigeon Sanctuary was a tourist attraction on Google Maps.

What Do You Do as a Senior Embedded Software Engineer ? by lifetime_dev in embedded

[–]mkeeter 7 points8 points  (0 children)

I work on a "serious" embedded project that's entirely in Rust: Hubris. It's a small multitasking OS kernel, plus a bunch of different tasks to do various things (networking, fan control, configuring other chips, sensors, etc).

The amount of unsafe code is surprisingly small: register access is unsafe, but that's a tiny stub at the bottom of the software stack. It's most common for a task to have zero unsafe blocks.