The .NET Language Strategy
https://blogs.msdn.microsoft.com/dotnet/2017/02/01/the-net-language-strategy/ [blogs.msdn.microsoft.com]
2017-02-02 13:22
tags:
csharp
dotnet
fsharp
This post is meant to provide that additional context for the principles we use to make decisions for each language. You should consider it as guidance, not as a roadmap.
Beautiful Branchless Binary Search
https://probablydance.com/2023/04/27/beautiful-branchless-binary-search/ [probablydance.com]
2023-04-28 23:45
tags:
compsci
cxx
programming
I read a blog post by Alex Muscar, “Beautiful Binary Search in D“. It describes a binary search called “Shar’s algorithm”. I’d never heard of it and it’s impossible to google, but looking at the algorithm I couldn’t help but think “this is branchless.” And who knew that there could be a branchless binary search? So I did the work to translate it into a algorithm for C++ iterators, no longer requiring one-based indexing or fixed-size arrays.
https://muscar.eu/shar-binary-search-meta.html
source: L
Western Digital Stuns Storage Industry with MAMR Breakthrough for Next-Gen HDDs
https://www.anandtech.com/show/11925/western-digital-stuns-storage-industry-with-mamr-breakthrough-for-nextgen-hdds [www.anandtech.com]
2017-10-12 21:18
tags:
hardware
storage
vapor
Western Digital’s Microwave Assisted Magnetic Recording (MAMR) drives use platters very similar to those in the current-generation PMR drives*. This means that the innovation to enable MAMR is mainly to do with the heads that perform read and write operations.
Production-level HDDs based on MAMR technology are expected to start shipping in 2019.
DriverBuddy Tool Release
https://www.nccgroup.trust/us/about-us/newsroom-and-events/blog/2016/november/driverbuddy-tool-release/ [www.nccgroup.trust]
2016-11-22 23:16
tags:
release
security
swtools
windows
DriverBuddy is an IDAPython plugin that helps automate some of the tedium surrounding the reverse engineering of Windows kernel drivers.
Why a Single Failed Router Can Ground a Thousand Flights
https://www.wsj.com/articles/why-a-single-failed-router-can-ground-a-thousand-flights-1489743001 [www.wsj.com]
2017-03-17 20:16
tags:
business
development
flying
tech
turtles
“Complexity is the reason airlines have outages,”
Chromium Internals - Lifetime of a navigation
https://netsekure.org/2017/02/02/chromium-internals-lifetime-of-navigation/ [netsekure.org]
2017-02-05 12:39
tags:
browser
html
networking
web
The astute reader will realize that even though I said navigation is complete, the user actually doesn’t see anything at this point.
Extra fun in Signal: group conversation where one of the participants had a key change, and not everyone has clicked ‘accept’
https://twitter.com/Pinboard/status/824415890259087362 [twitter.com]
2017-01-30 01:19
tags:
auth
security
social
tweet
ux
I’ll have to try it myself to see what happens, but I can make some guesses. These things are hard.
An interactive study of common retry methods
https://encore.dev/blog/retries [encore.dev]
2023-11-23 04:00
tags:
development
networking
visualization
In this post we’re going to visually explore different methods of retrying requests, demonstrating why some common approaches are dangerous and ultimately ending up at what the best practice is. At the end of this post you will have a solid understanding of what makes safe retry behaviour, and a vivid understanding of what doesn’t.
source: L
The std::map subscript operator is a convenience, but a potentially dangerous one
https://blogs.msdn.microsoft.com/oldnewthing/20190227-00/?p=101045 [blogs.msdn.microsoft.com]
2019-02-27 21:21
tags:
cxx
intro-programming
The [] operator doesn’t know whether you’re going to read from or write to the result, so it has to come up with some sort of compromise. And sometimes the result of a compromise is something both sides dislike.
source: L
Malloc Can Double Multi-threaded Ruby Program Memory Usage
https://www.speedshop.co/2017/12/04/malloc-doubles-ruby-memory.html [www.speedshop.co]
2017-12-04 18:48
tags:
garbage-collection
malloc
programming
ruby
The problem manifests itself as a slow, creeping memory growth in Ruby processes. It is often mistaken for a memory leak. However, unlike a memory leak, memory growth due to fragmentation is logarithmic, while memory leaks are linear.
This starts off with a simpe problem and fix, but lots of info about what’s happening.
source: L
On the Inherent Resilience of Integer Operations
http://www.parl.clemson.edu/~wjones/papers/europar2016-with-LAUR-submitted.pdf [www.parl.clemson.edu]
2017-02-21 17:31
tags:
math
paper
pdf
The genesis of this work was a fault-injection study on fault-tolerant matrix multiplication. Because of the way we injected the faults, all injections should have resulted in observable error. Instead, we were surprised to find that in some of the trials, the output was completely correct. The fault injector was mature and well-validated, and the code we were testing was simple; still, we examined both suites carefully and found no bugs. When we finally turned to the mathematics beneath the code, we found the unexpected theoretical resilience of the multiplication operator that we discuss here.
source: grugq
Go 1.20 Cryptography
https://words.filippo.io/dispatches/go-1-20-cryptography/ [words.filippo.io]
2023-01-27 18:34
tags:
crypto
go
security
update
I’m pretty happy with the work that’s landing in it. There are both exciting new APIs, and invisible deep backend improvements that are going to make code more maintainable and secure in the long run. All the main work mentioned in the planning post got done, and then some (but not the “stretch goals”).
crypto/ecdh
bigmod replaces math/big
More elliptic curves
TLS and X.509
City In A Bottle – A 256 Byte Raycasting System
https://frankforce.com/city-in-a-bottle-a-256-byte-raycasting-system/ [frankforce.com]
2024-05-21 06:49
tags:
graphics
javascript
programming
web
A tiny raycasting engine and city generator that fits in a standalone 256 byte html file. In this post I will share all the secrets about how this magical program works.
source: HN
ufs - Expand time_t support to 48 bits
http://lists.dragonflybsd.org/pipermail/commits/2019-March/718475.html [lists.dragonflybsd.org]
2019-04-24 22:42
tags:
bugfix
dragonfly
format
fs
storage
Fix time overflow issues in the original 32-bit UFS code in two ways. First, treat the original 32-bit seconds fields as unsigned.Second, utilize the spare fields to expand these fields to 48 bits each. Retain the nanosecond-grain accuracy of the nsec fields.
source: Dfly
Shamir Secret Sharing
https://max.levch.in/post/724289457144070144/shamir-secret-sharing [max.levch.in]
2023-08-06 21:38
tags:
auth
c
crypto
development
programming
security
unix
It’s 3am. Paul, the head of PayPal database administration carefully enters his elaborate passphrase at a keyboard in a darkened cubicle of 1840 Embarcadero Road in East Palo Alto, for the fifth time. He hits Return. The green-on-black console window instantly displays one line of text: “Sorry, one or more wrong passphrases. Can’t reconstruct the key. Goodbye.”
This is the story of a catastrophic software bug I briefly introduced into the PayPal codebase that almost cost us the company (or so it seemed, in the moment.)
Today, should you try to read up the programmer’s manual (AKA the man page) on getpass, you will find it has been long declared obsolete and replaced with a more intelligent alternative in nearly all flavors of modern Unix.
source: Dfly
From Micro-Services to Monoliths
https://iwantmyname.com/blog/from-micro-services-to-monoliths [iwantmyname.com]
2016-12-23 22:32
tags:
admin
development
erlang
freebsd
networking
virtualization
Some of the details here are environment specific, but they made a useful observation. The loose coupling of components lets problematic pieces be swapped out, and they’ve stepped off the upgrade treadmill being driven by outside interests.
Turbojet SVL - the “forgotten” train of Russia and its American predecessor
https://tver.livejournal.com/1046327.html [tver.livejournal.com]
2020-05-03 21:28
tags:
flying
history
transport
What if we put a jet engine on a train engine? In Russian.
Little Bay Islands relocation
https://www.washingtonpost.com/world/the_americas/the-people-of-this-remote-canadian-island-village-are-taking-government-money-to-clear-out-one-couple-is-staying/2019/12/29/46d2a9f2-202f-11ea-b034-de7dc2b5199b_story.html [www.washingtonpost.com]
2019-12-31 03:49
tags:
article
history
policy
The strains on Little Bay Islands — emigration, resource collapse, aging populations — are familiar to small towns around the world. Local leaders have tried to revive dying villages with offers of $1 homes or promises to pay would-be residents to move in. Newfoundland and Labrador takes a different approach: It pays you to leave.
Why is memory reclamation so important?
https://concurrencyfreaks.blogspot.com/2017/08/why-is-memory-reclamation-so-important.html [concurrencyfreaks.blogspot.com]
2017-09-18 02:31
tags:
compsci
concurrency
garbage-collection
perf
As it so happens, object lifetime tracking (or Memory Reclamation as I prefer to call it) is the current most difficult open problem in shared memory concurrency. If you want to design or implement a lock-free or wait-free data structure, the hardest part isn’t designing/implementing the data structure itself. The hardest task is to add memory reclamation to this data structure, without reducing the progress or throughput of the data structure you designed/implemented.
source: HN
Headsup: systemd v228 local root exploit
http://www.openwall.com/lists/oss-security/2017/01/24/4 [www.openwall.com]
2017-01-24 20:07
tags:
admin
bugfix
c
linux
security