100 Days of Hacking
- 2013-12-31 - Day 0
- Posted introduction
- 2014-01-01 - Day 1
- Read A Beginner's Guide to HTML & CSS
It was full of really good material but was mostly a refresher.
- Read A Beginner's Guide to HTML & CSS
- 2014-01-02 - Day 2
- Read An Advanced Guide to HTML & CSS
But skipped the chapters on preprocessors and jQuery. - Read CSS Strategy Square-off
Learned more about CSS architecture (classical, SMACSS, OOCSS). - Read Functional CSS
- Read Learn CSS Layout
- Read An Advanced Guide to HTML & CSS
- 2014-01-03 - Day 3
- Read the concepts section of MDN CSS reference
Great, programmer-friendly material. - Read about responsive grid systems like Neat and Zurb Foundation
- Read about Autoprefixer
- Read about SASS/SCSS, LESS, Stylus, and Garden
I have used SCSS extensively but had not previously taken the time to look through the documentation.
Garden looks awesome and makes me wonder why we write CSS with preprocessor DSLs instead of full-fledged programming languages. - Learned of and read a little about the CSS Object Model
- Read the concepts section of MDN CSS reference
- 2014-01-04 - Day 4
- Read Scalable and Modular Architecture for CSS (SMACCS) book
- Created an animated 3D cube using Garden to generate the CSS
- 2014-01-05 - Day 5
- Perused Solved by Flexbox
- Read A Complete Guide to Flexbox
- Read Constraint Cascading Style Sheets for the Web (1999 paper)
This seems so much more intuitive for describing a layout than CSS. Why didn't CCSS catch on? - Learned of and read the documentation for Grid Style Sheets
GSS is a JavaScript implementation of CCSS. - Began reading Implementing Responsive Design
- 2014-01-06
Recruited to be a chauffeur for the day. - 2014-01-07 - Day 6
- Finished reading Implementing Responsive Design
- 2014-01-08 - Day 7
- Wrote a blog post about Garden, CSS Object Model, and Constraint CSS
- Extensively played with the newly open-sourced LightTable
- 2014-01-09 - Day 8
- Began reading the ECMAScript Language Specification, 5.1 Edition
- 2014-01-10 - Day 9
- Continued reading the ECMAScript Language Specification, 5.1 Edition
This.
- Continued reading the ECMAScript Language Specification, 5.1 Edition
- 2014-01-11 - Day 10
- Read a bunch of MDN articles about JavaScript
- Continued reading the ECMAScript Language Specification, 5.1 Edition
Ahhhhhhhhhhhhhhhh!
- 2014-01-12 - Day 11
- Finished reading the ECMAScript Language Specification, 5.1 Edition
This. - Read MDN documentation on HTML elements and attributes
- Finished reading the ECMAScript Language Specification, 5.1 Edition
- 2014-01-13 - Day 12
- 2014-01-14 - Day 13
- Read a lot about web workers
- Used web workers to parallelize a drinking competition
- 2014-01-15 - Day 14
- Completed this LightTable and ClojureScript tutorial
- Read a lot about Google Closure Compiler and Library
- 2014-01-16 - Day 15
- Worked through this LightTable plugin tutorial
- Went through the React tutorial
LightTable was incredible for this. Live reload an in-editor browser when the code changes? Yes, please. - Read these articles about React Components and Properties
- 2014-01-17 - Day 16
- Read more React docs
- Continued exploring LightTable
- 2014-01-18 - Day 17
- 2014-01-19
Ran errands. - 2014-01-20 - Day 18
- Experimented with React
- 2014-01-21 - Day 19
- Created a tip calculator using React
- Went through the Om tutorial and documentation
- 2014-01-22 - Day 20
- Refactored my tip calculator based on @petehunt's feedback
- Read the Om sourcecode and (newly updated) documentation and played with the examples
- Watched @brandonbloom's "Why Clojure?" talk
- 2014-01-23 - Day 21
- Submitted a proposal for Clojure/West
- Began reading Structure and Interpretation of Computer Programs (SICP)
- 2014-01-24 - Day 22
- Went through this tutorial on Enlive
- Browsed the Modern ClojureScript tutorials
- Continued reading SICP
- 2014-01-25 - Day 23
- Worked on a LightTable plugin
- 2014-01-26 - Day 24
- Played with C2
- Continued reading SICP
- 2014-01-27 - Day 25
- 2014-01-28 - Day 26
- Worked on a LightTable plugin
- 2014-01-29 - Day 27
- Read this awesome annotated Clojure code
- Watched this video about generative testing in Clojure using simple-check
- Watched this presentation about simulation testing in Clojure using Simulant
- Annotated the default LightTable theme
Hopefully it will help other people who are trying to customize or create a LightTable theme.
- 2014-01-30 - Day 28
- Played with simple-check and read some articles about it
- Watched this presentation about test.generative
- 2014-01-31 - Day 29
- Read core.typed wiki's Design, User Guide, and Types docs
- Read/watched this article/video about getting started with core.typed
- Watched this presentation about core.typed
- Played with core.typed
- 2014-02-01 - Day 30
- Watched this workshop about core.typed
- Watched this presentation about Schema
- Played with Schema
- 2014-02-02
Took the day off. I needed some rest. - 2014-02-03 - Day 31
- 2014-02-04 - Day 32
- Watched [this presentation]http://www.infoq.com/presentations/core-async-clojure) about core.async
- Read Communicating Sequential Processes (1978)
This paper is the basis for Go's concurrency primitives and Clojure's core.async. - Played with core.async
- 2014-02-05 - Day 33
- Watched this presentation about core.logic
- Worked through this tutorial on core.logic and read through some of the wiki documentation
- Played with core.logic
- 2014-02-06 - Day 34
- Watched this presentation about Clojure (and woodworking?)
- Watched this presentation about miniKanren
- Watched this presentation about how core.logic, the Clojure implementation of miniKanren, works
- Read about Clara
- Worked through a few chapters of Learn Datalog Today
- 2014-02-07 - Day 35
- Finished working through Learn Datalog Today
- Read about the architecture of Datomic
- Watched the Datomic tutorial screencasts
- Went through the Datomic tutorial and the corresponding Day of Datomic sample
- 2014-02-08 - Day 36
- Watched this presentation about how Datomic was built
- Watched/worked through this screencast/tutorial on Datomic
- Worked on a library
Setting up a Clojure/ClojureScript library with cljx, cljsbuild, and test support for both Clojure and ClojureScript is surprisingly complicated. - 2014-02-09
Took a break and ran some errands. Exciting! - 2014-02-10 - Day 37
- Watched this presentation about Ring
- Read the Ring spec and some of the documentation
- Read about and played with Compojure
- 2014-02-11 - Day 38
- Read about nREPL, Piggieback, and Austin
- Watched this presentation about Liberator and read some of the documentation
- 2014-02-12 - Day 39
- Implemented a basic word pronounceability algorithm
- Watched this presentation about macros
- 2014-02-13 - Day 40
- Continued working on wug
- 2014-02-14 - Day 41
- Began writing a WHOIS library in Clojure
- Realized that WHOIS is remarkably convoluted
Keeping track of all public WHOIS servers and writing parsers for their non-uniform responses is not something I want to deal with now or maintain in the future. - Realized that the best open-source WHOIS library is written in Ruby and compatible with JRuby
- Began researching how to use JRuby from Clojure
- 2014-02-15
Took a break to spend time with my family. - 2014-02-16 - Day 42
- Worked on the WHOIS library
Using JRuby from Clojure is easier than I anticipated but getting it set up was difficult due to my inexperience with the JVM. I also still don't know how to package a Ruby gem with a Clojure library.
- Worked on the WHOIS library
- 2014-02-17 - Day 43
- Spent way too much time figuring out how to include a gem within a Leiningen project.
- Pushed the WHOIS library to Clojars
This was my first deployment to Clojars. Other than the gem dependency issues it was surprisingly easy.
- 2014-02-18 - Day 44
- Began reading the JVM Specification
- Worked on some improvements for Zweikopf
- 2014-02-19 - Day 45
- Began reading through the Pedestal documentation
Based on the recent announcement and the current disarray of the documentation, I'm going to temporarily put learning Pedestal on hold. - Began reading the documentation of and playing with Caribou
- Began reading through the Pedestal documentation
- 2014-02-20 - Day 46
- Continued learning about Caribou
- 2014-02-21 - Day 47
- Worked through the Caribou tutorial and played with Caribou a bit more
- Watched this presentation about Graph
- Did some general reading about Lamina, EEP, and Node.js streams
- 2014-02-22 - Day 48
- Released version 0.0.1 of my WHOIS library
- Worked on Wug
- 2014-02-23 - Day 49
- Worked on Wug
- 2014-02-24
Took Lily out for her birthday. - 2014-02-25 - Day 50
- 2014-02-26 - Day 51
- 2014-02-27 - Day 52
- Worked on Wug
- 2014-02-28 - Day 53
- 2014-03-01 - Day 54
- Worked on a project
- 2014-03-02 - Day 55
- Worked on a project
- 2014-03-03
Took the day off. - 2014-03-04 - Day 56
- Worked on a project
- Used Iota to process an 8.7GB (266,169,420 lines) file
- 2014-03-05 - Day 57
- Worked on a project
- Did some reading about web sockets and server-sent events
- 2014-03-06 - Day 58
- Read about Stuart Sierra's Reloaded Workflow (Leiningen template)
- Watched this presentation
- Looked at Component and related libraries
- 2014-03-07
Dealt with errands and obligations. - 2014-03-08 - Day 59
- Worked on a project
- 2014-03-09 - Day 60
- Worked on a project
- 2014-03-10 - Day 61
- Worked on a project
ClojureScript exceptions make Clojure exceptions look good.
- Worked on a project
- 2014-03-11
Taxes :( - 2014-03-12 - Day 62
- Worked on a project
- 2014-03-13 - Day 63
- Worked on a project
Om has changed significantly since I last used it. I'm working through the updated tutorials.
- Worked on a project
- 2014-03-14
Dealt with familial obligations. - 2014-03-15 - Day 64
- Finished working through the Om tutorials
- Perused Omchaya
- Worked on a project
- 2014-03-16 - Day 65
- Worked on a project
- 2014-03-17 - Day 66
- Worked on a project
Sente is awesome!
- Worked on a project
- 2014-03-18 - Day 67
- Worked on a project
Cleanly organizing shared code (Clojure and ClojureScript) with namespaces that do not support circular dependencies is notsimpleeasy.
- Worked on a project
- 2014-03-19 - Day 68
- Worked on a project
- 2014-03-20 - Day 69
- Worked on a project
Optimus and lein-bower complement each-other very well.
- Worked on a project
- 2014-03-21 - Day 70
- Worked on a project
- 2014-03-22 - Day 70.5
Spent half of the day doing family stuff.- Worked on a project
- 2014-03-23
Traveled to San Francisco for Clojure/West! - 2014-03-24
Attended Clojure/West. Go watch this talk. - 2014-03-25
Attended Clojure/West. Met many brilliant and inspirational people. - 2014-03-26
Attended Clojure/West Hackfest. Worked on a chat app using Om and Sente. - 2014-03-27 - Day 71
Spent half of the day doing family stuff.- Worked on a project
- Experimented with LevelDB using Factual's library
- 2014-03-28 - Day 72
- Worked on a project
LevelDB is significantly lower-level than any other database that I've previously used.
- Worked on a project
- 2014-03-29
Apartment hunting in San Francisco. - 2014-03-30 - Day 73
- Worked on a project
Getting fatal SIGSEGV errors is not fun.
- Worked on a project
- 2014-03-31 - 2014-04-04
Attended a leadership training course. - 2014-04-05
Caught up on neglected obligations that piled up over the past week. - 2014-04-06 - Day 74
- 2014-04-07
Recruited to be a chauffeur for the day. - 2014-04-08 - Day 75
- Worked on a project
A day of very enjoyable though very difficult (by my standards) Hammock Driven Development
- Worked on a project
- 2014-04-09
Finished up my taxes. - 2014-04-10 - Day 76
- Worked on a project
Learned a lot about Bloom filters, Java serialization, and Component.
- Worked on a project
- 2014-04-11 - 2014-05-04
- Moved to San Francisco
- Shopped at Ikea three times
- Acquired a bed, washer, dryer, sofa, rug, chair, dining set, two nightstands, two desks, four lamps, and other junk
- Volunteered at ClojureBridge SF
- 2014-05-05 - Day 77
- Worked on a project
Damn it's good to be back to coding.
- Worked on a project
- 2014-05-06 - 2014-05-08
...and I'm sick. :( - 2014-05-09 - Day 78
- Worked on a project
- Worked on a Sass plugin for Optimus
- 2014-05-10 - Day 79
- Worked on and released optimus-sass
- 2014-05-11
Mother's Day - 2014-05-12 - Day 80
- Worked on a project
- 2014-05-13
Doctor and errands. - 2014-05-14 - Day 81
- Worked on a project
- 2014-05-15 - Day 82
- 2014-05-16
Haircut, groceries, and errands. - 2014-05-17 - Day 83
- Worked on a proof of concept project
- 2014-05-18 - Day 84
- Worked on a proof of concept project
I would kill for a decent Clojure[Script] debugger.
- Worked on a proof of concept project
- 2014-05-19 - Day 85
- Worked on a proof of concept project
Seriously, I want a damn debugger.
- Worked on a proof of concept project
- 2014-05-20 - Day 86
- Worked on a proof of concept project
Source maps rock but exceptions from within macros are super annoying. I'm looking at you, om.core/check.
- Worked on a proof of concept project
- 2014-05-21 - Day 87
- Worked on a proof of concept project
Made some real progress today.
- Worked on a proof of concept project
- 2014-05-22
Took care of some old business (and went to a taco party). - 2014-05-23 - Day 88
- Read about routing with Pedestal and Bidi
- Watched some of Tim Baldridge's videos on core.async
- Read some blog posts about "Isomorphic JavaScript"
- Worked on a blog post
- 2014-05-24
Took a break and explored the Presidio. - 2014-05-25
Felt a bit under the weather. - 2014-05-26
Sick. :( - 2014-05-27 - Day 89
- Worked on a proof of concept project
- Worked on a blog post
- 2014-05-28
Doctor, groceries, and errands. - 2014-05-29 - Day 90
- Worked on a proof of concept project
Saying the documentation of Google's Closure Library is sparse would be an understatement. - Worked on a blog post
- Worked on a proof of concept project
- 2014-05-30 - Day 91
- Worked on a proof of concept project
- 2014-05-31
Had a great pairing session with Nelson Morris but took the rest of the day off. - 2014-06-01
Off day. - 2014-06-02 - Day 92
- Worked on a proof of concept project
Every time I think I'm done with it I see a way to make it better.
- Worked on a proof of concept project
- 2014-06-03 - Day 93
- Worked on a proof of concept project
New architecture is complete. I'm now debugging without a debugger. :/
- Worked on a proof of concept project
- 2014-06-04 - Day 94
- Worked on a proof of concept project
It's essentially done...for now.
- Worked on a proof of concept project
- 2014-06-05
Ran errands and went to a Clojure meetup. - 2014-06-06 - Day 95
- Worked on a proof of concept project
Now it is essentially done.
- Worked on a proof of concept project
- 2014-06-07 - 2014-06-08
Took the weekend off. - 2014-06-09 - Day 96
- Worked on a blog post
- 2014-06-10 - Day 96.5
Recruited to be a chauffeur for half of the day.- Worked on a blog post
- Went to a Clojure meetup and discussed the proof of concept project
- 2014-06-11 - Day 97.5
- Worked on a blog post
- Refactored the proof of concept project
- 2014-06-12 - Day 98
Attended to responsibilities and family stuff for half of the day.- Worked on a blog post
- Refactored the proof of concept project
- 2014-06-13 - Day 99
- Worked on a blog post
- 2014-06-14
Groceries and relaxation. - 2014-06-15 - Day 100
- Finished writing and published this blog post about Isomorphic Clojure[Script]
- Finished 100 Days of Hacking!