piperesearch   1910

« earlier    

Emacs Everywhere
"From a broader perspective, it would be best described as a programmable, text-oriented user-interface (containing, among others, an editor). "
"As opposed to other user interfaces Emacs is a programmable environment: any structure, interface element and even code can be passed around and combined between the different interfaces to various programs. "
"EXWM has all the benefits of being Emacs-based with the particularity that all X windows are buffers and as such are part of Emacs buffer list, which makes for the capability to fuzzy-select windows with Helm or Ivy! "Lost windows" belong to the past. When opening several windows at once, you can configure how to display them. (This is a recent addition to Helm.) A nice use-case is to first narrow down some windows using Helm patterns, display them all in an "Exposé" fashion, and finally select your desired windows visually."
piperesearch  emacs  facme  2017 
6 days ago by mechazoidal
On Parallel Programming
"Theoretical frameworks such a Little's Law, Amdahl's Law, and others can help in making design decisions that lend themselves to parallelism. Understanding and exploiting the different sources of parallelism across the hardware/software stack are the key for high-performance implementations. But perhaps most importantly, it is essential to select an architecture and a programming model, which maximizes your chances of exploiting parallelism for your specific workload."

Note that this is definitely not on concurrency, but on parallelism (threads, shared-nothing, etc.)
piperesearch  optimization  programming  reference 
7 days ago by mechazoidal
Leveraging the "Display Server" to Improve Debugging | Arcan
"ways of using the display server infrastructure and its position in the user-space stack, to reason about- and bootstrap- debugging. "

"What I try to refer to is the IPC system or amalgamation of IPC systems that stitch user-space together into the thing you interact with."

"The article is structured around three groups of problems and respective solutions:
- Activation and Output
- Chain of Trust
- Process and Identity"
arcan  piperesearch  pmz  graphics  debugging  ipc 
8 days ago by mechazoidal
Writing a low-level Arcan Client | Arcan
"This is a follow up article to the higher level writing a kmscon/console replacement. In this article, we will instead use the low-level C API to write a simple client. "

PR / pmz: note his description of SHMIF: "intended for extending the engine with features like new input drivers; specialised tools that are supposed to extend the window manager you are running; for tight multi-process integration with the engine scene graph and all of its features. [...] it is comparable to xlib/xcb/wayland-client, but with quite a few more features, and a lot more comfortable to actually use."
pmz  piperesearch  arcan  graphics  protocol 
21 days ago by mechazoidal
The Business Case for Formal Methods • Hillel Wayne
'an "intro packet" you can use to argue for the benefits of formal methods (FM) to your boss. It's a short explanation, a list of benefits and case studies, and a demo. Everything's in TLA+, but the arguments apply equally well to Alloy, B, statecharts, etc. Adapt the material to your specific needs.'

- eSpark Learning
- OpenComRTOS
- Cockroach Labs
- Rackspace
- ElasticSearch
tla  formal_methods  verification  piperesearch  pmz  alloy 
28 days ago by mechazoidal
The happinesses and stresses of full-time FOSS work | Drew DeVault’s Blog
"I do have some thoughts that I’d like to share about what kind of stresses I’ve dealt with as a FOSS maintainer, and how I’ve managed (or often mismanaged) it."
lobsters discussion: https://lobste.rs/s/43uca7/happinesses_stresses_full_time_foss_work
piperesearch  advice  opensource  2020 
28 days ago by mechazoidal
Unix, Plan 9, and Lurking Smalltalk
good lobsters discussion: https://lobste.rs/s/fw5ubn/unix_plan_9_lurking_smalltalk

"meta-levelfacilities appear less susceptible to design-levelchurn than base-level language features, because they are one step closer to a relatively small set of recurring concepts (whose recurrence though Smalltalk, Unix and Plan 9 I have been documenting). These abstractions appear to sit comfortably as the "waist in the hourglass", supporting diverse surface forms for languages above,and running on diverse hardware-supported "big objects" below"

"Far from being replaced by an all-conquering programming language, one interpretation of the role of operating systems is as an infrastructure providing the mechanisms that allow languages to comeand go, while maximising the composability of the software written using them.Languages themselves may then become "views" onto a space of objects that is managed by the operating system, rather than by a per-language VM"
smalltalk  plan9  pmz  piperesearch  unix  osdev  pdf 
4 weeks ago by mechazoidal
Vulkan is both a good and bad example. Vulkan tries to remove the "bloat" of th... | Hacker News
"Vulkan is both a good and bad example. Vulkan tries to remove the "bloat" of the driver by moving it into the engine (or the middleware the engine uses), which, yes, reimplements a pretty sizable chunk of what the driver used to do. But it exposes the API in a way that requires domain-specific knowledge of how modern GPUs work, which requires, frankly, smarter engine developers. They need to stop only thinking in the ways OGL/D3D taught them to think, and need to also think like a driver developer, or possibly even a compiler developer."

> So where do OpenGL developers move to, when 4.6 moves into "this legacy thing we would like to drop"?
"You implement OpenGL as a middleware that speaks Vulkan. Basically, ANGLE it, but for desktop OpenGL instead of GLES."
piperesearch  opengl  vulkan  discussion  hn  2020 
5 weeks ago by mechazoidal
Work Is Work | codahale.com
"Every time I’ve written or spoken about organizational design, I’ve regretted it. There’s something about staking out a position on it which manages to prove me wrong a few years later. But I’ve been having some long thinks about it again, and here’s what I’ve got. Strap the fuck in."
PR: miight be useful for taking organizational design into account for a system? but might not work at all in a creative environment.
sociology  philosophy  business  organization  2020  essay  piperesearch 
5 weeks ago by mechazoidal
Digesting the Elephant… – Ingo's Blog
The followup paper to "Swallowing The Elephant", about rendering the Disney Moana island dataset
rendering  piperesearch  2020 
5 weeks ago by mechazoidal
Abstract Heresies: Remotely like a procedure call
PR: "Speaking of tail-recursive RPCs, when Google was redesigning its RPC system, I tried to get the new designers to implement a simple tail-recursive capability so that client A could call server B and receive a response from server C. That could have made a lot of common patterns at Google faster, since it was common for A to call B, which called C, which called D, and so on, e.g. to try different mechanisms for handling a particular search query. Unfortunately, I wasn't persuasive. Frankly, it's hard for people who haven't spent much time with tail-recursive languages to see the benefit, and these were hard-core C++ hackers."
piperesearch  functional  rpc 
5 weeks ago by mechazoidal
Nodes - our story
"a JavaScript-based 2D canvas for computational thinking. It's powered by the npm ecosystem and lives on the web. "

it certainly looks neat, but as lobsters notes: "without any info about availability, pricing (if there will be an open source/nonprofit free version), etc. it’s hard to feel any excitement."

This page is probably worth archiving just to show use-cases and how they implemented their debug views.
archive_it  programming  piperesearch  nodejs  graphics 
6 weeks ago by mechazoidal
How to animate SVG signature
PR: note the JS for figuring out length of a stroke
svg  animation  css  webdev  piperesearch 
6 weeks ago by mechazoidal
(Differential datalog) blog/2016-06-21.md at master · frankmcsherry/blog · GitHub
"In this post we will look at a recently re-popularized programming language, Datalog, and how it fits in with differential dataflow. In particular, we will see that:
- Differential dataflow can easily express Datalog programs, which are mostly just map, filter, and join operators with one iterate wrapped around the whole thing.
- The absolute performance of Datalog computations can be as good or even faster using differential dataflow on my laptop as compared to current cluster-based research prototypes from the databases community.
- Differential dataflow enables interactive Datalog computations, both in the sense that
- the source relations can changed arbitrarily with results automatically corrected, and
- top-down queries can be performed without evaluating the entire computation."
(downwides: compile times and cognitive overhead)
datalog  piperesearch  dataflow  rust  2016 
6 weeks ago by mechazoidal
GitHub - heathermiller/dist-prog-book
"Source repo for the book that I and my students in my course at Northeastern University, CS7680 Special Topics in Computing Systems: Programming Models for Distributed Computing, are writing on the topic of programming models for distributed systems."
"This is a book about the programming constructs we use to build distributed systems. These range from the small, RPC, futures, actors, to the large; systems built up of these components like MapReduce and Spark. We explore issues and concerns central to distributed systems like consistency, availability, and fault tolerance, from the lens of the programming models and frameworks that the programmer uses to build these systems."
(note that the main dist-prog-book website is broken in parts as of 2020/01, the github repo is easier to read)
piperesearch  book  distributed  database 
6 weeks ago by mechazoidal
A History of Transaction Histories | Ristret
"I've been trying to understand database transactions for a long time, and recently spent some time researching this with Justin Jaffray. Here’s an attempt to summarize what we’ve learned."
(history of SQL transactions, the difference between Snapshot Isolation and Serializable Isolation, and Peter Bailis re-emphasizing that yes, serializability is Very Important)
piperesearch  database  2018  history 
6 weeks ago by mechazoidal
Things we (finally) know about network queues - apenwarr
"How big should your queue be, and what should you do when it fills up? Many times, we implement or even deploy a networking system before we have answered those questions. Luckily, recent research has given us some guidelines. Here's what we know:"
2017  networking  piperesearch 
6 weeks ago by mechazoidal
Pixelpusher: Real-time peer-to-peer collaboration with React
From Ink & Switch: a overview/explanation of their Pixelpusher collaborative pixel art editor.
piperesearch  from:medium  collaboration  javascript  2018 
7 weeks ago by mechazoidal
GitHub - automerge/automerge: A JSON-like data structure (a CRDT) that can be modified concurrently by different users, and merged again automatically.
Ink & Switch: "a library of data structures for building collaborative applications in JavaScript."
Used in:
- Pushpin
- Farm
- Capstone
- Pixelpusher
- Trellis

Limitations: no integrity checking, no security, storage bloat, etc.
javascript  library  crdt  piperesearch  collaboration  repo:github 
7 weeks ago by mechazoidal

« earlier    

related tags

2008  2012  2014  2016  2017  2018  2019  2020  2d  3d  9p  ada  ada_language  advice  algorithms  alloy  animation  answer  api  arcan  archive_it  art  asspad  async  asynchronous  autodesk  blender  book  build  business  c++  c  cad  cel_shading  chat  clipstudio  clojure  collaboration  collboration  concurrency  config  crdt  crev  cryptography  css  data_frame  database  dataflow  datalog  datastructures  debugging  demoscene  design  devops  discussion  distributed  distribution  dom  dsl  dvcs  ecs  edn  emacs  embedded  erlang  essay  facme  ffmpeg  formal_methods  format  forth  fossil  freebsd  from:medium  from:morningpaper  functional  gamedev  geometry  git  golang  graph  graphics  gui  hg  history  hn  inferno  inspiration  interactive  interface  interpreter  interview  ipc  java  javascript  k8s  language  learning  lets_encrypt  library  linux  lobsters  lua  mapping  maps  memory  mesh  messaging  mobile  models  monitoring  mozilla  multipart  neovim  networking  nodejs  ocaml  oil_shell  oo  opengl  opensource  optimization  organization  osdev  packaging  pdf  philosophy  pipeline  pipes  plan9  plugin  pmz  podcast  postgres  powershell  presentation  procedural  programming  prolog  protocol  python  rant  raytracing  reactjs  reddit  reference  regex  relational  rendering  repo:bitbucket  repo:github  repo:gitlab  review  ros  rpc  rust  safety  scalability  scenegraph  scheme  scripting  security  serialization  sexp  shaders  shell  signatures  slides  smalltalk  sociology  software  software_development  solver  specification  sql  sqlite  ssl  stackoverflow  standards  svg  tcl  textures  tips  tla  todo  tools  transcript  tui  tutorials  tweet  tweets  types  ui  unity3d  unix  ux  verification  version_control  video  vim  visualization  vr  vulkan  webapp  webassembly  webdev  xmpp  zmq 

Copy this bookmark: