kybernetikos + programming   152

What Did Ada Lovelace's Program Actually Do?
Lovelace’s program is not easy to explain to the layperson without some hand-waving. It’s the intricacies of her program, though, that make it so remarkable. Whether or not she ought to be known as “the first programmer,” her program was specified with a degree of rigor that far surpassed anything that came before. She thought carefully about how operations could be organized into groups that could be repeated, thereby inventing the loop. She realized how important it was to track th...
history  programming  computing  lovelace  math  ada  byron 
4 weeks ago by kybernetikos
Build Your Own Text Editor
The text editor is antirez’s kilo, with some changes. It’s about 1000 lines of C in a single file with no dependencies, and it implements all the basic features you expect in a minimal editor, as well as syntax highlighting and a search feature.

This booklet walks you through building the editor in 184 steps. Each step, you’ll add, change, or remove a few lines of code. Most steps, you’ll be able to observe the changes you made by compiling and running the program immediately afterwards.
editor  programming  c  tutorial  text  texteditor 
may 2018 by kybernetikos
The Great Theorem Prover Showdown • Hillel Wayne
I think that the appropriate paradigm is heavily dependent on context, but a lot of people speak in universals. I keep hearing that it’s easier to analyze pure functional code than mutable imperative code. But nobody gives rigorous arguments for this and nobody provides concrete examples. Nobody actually digs into why assignments and transitions are so much harder to reason about than pure functions and IO monads.
programming  types  proofs  formal-methods  dependent-types  fp  dafny  verification  theorem  proof  prover  imperative  functional 
april 2018 by kybernetikos
The Poor Man's Netcode · Evan Todd
my topic of choice is game development. Everyone in that field agrees: don't add networked multiplayer to an existing game, you drunken clown.

Well, I did it anyway because I hate myself. Somehow it turned out great. None of us know anything.
gamedev  networking  dev  game  programming  net  network  netcode 
march 2018 by kybernetikos
Stevey's Google Platforms Rant
I was at Amazon for about six and a half years...
amazon  api  google  programming  rant  soa  platform  yegge  services 
february 2018 by kybernetikos
Wizards and warriors, part one | Fabulous adventures in coding
A wizard is a kind of player.
A warrior is a kind of player.
A staff is a kind of weapon.
A sword is a kind of weapon.
A player has a weapon.

OO Design and the difficulties of representing restrictions and multiple dispatch in C#.
development  architecture  oop  ericlippert  programming  software  types  hierarchy  dispatch 
february 2018 by kybernetikos
Interactive javascript notebooks for data analysis, visualization, and exploration.
data  dataviz  interactive  programming  visualization  notebook  javascript  d3 
february 2018 by kybernetikos
Deciphering Glyph :: Unyielding
As we know, threads are a bad idea, (for most purposes). Threads make local reasoning difficult, and local reasoning is perhaps the most important thing in software development....

Despite the fact that implicit coroutines masquerade under many different names, many of which don’t include the word “thread” – for example, “greenlets”, “coroutines”, “fibers”, “tasks” – green or lightweight threads are indeed threads, in that they present these same problems. In the long run, when you build a syst...
programming  python  concurrency  async  threading  multithreading  threads  coroutine 
february 2018 by kybernetikos
Luna is a data processing and visualization environment built on a principle that people need an immediate connection to what they are building. It provides an ever-growing library of highly tailored, domain specific components and an extensible framework for building new ones.

Luna targets domains where data processing is the primary focus, such as data science, IoT, bioinformatics, graphic design and architecture.
code  functional  language  programming  visual  visualization  dataflow 
february 2018 by kybernetikos
On Storytelling by Evan Czaplicki – Deconstruct
So day to day, I work on Elm all the time. And there's lots to say about the technical aspect of that. But I want to emphasize how storytelling influences these technical decisions and how design comes from trying to communicate with people.
elm  programming  language  design  storytelling  media  conflict 
january 2018 by kybernetikos
On Safety, and How Rust Can Help
I’ll first talk about my opinions about safety as an abstract concept and my experiences with practicing safety in various environments; I’ll then talk about my experiences programming at work in C and Ruby; then I’ll draw upon these to talk about what Rust can currently offer my work and what I believe it still needs in order for it to strengthen its utility and efficacy in our contexts.
safety  c  c++  rust  ruby  nasa  programming 
january 2018 by kybernetikos
Skyrim rendered in text – Filip Hracek – Medium
Game as narrative. How to make combat work in text form, and the various levels of abstraction needed to describe combat satisfyingly.
game  programming  gamedev  article  development  procedural  skyrim  worldbuilding  technology  narrative  text  fantasy 
november 2017 by kybernetikos
5 Tips for Writing Small CLI Tools in Rust - Pascal’s Scribbles
Rust is a great language to write small command line tools in. While it gives you some tools for common tasks, allows nice abstractions, it also has a type system and approach to API design that lead you to write robust code. Let me show you some techniques to make this a nice experience.
tutorial  rust  cli  programming 
november 2017 by kybernetikos
How Not To Sort By Average Rating – Evan Miller
You are a web programmer. You have users. Your users rate stuff on your site. You want to put the highest-rated stuff at the top and lowest-rated at the bottom. You need some sort of “score” to sort by.
math  programming  statistics  algorithms  rating  sorting  algorithm  ranking  confidence 
august 2017 by kybernetikos
Terra is a low-level system programming language that is embedded in and meta-programmed by the Lua programming language:
language  programming  lua  terra  development  metaprogramming  compiletime  compile 
august 2017 by kybernetikos
If carpenters were hired like we hire developers
Interviewer: First of all, we're working in a subdivision building a lot of brown houses. Have you built a lot of brown houses before?
Carpenter: Well, I'm a carpenter, so I build houses, and people pretty much paint them the way they want.

Interviewer: Yes, I understand that, but can you give me an idea of how much experience you have with brown? Roughly.
humor  programming  carpenter  developer  hiring  jobs 
may 2017 by kybernetikos
Lightmap Compression in The Witness | Ignacio Castaño
he RGBM color transform seemed to be a popular way to encode lightmaps. I gave that a try and the results weren't perfect, but it was a clear improvement and I could already think of several ways of improving the encoder. Over time I tested some of these ideas and managed to improve the quality significantly and also reduce the size of the lightmap data. In this post I'll describe some of these ideas and support them with examples showing my results.
lightmaps  game  texture-compression  programming 
may 2017 by kybernetikos
here's an optimization guide, aimed at those who know how to program but maybe don't know how it maps to real ones and zeroes on the bare metal of your CPU. I'll try to weave practical tips about optimizing Rust code with explanations of the reason why it's faster than the alternative, and we'll end with a case study from the Rust standard library.
optimization  performance  programming  rust 
may 2017 by kybernetikos
Six programming paradigms that will change how you think about coding
Every now and then, I stumble across a programming language that does something so different that it changes how I think about coding. In this post, I want to share some of my favorite finds.
language  programming  paradigm 
may 2017 by kybernetikos
Grasp - JavaScript structural search, replace, and refactor
Grasp is a command line utility that allows you to search and replace your JavaScript code - but unlike programs such as grep or sed, it searches the structure behind your code (the abstract syntax tree), rather than simply the text you've written
javascript  regex  search  code  grep  sed  ack  ast  programming  replace 
march 2017 by kybernetikos
Best Webfoot Forward » programmer productivity update
Lutz Prechelt wrote a technical report way back in 1999 that did a more rigorous, mathematical analysis of the variance in the time it takes programmers to complete one task. He finds that the distribution is wickedly skewed to the left, and the difference between the top and kinda-normal programmers is about 2.
productivity  programming  10x  programmer  tasks  research 
march 2017 by kybernetikos
How many floating-point numbers are in the interval [0,1]? – Daniel Lemire's blog
One of my readers left a comment suggesting that picking an integer in [0,232) at random and dividing it by 232, was equivalent to picking a number at random in [0,1)....That’s certainly “approximately true”, but we are making an error when doing so. How much of an error?

development  programming  floatingpoint  number  random 
march 2017 by kybernetikos
A very casual introduction to Fully Homomorphic Encryption – A Few Thoughts on Cryptographic Engineering
Encrypting a document isn’t the same as putting it into a physical lockbox. And this is a good thing! Because in fact, there is a kind of encryption that allows us to bypass some of these limitations. We refer to this as homomorphic encryption, and its defining characteristic is this: you can perform useful operations on encrypted values without decrypting them first.
crypto  encryption  math  programming  homomorphic 
january 2017 by kybernetikos
Generating fantasy maps
I wanted to make maps that look like something you'd find at the back of one of the cheap paperback fantasy novels of my youth. I always had a fascination with these imagined worlds, which were often much more interesting than whatever luke-warm sub-Tolkien tale they were attached to.
javascript  art  graphics  maps  programming  generative  cartography  myth  legend 
august 2016 by kybernetikos
Video Conference Part 1: These Things Suck – Ben Garney
I wrote my own (prototype) video conferencing app. It turned out pretty well. And that’s what these posts are about.
compression  programming  video  c++ 
july 2016 by kybernetikos
Introducing Research for Practice - ACM Queue
Research for Practice is born from the potential of this combination. In every RfP column, two experts will introduce a short curated selection of papers on a concentrated, practically oriented topic. Want to learn about the latest and greatest developments in operating systems for data- center workloads? RfP will provide an essential crash course from a world authority by describing the trends in this space, selecting a handful of papers to read, and providing motivation and the critical insights behind each.
programming  research 
july 2016 by kybernetikos
Programming by poking: why MIT stopped teaching SICP | posterior science
Sussman said that in the 80s and 90s, engineers built complex systems by combining simple and well-understood parts. The goal of SICP was to provide the abstraction language for reasoning about such systems.

Today, this is no longer the case. Sussman pointed out that engineers now routinely write code for complicated hardware that they don’t fully understand (and often can’t understand because of trade secrecy.) The same is true at the software level, since programming environments consist of gigantic libraries with enormous functionality. According to Sussman, his students spend most of their time reading manuals for these libraries to figure out how to stitch them together to get a job done. He said that programming today is “More like science. You grab this piece of library and you poke at it. You write programs that poke it and see what it does. And you say, ‘Can I tweak it to do the thing I want?'”. The “analysis-by-synthesis” view of SICP — where you build a larger system out of smaller, simple parts — became irrelevant. Nowadays, we do programming by poking.
mit  programming  python  scip  lisp  engineering 
may 2016 by kybernetikos
acharal/hopes: Higher Order Prolog with Extensional Semantics
Hopes is a prototype interpreter for a higher-order PROLOG-like language. The syntax of the language extends that of PROLOG by supporting higher-order constructs (such as higher-order predicate variables, partial application and lambda terms). In particular, the syntax allows clauses (and queries) that contain uninstantiated predicate variables.
language  logic  programming  prolog 
march 2016 by kybernetikos
Microsoft Research Mobile - Exploding Software-Engineering Myths
At Microsoft Research, there are computer scientists and mathematicians who live in a world of theory and abstractions. Then there is Nachi Nagappan, who was on loan to the Windows development group for a year while building a triage system for software bugs. For Nagappan, a senior researcher at Microsoft Research Redmond with the Empirical Software Engineering and Measurement Research Group (ESM), the ability to observe software-development processes firsthand is critical to his work.
development  management  microsoft  programming  tdd  coverage  myth 
february 2016 by kybernetikos
How to do distributed locking — Martin Kleppmann’s blog
As part of the research for my book, I came across an algorithm called Redlock on the Redis website. The algorithm claims to implement fault-tolerant distributed locks (or rather, leases [1]) on top of Redis, and the page asks for feedback from people who are into distributed systems. The algorithm instinctively set off some alarm bells in the back of my mind, so I spent a bit of time thinking about it and writing up these notes.
distributed  programming  algorithm  locking  distributedsystems  zookeeper  redis 
february 2016 by kybernetikos
Learn Elixir The Fun Way: Red:4
This multimedia Elixir tutorial will put you in the middle of the action at one of the hottest fictional aerospace startups in existence.
coding  programming  tutorial  game 
february 2016 by kybernetikos
Regex Crossword
Welcome to the fantastic world of nerdy regex fun!
regex  games  programming  puzzle 
january 2016 by kybernetikos
The HTML5 Speech Recognition API | Shape Shed
The HTML5 Speech Recognition API allows JavaScript to have access to a browser's audio stream and convert it to text.
programming  voice  html5  speech  recognition 
january 2016 by kybernetikos
Python to OCaml: retrospective - Thomas Leonard's blog
In 2013, I spent 6 months converting 0install’s 29,215 lines of Python to OCaml (learning OCaml along the way). In this post, I’ll describe the approach I took and how it went. There will be graphs. If you don’t want to read the whole thing, the take-away is this: The new code is a similar length (slightly shorter), runs around 10x faster, and is statically type checked.
functional  programming  python  ocaml 
january 2016 by kybernetikos
A Badass Way to Connect Programs Together
I’ve always been attracted to things that are simple and powerful. Simplicity means they can be implemented in few lines of code. Fewer lines of code mean less possibility of errors and less to maintain.
programming  erlang  protocol  messaging  scp  sonic  control 
january 2016 by kybernetikos
Why OCaml? :: Jane Street Tech Blogs
How OCaml fits into the space of programming language designs, and why we think OCaml is in a real sweet spot in that design space, especially for the kind of work we do at Jane Street.
programming  ocaml  ml  presentation 
january 2016 by kybernetikos
It Will Never Work In Theory
The aim of this blog is to be a bridge between theory and practice. Each week, we will highlight some of the most useful results from studies past and present. We hope that this will encourage researchers and practitioners to talk about what we know, what we think we know that ain't actually so, why we believe some things but not others, and what questions should be tackled next.
academic  theory  practice  programming 
march 2014 by kybernetikos
Systems Past: the only 8 software innovations we actually use - Technical Journal
I find that all the significant concepts in software systems were invented/discovered in the 15 years between 1955 and 1970. What have we been doing since then? Mostly making things faster, cheaper, more memory-consuming, smaller, cheaper, dramatically less efficient, more secure, and worryingly glitchy.
history  os  programming  software  advance  technology 
march 2014 by kybernetikos
Idris Tutorial
Tutorial for Idris, a haskell-like dependently typed language.
programming  dependenttyping  type  proof  formal  language 
february 2014 by kybernetikos
Why Bloom filters work the way they do | DDI
In this post I’ll describe a data structure which provides an excellent way of solving this kind of problem. The data structure is known as a Bloom filter. Bloom filter are much more memory efficient than the naive “store-everything” approach, while remaining extremely fast. I’ll describe both how Bloom filters work, and also some extensions of Bloom filters to solve more general problems.
programming  algorithm 
february 2014 by kybernetikos
OpenHatch - Community tools for free and open source software
OpenHatch is a non-profit dedicated to matching prospective free software contributors with communities, tools, and education.
community  opensource  programming  software 
february 2014 by kybernetikos
Redundancy vs dependencies: which is worse?
I believe that there are just two intrinsic forces in programming:

You want to minimize redundancy and, ideally, define every piece of knowledge once.
You want to minimize dependencies - A should depend on B only if it absolutely must.

I think that all other considerations are of the extrinsic real-world kind
design  dependency  programming  architecture 
september 2013 by kybernetikos
Source Map Visualisation
Source maps are a bit tricky to understand. This provides an excellent visualisation of them.
programming  js  source  map  srcmap  javascript 
august 2013 by kybernetikos
Project Windstorm. Terrain demo in webgl
When I tried to think of a project suitable for learning JavaScript, a terrain flyover demo came to mind. I've worked with terrain rendering in OpenGL before and using WebGL inside a Canvas element kept me pretty close to my comfort zone. Somehow, I quickly found myself also building a WebGL GUI to act as a debugging aid at first, a way to demonstrate and monitor the behavior of the terrain algorithms later.
javascript  3d  graphics  programming  webgl 
march 2013 by kybernetikos
Eulerian Video Magnification
Our goal is to reveal temporal variations in videos that are difficult or impossible to see with the naked eye and display them in an indicative manner. Our method, which we call Eulerian Video Magnification, takes a standard video sequence as input, and applies spatial decomposition, followed by temporal filtering to the frames. The resulting signal is then amplified to reveal hidden information. Using our method, we are able to visualize the flow of blood as it fills the face and also to amplify and reveal small motions. Our technique can run in real time to show phenomena occurring at temporal frequencies selected by the user.
programming  research  video  vision  paper  pulse  heartbeat  blood  color  change 
march 2013 by kybernetikos
Tern parses and analyzes a program on the fly, using a simple form of type inference along with a lot of heuristics and dirty tricks to approximate the types of the variables and expressions in the program.
inference  type  javascript  js  completion  analysis  programming 
march 2013 by kybernetikos
The Xinu Page
Xinu is a small, elegant operating system that supports dynamic process creation, dynamic memory allocation, network communication, local and remote file systems, a shell, and device-independent I/O functions. The small size makes Xinu suitable for embedded environments.
computer  book  os  programming  education  learning 
february 2013 by kybernetikos
Parallel Universe • A New Approach to Databases and Data Processing — Simulating 10Ks of Spaceships on My Laptop
Like map-reduce frameworks and SQL databases as they’ve been traditionally used — and unlike many NoSQL solutions — we believe that it is the database’s role not only to store and retrieve data on behalf of the application, but also to assist the application in processing it. This because the database is in a unique position to know which transactions may contend for the same data items, and how to schedule them with respect to one another for the best possible performance. The database can and should be smart. If the database is dumb and sharded, it places a-priori constraints to avoid contention that it could have handled intelligently at runtime without imposing limitations on the application.
code  clojure  programming  database  store  spatial  game  mmorpg  mmo  space  region  shard  scale  scaling 
february 2013 by kybernetikos
jostylr/literate-programming · GitHub
a modificaiton of and an implementation of Knuth's Literate Programming technique. It is perhaps most in line with noweb.

It uses markdown as the basic document format with the code to be weaved together being delimited by each line having 4 spaces as is typical for markdown.

It can handle any programming language, but has some standard commands useful for creating HTML, CSS, and JavaScript.
javascript  markdown  literate  programming  program  documentation  doc 
february 2013 by kybernetikos
Docco is a quick-and-dirty, hundred-line-long, literate-programming-style documentation generator. It produces HTML that displays your comments alongside your code. Comments are passed through Markdown, and code is passed through Pygments syntax highlighting. This page is the result of running Docco against its own source file.
javascript  tools  coffeescript  markdown  documentation  literate  programming 
february 2013 by kybernetikos
An Introduction to Objectivist-C |
In Objectivist-C, there are not only properties, but also property rights. Consequently, all properties are @private; there is no @public property.
humour  humor  funny  programming  language  objectivism  rand  ayn 
january 2013 by kybernetikos
munificent/vigil · GitHub
If an oath is broken, the offending function (the caller in the case of implore and the callee in the case of swear) will be duly punished.


Simple: it will be deleted from your source code.
funny  programming  language  contract  legal  medieval 
january 2013 by kybernetikos
« Hannu's Plaza » Doing gravity right
here's a big flaw in the commonly used Euler's method to handle the gravity (or other forces). Even all the Quake games have this problem. Then what is it? If you have more frames per second in Quake, your player will run faster and jump higher. There are some places in Quake where you can't jump high enough if you don't have enough frames per second. Sounds odd, right?
games  physics  programming  gravity  integration  fps  quake  acceleration  force 
december 2012 by kybernetikos
Genetic Programming: Evolution of Mona Lisa | Roger Alsing Weblog
This weekend I decided to play around a bit with genetic programming and put evolution to the test, the test of fine art :-)

I created a small program that keeps a string of DNA for polygon rendering.
The procedure of the program is quite simple:
programming  evolution  genetic  algorithm 
december 2012 by kybernetikos
1MB Sorting Explained
In my previous post, I shared some source code to sort one million 8-digit numbers in 1MB of RAM as an answer to this Stack Overflow question. The program works, but I didn’t explain how, leaving it as a kind of puzzle for the reader.

I had promised to explain it in a followup post, and in the meantime, there’s been a flurry of discussion in the comments and on Reddit. In particular, commenter Ben Wilhelm (aka ZorbaTHut) already managed to explain most of it (Nice work!), and by now, I think quite a few people already get it. Nonetheless, I’ll write up another explanation as promised.
development  programming  algorithm  compression  sorting  memory  constrained 
october 2012 by kybernetikos
Yeoman - Modern workflows for modern webapps
Yeoman is a robust and opinionated set of tools, libraries, and a workflow that can help developers quickly build beautiful, compelling web apps.
browser  javascript  api  framework  yeoman  !jeeves  js  programming 
october 2012 by kybernetikos
Tavis Ormandy: Fun with Constrained Programming
Believe it or not, RAR files can contain bytecode for a simple x86-like virtual machine called the RarVM. This is designed to provide filters (preprocessors) to perform some reversible transformation on input data to increase redundancy, and thus improve compression.

For example, one filter (likely inspired by LZX, an earlier scheme with a similar feature) is called "Intel E8 preprocessing", which is designed to increase redundancy in x86 code.
programming  vm  restricted  rar  winrar  constrained  repurpose  hack 
september 2012 by kybernetikos
How to Choose Colours Procedurally (Algorithms) »
Colour is surprisingly complex. How colour works is determined by the physics of light and materials, the biology of our eyes and brains, mixed with a bit of psychology.

Although you don’t need to know all about the physics, biology, and psychology of colour vision, it is useful to have some background information (which you can find references to at the end of this article).
programming  algorithm  color  colour  generation  algorithmic  choosing  perception  space 
september 2012 by kybernetikos
Sweet.js brings hygienic macros from languages like Scheme and Rust to JavaScript. Macros allow you to sweeten the syntax of JavaScript and craft the language you've always wanted
javascript  macro  hygenic  custom  template  language  programming  js 
september 2012 by kybernetikos
« earlier      
per page:    204080120160

related tags

!jeeves  2d  3d  3daccelerated  10x  academic  acceleration  ack  activism  ada  adobe  advance  agile  ai  ajax  algebra  algorithm  algorithmic  algorithms  alias  align  alligator  amazon  analysis  android  annotation  ape  api  appengine  application  architecture  art  article  ast  astronomy  async  audio  ayn  basic  bdd  beta  blog  blood  book  browser  byron  c  c++  calculus  canvas  cards  carpenter  cartography  category  change  choosing  circuit  clarity  cli  clojure  closures  code  coding  coffeescript  collections  color  colour  commonjs  community  competency  compile  compiler  compiletime  completion  complexity  composition  compression  compsci  computer  computerscience  computing  concurrency  confidence  conflict  constrained  contract  control  coroutine  course  cover  coverage  crypto  cryptography  cuda  curation  custom  cv  d3  dafny  dancinglinks  data  database  dataflow  datastructure  dataviz  dependency  dependency-injection  dependencyinjection  dependent-types  dependenttyping  design  dev  developer  developerculture  development  di  dijkstra  discrete  dispatch  distributed  distributedsystems  distribution  dlx  doc  documentation  domain  dsl  dynamic  ebook  eclipse  editor  editorwars  education  egg  elastic  elm  encryption  engineering  environment  ericlippert  erlang  es6  evolution  exactcover  explain  explanation  expressiveness  factor  fantasy  fft  filter  floatingpoint  font  force  formal  formal-methods  formalmethods  formatting  Fourier  fp  fps  framework  free  fulltext  fun  function  functional  funny  game  gamedev  games  gamification  generation  generative  generator  genetic  git  github  gmachine  google  graph  graphics  gravity  grep  groovy  guide  hack  hacking  harmony  hash  haskell  hater  heartbeat  hierarchy  highlighter  hiring  history  homomorphic  html  html5  humor  humour  hygenic  ide  imperative  implementation  improvement  indent  inference  injection  integration  interactive  interpreter  interview  ioc  java  javascript  jigsaw  jit  jobs  js  json  jvm  knuth  lambda  language  languages  languageuse  laws  lazy  learning  lecture  legal  legend  library  lightmaps  linearalgebra  links  lisp  literal  literate  llvm  locking  logic  lovelace  lua  machine  machinelearning  macro  management  map  maps  markdown  math  maths  matrix  mcilroy  media  medieval  memory  messaging  metaprogramming  microsoft  mindset  miranda  mit  ml  mmo  mmorpg  monkey  multithreading  music  myth  narrative  nasa  navigation  net  netcode  network  networking  news  nice  nlp  notebook  number  numeric  nvidia  objectivism  objects  oblivious  ocaml  online  oop  opensource  operatingsystem  operator  operators  optimization  os  out  outsourcing  paper  paradigm  parse  parser  parsing  pascal  pdf  perception  performance  physics  pinboard  platform  poker  portfolio  practice  precedence  presentation  primate  probability  procedural  productivity  program  programmer  programming  prolog  proof  proofs  protocol  prover  pulse  puzzle  python  quake  quality  quantum  question  questions  rand  random  ranking  rant  rar  rating  recognition  recruitment  redis  reduction  reference  regex  region  render  rendering  repl  replace  repurpose  research  rest  restricted  resume  rhino  ringojs  ruby  rust  safety  sampling  scala  scale  scaling  scheme  science  scip  scp  screenshot  search  security  sed  server  serverside  services  shard  shazam  shell  shen  shim  simplicity  simulator  skill  skyrim  soa  software  softwareengineering  solar  sonic  sorting  sound  source  space  spatial  speech  speech-recognition  speechrecognition  srcmap  state  static  statistics  status  store  storytelling  strong  structure  style  sudoku  sun  support  syllabus  syntax  tabstop  tasks  tdd  teaching  technical  technology  template  terra  test  testing  text  textbook  texteditor  texture-compression  theorem  theory  threading  threads  tools  training  transfer  transform  tutorial  twitter  type  types  typing  typography  unit  unittest  unittesting  unitype  unix  usage  verification  vi  via:popular  video  vim  vision  visual  visualization  vm  voice  weak  web  web2.0  webgl  winrar  worldbuilding  xss  yegge  yeoman  zookeeper  _newinstall 

Copy this bookmark: