mechazoidal + paper   261

Underdiagnosis of Attention-Deficit/Hyperactivity Disorder in Adult Patients: A Review of the Literature
Must read in a desktop browser.
"Almost every aspect of adult life can be impacted by ADHD, including work and family life, particularly if the condition remains undiagnosed, untreated, or ineffectively treated, potentially with a detrimental effect on psychological well-being and quality of life. Conversely, some adults with ADHD may appear to function normally, although they might expend excessive amounts of energy trying to overcome their impairments; this may also affect their psychological well-being, as patients are distressed by persistent symptoms such as restlessness and mood instability."
adhd  paper  medical  2014 
6 days ago by mechazoidal
Estimating the success of re-identifications in incomplete datasets using generative models | Nature Communications
minimax@lobsters: "tl;dr: Individuals can be de-anonymized from sparse samples of large datasets, given relatively few demographic attributes. Not exactly news, but these folks have built a generative model to estimate just how bad it may be."
privacy  paper  from:nature 
11 weeks ago by mechazoidal
CiteSeerX — Honu: A Syntactically Extensible Language
Mentioned by Racket devs as a possible approach for a "Racket2"
PR since it sounds intriguing, but is only just a research paper at this point

"a new language that fuses traditional algebraic notation (e.g., infix binary operators) with Scheme-style language extensibility. A key element of Honu’s design is an enforestation parsing step, which converts a flat stream of tokens into an S-expressionlike tree, in addition to the initial “read ” phase of parsing and interleaved with the “macro-expand ” phase. "
paper  programming  sexp  language  scheme  piperesearch 
12 weeks ago by mechazoidal
Keenan Crane - The Vector Heat Method
"transport of tangent vectors on curved surfaces, or more generally, any vector-valued data on a curved manifold."
Look at examples: PR uses are probably for texture and weight mapping
piperesearch  math  paper  graphics 
june 2019 by mechazoidal
Searching News Articles Using an Event Knowledge Graph Leveraged by Wikidata
Basically being able to group news stories using wikidata and text corpuses?
journalism  paper  pdf  wikipedia  search 
april 2019 by mechazoidal
Time protection: The missing OS abstraction
"A mandatory, black-box kernel API for preventing microarchitecture timing channels". It's basically cloning the kernel memory along with a interrupt partitioning scheme. (almost sounds a bit like Genode)

They implement it in seL4, noting that it could be ported but seL4's memory model makes it much easier.
Noted that it's not a substitute for hardware protection, and that an ISA is not sufficient (an improved, security-oriented contract is needed)
pdf  osdev  security  spectre  paper  2019  sel4  pmz 
april 2019 by mechazoidal
Communication Files: Interprocess IO before Pipes (2017)
Noting that DTSS had a full file-*ish* IPC/comm interface way before plan 9(which gets a mention, noting that people copied the shallow parts but not the core idea)
He mentions dgsh but not CMS pipelines.
A note is that standard unix pipes don't have standardized ways of passing open IO connections outside of stdin/stdout(again, like CMS Pipelines?). Pipes and the pipe combinator were always linked on unix edict made them easier to learn.
paper  pdf  history  unix  plan9  pipes  ipc  piperesearch 
march 2019 by mechazoidal
Complexity Reduction of Catmull-Clark/Loop Subdivision Surfaces
the core use of subdiv in Verse/LOVE
"The largest shortcoming of this
algorithm is that flat areas with curved edges tend to be
over tessellated. This is something we intend to combat
by having a separate set of look up tables for flat
polygons. Another potential problem is that the
algorithm can never reduce the mesh below its control
mesh polygon count. Still it produces very good results
especially with architectural objecs. The biggest
features with this algorithm is of course that it is fast,
contains no iterative searching and that all data can be
stored in arrays since there are no insert/delete
operations, something that 3D hardware APIs such as
OpenGL like. The biggest problem is that the algorithm
is so large and contains so many steps that it becomes
very hard to implement and debug. In the future we
would like to try to instead of generating a look-up
table generate compliable code that would contain the
tessellation information to see if there is a possible
speed gain. "
archive_it  paper  pdf  piperesearch  graphics  2001  rendering 
february 2019 by mechazoidal
research!rsc: Our Software Dependency Problem
Russ Cox: "Software dependencies carry with them serious risks that are too often overlooked. The shift to easy, fine-grained software reuse has happened so quickly that we do not yet understand the best practices for choosing and using dependencies effectively, or even for deciding when they are appropriate and when not. My purpose in writing this article is to raise awareness of the risks and encourage more investigation of solutions."
paper  dependencies  software  software_development  packaging 
january 2019 by mechazoidal
The Video Mesh: A Data Structure for Image-based Three-dimensional Video Editing
"a data structure for representing video as 2.5D "paper cutouts." The video mesh allows interactive editing of moving objects and modeling of depth, which enables 3D effects and post-exposure camera control. The video mesh sparsely encodes optical flow as well as depth, and handles occlusion using local layering and alpha mattes. Motion is described by a sparse set of points tracked over time. Each point also stores a depth value. The video mesh is a triangulation over this point set and per-pixel information is obtained by interpolation. The user rotoscopes occluding contours and we introduce an algorithm to cut the video mesh along them. Object boundaries are refined with per-pixel alpha values. The video mesh is at its core a set of texture mapped triangles, we leverage graphics hardware to enable interactive editing and rendering of a variety of effects. "
video  paper  graphics  piperesearch  multimedia 
may 2018 by mechazoidal
Semantic Shape Editing using Deformation Handles
Take two parametric(patch-based) shapes and then generate slider handles for end-users.
piperesearch  graphics  paper  pdf  machine_learning 
april 2018 by mechazoidal
LSEQ: an adaptive structure for sequences in distributed collaborative editing
Original paper on LSEQ: provides insert, removal operations on a set, allows you to define your own allocation algorithm.
paper  crdt  pdf  piperesearch 
march 2018 by mechazoidal
CRATE: Writing Stories Together with our Browsers
Uses an LSeq for identifier depth, and the Spray peer-sampling protocol to keep track of sites. WebRTC for real-time connections.
paper  piperesearch  crdt  web 
march 2018 by mechazoidal
Data Consistency for P2P Collaborative Editing - SourceForge
This is the original "WOOT" paper proposing a (not named as such)CRDT that uses unique "identifiers" instead of vector clocks(like OT) to get eventually consistent. Note that it's antiquated from "High Responsiveness" paper
crdt  piperesearch  paper  pdf  p2p 
march 2018 by mechazoidal
High Responsiveness for Group Editing CRDTs
Should be open. Part of papers in telegraph-crdt

This is where the"identifier" concept in CRATE comes from (an "RGA identifier")
Several different structures, with different tuning. Identifier concept is how to get fast "upstream"(sending update to network) operations.
crdt  piperesearch  paper 
march 2018 by mechazoidal
A Verified Messaging System (2017)
On a formally verified lock-free and word-safe IPC system, developed for cars/CAN buses. It is guaranteed to be safe in the presence of malicious/untrusted components.
pdf  programming  concurrency  osdev  pmz  paper 
march 2018 by mechazoidal
Bringing Arbitrary Compute to Authoritative Data - ACM Queue
Mark Cavage and David Pacheco, on the architecture of Joyent's "Manta" general-purpose distributed storage system, supporting arbitrary computation on data at rest.
In particular:
- storage is "object": no partial updates, objects are immutable.
- interface is Unix-like: stdin/stdout + pipes
- "Local" computing: when given a job to run, the job is run on the node that contains the object instead of copying it across the network.
paper  distributed  piperesearch  from:acm  storage 
march 2018 by mechazoidal
There's Just No Getting around It: You're Building a Distributed System - ACM Queue
Mark Cavage, illustrating it with a simple "image resizing" service.
"In reality, building a distributed system requires a methodical approach to requirements along the boundaries of failure domains, latency, throughput, durability, consistency, and desired SLAs for the business application at all aspects of the application."

PR: note that splitting up identity management and caching makes it look like a 9P system: but he counters with noting that filesystems choose the C in CAP, and therefore do not scale past a single node very well.
distributed  from:acm  paper  reference  design  2013  piperesearch 
march 2018 by mechazoidal
Improving the Efficiency of Open Sound Control (OSC) with Compressed Address Strings
"This paper introduces a technique that improves the efficiency of the Open Sound Control (OSC) communication protocol. The improvement is achieved by decoupling the user interface and the transmission layers of the protocol, thereby reducing the size of the transmitted data while simultaneously simplifying the receiving end parsing algorithm."

another proposal to shorten OSC tags, almost like 9P without walking the tree to find qids
piperesearch  osc  paper 
march 2018 by mechazoidal
signify: Securing OpenBSD From Us To You
"I'm going to talk today about signify, a tool I wrote for the OpenBSD project that cryptographically signs and verifies. This allows us to ensure that the releases we ship arrive on your computer in their original, intended form, without tampering."
pmz: use the same scheme?
openbsd  paper  security  pmz  cryptography 
january 2018 by mechazoidal
Your smartphone’s next trick? Fighting cybercrime. - University at Buffalo
Clever: using imperfections in smartphone camera as ID, works since sensor is much smaller than regular DSLR.
hardware  security  paper 
december 2017 by mechazoidal
Ziria: A DSL for wireless systems programming
Showing that a well-built compiler can outdo an FPGA solution, by way of being more flexible with dynamic pipeline reconfiguration.
PR: note how this uses a two-level language, along with the FRP section at the end.
pmz: jcore implementation?
paper  pdf  radio  frp  programming  dsl  pmz  piperesearch 
december 2017 by mechazoidal
Applying Formal Methods to a Certifiably Secure Software System
"A major problem in verifying the security of code is that the code's large size makes it much too costly to verify in its entirety. This article describes a novel and practical approach to verifying the security of code which substantially reduces the cost of verification. In this approach, the security property of interest is represented formally and a compact security model, containing only information needed to reason about the policy, is constructed."
paper  acm  security  programming  verification 
october 2017 by mechazoidal
Virtual Machine Warmup Blows Hot and Cold
"We introduce a fully automated statistical approach, based on changepoint analysis, which allows us to determine if a [program inside a language-based VM] has reached a steady state and, if so, whether that represents peak performance or not. Using this, we show that even when run in the most controlled of circumstances, small, deterministic, widely studied microbenchmarks often fail to reach a steady state of peak performance on a variety of common VMs. Repeating our experiment on 3 different machines, we found that at most 43.5% of ⟨VM, benchmark⟩ pairs consistently reach a steady state of peak performance. [...] The statistical approach we have developed is open-source, general, and can be used to analyse any VM benchmarking data."
paper  vm  research  programming  analysis  statistics 
october 2017 by mechazoidal
How Many Million BIOSes Would you Like to Infect?
Xeno Kovah & Corey Kallenberg
June 11, 2015
"• Because almost no organizations in the world perform BIOS patch management, it is almost guaranteed that any given system has at least one exploitable BIOS vulnerability that has previously been publicly disclosed."
• The high amount of code reuse across UEFI BIOSes means that BIOS infection is automatable and reliable."
paper  pdf  x86  intel  bios  uefi  security  vuln 
october 2017 by mechazoidal
PANS: A Portable Navigation Platform
Specs of the first self-driving autonomous car(a salvaged Pontiac minivan), in a trans-US trip
( see remembrance at: https://jalopnik.com/they-drove-cross-country-in-an-autonomous-minivan-witho-1696330141 )
cars  paper  ieee  1995 
october 2017 by mechazoidal
Proceedings of the 6th International Workshop on Plan 9
highlights:
To Stream or Not To Stream (showing using Limbo channels)
A Bluetooth Protocol Stack for Plan 9
IX: A file protocol for NIX (another 9P streaming solution)
paper  pdf  9p  plan9  inferno  osdev  pmz 
august 2017 by mechazoidal
Designing and Implementing the OP and OP2 Web Browsers
"Our design philosophy is to partition the browser into smaller subsystems and make all communication between subsystems simple and explicit. At the core of our design is a small browser kernel that manages the browser subsystems and interposes on all communications between them to enforce our new browser security features."
@nickpsecurity notes that this was one of the inspiration for Chrome's security. Note how their "microkernel" is the core browser app, so it leads one to wonder what it would look like on a Plan9 system
webdev  browser  paper  pdf  security  pmz 
august 2017 by mechazoidal
Inferno Flash File System: Architecture Notes: Release 1.0
"This document describes how the Inferno Flash File System, as defined in ["A Flash File System For Inferno"], is mapped onto various flash media. There is a portable section that defines, amongst other things, the exact format of the log messages, and one or more media specific sections. This corresponds to the implementation, which is divided into a portable library (/liblogfs)¸ and a media specific plug-in library (e.g. /libnandfs)."
Note that this was designed for SmartMedia flash cards, which had no controller nor automatic wear-leveling, so the scheme is complicated to avoid creating bad blocks and has a lot of ECC. Compare to more modern schemes like YAFFS2.
paper  pdf  filesystems  inferno  pmz  osdev  flash_memory 
july 2017 by mechazoidal
Inferno Flash File System: NAND Flash Layout Specification: Release 1.0
"This document describes how the Inferno Flash File System is mapped onto NAND flash, and how a partition, separate from the log structured file system, is created for the purposes of
1) storing the boot environment variables,
2) storing the kernel image,
3) simplifying the boot mechanism from the perspective of the boot loader "

Note that this was designed for SmartMedia flash cards, which had no controller nor automatic wear-leveling, so the scheme is complicated to avoid creating bad blocks and has a lot of ECC. Compare to YAFFS2.
pdf  inferno  pmz  paper  osdev  filesystems  flash_memory 
july 2017 by mechazoidal
Looking Back: Addendum, David Elliott Bell
"The environment for commercial security products can be made healthy again."
Note that the actual paper is just 2 pages long, with the Plan of Action taking up the rest.

A lot of history on NSA's computer security classifications, and where they go wrong. Specifically: "The current situation is that there is a standard way of specifying security requirements (the validated U. S. Government Protection Profiles), a program of evaluating products (CCEVS) and policy to require use of validated products (DoDD 8500.1 and NSTISSP No. 11), but the evidence that the policy will be enforced is weak."
paper  pdf  security  2006  nsa  government  computers 
july 2017 by mechazoidal
Pegasus — another web server for Plan 9 —
"Pegasus is another httpd in Plan 9 world. Pegasus is designed to be a secure and flexible httpd that is based on the novel feature of Plan 9. This paper shows how “per process namespace configuration” can be applied to httpd and shows how the users get benefit from the ability."
paper  web  programming  security  plan9  pdf 
july 2017 by mechazoidal
Animation: From Cartoons to the User Interface
Bay-Wei Chang, David Ungar. On showing that animation tricks make a GUI work much better from a psychological angle, along with demonstrating that the Self language was the only fast-enough environment to experiment to learn the common GUI tricks
paper  pdf  programming  gui  animation 
june 2017 by mechazoidal
Low-Level Thinking in High-Level Shading Languages
PR: nice for reference, unsure how useful outside of the usual "finish your math derivations, avoid expensive function calls", in the face of spir-v
hlsl  directx  optimization  paper  pdf  gamedev  piperesearch 
june 2017 by mechazoidal
Two Enhancements for Native Inferno
"Here I report on recent work done in the process of moving native Inferno to a tablet PC. One part of the work was the porting of Francisco J. Ballesteros’s new Plan9 USB support to Inferno. The other was a VGA driver that operates with the 640x480x4 mode common to all VGA controllers."
(Ballesteros's support is detailed in "Plan 9’s Universal Serial Bus" paper)
pdf  inferno  graphics  usb  paper  plan9 
june 2017 by mechazoidal
Digital Analytic Drawing
"If you have ever done engineering drawing, or things like 2- or 3-point perspective sketches, that was analytic drawing. It turns out that with a bit of interactive UI, we can directly implement the rules of perspective and isometric sketching. This allows us to precisely infer the 3D meaning of a 2D drawing as it is being created. Since we also have the 3D shape, we can both rotate the view, and provide helpful suggestions to the artist. Although this system was not made publicly available, it was tested by several architects and designers and the feedback was incredibly positive."

vimeo: https://vimeo.com/7215471
paper: http://papervideos.s3.amazonaws.com/DrawingSGA09.pdf
cad  3d  graphics  research  piperesearch  paper  drawing 
may 2017 by mechazoidal
The network of global corporate control
@cstross points out the money shot: "Remarkably, the existence of such a core in the global market was never documented before and thus, so far, no scientific study demonstrates or excludes that this international “super-entity” has ever acted as a bloc. However, some examples suggest that this is not an unlikely scenario. For instance, previous studies have shown how even small cross-shareholding structures, at a national level, can affect market competition in sectors such as airline, automobile and steel, as well as the financial one [14, 13]. At the same time, antitrust institutions around the world (e.g., the UK Office of Fair Trade) closely monitor complex ownership structures within their national borders. The fact that international data sets as well as methods to handle large networks became available only very recently, may explain how this finding could go unnoticed for so long."
paper  pdf  networks  grim_meathook_future  finance  capitalism  2016_populism 
may 2017 by mechazoidal
LP49: Embedded system OS based on L4 and Plan 9
while LP49 is effectively defunct these days, this is the original paper on the reasons behind it
plan9  embedded  osdev  pdf  lp49  l4  pmz  paper 
may 2017 by mechazoidal
Riding the Airways: Ultra-Wideband Ambient Backscatter via Commercial Broadcast Systems
"For the first time we demonstrate the simultaneous use of 17 ambient signal sources to achieve node-to-reader communication distances of 50 meters, with data rates up to 1 kbps."
although do note it's mostly lab results at this point. Also, very heavy on radio signal calculations in the paper
radio  disney_research  paper  research 
may 2017 by mechazoidal
RTFM-core: Language and Implementation
"Our programming model is reactive, based on the familiar notions of concurrent tasks and (single-unit) resources. The language is kept minimalistic, capturing the static task, communication and resource structure of the system. Whereas C-source can be arbitrarily embedded in the model, and/or externally referenced, the instep to mainstream development is minimal, and a smooth transition of legacy code is possible."
Targeting a similar model as ChibiOS, FreeRTOS, etc, with tasks, etc.
osdev  embedded  pmz  paper  pdf  rtfm 
may 2017 by mechazoidal
Auto-skinning videogames | Mark J. Nelson
"One approach is to think of an author defining spaces of games in terms of constraints on their real-world references. A space of games is, for example, "a game where an attacker chases a target and the target tries to get away". The author specifies the nouns and verbs in the game, and defines constraints over real-world referents using the ConceptNet and WordNet databases of common-sense knowledge. An individual game in that space is made by choosing specific nouns and verbs in the space that fit the constraints. We demonstrate some examples of sensible game spaces that can be mapped on to micro-games in the style of Nintendo's WarioWare series."
gamedev  games  paper  research 
april 2017 by mechazoidal
A Cautious Case for Socialism | Ken Arrow, Fall 1978
some parts may not hold up as well(e.g. taking Soviet employment as constant and true), but it is a well-read paper
paper  socialism  democracy  analysis  economics  history 
march 2017 by mechazoidal
Don't Fidget with Widgets, Draw! (1991)
"Programs use pipes with a high level drawing and event model to communicate with an ezdraw window. The implementation is Scheme and the protocol allows dropping down to Scheme expressions."
( https://lobste.rs/s/t4a5zz/rich_command_shells/comments/3ho0p8#c_3ho0p8 )

PR: note section 4.3 sounding like Plan 9's rio , note section 4.4 about using Scheme as the extension language. (Futher note: they note the lexical scoping is key, could Lua be used here as well?)
There is a caution in section 6 about "being too slow", but contrast it with the four-line example give at the end of the section for drawing interactive circles.
piperesearch  paper  gui  scheme  graphics 
march 2017 by mechazoidal
On the Design of Distributed Programming Models [early draft]
Chris Meiklejohn weighs in on distributed programming models: "we show that concurrent programming models are necessary, but not sufficient, in the construction of large-scale distributed systems because of the problem of failure and network partitions: languages need to be able to capture and encode the tradeoffs between consistency and availability. " Lasp and Austere are shown as the two extreme approaches to this thought
distributed  programming  piperesearch  paper  arxiv 
march 2017 by mechazoidal
Some thoughts on security after ten years of qmail 1.0 (2007)
by djb. Note how his philosophy has gradually changed to "eliminate bugs, eliminate code, eliminate trusted code" away from chasing attackers or minimizing privilege. Sections 4 and 5 also seem to unconsciously highlight Plan 9's filesystem approach to all things.
djb  security  qmail  paper  pdf  pmz  piperesearch 
march 2017 by mechazoidal
Thirty Years Later: Lessons from the Multics Security Evaluation
"However, the bottom-line conclusion was that “restructuring is essential” around a verifiable “security kernel” before using Multics (or any other system) in an open environment (as in today’s Internet) with the existence of well-motivated professional attackers employing subversion. The lessons learned from the vulnerability assessment are highly applicable today as governments and industry strive (unsuccessfully) to “secure” today’s weaker operating systems through add-ons, “hardening”, and intrusion detection schemes. "
multics  unix  history  security  analysis  paper  pdf 
march 2017 by mechazoidal
Experience in programming device drivers with the Ravenscar profile
"A first conclusion is that the low-level mechanisms of the Ada language make it comparatively simple to develop device drivers in a high-level language. Features such as representation clauses and protected interrupt handlers allow the designer to build high-level abstractions of the hardware and greatly simplify writing the functional code of the drivers."
osdev  embedded  ada  programming  paper  pdf 
february 2017 by mechazoidal
Analysis on Human Adaptive Levels in Different Kinds of Indoor Thermal Environment
"They're looking at it from a long-term perspective, if you know what I mean (and yes, that paper is about building / natural air-con, there's a reason for that)."
School of Architecture, Xi’an University of Architecture and Technology
paper  research  science 
february 2017 by mechazoidal
Posix Has Become Outdated (2016) | Lobsters
"First, usage is driven by high-level frameworks, which impacts POSIX’s portability goals. … Modern OSes gravitate towards a more layered programming model with “taller” interfaces: applications directly link to high-level frameworks, which invoke other frameworks and libraries that may eventually utilize POSIX. Second, extension APIs, namely ioctl, dominate modern POSIX usage patterns as OS developers increasingly use them to build support for abstractions missing from the POSIX standard. Third, new abstractions are arising, driven by the same POSIX limitations across the three OSes, but the new abstractions are not converging."
mjn comments that traditional Posix IPC and asynch IO are especially on the way out, in Android/Linux/OSX
unix  posix  lobsters  paper  osdev  discussion  pmz 
february 2017 by mechazoidal
High-Quality Software Through Semiformal Specification and Verification
""functional semantics" means that program statements are treated as functions from one program state to another. These functions are described by giving the new values of any variables whose values are changed, as functions of the values of variables in the original state. This is a more direct way of describing computations than the assertions used in axiomatic verification, which state facts about values of variables rather than stating what the values actually are.

Specifications of programs and parts of programs, then, are written as "intended functions", and verification means showing that each piece computes what its intended function says that it should compute. The intended functions may contain mathematical formulas, programming-language expressions, English, or any other notation that is appropriate.

Intended functions are written for every part of the code, down to the level of each control construct and nontrivial statement. This discipline forces the programmer to document every part of the code and to think very carefully about each step. Furthermore, it places a high premium on clear and simple intended functions and code, and code that obviously matches its intended function. Many errors are prevented in this way alone."
paper  security  assurance  programming  verification  techniques  tools 
february 2017 by mechazoidal
Correctness by Construction: Developing a Commercial Secure System
The "Praxis paper":
"You can build a secure system using insecure components, including COTS. The system’s overall architecture must guarantee that insecure components cannot compromise the security requirements. This resembles the approach taken to safety-critical systems. Using formal methods, as required by the higher levels of ITSEC and the Common Criteria, is practical. Our experience in this and other projects show that well-considered use of formal methods is beneficial. Of course, neither formal methods nor any other known method can completely eliminate defects. For example, we didn’t discover a few specification errors until user test. We can attribute these to incorrect formalization of the detailed requirements. Nevertheless, formal methods do reduce the number of late-discovered errors and, thus, the overall system cost. Similarly, Spark is certainly not a magic bullet, but it has a significant track record of success in the implementation of high-integrity systems."
paper  pdf  security  article  ada  specification  verification  postmortem  programming 
february 2017 by mechazoidal
Implementation of µITRON Embedded Operating System Specification on top of L4 Microkernel
A good sum up: it turns out that miTRON's model(task/semaphores, like FreeRTOS) doesn't map cleanly onto L4's model(generic time-sharing, recursive memory management), and would probably not pass TRON specification. The paper ends with the observation that it would be better to implement the T-Kernel specification on top of L4
pdf  osdev  l4  tron_project  paper  rtos 
january 2017 by mechazoidal
Plan 9’s Universal Serial Bus
"This paper describes the system software used on Plan 9 to drive the bus and its devices. How to use the software is not described here, but in the Plan 9 users manual."
usb  inferno  plan9  paper  pdf  osdev  reference 
january 2017 by mechazoidal
Hand-powered ultralow-cost paper centrifuge : Nature Biomedical Engineering
"Here, we report an ultralow-cost (20 cents), lightweight (2 g), human-powered paper centrifuge (which we name ‘paperfuge’) designed on the basis of a theoretical model inspired by the fundamental mechanics of an ancient whirligig (or buzzer toy; 3,300 BC). The paperfuge achieves speeds of 125,000 r.p.m. (and equivalent centrifugal forces of 30,000 g), with theoretical limits predicting 1,000,000 r.p.m. "
from:nature  biotech  paper  medical  science 
january 2017 by mechazoidal
Joins via Geometric Resolutions: Worst-case and Beyond
"A key idea in our framework is formalizing the inference one does with an index as a type of geometric resolution; transforming the algorithmic problem of computing joins to a geometric problem. Our notion of geometric resolution can be viewed as a geometric analog of logical resolution. In addition to the geometry and logic connections, our algorithm can also be thought of as backtracking search with memoization."
noted as providing a "Tetris algorithm"
This is more about a solver (of sorts), where answers are represented in the geometry(using "gap boxes"). It CAN represent B-trees, but it does NOT read like a graphics paper.
paper  arxiv  logic  computerscience  database 
january 2017 by mechazoidal
Toward Simplifying Application Development, in a Dozen Lessons
Mel Conway himself: "It has taken me over fifty years to learn these lessons about simplification of application building. This paper describes how the lessons showed up."
PR: the end section on "hands-on construction tool"
piperesearch  paper  pdf  software_development  programming 
january 2017 by mechazoidal
Inferno for the Sheevaplug
Details on Mechiel Lukkien's port of Inferno to the Marvell-powered Sheevaplug, using work from Salva Peiró (DS port)
pdf  paper  inferno  plan9  embedded  hardware  osdev 
december 2016 by mechazoidal
Life Beyond Distributed Transactions : An apostate's opinion
"This is an updated and abbreviated version of a paper by the same name first published in CIDR (Conference on Innovative Database Research) 2007."
"We are at a juncture where the patterns for building these [non-distributed-transaction-applications] can be seen, but no one is yet applying these patterns consistently. This article argues that these nascent patterns can be applied more consistently in the handcrafted development of applications designed for almost-infinite scaling."
May need a reread. The gist is that by formally defining "entities" and "activities", decisions come from functions within activities within entities.
piperesearch  acm  paper  distributed  programming  database 
december 2016 by mechazoidal
Three States and a Plan: The A.I. of F.E.A.R.
@0x2ba22e11: "The quick version is that they implemented something very like the STRIPS planner. Their AI builds a graph where vertices are states of the world and edges are verbs that would be expected to alter the state of the world in some way. It uses a path-finding algorithm to search this graph for a state in which its goal (the player’s death) is achieved. By doing this, they’re able to have the AI deal with all kinds of obstacles (e.g. lights are broken, door is blocked, magazine is empty) by giving the AI knowledge of obstacles and methods for fixing or bypassing them, rather than having to design a state machine that encodes every possible problem and, in particular, how to deal with combinations of problems in an appropriate order."
"You did leave out one of the important bits–using radio chatter and barks to let the player know what they were up to. That also went a long way towards the perceived quality of the AI."
ai  paper  gamedev  pdf 
december 2016 by mechazoidal
Communicating Sequential Processes, C.A.R. Hoare, CACM 1978
as opposed to the CSP book, this is Hoare's original 1978 paper. Note how he argues the concepts in the paper should be _additions_ to a language, not a full language in and of themselves
piperesearch  concurrency  paper  pdf  programming  csp 
december 2016 by mechazoidal
A short introduction to the Lambda Calculus
"It took another 250 years before Alonzo Church developed a notation for arbitrary functions. His notation is called λ-calculus (“lambda calculus”). Church introduced his formalism to give a functional foundation for Mathematics but in the end mathematicians preferred (axiomatic) set theory. The λ-calculus was re-discovered as a versatile tool in Computer Science by people like McCarthy, Strachey, Landin, and Scott in the 1960s"

see this for an even quicker introduction: https://lobste.rs/s/033nye/short_introduction_lambda_calculus/comments/54s5zg#c_54s5zg
pdf  paper  computerscience  math  reference 
december 2016 by mechazoidal
C Programming in Plan 9 from Bell Labs
"Learning programming with Plan 9 is not something that requires complicated textbooks and four years of college study to master. In fact, with just the manual pages and pages of some documentation in hand, someone can quickly master the core concepts. However, there sometimes is a need of a starter’s guide or tutorial to start with or to clear up some uncertainty. That task is what this paper aims to do."
c  programming  plan9  reference  paper 
december 2016 by mechazoidal
Antikernel: A Decentralized Secure Hardware-Software Operating System Architecture
"We define a high-level architecture, Antikernel, for an operating system which freely mixes hardware and software components as equal peers connected by a packet-switched network. The architecture takes the ideal of “least required privilege” to the extreme by having each node in the network be a fully encapsulated system which manages its own security policy, and only allows access to its internal state through a well-defined API."

@nickpsecurity: "This is a nice improvement over my own design for something similar and Rockwell-Collins' AAMP7G. [...] A side benefit is that the tooling for formal verification of hardware is really mature. This one even went through Yosys, which is open-source."
https://lobste.rs/s/grnkgw/antikernel_decentralized_secure
paper  pdf  osdev  os  programming  hardware  embedded  security 
november 2016 by mechazoidal
What’s wrong with Git? A conceptual design analysis | the morning paper
an analysis of the previously published paper on Git design.
PR: note the paragraph on Fred Brooks' "conceptual integrity", and how the paper shows the misfeatures/confusion come from violation of the principles.
analysis  paper  summary  git  piperesearch 
october 2016 by mechazoidal
Linda meets Unix
"The often overlooked Linda / tuple spaces / JavaSpaces provides a coordination mechanism which is simple, by value, and expressively able to implement anything from CSP channels to pub/sub and more in a single process or multiple distributed processes, depending on the implementation. e.g. see the QIX OS use of “kernel linda”"

Kernel Linda's big difference is multiple tuple spaces and allowing tuples as a slot of another tuple, this allows you to make name services.
pdf  unix  concurrency  osdev  programming  piperesearch  paper 
october 2016 by mechazoidal
Replication, History, and Grafting in the Ori File System
Effectively porting the Git backend data model to a filesystem: allowing inter-file-system copying in a tracked manner. Most of the operations are similar to Git, and they borrow dedup techniques from Shark and LBFS.
PR: note section 3.2
filesystems  programming  distributed  piperesearch  paper  pdf 
october 2016 by mechazoidal
Shark: Scaling File Servers via Cooperative Caching
"For improved wide-area performance, Shark clients construct a locality-optimized cooperative cache by forming self-organizing clusters of well-connected machines. They efficiently locate nearby copies of data using a distributed index and stripe downloads from multiple proxies."
note that the API is based roughly on NFS, and uses Coral in the backend. The secret is that they split files into chunks, advertise those as SHA-1, and form networks to share the chunks on request.
programming  filesystems  piperesearch  distributed  paper  pdf 
october 2016 by mechazoidal
A Low-Bandwidth File System
"a network file system that saves bandwidth by taking advantage of commonality between files. LBFS breaks files into chunks based on contents, using the value of a hash function on small regions of the file to determine chunk boundaries. It indexes file chunks by their hash values, and subsequently looks up chunks to reconstruct files that contain the same data without sending that data over the network."
Note that it is implemented as an extension to NFS, adding 4-5 new commands to support the hash checking.
programming  distributed  filesystems  piperesearch  paper  pdf 
october 2016 by mechazoidal
The Nizza Secure-System Architecture
"The trusted computing bases (TCBs) of applications running on today’s commodity operating systems have become extremely large. This paper presents an architecture that allows to build applications with a much smaller TCB."
Some concepts listed here look like early versions of Genode, and confirmed from @nickpsecurity: "GenodeOS is a FOSS attempt at Nizza-like architecture for desktops."
security  osdev  paper  pdf  piperesearch  pmz 
october 2016 by mechazoidal
Physics, Topology, Logic and Computation: A Rosetta Stone
by John Baez, Michael Stay.
"In this paper we sketched how category theory can serve to clarify the analogies between physics, topology, logic and computation. Each field has its own concept of 'thing' (object) and 'process' (morphism) — and these things and processes are organized into categories that share many common features."
math  physics  computerscience  paper  pdf 
october 2016 by mechazoidal
The Design Philosophy of the DARPA Internet Protocols
"While there have been papers and specifications that describe how the protocols work, it is sometimes difficult to deduce from these why the protocol is as it is. This paper attempts to capture some of the early reasoning which shaped the Internet protocols."
design  internet  history  pdf  1988  paper 
september 2016 by mechazoidal
« earlier      
per page:    204080120160

related tags

2d  3d  3dprinting  9p  2016_populism  acm  acme  actor  ada  adhd  adt  ai  algorithms  analysis  animation  apl  apple  architecture  archive  archive_it  article  arxiv  assurance  asynchronous  audio  biology  bios  biotech  blockchain  blog  bloom  browser  c  c#  c++  cad  calm  capitalism  cars  cg  citeseer  clojure  cloud  comparison  compilers  complexity  computers  computerscience  computer_vision  concurrency  consistency  containers  coq  crdt  criticism  cryptography  csp  culture  database  dataflow  datalog  datamining  datastructures  dead_link  democracy  dependencies  design  design_fiction  devops  dialogue  directx  discussion  disney_research  display  distributed  djb  dns  documentation  doujinshi  drawing  drm  dsec  dsl  dsp  economics  editor  editors  electronics  embedded  engineering  english  erlang  ethics  exokernel  experiment  exploit  facebook  fandom  filesystems  finance  financial  flash_memory  fonts  framework  free  free_speech  from:acm  from:citeseer  from:morningpaper  from:msresearch  from:nature  from:researchgate  frp  functional  future  futurism  gamedev  games  garbagecollection  gear  geometry  git  google  government  gpu  graphics  graphs  grim_meathook_future  gui  guide  hack  hardware  haskell  health  hiring  history  hlsl  hlvm  hud  ibm  ieee  ikea  inferno  intel  internet  interviewing  IoT  ipc  java  journalism  juggling  jvm  k8s  kernel  l4  language  lasp  learning  legal  lens  library  lisp  llvm  lobsters  logging  logic  long_now  lp49  lua  machine_learning  make  math  mathematics  medical  modeling  monitoring  ms_research  multics  multimedia  music  nat  network  networking  networks  nlp  nsa  ocaml  occam  ocr  office  office-supplies  ontology  oop  openbsd  optimization  org-mode  os  osc  osdev  p2p  packaging  paper  parallelism  parsing  passwords  pattern  pdf  pens  performance  physics  piperesearch  pipes  plan9  pmz  political  politics  posix  post  postmortem  postscript  power  practices  printing  privacy  productivity  programming  prolog  proof  propagator  protocol  prototype  publishing  qmail  radio  reading  reference  regex  relational  rendering  replication  report  research  resource  reviews  rigging  rights  robotics  rtfm  rtos  rust  sawzall  scalability  scanning  scheme  science  scripting  sculpting  search  security  sel4  server  sexp  siggraph  smalltalk  social  socialism  software  software_development  solar  space  specification  spectre  spimes  star_language  stationery  statistics  stellar_protocol  stl  storage  styleguide  summary  surveillance  survey  synchronization  tcp  techniques  technology  terra_language  testing  thesis  time  tls  to-read  tools  tron_project  trust  types  typography  uefi  ui  unikernel  unix  usb  vector  verification  version_control  video  virtualization  visualization  vm  vpri  vuln  weather  web  webdev  wifi  wikipedia  writing  x86  yacc 

Copy this bookmark:



description:


tags: