Software design (diagramming and statement of expected program function)
The C language
Memory management--and memory leaks
Trie data structures ("staged" directories)
Developing a types system (tag value types)
Using an issue tracker and public code repository (GitHub)
Using software revision control (git--still learning)
Software build process (Makefiles)
Logging program execution with levels of verbosity
User level file system operations on Linux
Code generation (very ad-hoc and a pain to work with, but I am using it)
Input parsing (query interface; doesn't follow the formal (tokenize-> parse) pattern, but it works)
Vim-fu
Data serialization and storage (the database file and proposed xattr data storage formats)
Software testing (made some attempts at automation)
Pacing
Exercise regularly and eat right--you can't code effectively if you're tired and out of shape all the time
Your code won't runaway overnight--turn off the laptop and get a full night's sleep
There was an error while loading. Please reload this page.