corpus.blog
Most cited
Talked about
Blogs
41554 blogs · [ { "id": "01a087b7-e8d1-7382-9ead-d98655173108", "title": "Introduction", "url": "https://oli.me.uk/Introduction", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d986555036e5", "title": "About the archive", "url": "https://oli.me.uk/Blog+archive/About+the+archive", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d98655e3896b", "title": "Writing great JavaScript", "url": "https://oli.me.uk/Blog+archive/2012/Writing+great+JavaScript", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d986566554d4", "title": "Writing a modular frontend", "url": "https://oli.me.uk/Blog+archive/2012/Writing+a+modular+frontend", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d98656d4cf96", "title": "Thoughts on JavaScript libraries and frameworks", "url": "https://oli.me.uk/Blog+archive/2012/Thoughts+on+JavaScript+libraries+and+frameworks", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d98657adaa2b", "title": "Sliced text effect", "url": "https://oli.me.uk/Blog+archive/2012/Sliced+text+effect", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d98658808f0e", "title": "Pure CSS toggle accordion", "url": "https://oli.me.uk/Blog+archive/2012/Pure+CSS+toggle+accordion", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d98658f0a7b2", "title": "Portable JavaScript", "url": "https://oli.me.uk/Blog+archive/2012/Portable+JavaScript", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d9865959dfc7", "title": "Multiple borders with CSS", "url": "https://oli.me.uk/Blog+archive/2012/Multiple+borders+with+CSS", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d98659e4e32e", "title": "Localizing times with xtz", "url": "https://oli.me.uk/Blog+archive/2012/Localizing+times+with+xtz", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d9865a41f335", "title": "Introduction", "url": "https://oli.me.uk/Blog+archive/2012/Introduction", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d9865a4dbbb7", "title": "Inheritance in CSS", "url": "https://oli.me.uk/Blog+archive/2012/Inheritance+in+CSS", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d9865b28a6e9", "title": "Getting started with LESS", "url": "https://oli.me.uk/Blog+archive/2012/Getting+started+with+LESS", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d9865b782304", "title": "Fun with negative margins", "url": "https://oli.me.uk/Blog+archive/2012/Fun+with+negative+margins", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d9865c3585dd", "title": "Faster JavaScript", "url": "https://oli.me.uk/Blog+archive/2012/Faster+JavaScript", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d9865c4835e4", "title": "Color in JavaScript", "url": "https://oli.me.uk/Blog+archive/2012/Color+in+JavaScript", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d9865cd580f5", "title": "Centering with the flexible box model", "url": "https://oli.me.uk/Blog+archive/2012/Centering+with+the+flexible+box+model", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d9865d833a41", "title": "Prototypical inheritance done right", "url": "https://oli.me.uk/Blog+archive/2013/Prototypical+inheritance+done+right", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d9865dce4e07", "title": "Implementing a message bus in JavaScript", "url": "https://oli.me.uk/Blog+archive/2013/Implementing+a+message+bus+in+JavaScript", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d9865e526d67", "title": "Searching JavaScript arrays with a binary search", "url": "https://oli.me.uk/Blog+archive/2013/Searching+JavaScript+arrays+with+a+binary+search", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d9865e5c0fdb", "title": "Maps in JavaScript", "url": "https://oli.me.uk/Blog+archive/2013/Maps+in+JavaScript", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d9865f2673f1", "title": "Equipping Vim for JavaScript", "url": "https://oli.me.uk/Blog+archive/2013/Equipping+Vim+for+JavaScript", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d9865f4af035", "title": "Ranges, summation and predicates", "url": "https://oli.me.uk/Blog+archive/2013/Ranges%2C+summation+and+predicates", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d9866004d5a2", "title": "Tuples in JavaScript", "url": "https://oli.me.uk/Blog+archive/2013/Tuples+in+JavaScript", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d98660fed41f", "title": "Use verbose naming in JavaScript", "url": "https://oli.me.uk/Blog+archive/2013/Use+verbose+naming+in+JavaScript", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d986612b6154", "title": "Exporting through AMD, CommonJS and the global object", "url": "https://oli.me.uk/Blog+archive/2013/Exporting+through+AMD%2C+CommonJS+and+the+global+object", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d98661bfea74", "title": "Composing a framework from specialised libraries", "url": "https://oli.me.uk/Blog+archive/2013/Composing+a+framework+from+specialised+libraries", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d98661db7c50", "title": "Building for browsers in a terminal", "url": "https://oli.me.uk/Blog+archive/2013/Building+for+browsers+in+a+terminal", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d9866273a780", "title": "Handling concurrency and asynchronous JavaScript", "url": "https://oli.me.uk/Blog+archive/2013/Handling+concurrency+and+asynchronous+JavaScript", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d98663253cb5", "title": "Classless JavaScript", "url": "https://oli.me.uk/Blog+archive/2013/Classless+JavaScript", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d9866351658c", "title": "Classless JavaScript – Continued", "url": "https://oli.me.uk/Blog+archive/2013/Classless+JavaScript+%E2%80%93+Continued", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d98663d6dd55", "title": "Do things that scare you", "url": "https://oli.me.uk/Blog+archive/2013/Do+things+that+scare+you", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d986643fb0e2", "title": "Grabbing elements from the DOM", "url": "https://oli.me.uk/Blog+archive/2013/Grabbing+elements+from+the+DOM", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d98664fee43f", "title": "Graph from scratch", "url": "https://oli.me.uk/Blog+archive/2013/Graph+from+scratch", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d986655aea5e", "title": "Test private methods", "url": "https://oli.me.uk/Blog+archive/2013/Test+private+methods", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d98665d6284a", "title": "My 2015 Bucket Set", "url": "https://oli.me.uk/Blog+archive/2014/My+2015+Bucket+Set", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d986661a77ce", "title": "A JavaScript Clojure mashup", "url": "https://oli.me.uk/Blog+archive/2014/A+JavaScript+Clojure+mashup", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d98666960f34", "title": "Revisiting Searching JavaScript arrays with a binary search", "url": "https://oli.me.uk/Blog+archive/2014/Revisiting+Searching+JavaScript+arrays+with+a+binary+search", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d98667834f0d", "title": "Brainfuck VM in JavaScript", "url": "https://oli.me.uk/Blog+archive/2015/Brainfuck+VM+in+JavaScript", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d98667f5952c", "title": "Brainfuck VM in Clojure", "url": "https://oli.me.uk/Blog+archive/2015/Brainfuck+VM+in+Clojure", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d98668e15ee1", "title": "If I wrote a text editor", "url": "https://oli.me.uk/Blog+archive/2015/If+I+wrote+a+text+editor", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d986694398e7", "title": "Vim for people that don’t want to use it", "url": "https://oli.me.uk/Blog+archive/2015/Vim+for+people+that+don%E2%80%99t+want+to+use+it", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d98669fa8a4b", "title": "A quick reflection on Algorithms", "url": "https://oli.me.uk/Blog+archive/2015/A+quick+reflection+on+Algorithms", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d9866a8d2966", "title": "Giving Emacs another chance", "url": "https://oli.me.uk/Blog+archive/2015/Giving+Emacs+another+chance", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d9866b181425", "title": "Making El-Get sync like vim-plug", "url": "https://oli.me.uk/Blog+archive/2015/Making+El-Get+sync+like+vim-plug", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d9866bea4e43", "title": "Some thoughts on Ruby", "url": "https://oli.me.uk/Blog+archive/2015/Some+thoughts+on+Ruby", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d9866c075792", "title": "Some thoughts on Prolog", "url": "https://oli.me.uk/Blog+archive/2015/Some+thoughts+on+Prolog", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d9866c427196", "title": "Some thoughts on Io", "url": "https://oli.me.uk/Blog+archive/2015/Some+thoughts+on+Io", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d9866c6f1832", "title": "Things I learned about Docker the hard way", "url": "https://oli.me.uk/Blog+archive/2015/Things+I+learned+about+Docker+the+hard+way", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d9866cd6efcf", "title": "Lazy arrays in JavaScript", "url": "https://oli.me.uk/Blog+archive/2015/Lazy+arrays+in+JavaScript", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d9866d787f77", "title": "Wrangling JavaScript with Vim", "url": "https://oli.me.uk/Blog+archive/2015/Wrangling+JavaScript+with+Vim", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d9866ddf3f38", "title": "My new prompt (oh-my-zsh)", "url": "https://oli.me.uk/Blog+archive/2015/My+new+prompt+(oh-my-zsh)", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d9866e9efc8d", "title": "D3 within React the right way", "url": "https://oli.me.uk/Blog+archive/2015/D3+within+React+the+right+way", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d9866f580d75", "title": "Installing Arch Linux on a Dell XPS 13 (9350)", "url": "https://oli.me.uk/Blog+archive/2015/Installing+Arch+Linux+on+a+Dell+XPS+13+(9350)", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d9866f583e01", "title": "Asynchronicity and JavaScript", "url": "https://oli.me.uk/Blog+archive/2016/Asynchronicity+and+JavaScript", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d986704d9a62", "title": "Working with multiple of lists in JavaScript", "url": "https://oli.me.uk/Blog+archive/2016/Working+with+multiple+of+lists+in+JavaScript", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d98670f58ba8", "title": "An introduction to ClojureScript", "url": "https://oli.me.uk/Blog+archive/2016/An+introduction+to+ClojureScript", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d98671a5f894", "title": "Getting Go Going", "url": "https://oli.me.uk/Blog+archive/2016/Getting+Go+Going", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d98671c44775", "title": "When projects rise from the grave", "url": "https://oli.me.uk/Blog+archive/2016/When+projects+rise+from+the+grave", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d98671f440ab", "title": "I’m on Linode now", "url": "https://oli.me.uk/Blog+archive/2017/I%E2%80%99m+on+Linode+now", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d98672afcc31", "title": "The Collatz conjecture, visualised in Clojure", "url": "https://oli.me.uk/Blog+archive/2017/The+Collatz+conjecture%2C+visualised+in+Clojure", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d986737faae6", "title": "Updating dependencies without CHANGES", "url": "https://oli.me.uk/Blog+archive/2017/Updating+dependencies+without+CHANGES.md", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d98673f234c1", "title": "An introduction to transcriptor", "url": "https://oli.me.uk/Blog+archive/2017/An+introduction+to+transcriptor", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d98674dfb563", "title": "Taming clojure", "url": "https://oli.me.uk/Blog+archive/2017/Taming+clojure.spec+with+expound", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d98675df4579", "title": "Hello, World!", "url": "https://oli.me.uk/Blog+archive/2017/Hello%2C+World!", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d98676c74d86", "title": "Clojure projects from scratch", "url": "https://oli.me.uk/Blog+archive/2018/Clojure+projects+from+scratch", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d98677098db1", "title": "Clojure and ClojureScript nREPL with Clojure CLI", "url": "https://oli.me.uk/Blog+archive/2018/Clojure+and+ClojureScript+nREPL+with+Clojure+CLI", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d9867791fd58", "title": "Clojure and ClojureScript testing with the Clojure CLI", "url": "https://oli.me.uk/Blog+archive/2018/Clojure+and+ClojureScript+testing+with+the+Clojure+CLI", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d986786c73f1", "title": "Clojure and ClojureScript tests on Travis", "url": "https://oli.me.uk/Blog+archive/2018/Clojure+and+ClojureScript+tests+on+Travis", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d9867899de93", "title": "Finding new dependencies with Depot", "url": "https://oli.me.uk/Blog+archive/2018/Finding+new+dependencies+with+Depot", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d986794fc9f3", "title": "Editing Clojure with Neovim", "url": "https://oli.me.uk/Blog+archive/2018/Editing+Clojure+with+Neovim", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d98679a29f02", "title": "Wake word detection with Clojure (or Java)", "url": "https://oli.me.uk/Blog+archive/2018/Wake+word+detection+with+Clojure+(or+Java)", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d9867a1f3cae", "title": "Clojure socket prepl cookbook", "url": "https://oli.me.uk/Blog+archive/2019/Clojure+socket+prepl+cookbook", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d9867ae97660", "title": "Extending Neovim with any language (mostly Clojure)", "url": "https://oli.me.uk/Blog+archive/2019/Extending+Neovim+with+any+language+(mostly+Clojure)", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d9867b3e3476", "title": "Exploring REPL tooling with socket prepl", "url": "https://oli.me.uk/Blog+archive/2019/Exploring+REPL+tooling+with+socket+prepl", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d9867bd8c4a8", "title": "REPLing into projects with prepl and Propel", "url": "https://oli.me.uk/Blog+archive/2019/REPLing+into+projects+with+prepl+and+Propel", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d9867c30e2ab", "title": "Minimalistic blogging with Clojure and AsciiDoc", "url": "https://oli.me.uk/Blog+archive/2019/Minimalistic+blogging+with+Clojure+and+AsciiDoc", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d9867cd6b281", "title": "Clojure prepl for tool authors", "url": "https://oli.me.uk/Blog+archive/2019/Clojure+prepl+for+tool+authors", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d9867d8880b8", "title": "Getting started with Clojure, Neovim and Conjure in minutes", "url": "https://oli.me.uk/Blog+archive/2019/Getting+started+with+Clojure%2C+Neovim+and+Conjure+in+minutes", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d9867e074ce1", "title": "Neovim configuration and plugins in Fennel (Lisp)", "url": "https://oli.me.uk/Blog+archive/2019/Neovim+configuration+and+plugins+in+Fennel+(Lisp)", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d9867e3cd61e", "title": "Conversational software development", "url": "https://oli.me.uk/Blog+archive/2020/Conversational+software+development", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d9867ea3a02c", "title": "Recent video content", "url": "https://oli.me.uk/Blog+archive/2021/Recent+video+content", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d9867ea4a0c6", "title": "Why a lover of Vim is going to try Emacs", "url": "https://oli.me.uk/Blog+archive/2014/Why+a+lover+of+Vim+is+going+to+try+Emacs", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d9867f9ce92e", "title": "Spacemacs Emacs + Vim", "url": "https://oli.me.uk/Blog+archive/2014/Spacemacs+Emacs+%2B+Vim", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d9868092f4e2", "title": "vim-expand, my second {plugin,bundle}!", "url": "https://oli.me.uk/Blog+archive/2014/vim-expand%2C+my+second+%7Bplugin%2Cbundle%7D!", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d98680ee9a0e", "title": "Understanding Emacs errors", "url": "https://oli.me.uk/Blog+archive/2014/Understanding+Emacs+errors", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d98681dff6e1", "title": "My thoughts on React, Flux and Reflux", "url": "https://oli.me.uk/Blog+archive/2014/My+thoughts+on+React%2C+Flux+and+Reflux", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d9868297ef95", "title": "Installing Vimdeck on Arch", "url": "https://oli.me.uk/Blog+archive/2014/Installing+Vimdeck+on+Arch", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d98682a46123", "title": "Making package", "url": "https://oli.me.uk/Blog+archive/2014/Making+package.el+behave+like+Vundle", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d98682f6d601", "title": "If you’re using sudo with npm you’re doing it wrong", "url": "https://oli.me.uk/Blog+archive/2014/If+you%E2%80%99re+using+sudo+with+npm+you%E2%80%99re+doing+it+wrong", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d98683b74e8c", "title": "I want to learn stuff and write about it over 2015", "url": "https://oli.me.uk/Blog+archive/2014/I+want+to+learn+stuff+and+write+about+it+over+2015", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d98683f99ce4", "title": "Hello again, WordPress", "url": "https://oli.me.uk/Blog+archive/2014/Hello+again%2C+WordPress", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d986844ffc54", "title": "Essential Vim bundles for JavaScript and Clojure", "url": "https://oli.me.uk/Blog+archive/2014/Essential+Vim+bundles+for+JavaScript+and+Clojure", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d98684bca0f1", "title": "Emacs There and Back Again", "url": "https://oli.me.uk/Blog+archive/2014/Emacs+There+and+Back+Again", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d9868530ec48", "title": "Building vim-netrw-signs Introduction", "url": "https://oli.me.uk/Blog+archive/2014/Building+vim-netrw-signs+Introduction", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d98685a2e6a3", "title": "Emacs A few hours after exposure", "url": "https://oli.me.uk/Blog+archive/2014/Emacs+A+few+hours+after+exposure", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d98686071190", "title": "Building vim-netrw-signs Tooling", "url": "https://oli.me.uk/Blog+archive/2014/Building+vim-netrw-signs+Tooling", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d98686a96a92", "title": "Building vim-netrw-signs Into the VimL", "url": "https://oli.me.uk/Blog+archive/2014/Building+vim-netrw-signs+Into+the+VimL", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d986870dc377", "title": "Always remain a beginner", "url": "https://oli.me.uk/Blog+archive/2014/Always+remain+a+beginner", "published_at": null }, { "id": "01a087b7-e8d1-7382-9ead-d98687d89256", "title": "Angular feels like you’re always viewing a tiny piece of the puzzle", "url": "https://oli.me.uk/Blog+archive/2014/Angular+feels+like+you%E2%80%99re+always+viewing+a+tiny+piece+of+the+puzzle", "published_at": null } ] posts
Claim your blog
Back to oli.me.uk
Blog · corpus.blog/blogs/oli.me.uk/posts
oli.me.uk
oli.me.uk
Undated
Introduction
original ↗
—
About the archive
original ↗
—
Writing great JavaScript
original ↗
—
Writing a modular frontend
original ↗
—
Thoughts on JavaScript libraries and frameworks
original ↗
—
Sliced text effect
original ↗
—
Pure CSS toggle accordion
original ↗
—
Portable JavaScript
original ↗
—
Multiple borders with CSS
original ↗
—
Localizing times with xtz
original ↗
—
Introduction
original ↗
—
Inheritance in CSS
original ↗
—
Getting started with LESS
original ↗
—
Fun with negative margins
original ↗
—
Faster JavaScript
original ↗
—
Color in JavaScript
original ↗
—
Centering with the flexible box model
original ↗
—
Prototypical inheritance done right
original ↗
—
Implementing a message bus in JavaScript
original ↗
—
Searching JavaScript arrays with a binary search
original ↗
—
Maps in JavaScript
original ↗
—
Equipping Vim for JavaScript
original ↗
—
Ranges, summation and predicates
original ↗
—
Tuples in JavaScript
original ↗
—
Use verbose naming in JavaScript
original ↗
—
Exporting through AMD, CommonJS and the global object
original ↗
—
Composing a framework from specialised libraries
original ↗
—
Building for browsers in a terminal
original ↗
—
Handling concurrency and asynchronous JavaScript
original ↗
—
Classless JavaScript
original ↗
—
Classless JavaScript – Continued
original ↗
—
Do things that scare you
original ↗
—
Grabbing elements from the DOM
original ↗
—
Graph from scratch
original ↗
—
Test private methods
original ↗
—
My 2015 Bucket Set
original ↗
—
A JavaScript Clojure mashup
original ↗
—
Revisiting Searching JavaScript arrays with a binary search
original ↗
—
Brainfuck VM in JavaScript
original ↗
—
Brainfuck VM in Clojure
original ↗
—
If I wrote a text editor
original ↗
—
Vim for people that don’t want to use it
original ↗
—
A quick reflection on Algorithms
original ↗
—
Giving Emacs another chance
original ↗
—
Making El-Get sync like vim-plug
original ↗
—
Some thoughts on Ruby
original ↗
—
Some thoughts on Prolog
original ↗
—
Some thoughts on Io
original ↗
—
Things I learned about Docker the hard way
original ↗
—
Lazy arrays in JavaScript
original ↗
—
Wrangling JavaScript with Vim
original ↗
—
My new prompt (oh-my-zsh)
original ↗
—
D3 within React the right way
original ↗
—
Installing Arch Linux on a Dell XPS 13 (9350)
original ↗
—
Asynchronicity and JavaScript
original ↗
—
Working with multiple of lists in JavaScript
original ↗
—
An introduction to ClojureScript
original ↗
—
Getting Go Going
original ↗
—
When projects rise from the grave
original ↗
—
I’m on Linode now
original ↗
—
The Collatz conjecture, visualised in Clojure
original ↗
—
Updating dependencies without CHANGES
original ↗
—
An introduction to transcriptor
original ↗
—
Taming clojure
original ↗
—
Hello, World!
original ↗
—
Clojure projects from scratch
original ↗
—
Clojure and ClojureScript nREPL with Clojure CLI
original ↗
—
Clojure and ClojureScript testing with the Clojure CLI
original ↗
—
Clojure and ClojureScript tests on Travis
original ↗
—
Finding new dependencies with Depot
original ↗
—
Editing Clojure with Neovim
original ↗
—
Wake word detection with Clojure (or Java)
original ↗
—
Clojure socket prepl cookbook
original ↗
—
Extending Neovim with any language (mostly Clojure)
original ↗
—
Exploring REPL tooling with socket prepl
original ↗
—
REPLing into projects with prepl and Propel
original ↗
—
Minimalistic blogging with Clojure and AsciiDoc
original ↗
—
Clojure prepl for tool authors
original ↗
—
Getting started with Clojure, Neovim and Conjure in minutes
original ↗
—
Neovim configuration and plugins in Fennel (Lisp)
original ↗
—
Conversational software development
original ↗
—
Recent video content
original ↗
—
Why a lover of Vim is going to try Emacs
original ↗
—
Spacemacs Emacs + Vim
original ↗
—
vim-expand, my second {plugin,bundle}!
original ↗
—
Understanding Emacs errors
original ↗
—
My thoughts on React, Flux and Reflux
original ↗
—
Installing Vimdeck on Arch
original ↗
—
Making package
original ↗
—
If you’re using sudo with npm you’re doing it wrong
original ↗
—
I want to learn stuff and write about it over 2015
original ↗
—
Hello again, WordPress
original ↗
—
Essential Vim bundles for JavaScript and Clojure
original ↗
—
Emacs There and Back Again
original ↗
—
Building vim-netrw-signs Introduction
original ↗
—
Emacs A few hours after exposure
original ↗
—
Building vim-netrw-signs Tooling
original ↗
—
Building vim-netrw-signs Into the VimL
original ↗
—
Always remain a beginner
original ↗
—
Angular feels like you’re always viewing a tiny piece of the puzzle
original ↗
—
Next