I also still like the older Thrunite catapult v1 which preceded Wurkkos’s ts11. It has reasonable output and good runtime for its size, but ts11 can be found for cheaper and has anduril and aux with a possibly slightly worse driver.
How about Mankerlight MC13 II with SBT90.2 ($110 USD) emitter or sft40 ($65)?
http://mankerlight.com/mankerlight-mc13-ii-90-2/
It’s a larger 18350 light that twists open to 18650. The TIR is similar to Thrunite Catapult v1 and possibly Wurkkos ts11.
.
A 21700 tube was also released as part of a bundle or here: https://www.killzoneflashlights.com/products/manker-21700-tube-for-mc13-ii-e14-iv.
I don’t have this light but it seems like OK value for the higher price (for very short bursts of throw, not sustained).
Agreed. My copy lost this documentation link in the original which gives more detail about the horizontal scaling: https://join-lemmy.org/docs/administration/horizontal_scaling.html.
It seems really straightforward (which is a good thing), each backend Lemmy_server handles incoming requests and also pulls from a shared queue of other federation work.
Time zones are an endless source of frustration, this one doesn’t sound too bad though:
Going forward, all timestamps in the API are switching from timestamps without time zone (
2023-09-27T12:29:59.113132
) toISO8601
timestamps (e.g.2023-10-29T15:10:51.557399+01:00
orZ
suffix). In order to be compatible with both 0.18 and 0.19, parse the timestamp asISO8601
and add aZ
suffix if it fails (for older versions).
This data structure uses a 2-dimensional array to store data, documented in this scala implementation: https://github.com/twitter/algebird/blob/develop/algebird-core/src/main/scala/com/twitter/algebird/CountMinSketch.scala. I’m still trying to understand it as well.
Similar to your idea, I had thought that by using k bloom filters, each with their own hash function and bit array, one could store an approximate count up to k for each key, which also might be wasteful or a naïve solution.
PDF link: http://www.eecs.harvard.edu/~michaelm/CS222/countmin.pdf
I haven’t used them in Spark directly but here’s how they are used for computing sparse joins in a similar data processing framework:
Let’s say you want to join some data “tables” A and B. When B has many more unique keys than are present in A, computing “A inner join B” would require lots of shuffling if B, including those extra keys.
Knowing this, you can add a step before the join to compute a bloom filter of the keys in A, then apply the filter to B. Now the join from A to B-filtered only considers relevant keys from B, hopefully now with much less total computation than the original join.
Collage sounds really interesting , will check it out. Another variation on bloom filter I recently learned about is count-min-sketch. It allows for storing/incrementing a count along with each key, and can answer “probably in set with count greater than _”, “definitely not in set”.
Thanks for adding more detail on the DB use-cases!
Well yes, but this is an internet forum for flashlights. That’s pretty weird too.
The reflector of the flashlight is built so light coming from a very small source (like the filament of an incandescent bulb) is directed forward in a focused beam.
I agree, but I also think that using a modern LED with a single source of forward-facing light is fine. However the emitter would need to be properly positioned in the light.
Here’s a very similar host (from one of the best low-cost flashlight makers) showing a properly aligned LED and reflector:
Product link: https://www.aliexpress.us/item/3256801849471618.html
I found a few references to this exact model on candlepowerforums.com which I believe has more folks who own(ed) incandescent lights. Not that has been such a long time, but LED technology advanced very quickly. Not sure if that will help your search.
There’s also a few people over on !flashlight@lemmy.world !
@Spicy3d@lemmy.world check out this diffuser!
Cool project and post! There’s also !flashlight@lemmy.world if you’d like to cross post.
gets hot enough to burn you if you leave it on for too long
That Fenix looks like a reliable light and is designed with temperature regulation but the limit might be pretty high and of course it is being used in an enclosure.
Sorry @xenspidey@lemmy.zip ! I did not see any because I was using an ad blocker but I didn’t intend to spam. I do think this reviewer is worth reading and (with apologies to Mr Zeroair) blocking the ads if possible.
Pliers+Philips is a great combination. I was using a Trailblazer (Tinker Deluxe + Metal Saw/Chisel) and recently switched to a Mechanic (Tinker Deluxe - scissors/hook)
Yeah, revolutions don’t always turn out well 😃
Meme Monday
This is a great suggestion because it focuses directly on tracking the outcome (did the software work?) and it gives a fair chance to the folks who don’t want to test - maybe their code really is perfect!
Another similar metric I would add is the number of rollbacks of newly released code, if the CD system supports it using a method like canary or blue-green rollouts.
Focusing on code coverage (which doesn’t distinguish between more and less important parts of the code) seems like the opposite of your very good (IMO) recommendation in another comment to focus on specific high-value use-cases.
From my experience it’s far easier to sell the need for specific tests if they are framed as “we need assurances that this component does not fail under conceivable usecases” and specially as “we were screwed by this bug and we need to be absolutely sure we don’t experience it ever again.”
Code coverage is an OK metric and I agree with tracking it, but I wouldn’t recommend making it a target. It might force developers to write tests, but it probably won’t convince them. And as a developer I hate feeling “forced” and prefer if at all possible to use consensus to decide on team practices.
One aspect that does work is framing the need for tests as assurance that specific invariants are verified and preserved
Agreed - this is the specific aspect which I hoped would be communicated by studying TDD a bit!
The team is afraid that making changes will be more difficult when tests exist, but TDD (or maybe a more specific concept like you mentioned) demonstrates that tests make future changes easier.
And I specifically advocated not to follow “write tests first”.
Name-dropping concepts actually contributes to loose credibility of any code quality effort, and works against you.
OK. If I were having an in-depth discussion with my team of fellow developers to convince them to start writing tests, I don’t think that’s name-dropping.
We can’t test yet, we’re going to make changes soon
This could be a good opportunity to introduce the concept of test-driven development (TDD) without the necessity to “write tests first”. But I think it can help illustrate why having tests is better when you are expecting to make changes because of the safety they provide.
“When we make those changes, wouldn’t it be great to have more confidence that the business logic didn’t break when adding a new technical capability?”
You shouldn’t have to refactor to test something
This seems like a reasonable statement and I sort of agree, in the sense that for existing production code, making a code change which only adds new tests yet also requires refactoring of existing functionality might feel a bit risky. As other commenters mentioned, starting with writing tests for new features or fixes might help prevent folks feeling like they are refactoring to test. Instead they’re refactoring and developing for the feature and the tests feel like they contribute to that feature as well.
Thanks for posting this. Additionally, I think highlighting some great posts in the sidebar like @containerfan@lemmy.world ’s Anduril diagrms https://lemmy.world/post/1038159 would be great since it shows what’s unique about this small community (on Lemmy).