Things that make up a bicycle drivetrain. All parts are not present on all bike
How you apply force to the drivetrain. In general, there are three categories: flat pedals, pedals with clips or straps, or clipless pedals
Things that make up a bicycle drivetrain. All parts are not present on all bike
How you apply force to the drivetrain. In general, there are three categories: flat pedals, pedals with clips or straps, or clipless pedals
My moderately in depth review of albums from the list I sent. Anything on this is on Spotify (and the album links there) because I'm too lazy to find them elsewhere (🙇♂️ to Jeff for finding the ringing rocks link).
One thing to note: I listen to music regularly these days, but pretty much only when working. I generally like music with lyrics, but I can't do new music with lyrics, because it's distracting, so I mostly listen to the same things over and over.
So I decided to go through the list and listen to all the albums that seemed interesting.
Here are the ones I will listen to again:
| Artist | Album | List description | My review |
This list is particularly targeted at Ruby code, since that's what I have the most experience with
Delegation: Spent multiple days working on a bug without realizing it was delegated in the place it was occuring. I think it started out not delegated and became so later on, so tests weren't catching it, and delegation overrode one of the methods? In general, I feel like any time spent figuring out what something actually is, if it seems to be one thing in the code but is actually a different thing, is wasted time.
Single Responsibility Principle: Bike Index bike creation bug hunts. Any new service has to be compared against the Bike Index bike creation process - where when there is a bug, I have to trace it through a series of files. I feel like this tracery is a waste of time. Unless multiple other files need access to the same thing, I'm generally opposed to creating extra files.
Hand written sql: You can extend things that are Active Rec
| class FrameModel | |
| def components_serialized | |
| components.map do |c| | |
| cgroup = "Additional parts" | |
| cgroup = c.ctype.cgroup if c.ctype.present? | |
| comp = { | |
| component_type: c.name, | |
| description: c.description, | |
| front_or_rear: c.front_or_rear, | |
| year: c.year, |
I hereby claim:
To claim this, I am signing this object:
| Key Display | Description | Category | c definition | JS Keycode | |
|---|---|---|---|---|---|
| A | Alphabet | KC_A | 65 | ||
| B | Alphabet | KC_B | 66 | ||
| C | Alphabet | KC_C | 67 | ||
| D | Alphabet | KC_D | 68 | ||
| E | Alphabet | KC_E | 69 | ||
| F | Alphabet | KC_F | 70 | ||
| G | Alphabet | KC_G | 71 | ||
| H | Alphabet | KC_H | 72 | ||
| I | Alphabet | KC_I | 73 |
| keymaps/keymap_145158258498reactor.c: In function 'matrix_init_user': | |
| keymaps/keymap_145158258498reactor.c:37:1: warning: control reaches end of non-void function [-Wreturn-type] | |
| }; | |
| ^ | |
| keymaps/keymap_145158258498reactor.c: In function 'matrix_scan_user': | |
| keymaps/keymap_145158258498reactor.c:61:1: warning: control reaches end of non-void function [-Wreturn-type] | |
| }; | |
| ^ | |
| ergodox_ez.c: In function 'matrix_init_user': | |
| ergodox_ez.c:10:1: warning: control reaches end of non-void function [-Wreturn-type] |
All about the ErgoDox EZ
| key | |
|---|---|
| ⌘Space | Opens up finder - use it to open or switch applications, or find files |
| ⌘w | Close current tab |
| ⌘t | Open new tab |
| ⌘Shiftt | Open most recently closed tab (Chrome and Sublime and Firefox, not universal) |
| ⌘; | Open up settings for the current application |
| ⌘Tab | Switch between applications |