[-] Reader9@programming.dev 2 points 11 months ago

A posthumous sequel to 1984? Sounds a bit dystopian to me!

Then again I enjoyed Grendel, a retelling of Beowulf from a different point-of-view, so perhaps Julia could be enjoyed in the same way.

[-] Reader9@programming.dev 3 points 11 months ago

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.

[-] Reader9@programming.dev 23 points 11 months ago

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) to ISO8601 timestamps (e.g. 2023-10-29T15:10:51.557399+01:00 or Z suffix). In order to be compatible with both 0.18 and 0.19, parse the timestamp as ISO8601 and add a Z suffix if it fails (for older versions).

https://github.com/LemmyNet/lemmy/pull/3496

100
Lemmy 0.19 updates (programming.dev)
submitted 11 months ago* (last edited 11 months ago) by Reader9@programming.dev to c/programming@programming.dev

https://programming.dev/post/3666732

Change log for upcoming Lemmy version 0.19.0 I am just reposting this from the original post: https://lemmy.ml/post/5711722.

It’s interesting to see this for the software we’re all using and it makes me want to learn a bit more about the architecture. Quite a few user-facing features and some backend improvements. For example:

Outgoing Federation Queue The federation queue has been rewritten to be much more performant and reliable. This is irrelevant for client developers, but admins should look out for potential federation problems. If you run multiple Lemmy backends for horizontal scaling, be sure to read the updated documentation and set the new configuration parameters. The Troubleshooting section has information about how to find out the state of the federation queues.

https://github.com/LemmyNet/lemmy/pull/3605

[-] Reader9@programming.dev 2 points 1 year ago* (last edited 1 year ago)

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

[-] Reader9@programming.dev 1 points 1 year ago* (last edited 1 year ago)

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.

[-] Reader9@programming.dev 2 points 1 year ago

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!

33

What are your real-world applications of this versatile data structure?

They are useful for optimization in databases like sqlite and query engines like apache spark. Application developers can use them as concise representations of user data for filtering previously seen items.

The linked site gives a short introduction to bloom filters along with some links to further reading:

A Bloom filter is a data structure designed to tell you, rapidly and memory-efficiently, whether an element is present in a set. The price paid for this efficiency is that a Bloom filter is a probabilistic data structure: it tells us that the element either definitely is not in the set or may be in the set.

[-] Reader9@programming.dev 0 points 1 year ago

Well yes, but this is an internet forum for flashlights. That’s pretty weird too.

[-] Reader9@programming.dev 1 points 1 year ago

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

[-] Reader9@programming.dev 2 points 1 year ago

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 !

[-] Reader9@programming.dev 6 points 1 year ago

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.

1
submitted 1 year ago* (last edited 1 year ago) by Reader9@programming.dev to c/flashlight@lemmy.world

Convoy is a personal favorite brand for single-cell mechanical switch lights. I’ve been comparing an s2+ with 18350 vs T3 with 14500, and T3 is my preference as a daily light.

So why is the T3 so great? It’s large for a 14500 but also durable and it has an elongated shape (21mm x 97mm) more similar to larger lights than the short s2+ (24mm x 84mm). Just like the s2+, it’s semi-custom in that the customer can choose from a few LEDs and in the case of the popular 519a choose a color temp from 2700k-5700k. Plus Convoy now offers these lights with MAO or in copper (coated for the T3) or titanium (linked) for more consumer choice direct from the factory.

The biggest downside of the T3 and the reason I keep trying to like short s2+ is the T3 driver. With a limit of 1.5 amps with a 14500, this is only 30% as powerful as the standard s2+ 5 amp driver. That’s still very useable with a 519a, but if it were bumped up to about 2.5 amps I think it would be even better. The driver itself has great reviews and regulates the output such that brightness does not immediately decrease with voltage. And for the DIY-capable, the driver is the same size as s2+’s so it has the potential to be just as powerful.

So far I have aluminum T3s in sst-20 deep red and 519a 3000k plus a broken 219b 3500k. Did I mention these start at $15??

1
submitted 1 year ago* (last edited 1 year ago) by Reader9@programming.dev to c/flashlight@lemmy.world

Edited: previously linked to https://www.sofirnlight.com/products/sofirn-if30-edc-powerful-flashlight?spm=..collection_eea4d417-4338-4a86-ba3e-1a41b66cb32b.collection_detail_1.1, replaced with an image for better Lemmy preview.

Something new from Sofirn. These larger cells (than 26800) seem to be popping up in flashlights more often now. This one lists 6500 mAh which isn't a much bigger capacity but presumably the maximum discharge must be pretty high to support 12000 lumens.

Sft-40 in the center surrounded by flood emitters. This isn’t one I’ll be picking up, maybe I’ll hold out for a 461000 cell!

[-] Reader9@programming.dev 4 points 1 year ago

Although your current role wouldn’t seem very senior at a large organizational, “senior“ is a relative term and at this company it seems like you are the engineer with ownership responsibilities over the end-to-end software development of a production system. So it might still be reasonable to use a senior title if there are other benefits

1
submitted 1 year ago* (last edited 1 year ago) by Reader9@programming.dev to c/flashlight@lemmy.world

Two new SBT90.2 lights from Convoy

3x21D: 28 amps, 90.5mm head diameter

L21B: 18 amps, 62.6mm head diameter

view more: next ›

Reader9

joined 1 year ago