Thursday, July 18, 2024

Show HN: SQLite Transaction Benchmarking Tool https://ift.tt/xTm7eUN

Show HN: SQLite Transaction Benchmarking Tool I wanted to make my own evaluation of what kind of performance I could expect from SQLite on a server and investigate the experimental `BEGIN CONCURRENT` branch vs the inbuilt `DEFERRED` and `IMMEDIATE` behaviors. Explanatory blog post: https://ift.tt/pVezU9E https://ift.tt/62Ee9Dd July 18, 2024 at 03:14AM

Show HN: Product Hunt for Music https://ift.tt/NOTqSct

Show HN: Product Hunt for Music https://tracklist.it/ July 18, 2024 at 01:01AM

Show HN: Blitzping – A far faster nping/hping3 SYN-flood alternative with CIDR https://ift.tt/RfdaEeh

Show HN: Blitzping – A far faster nping/hping3 SYN-flood alternative with CIDR I found hping3 and nmap's nping to be far too slow in terms of sending individual, bare-minimum (40-byte) TCP SYN packets; other than inefficient socket I/O, they were also attempting to do far too much unnecessary processing in what should have otherwise been a tight execution loop. Furthermore, none of them were able to handle CIDR notations (i.e., a range of IP addresses) as their source IP parameter. Being intended for embedded devices (e.g., low-power MIPS/Arm-based routers), Blitzping only depends on standard POSIX headers and C11's libc (whether musl or gnu). To that end, even when supporting CIDR prefixes, Blitzping is significantly faster compared to hping3, nping, and whatever else that was hosted on GitHub. Here are some of the performance optimizations specifically done on Blitzping: * Pre-Generation : All the static parts of the packet buffer get generated once, outside of the sendto() tightloop; * Asynchronous : Configuring raw sockets to be non-blocking by default; * Multithreading : Polling the same socket in sendto() from multiple threads; and * Compiler Flags : Compiling with -Ofast, -flto, and -march=native (though these actually had little effect; by this point, the bottleneck is on the Kernel's own sendto() routine). Shown below are comparisons between the three software across two CPUs (more details at the GitHub repository): # Quad-Core "Rockchip RK3328" CPU @ 1.3 GHz. (ARMv8-A) # +--------------------+--------------+--------------+---------------+ | ARM (4 x 1.3 GHz) | nping | hping3 | Blitzping | +--------------------+ -------------+--------------+---------------+ | Num. Instances | 4 (1 thread) | 4 (1 thread) | 1 (4 threads) | | Pkts. per Second | ~65,000 | ~80,000 | ~275,000 | | Bandwidth (MiB/s) | ~2.50 | ~3.00 | ~10.50 | +--------------------+--------------+--------------+---------------+ # Single-Core "Qualcomm Atheros QCA9533" SoC @ 650 MHz. (MIPS32r2) # +--------------------+--------------+--------------+---------------+ | MIPS (1 x 650 MHz) | nping | hping3 | Blitzping | +----------------------+------------+--------------+---------------+ | Num. Instances | 1 (1 thread) | 1 (1 thread) | 1 (1 thread) | | Pkts. per Second | ~5,000 | ~10,000 | ~25,000 | | Bandwidth (MiB/s) | ~0.20 | ~0.40 | ~1.00 | +--------------------+--------------+--------------+---------------+ I tested Blitzping against both hpign3 and nping on two different routers, both running OpenWRT 23.05.03 (Linux Kernel v5.15.150) with the "masquerading" option (i.e., NAT) turned off in firewall; one device was a single-core 32-bit MIPS SoC, and another was a 64-bit quad-core ARMv8 CPU. On the quad-core CPU, because both hping3 and nping were designed without multithreading capabilities (unlike Blitzping), I made the competition "fairer" by launching them as four individual processes, as opposed to Blitzping only using one. Across all runs and on both devices, CPU usage remained at 100%, entirely dedicated to the currently running program. Finally, the connection speed itself was not a bottleneck: both devices were connected to an otherwise-unused 200 Mb/s (23.8419 MiB/s) download/upload line through a WAN ethernet interface. It is important to note that Blitzping was not doing any less than hping3 and nping; in fact, it was doing more. While hping3 and nping only randomized the source IP and port of each packet to a fixed address, Blitzping randomized not only the source port but also the IP within an CIDR range---a capability that is more computionally intensive and a feature that both hping3 and nping lacked in the first place. Lastly, hping3 and nping were both launched with the "best-case" command-line parameters as to maximize their speed and disable runtime stdio logging. https://ift.tt/D4f2Bjb July 15, 2024 at 02:28PM

A New Transportation Option is Coming to the Bayview – Learn How to Get Involved

A New Transportation Option is Coming to the Bayview – Learn How to Get Involved
By Justin Horng

Students learning about the Bayview Community Based Transportation Plan project. The new Bayview Shuttle is part of this work. We’re one step closer to bringing an on-demand shuttle to the Bayview early this fall. The SFMTA Board of Directors recently approved our vendor contract for the “Our Community, Our Shuttle” Bayview Shuttle Program. It will include the new shuttle and a range of other resources. The pilot program aims to address decades of disinvestment by providing services that are directly recommended by the community. After the Board’s decision, we can now move forward with Via...



Published July 17, 2024 at 05:30AM
https://ift.tt/fa7helg

Wednesday, July 17, 2024

How We’re Educating Scooter Riders to Improve Safety for Everyone

How We’re Educating Scooter Riders to Improve Safety for Everyone
By Nervana Fadle

From our new scooter safety video: Scooter riding is joyful if we all ride safely. We’re excited to announce the launch of phase two of our scooter safety campaign! Education is at the heart of this video campaign. We’re reminding scooter riders about a range of tips in order to improve safety for everybody. Riding a scooter safely can still be a fun and joyful experience. And everyone can feel more comfortable getting where they need to go. We’ll share more about the campaign and the safety tips it features. We’ll also cover what we’re doing year-round to support safe scooter riding and why...



Published July 16, 2024 at 05:30AM
https://ift.tt/ocBsSp4

Show HN: A.I Powered Visual Knowledge Management Platform https://ift.tt/nMgpZzE

Show HN: A.I Powered Visual Knowledge Management Platform Caduceus is a cutting-edge, AI-enhanced Visual Knowledge Management Platform, which creates distinct constructs for knowledge representation. https://ift.tt/NltbYEu July 16, 2024 at 09:11PM

Tuesday, July 16, 2024

Show HN: TargetJ – New JavaScript framework that can animate anything https://ift.tt/8CXT3Ut

Show HN: TargetJ – New JavaScript framework that can animate anything I am excited to introduce to you TargetJ, a new JavaScript framework that can animate anything. I have been working on this project for over two years, driven by the complexity of current UI frameworks. You can find the interactive documentation at www.targetj.io. I hope you find it useful for creating great web experiences. If you have any questions about the framework or want to share your thoughts, please leave a comment below. I’m eager to hear from you! https://ift.tt/GkisnvV July 16, 2024 at 12:06AM

Show HN: C.O.R.E – Opensource, user owned, shareable memory for Claude, Cursor https://ift.tt/hn326jt

Show HN: C.O.R.E – Opensource, user owned, shareable memory for Claude, Cursor Hi HN, I keep running in the same problem of each AI app “rem...