jm + threads   22

Epic twitter thread from @colmmacc explaining why client certs and mutual-auth TLS are TERRIBAD
Ok. tweet thread time! Too long ago I promised to write a screed explaining how much I hated mutual-auth TLS and why. I got distracted, and I wasn't happy with the writing, so here it is in tweet thread form instead! But basically: Client certs and Mutual-Auth TLS is TERRIBAD.
When I say TERRIBAD, I mean that unless you've got the resources of a big security dept and folks who comb threat models for a living, using clients certs and mutual auth probably materially lessens your security. That's NUTS!


(source: https://twitter.com/colmmacc/status/1057017343438540801 )
terribad  rants  twitter  threads  tls  ssl  authentication  mtls  security 
15 days ago by jm
Excellent Twitter thread from colmmacc on how s2n avoids protocol-state errors
using a linearized set of state transitions, and Cryptol and SAW to perform verification of the TLS state machine
cryptol  saw  formal-verification  twitter  threads  colmmacc  security  s2n 
25 days ago by jm
Twitter thread regarding GDPR-compliance for append-only logs/event sourcing systems
Martin Kleppmann: "What’s current best practice for GDPR compliance (in particular, right to deletion) in systems with append-only logs/event sourcing/blockchains, which are supposed to keep history forever?"

Ben Kehoe: "Crypto delete. The immutable store keeps an encrypted copy, and the key is stored elsewhere. Forget me = throw away the key".

That seems to be the most practical suggestion in general in this thread.
twitter  threads  gdpr  compliance  law  eu  append-only  logs  blockchain  event-sourcing  architecture  storage  kafka  kinesis 
june 2018 by jm
Debugging Stuck Ruby Processes — What to do Before You Kill -9
good tips on using gdb to gather backtraces (via Louise)
debugging  gdb  ruby  linux  unix  threads  ops 
april 2018 by jm
How to report graphic abortion imagery to the gardai under Irish law
I tried to report ICBR graphic abortion imagery to the Gardai today and met a lot of resistance. The following thread gives an account of what happened and how someone can effectively report this imagery. 1/x
At 2pm on Friday the 13th of April I noticed the presence of ICBR graphic abortion imagery being displayed outside the Nassau street entrance of Trinity. I called Kevin Street Garda Station in order to make a complaint under Section 7 of the Public Order Act 1994 2/x
I was told that the Gardai had been instructed by their superiors to not intervene with such imagery and that this direction had come from the Refendum Commission itself. I then called the Refendum Commission in order to query this, as they'd never been involved previously. 3/x
A representative from the commission informed me that no such direction had been given to the Gardai as it is not in the commission's remit to influence such imagery. The representative told me that they would contact with Kevin Street Station about this miscommunication. 4/x
I then rang Kevin Street Station again to inform them of what I had been told by the Refendum Commission. I was then told that a complaint had to be made in person to either a Garda on the scene or to a local station (Trinity would be Pearse Street), which is understandable. 5/x
I informed the Gardai of a similar experience in Dundrum in which the local station had dispatched officers to move along those displaying the imagery to prevent a breach of the peace without a complaint being made in person. 6/x
I was finally told that Pearse Street Station would be contacted to have an available car dispatched to Trinity. 8/x
TLDR: If you see this imagery, report it under Section 7. If you are told that the Gardai cannot intervene, let them know that other stations have before. If they say they have been directed by the Referendum Commission, let them know there is no such directive on record. 9/x
I hope this miscommunication can be cleared up and that both @gardainfo and @RefCom_ie end up on the same page, so that Gardai can continue to do their jobs effectively and respond to public complaints of breach of the peace. 10/10


Very illuminating.
twitter  threads  abortion  propaganda  gardai  law  ireland  public-order-act 
april 2018 by jm
Sarah Jeong's hilarious Twitter thread on Bitcoin
"People are sick of the Federal Reserve, sick of bailouts, sick of inflation. You know what we need? Internet money with the usability of PGP and the reliability of BART" and much, much more
bitcoin  funny  sarah-jeong  comedy  lols  pgp  twitter  threads 
january 2018 by jm
Yonatan Zunger's twitter thread on Twitter's problem with policy issues
'I worked on policy issues at G+ and YT for years. It was *painfully* obvious that Twitter never took them seriously.'

This thread is full of good information on "free speech", nazis, Trump, Gamergate and Twitter's harrassment problem.

(Via Peter Bourgon)
via:peterbourgon  harrassment  twitter  gamergate  threads  youtube  google-plus  policy  abuse  bullying  free-speech  engagement 
october 2017 by jm
@tttthreads
Unroll a long twitter thread with a single tweet. I like it
unroll  threads  twitter  reading  ux  bots 
september 2017 by jm
Locking, Little's Law, and the USL
Excellent explanatory mailing list post by Martin Thompson to the mechanical-sympathy group, discussing Little's Law vs the USL:
Little's law can be used to describe a system in steady state from a queuing perspective, i.e. arrival and leaving rates are balanced. In this case it is a crude way of modelling a system with a contention percentage of 100% under Amdahl's law, in that throughput is one over latency.

However this is an inaccurate way to model a system with locks. Amdahl's law does not account for coherence costs. For example, if you wrote a microbenchmark with a single thread to measure the lock cost then it is much lower than in a multi-threaded environment where cache coherence, other OS costs such as scheduling, and lock implementations need to be considered.

Universal Scalability Law (USL) accounts for both the contention and the coherence costs.
http://www.perfdynamics.com/Manifesto/USLscalability.html

When modelling locks it is necessary to consider how contention and coherence costs vary given how they can be implemented. Consider in Java how we have biased locking, thin locks, fat locks, inflation, and revoking biases which can cause safe points that bring all threads in the JVM to a stop with a significant coherence component.
usl  scaling  scalability  performance  locking  locks  java  jvm  amdahls-law  littles-law  system-dynamics  modelling  systems  caching  threads  schedulers  contention 
september 2017 by jm
The Injector: A new Executor for Java
This honestly fits a narrow niche, but one that is gaining in popularity. If your messages take > 100μs to process, or your worker threads are consistently saturated, the standard ThreadPoolExecutor is likely perfectly adequate for your needs. If, on the other hand, you’re able to engineer your system to operate with one application thread per physical core you are probably better off looking at an approach like the LMAX Disruptor. However, if you fall in the crack in between these two scenarios, or are seeing a significant portion of time spent in futex calls and need a drop in ExecutorService to take the edge off, the injector may well be worth a look.
performance  java  executor  concurrency  disruptor  algorithms  coding  threads  threadpool  injector 
may 2015 by jm
Hack workaround to get JVM thread priorities working on Linux
As used in Cassandra ( http://grokbase.com/t/hbase/dev/13bf9kezes/about-xx-threadprioritypolicy-42 )!
if you just set the "ThreadPriorityPolicy" to something else than the legal values 0 or 1, [...] a slight logic bug in Sun's JVM code kicks in, and thus sets the policy to be as if running with root - thus you get exactly what one desire. The operating system, Linux, won't allow priorities to be heightened above "Normal" (negative nice value), and thus just ignores those requests (setting it to normal instead, nice value 0) - but it lets through the requests to set it lower (setting the nice value to some positive value).
cassandra  thread-priorities  threads  java  jvm  linux  nice  hacks 
january 2015 by jm
ExecutorService - 10 tips and tricks
Excellent advice from Tomasz Nurkiewicz' blog for anyone using java.util.concurrent.ExecutorService regularly. The whole blog is full of great posts btw
concurrency  java  jvm  threading  threads  executors  coding 
november 2014 by jm
Micro jitter, busy waiting and binding CPUs
pinning threads to CPUs to reduce jitter and latency. Lots of graphs and measurements from Peter Lawrey
pinning  threads  performance  latency  jitter  tuning 
march 2014 by jm
[JavaSpecialists 215] - StampedLock Idioms
a demo of Doug Lea's latest concurrent data structure in Java 8
doug-lea  concurrency  coding  java-8  java  threads 
december 2013 by jm
Lock-Based vs Lock-Free Concurrent Algorithms
An excellent post from Martin Thompson showing a new JSR166 concurrency primitive, StampedLock, compared against a number of alternatives in a simple microbenchmark.
The most interesting thing for me is how much the lock-free, AtomicReference.compareAndSet()-based approach blows away all the lock-based approaches -- even in the 1-reader-1-writer case. Its code is extremely simple, too: https://github.com/mjpt777/rw-concurrency/blob/master/src/LockFreeSpaceship.java
concurrency  java  threads  lock-free  locking  compare-and-set  cas  atomic  jsr166  microbenchmarks  performance 
august 2013 by jm
Java Concurrent Counters By Numbers
threadsafe counters in the JVM compared. AtomicLong, Doug Lea's LongAdder, a ThreadLocal counter, and a field-on-the-Thread-object counter int (via Darach Ennis). Nitsan's posts on concurrency are fantastic
counters  concurrency  threads  java  jvm  atomic 
june 2013 by jm
Functional Reactive Programming in the Netflix API with RxJava
Hmm, this seems nifty as a compositional building block for Java code to enable concurrency without thread-safety and sync problems.
Functional reactive programming offers efficient execution and composition by providing a collection of operators capable of filtering, selecting, transforming, combining and composing Observable's.

The Observable data type can be thought of as a "push" equivalent to Iterable which is "pull". With an Iterable, the consumer pulls values from the producer and the thread blocks until those values arrive. By contrast with the Observable type, the producer pushes values to the consumer whenever values are available. This approach is more flexible, because values can arrive synchronously or asynchronously.
concurrency  java  jvm  threads  thread-safety  coding  rx  frp  fp  functional-programming  reactive  functional  async  observable 
april 2013 by jm
Java tip: How to get CPU, system, and user time for benchmarking
a neat MXBean trick to get per-thread CPU usage in a running JVM (via Tatu Saloranta)
java  jvm  monitoring  cpu  metrics  threads 
november 2012 by jm
Thousands of Threads and Blocking I/O [PDF]
classic presentation from Paul Tyma of Mailinator regarding the java.nio (event-driven, non-threaded) vs java.io (threaded) model of server concurrency, backing up the scalability of threads on modern JVMs
java  async  io  jvm  linux  performance  scalability  threading  threads  server  nio  paul-tyma  mailinator  from delicious
july 2010 by jm
Good volcanic-ash links
European air traffic control Twitter feed and NOC site, via Boards.ie. The thread itself is a good reference, too
volcano  ash  vaac  twitter  boards.ie  threads  travel  air  holidays  from delicious
may 2010 by jm
Mindblowing Python GIL
'presentation about how the Python GIL actually works and why it's even worse than most people even imagine.' A good chunk btw could be rephrased as 'pthreads is worse than most people even imagine'. pretty awful data, though
python  gil  locking  synchronization  ouch  performance  tuning  coding  interpreters  threads  pthreads  from delicious
february 2010 by jm

related tags

abortion  abuse  air  algorithms  amdahls-law  append-only  architecture  ash  async  atomic  authentication  bitcoin  blockchain  boards.ie  bots  bullying  caching  cas  cassandra  coding  colmmacc  comedy  compare-and-set  compliance  concurrency  contention  counters  cpu  cryptol  debugging  disruptor  doug-lea  engagement  eu  event-sourcing  executor  executors  formal-verification  fp  free-speech  frp  functional  functional-programming  funny  gamergate  gardai  gdb  gdpr  gil  google-plus  hacks  harrassment  holidays  injector  interpreters  io  ireland  java  java-8  jitter  jsr166  jvm  kafka  kinesis  latency  law  linux  littles-law  lock-free  locking  locks  logs  lols  mailinator  memory  metrics  microbenchmarks  modelling  monitoring  mtls  nice  nio  observable  ops  ouch  paul-tyma  performance  pgp  pinning  policy  propaganda  pthreads  public-order-act  python  rants  reactive  reading  ruby  rx  s2n  sarah-jeong  saw  scalability  scaling  schedulers  security  server  ssl  stack-size  storage  synchronization  system-dynamics  systems  terribad  thread-priorities  thread-safety  threading  threadpool  threads  tls  travel  tuning  twitter  unix  unroll  usl  ux  vaac  via:peterbourgon  volcano  youtube 

Copy this bookmark:



description:


tags: