Using a logbook to improve your programming
31–40 of 75 posts
Re: Using a logbook to improve your programming
#32Earlier quoted context omitted.
I've been using org-mode for about ten years to document moment-to moment progress on tasks. I'll give a basic summary of the problem, copy in significant commands and results as I run them, and ask the next questions to drive the next steps. Some features that make Org useful for this: - I'm clocked into the task so I can always jump to it easily, even as I hop around other emacs buffers - supports code snippets wit…
i'd be interested in learning more about this and maybe seeing some real-worldish examples.
Re: Using a logbook to improve your programming
#33Re: Using a logbook to improve your programming
#34Earlier quoted context omitted.
Well, I use this logbook approach, in a text editor with persistent undo (which allows a few tricks, like emulating folding by deletion and relying on undo history to unfold). I approximately follow this algorithm: - Consider the high-level goal; can it be completed immediately? if yes, do it, otherwise break it into smaller parts. - First part is usually some kind of research. If it's a bug, it'll be a reproduction.…
Emacs Org mode works wonderfully in a scenario like this. Consider trying it.
Re: Using a logbook to improve your programming
#35Emacs org-mode is great for this.
Re: Using a logbook to improve your programming
#36Re: Using a logbook to improve your programming
#37Here's how I use my own flavor:
1) I create a GOAL. The GOAL is my ultimate big picture, which will give me immense happiness. So, the most recent example is, I wanted to build an E-Commerce application.
2) I map out the PATHS to achieving my GOAL. So, what I consider PATHS is:
a) What programming language should I use? b) Which APIs should I use, Paypal or Stripe to accept payments[1]? and so on...
3) I follow a flavor of DDD[2] to come up with the important modules I need to have for a functioning E-Commerce project.
Examples: I will need a Order Management module, I will need a Marketing module (for sending emails, running campaigns). I will need a CMS module to host product pages.
4) For each of the modules, I will create an issue on Github and add a checklist[3] of the stuff I need to get done.
5) Everytime I make a commit, I will reference this issue and the tasks along with it. Eg. "Removed Paypal #12"
6) At the end of the week, I will review the commits and evaluate whether this particular method I used was worth it. A good use case would be experimenting with a library and comparing it with another - Eg. Bootstrap vs Semantic UI. I will use the learnings from this workflow in my future projects.
7) I will also see if something can be automated. For example, for my current E-Commerce project, I use Phoenix/Elixir. It has it's own set of scaffold generators, but they're opinionated (they use Bootstrap). So, for every project I got tired of replacing bootstrap and customizing the generated scaffolds. So, I wrote a custom generator that drastically saves me a lot of time for large projects.
Hope this helps :)
[1] Not sure why anyone would use PayPal in this day and age tho.
[2] https://stackoverflow.com/questions/1222392/can-someone-expl...
[3] https://github.com/blog/1375-task-lists-in-gfm-issues-pulls-...
Re: Using a logbook to improve your programming
#38What the author says about aliases in the bashrc being evaluated only once when the bashrc is run when the shell session is opened is wrong. Go ahead and try this: Put, alias lb='vim ~/logbook/$(date "+%s")' in your bashrc. Source the bashrc. Run the lb command. It creates a new file with a different epoch timestamp each time. This `lb` command doesn't need to be a bash function. It can be an alias and work just fine…
alias lb="vim ~/logbook/$(date '+%Y-%m-%d').md"
..which would do what was described.Re: Using a logbook to improve your programming
#39This article seems lacking some examples. I have found that such ideas are nice in theory, but when it comes to practice, they tend to fall short. So the author says that it's a good idea to write logbooks, and that it will help. But no mention on how it would help, and what would you actually do with them after you write them up. A few concrete examples would have been nice. If the idea is to help you solve the prob…
"It helps you focus on the task at hand by providing immediate context on what you’re doing. If you forget or become distracted, you can quickly get back to your train of thought.
"It helps you learn quickly. You can observe your method for problem solving, see what works and what doesn’t and make improvements."
Saying "no mention on how it would help, and what you would do with them after you write them up" feels inaccurate to me (although the observation about the lack of specific examples is correct).
Re: Using a logbook to improve your programming
#40In between commit messages, bugs and design docs, I'm not sure what I'd put in a log book.