https://t.co/ZOOIdnxDVb
Wasn’t sure if I should say anything, being a bad guy and all but…Lyon, France.
IL EST VRAIMENT, IL EST VRAIMENT, Il EST VRAIMENT PHÉNOMÉNAL LALALALA
👻 Phantom types are not as scary as they sound! In our latest article, @bartavelle introduces advanced type system features, and a way to model them in many languages.
https://t.co/BOQAWshZ9i
One of our ninjas (@_ixty_) wrote a series of articles explaining how to write a win32 keylogger that supports all input languages (that don't use input method editors). Here is the first part which focuses on capturing keyboard events!
https://t.co/6vZxqlaPLt
@forked_franz@richardstartin@TFBenchmarks I remember there was a talk from @julienviet where he explains some of the work, unfortunately I was not there but I will definitely watch this video. Also maybe they are other things not shown in this presentation.
https://t.co/PhwUjy9H5W
Is it really that hard to write security tooling in Rust? Here is a feedback from @bartavelle on writing a Pcap analysis tool, as well as the full source code of the tool.
https://t.co/bvbxfmNJxW
@tivrfoa@helidon_project@vertx_project Yep! A summary of our efforts are at https://t.co/i7a5IAgCsH
It's important to remember that Quarkus results are making uses a full-fat ORM (in its latestish version), which, for CPU bound tests like this with simple queries, has impacts
A new data structure that can possibly replace the bloom filter in LSM based systems ..
Many LSM tree-based database systems use Bloom filters to reduce the number of unnecessary I/Os. They read the on-disk SSTable only when the associated in-memory Bloom filter indicates that the query item may exist in the file.
Bloom filters are a good match for this task. First, they are fast with sub-linear storage, small enough to reside in memory. Second, Bloom filters answer approximate membership tests with some probability of being false positive that can be tuned as part of setting up the data structure.
However the disadvantage with bloom filters is that they can only support single key lookups and are not suited for range queries (“Are there keys between 40 and 60 in the SSTable?”). Range queries can be supported through B+-trees, but the memory cost would be significant.
This paper presents Succinct Range Filter (SuRF), a fast and compact data structure that provides exact-match filtering, range filtering, and approximate range counts. SuRF is built upon a new space-efficient succinct data structure called the Fast Succinct Trie (FST) that consumes only 10 bits per trie node, which is close to the information-theoretic lower bound.
Looks like a very interesting data structure and the authors have got some interesting numbers by replacing the Bloom Filter in RocksDB with SuRF.
Succinct Range Filters - https://t.co/T6yfNTojGK
The average metro carry 607 passengers, about half are listening to music, 90% using wireless headphones.
273 people per train, emitting data at 300 to 900kbps, 500 on average.
406Gb worth of audio codecs on a 52 min average commute.
[#VendrediLecture]
Publication d’un nouveau guide sur des recommandations relatives à l'administration sécurisée des systèmes d'informations reposant sur Microsoft Active Directory. ⬇️
https://t.co/0cVMSKMzHC
Bonne lecture ! 📚
#ANSSI#SSI#numérique#ActiveDirectory
What I've been hoping for is to just turn Haskell into a good strict language.
Not by removing laziness at all.
Not by {-# LANGUAGE Strict #-} just papering over all of the messy strictness details.
Just by getting things like Num, Show, etc. to work over UnliftedType and types with other runtime reps.
I want to have my cake, and retain the option to eat it lazily.
Currently the language isn't up to the challenge, but it isn't far from this being a viable feat!
https://t.co/kKRxrUtceT
was my first attempt in that direction. Currently it has to use backpack to do a lot of the heavy lifting, because Haskell lacks the final c++-style linker pass that can do things like collapse multiple copies of template instantiations, and this doesn't scale, but it at least showed me the language could evolve in this direction.
I could replace 99% of the backpack in there with a custom typechecking plugin that provided the FooRep instances. That is a project on my bottomless todo list. I should solicit help for that actually. Do you know any bored grad students who need to get a paper out?
An early micro-benchmark! Performing 1k folds on 64k lists. Results:
- HVM on CPU : 12.9s
- GHC on CPU : 2.1s
- HVM on GPU : 0.4s
Still ~5x slower on single-core, but about ~5x faster on RTX 4090. Promising for a first version. GPUs are definitely great functional computers!