joecamel + programming   482

Yoshua Wuyts — Rust Streams
As Rust's async story is evolving, so is Rust's streaming story. In this post we'll take a look at how Rust's streaming model works, how to use it effectively, and where things are heading in the future.
rust  programming  intro  async  blog  post 
3 days ago by joecamel
Rust Creator Graydon Hoare Talks About Security, History, and Rust - The New Stack
"I’d need a much bigger word-count to give a real answer here but for a short list focused on languages, let’s say: information flow control systems, effect systems, refinement types, liquid types, transaction systems, consistency systems, session types, unit checking, verified compilers and linkers, dependent types."
rust  interview  graydon.hoare  type.theory  programming 
4 days ago by joecamel
Green Threads Explained in 200 Lines of Rust
This book aims to explain green threads by using a small example where we implement a simple but working program where we use our own green threads to execute code.
concurrency  book  programming  threads  rust  intro  overview  gitbook 
6 days ago by joecamel
Relearn CSS layout: Every Layout
If you find yourself wrestling with CSS layout, it’s likely you’re making decisions for browsers they should be making themselves. Through a series of simple, composable layouts, Every Layout will teach you how to better harness the built-in algorithms that power browsers and CSS.
Lib: https://github.com/aarohmankad/every-layout
layout  webdev  programming  css 
7 days ago by joecamel
Postgres 12 highlight - Table Access Methods
Postgres is very nice when it comes to extending with custom plugins, with many set of facilities available, like: Decoder plugins, Extensions, Background workers, Index access methods, Hooks, Custom function, aggregate, data types, etc.
postgres  database  internals  overview  pg12  programming 
19 days ago by joecamel
TUF - A framework for securing software update systems
"The Update Framework (TUF) helps developers maintain the security of a software update system, even against attackers that compromise the repository or signing keys. TUF provides a flexible framework and specification that developers can adopt into any software update system."
opensource  security  tools  programming  update  devops 
10 weeks ago by joecamel
[1903.00982] Oxide: The Essence of Rust
In this work, we set out to capture the essence of this model of ownership by developing a type systems account of Rust's borrow checker. To that end, we present Oxide, a formalized programming language close to source-level Rust (but with fully-annotated types). This presentation takes a new view of lifetimes as approximate provenances of references, and our type system is able to automatically compute this information through a flow-sensitive substructural typing judgment for which we prove syntactic type safety using progress and preservation. The result is a simpler formulation of borrow checking - including recent features such as non-lexical lifetimes - that we hope researchers will be able to use as the basis for work on Rust.
rust  paper  internals  plt  programming  cs 
march 2019 by joecamel
Rust: A unique perspective
"However, there is another way to explain Rust. This alternate story focuses on unique versus shared access to values in memory. I believe this version is useful for understanding why various checks exist and how they provide memory safety."
rust  programming  internals 
february 2019 by joecamel
Adrian Sampson: LLVM for Grad Students
This is an introduction to doing research with the LLVM compiler infrastructure. It should be enough for a grad student to go from mostly uninterested in compilers to excited to use LLVM to do great work.
llvm  intro  programming  languages  lowlevel  compiler 
january 2019 by joecamel
Understanding Rust Lifetimes – NEAR Protocol – Medium
"in case of Rust it is more safety and better optimizations — you feel encouraged to master it but fail because it is not exactly intuitive and the formal rules are hard to find."
rust  programming  internals 
january 2019 by joecamel
Earley Parsing Explained
"Earley parsers are among the most general parsers out there. They can parse any context free language without restriction, and can even be extended towards context sensitivity. They are reasonably fast on most practical grammars, and are easy to implement (the core algorithms take less than 200 lines of code)."

"nce you have a successful parse, extracting the tree from it is a little bit like pulling teeth. You have to perform searches on the Early set data, and deal with ambiguities at that point."
algorithms  parsers  parsing  programming  intro 
july 2018 by joecamel
lfittl/libpg_query: C library for accessing the PostgreSQL parser outside of the server environment
C library for accessing the PostgreSQL parser outside of the server.

This library uses the actual PostgreSQL server source to parse SQL queries and return the internal PostgreSQL parse tree.
postgres  internals  library  github  c  programming  sql 
june 2018 by joecamel
Anatomy of a system call, part 1 [LWN.net]
"System calls are the primary mechanism by which user-space programs interact with the Linux kernel. Given their importance, it's not surprising to discover that the kernel includes a wide variety of mechanisms to ensure that system calls can be implemented generically across architectures, and can be made available to user space in an efficient and consistent way."
c  development  linux  kernel  lowlevel  programming 
may 2018 by joecamel
Meta-X86: CPU Cache Essentials
"This post came to my mind after watching the excellent presentation of Scott Meyers called "CPU Caches and Why You care". This post will try to summarize the ideas of the presentation so if you have some spare time you can just watch the presentation on video."
cpu  lowlevel  intro  programming 
may 2018 by joecamel
You can't Rust that | Armin Ronacher's Thoughts and Writings
...the feeling that Rust can be a mind bending adventure and that the best way to have a stress free experience is knowing upfront what you cannot (or should not attempt to) do. Knowing that certain things just cannot be done helps putting your mind back back on the right track.

So here are things not to do in Rust and what to do instead which I think should be better known.
rust  programming  intro  armin.ronacher 
march 2018 by joecamel
Badness 10.0000 | Escaping Hell with Monads
Four examples of pattern where monads are useful (and how other languages cope with the problems). HN https://news.ycombinator.com/item?id=16445212
haskell  fp  functional  monad  programming  patterns 
february 2018 by joecamel
leandromoreira/ffmpeg-libav-tutorial: [WIP] Learn FFmpeg libav the Hard Way
'I was looking for a tutorial/book that would teach me how to start to use FFmpeg as a library (a.k.a. libav) and then I found the "How to write a video player in less than 1k lines" tutorial. Unfortunately it was deprecated, so I decided to write this one.'
ffmpeg  video  tutorial  intro  programming 
february 2018 by joecamel
Meanderful: The accidental HFT firm
"A bit of my trading story, with the names largely changed."
hft  performance  trading  programming 
january 2018 by joecamel
Nice errors in LALRPOP
"For the last couple of weeks, my mornings have been occupied with a pretty serious revamping of LALRPOP’s error message output. I will probably wind up doing a series of blog posts about the internal details of how it works, but I wanted to write a little post to advertise this work."
rust  parser  programming 
january 2018 by joecamel
Writing parsers like it is 2017 | Svelte Hacker News
Some discussion on parsers (Ocaml's Menhir and Rust's LALRPOP generators).
hn  parser  discussion  rust  ocaml  programming  plt 
january 2018 by joecamel
Falsehoods programmers believe about video stuff
"Inspired by numerous other such lists of falsehoods. Pretty much every video player in existence gets a good chunk if not the vast majority of these wrong. (Some of these also/mostly apply to users, though)"
advice  video  programming  falsehoods  list  codecs 
january 2018 by joecamel
My unusual hobby | Stephan Boyer
"I think of Coq as an extension of my own ability to reason logically. When I’m in doubt about something, I open the Coq IDE and try to prove it. I think the reason this is so valuable to me is that I often mull over functional programming, types, logic, algorithms, etc. These kinds of things are well-suited to formalization."
coq  type.theory  plt  programming  proof  math 
november 2017 by joecamel
Jane Street Tech Blog - Effective ML Revisited
- Use uniform interfaces
- Make illegal states unrepresentable
- Code for exhaustiveness
- Open few modules
- Make common errors obvious
functional  programming  sml  ocaml  tips  jane 
november 2017 by joecamel
On Disk IO, Part 1: Flavours of IO – αλεx π – Medium
"Knowing how the IO works, which algorithms are used and under which circumstances can make lives of developers and operators much better: they will be able to make better choices upfront (based on what is in use by the database they’re evaluating), troubleshoot the performance issues when the database misbehaves (by comparing their workloads to the ones the database stack is intended to be used against) and tune their stack (by spreading the load, switching to a different disk type, file or operating system, or simply picking a different index type)."
io  programming  linux  internals  system.programming 
november 2017 by joecamel
High Performance Browser Networking (O'Reilly)
"Performance is a feature. This book provides a hands-on overview of what every web developer needs to know about the various types of networks (WiFi, 3G/4G), transport protocols (UDP, TCP, and TLS), application protocols (HTTP/1.1, HTTP/2), and APIs available in the browser (XHR, WebSocket, WebRTC, and more) to deliver the best—fast, reliable, and resilient—user experience."
book  browser  network  networking  performance  webdev  programming  ebook 
november 2017 by joecamel
A Model for Reasoning About JavaScript Promises
"the semantics of JavaScript promises are quite complex, and since the feature is implemented by way of ordinary function calls, there are no static checks to ensure correct usage. As a result, programmers often make mistakes in promise-based code that leads to pernicious errors, as is evident from many reported issues on forums such as StackOverflow."
Summary https://blog.acolyer.org/2017/11/10/a-model-for-reasoning-about-javascript-promises/
javascript  webdev  plt  paper  pdf  programming 
november 2017 by joecamel
Programming Design Systems
A free digital book that teaches a practical introduction to the new foundations of graphic design. By Rune Madsen.
book  ebook  design  programming 
october 2017 by joecamel
Rust at Sentry by Armin Ronacher · Eventil
"The usage of Rust started as an experiment at Sentry but became a non negligible part of our infrastructure. This is lessons learned, what works and doesn't and what we think is going to happen in the future."
rust  programming  talk  video  slides  sentry 
august 2017 by joecamel
« earlier      
per page:    204080120160

related tags

2d  3d  aaron-swartz  abstraction  academia  accessibility  acm  activerecord  actors  adt  advanced  advice  agda  agent  agents  ai  ajax  alan.kay  alankay  algebra  algo  algorithm  algorithms  amazon  analogy  analysis  android  animation  annotated  answer  api  apl  appengine  architecture  arm  armin.ronacher  arp  art  article  articles  artima  ascii  assembly  astronomy  async  async/await  asyncio  authentication  automata  awk  beginner  berkeley  bestpractices  binary.search  bioinformatics  bitwise  bjarne.stroustrup  blog  blogpost  bloom.filters  book  books  bookshelf  bootloader  branching  bret.victor  brian.harvey  browser  build  c  c++  cache  cairo  calendar  captcha  career  cartoon  category.theory  cc  channel9  cheatsheet  children  chrome  classic  cli  clojure  clojure-conj  clustering  code  code.review  codebase  codecs  codejam  codereview  coding  codinghorror  cognitive  collection  college  collision.detection  color  comet  comic  comment  comparison  competition  competitive.programming  compiler  complexity  computer  computers  computerscience  computing  concurrency  concurrent  conference  constraint.programming  contest  contributing  conventions  cookbook  coq  course  cpp  cpu  crdt  criticism  cs  css  cuda  curriculum  curry  currying  cvs  d3  data  database  datamining  datastructure  datatype  datetime  db  dbus  deb  debug  debugging  demeter  dependent.types  design  designpatterns  dev  development  devops  dictionaries  dijkstra  dilbert  disability  discussion  distributed  dithering  django  docs  documentation  dom  douglas.crockford  drupal  dvcs  dvorak  dynamic  dynamic.programming  ebook  eckel  eclipse  editor  education  elf  elisp  emacs  emulation  emulator  encoding  engine  engineering  enterprise  epub  eric.allen  eric.raymond  erlang  error  esr  essay  essays  ethernet  evolution  ewd  example  examples  exception  exercises  experience  explanation  extension  fabric  facebook  falsehoods  ffmpeg  filetype:jpg  filetype:pdf  firefox  floating  floating.point  fogus  forth  fp  framework  frameworks  free  fun  functional  funny  future  gae  game  gameboy  gamedev  games  gaming  gc  gcc  gdb  gdc  geek  generative  gil  git  gitbook  github  gluon  gnome  golang  google  googlewave  gpu  grammar  graph  graphics  graphs  graydon.hoare  grid  gtk  guide  guidovanrossum  guysteele  hack  hacker  hacketyhack  hacking  handbook  hangout  hardware  hash  hashing  haskell  hft  hg  high.level  hiring  history  hn  hoare.logic  homoiconicity  howto  hr  hs  html5  http  http2  https  humor  ibm  icpc  ict  idioms  idris  illustration  implementation  industry  infoq  inheritance  injection  inspiration  interactive  interesting  internals  interpreter  interview  intro  introduction  introspection  intuition  io  jane  jane.street  java  java8  javascript  john.hughes  journal  jquery  js  julia.evans  jvm  kafka  kalman  kernel  kernighan  keyboard  kids  knitting  knuth  kth  lambda  lambdacalculus  lambdatheultimate  language  language.design  languages  latex  layout  learning  lecture  lectures  library  lin.clark  linear.types  linguistics  linker  linux  lisp  list  literature  littleschemer  live  llvm  loader  logic  loops  lowlevel  lua  luka.kalinovcic  machine  macros  mailinglist  malloc  marijn.haverbeke  markdown  markup  martin.kleppmann  martin.odersky  math  mathematics  mccarthy  media:document  media:image  memory  mercurial  microcontrollers  microsoft  mit  ml  mmap  mobile  modern  module  monad  monads  monoid  monospace  moon  morphism  motivation  mozilla  mptt  multi.platform  multipart  multithreading  music  nes  network  networking  new-style-class  nlp  nodejs  norman.ramsey  norvig  notes  numbers  obfuscation  ocaml  ocw  okasaki  online  oop  oopsla  open  openframeworks  opengl  openid  opensource  operational.transforms  opinion  optimization  orm  os  otp  overview  painting  paper  papers  paradigms  parallel  parser  parsers  parsing  part  partial  parts  Pattern  patterns  paulgraham  pdf  pedagogy  performance  personal.experience  petr  pg12  phd  philosophy  PHP  physics  pip  pl  playlist  pleac  plt  pltheory  plugin  podcast  poll  pool  posix  post  postgres  presentation  principles  problembased  problems  problemsolving  processing  programming  project  prolog  proof  psychology  puzzles  pycon  pygtk  python  python3  pyxpcom  qt  queryset  question  queue  quickref  quirks  quiz  r  racket  rails  raph.levien  raspberrypi  raymond.hettinger  raytracing  read  reading  readinglist  realtime  reason  recommendation  reddit  reference  references  regex  repeat100rt360  research  resources  rest  restful  reverse.engineering  review  richardgabriel  richhickey  rocket  ruby  rubyonrails  rust  satire  scala  scalability  scheduling  scheme  school  schools  science  scipy  screencast  sdl  search  security  sentry  series  server  servo  shaders  shape  short  sicp  signals  simd  simonpeytonjones  simplicity  simulator  singal.processing  skip-list  slides  smalltalk  sml  software  software.design  solutions  solver  spam  sparklines  spoj  sql  sqlite  ssd  ssl  stackexchange  stackoverflow  standards  stanford  starcraft  startup  statistics  stem  steve-yegge  stockholm  storage  strace  strangeloop  stream  string  strings  stronglytyped  style  styleguide  super  sussman  sysadmin  system.programming  systems  talent  talk  talks  taocp  tcp/ip  teaching  tensors  testing  text  theory  thesis  thread  threading  threadpool  threads  tips  tool  tools  topcoder  toread  trading  tribute  tricki  trie  ts  tutorial  tutorials  twitch  type.theory  typescript  typesystem  typing  typography  unicode  unix  update  useful  utility  v8  vcs  versioncontrol  vi  video  videogames  vim  vimeo  virtualenv  visualization  volatile  w3c  web  webdev  webrtc  whyfp  wiki  wikipedia  working-hard  worse.is.better  writing  x11  x86  x86-64  xkcd  xsystem  xtext  yegge  youtube  yow  yt  z3  zero.cost  zeromq  _why 

Copy this bookmark:



description:


tags: