Back to the Basics. Again.
As winter approaches, I see a chance to sharpen up on some core skills.
This is something I do regularly, I am a firm believer in keeping the basics down as that is still where so much of the work to be done is. We tend to drop the basics after we learn or work on the more advanced things thinking we have “graduated” to higher planes of thought.
That’s a delusion of the ego. Foundational concepts and skills in information systems make or break you, whether you’re an intern starting out or a 20 year career veteran in the field. Doesn’t matter. You have to either continuously refresh, join a socially empowered demographic, or take a “contributor influencer persona” that rests more on twitter likes and marketing masked as culture rather than actual contributions. Over time, people who don’t go back to the foundation concepts of the work they are doing, no matter how senior they get in their careers, become out of touch and fail, and usually in great arrogance.
For me, for now, I’m re-reading Kernighan & Ritchie’s “The C Programming Language”, second edition for ANSI C. Fellow nerds just call it “K&R”. It’s one of those core learning books that should sit on every Linux nerd’s bookshelf right next to “The Unix Programming Environment” by Kernighan & Pike, or “Unix Network Programming” by W. Richard Stevens. I have a copy of “The Practice of Programming” on my basics bookshelf, but I have to admit I haven’t found time to read it, yet.
For people who don’t write code, and like to design at a higher level, shame on you, but, “The Design of Design” by Brooke, or for your splash into good design (you’ll have to learn some code) “Design Patterns: Elements of Reusable Object-Oriented Software” by Gamma, Helm, Johnson, Vlissides– both of which I found incredibly boring but useful.
In any case, K&R is driven by necessity. I’m exploring the idea of porting Rex to C to increase its compatibility footprint and reduce the size of the codebase. There are alot of problems to solve to do that, so, I’m just getting the juices flowing. It’s not going to hurt me to go back to C.