TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Keep a programming journal

171 点作者 feyyaz将近 13 年前

36 条评论

babarock将近 13 年前
As long as we're on this subject, I'd like to strongly encourage programmers to adopt a "pen-and-paper" approach to problem solving. Just like mentionned in the article, there are great benefits coming from actually writing down the problem.<p>For the past year or so, every time I worked on a non-trivial problem, I did it on a sheet of paper. It definitely took discipline at first but now I couldn't do it any other way.<p>My motivation for adopting this approach came from reading a blog post by Guido Van Rossum (<a href="http://neopythonic.blogspot.fr/2011/07/before-python.html" rel="nofollow">http://neopythonic.blogspot.fr/2011/07/before-python.html</a>).<p><pre><code> Then I went to university in Amsterdam to study mathematics and they had a computer that was free for students to use! (Not unlimited though. We were allowed to use something like one second of CPU time per day. :-) </code></pre> "One second of CPU time per day" got me thinking. Sure there are benefits to having modernly cheap computers, but how did they do it before?
评论 #4452530 未加载
评论 #4449450 未加载
评论 #4448762 未加载
评论 #4448593 未加载
评论 #4450817 未加载
评论 #4450267 未加载
asynchronous13将近 13 年前
My background is in Electrical Engineering, and we were always taught to keep a work journal with specific features so it would be a legal document. I just figured they were trying to sell us the more expensive notebooks. That is, until some colleagues were called to court to testify in a patent challenge about the contents of their journals (regarding work from 10 years prior). I take my journal a lot more seriously now.<p>If the notebook is bound (can't add or remove pages), with pre-numbered pages (proves no pages added or removed), and entries are dated, it's pretty much automatically admissible in court. Loose or missing pages, hand written page numbers, missing dates -- won't necessarily make it inadmissible, but it leaves room for the work to be challenged by the opposing team.
评论 #4449389 未加载
评论 #4449934 未加载
getriver将近 13 年前
OP here. This is a pleasant surprise, I woke up this morning and saw the title and for a split second thought someone wrote the exact same post as me!<p>Reading the comments on here and reddit, it seems to me there are two different motivations: getting thoughts on paper vs. having a trail for future reference. Pen and paper is great for the former, which is my primary motivation.<p>I highly recommend you try the paper approach at least for a week to see if it helps you. Its is a hassle switching gears from keyboard to pencil, but it helps a lot. I did try various programs, but it never felt personal enough for me. Maybe its just me.
agentultra将近 13 年前
Do this for every hobby you have as well, whether carpentry, learning Mandarin, or reading.<p>Keeping a record of your thoughts is so useful in establishing how you arrived at your current opinions. It helps you to make the mirror on yourself much clearer. I find it immensely useful to look at how I've approached problems and discover new insights from the patterns I can glean in my journals.<p>Plus it leaves behind a record of yourself in meat-space. Depending on the nature of the up-coming apocalypse this might come in handy.
tylerneylon将近 13 年前
Paper and pen(cil) notes are the ultimate in low-overhead for a temporary close-to-mind data store.<p>I would disagree about the author's advice to use page numbers and table of contents, though; these add overhead, and for me the main advantage is ease-of-use, including close to zero extra work when writing something down. (Dates are useful, I admit.)<p>I keep a paper coding notebook of anything I might possibly refer back to ever -- things like basic how-to's on using new technologies, or diagrams of how I'm structuring my code.<p>I also use a simple open source work journal (nicknamed wj) that helps me make sure I'm on track in the scope of days and weeks. My plan is to end up with one or two sheets of paper that summarize what I did throughout a year - this is a great personal motivator to make sure I'm doing work that a future-me will be happy with. <a href="http://tylerneylon.com/a/wj/" rel="nofollow">http://tylerneylon.com/a/wj/</a>
评论 #4450937 未加载
pingswept将近 13 年前
I've been keeping a project journal in a series of notebooks for a few years. As I've filled more and more notebooks, I miss the searchability of computerized journals. For a while, kept a text file open all the time and tried using it as a journal, but that's lousy for any kind of sketching.<p>My most recent attempt has been a pile of Markdown files in a Github repository. I edit them directly in Github's editor and they are automatically rendered by Github, so I get nice syntax highlighting and working links. It has the added advantage that I can send people links to whatever I'm struggling with, like "Here's the error message I'm getting: &#60;link&#62;."<p>Here's my log: <a href="https://github.com/pingswept/dev-log" rel="nofollow">https://github.com/pingswept/dev-log</a> (Obviously, this only works because most of what I do these days is open source, but it could work just as well on an intranet.)<p>I've been creating a new file for each day's log, but I think that might not be quite the right approach. It makes searching a little more difficult (though still much easier than notebooks), but makes editing easier because I don't have to scroll to the bottom of a huge file to start typing.<p>If anyone has suggestions of better ways to do this, I'm definitely interested.<p>(Hmmm. Maybe there's a keyboard shortcut for skip-to-bottom-of-file in the Github editor. <i>Edit: hey, there is! Command-down-arrow.</i>)
评论 #4452605 未加载
评论 #4453271 未加载
roedog将近 13 年前
I've kept an engineering notebook for years. It was something I was told to do in college. It seem that the act of writing down the problem slows me down enough to focus my thoughts more on the task.<p>I've tried keeping notes on the computer and they are useful. But, I've never gotten the same level of focus from writing in an online journal. I wonder if the focus comes with practice. I type much faster than I write longhand, so perhaps I lose the trigger of slowing myself down.
follower将近 13 年前
If you're interested in a digital approach to this, take a look at Labradoc (<a href="http://www.labradoc.com/" rel="nofollow">http://www.labradoc.com/</a>) a site I created to make it easier to keep project logs.<p>I primarily created it for myself (<a href="http://www.labradoc.com/i/follower" rel="nofollow">http://www.labradoc.com/i/follower</a>) because getting into the habit of creating project logs had a huge positive impact for me.<p>Here's an example of a small project I worked on earlier this year: <a href="http://www.labradoc.com/i/follower/p/project-sms-text-scroller" rel="nofollow">http://www.labradoc.com/i/follower/p/project-sms-text-scroll...</a><p>I consider it a form of a "commit log for your day"...
imperialWicket将近 13 年前
This is spot on.<p>I love the soft-leather grid notebooks from miquelrius (no affiliation whatsoever, but I always get comments about them): <a href="http://www.shopmiquelrius.com/servlet/the-553/Flexible-Notebooks--dsh--Graph/Detail" rel="nofollow">http://www.shopmiquelrius.com/servlet/the-553/Flexible-Noteb...</a><p>I always keep one of those handy, as well as a whiteboard. Together they serve as my rubber duck and todo list; no matter what apps, services, etc. I've tried, I always come back to pen/paper and marker/whiteboard - it just works.
JoeAltmaier将近 13 年前
A customer demanded I keep notebooks, dated an initialed on each page; I've never stopped. They wanted it because they are a patent mill (they have hundreds, file dozens annually). I do it because I can review what's done, whats left; keep todo lists up to date easily; keep lists on the right page, scribble notes on the left; find out when something started, when it finished.<p>Hard to draw diagrams in most todo-list apps; where do you jot phone #s, debugging constants, interview notes?
wonderzombie将近 13 年前
So does anybody have tips about how to take good/useful notes? I feel like my stuff, while organized by topic, ends up being disorganized and quite ad-hoc. I feel like I'm missing out on something since I don't have any real system or technique beyond "write down stuff like you're explaining it to your future self" or some such. Maybe it's enough just to be writing all that down.
评论 #4451005 未加载
评论 #4450538 未加载
JamesLeonis将近 13 年前
I started doing this when my last job offered free spiral bound notebooks. For a couple of years I've kept an intermittent traditional journal, but I've found many were too cumbersome for my hands or my writing. The spiral bounds have the advantage of cleanly flattening out when open and going from one page to the next. The page size suited me for both long form writing as well as enough space to draw out visual diagrams. They also help when I start up the next day, as I know what I was thinking from the day before.<p>I kept written notebooks for several years now. These contain anything including scratch paper, programming logs, long form writing, and ideas. I use standard spiral bound notebooks that always go on sale this time of year for a buck. They are reasonably well made and stand up to the abuses that I throw at them. Right now I am carrying three of these with me along with my laptop. My current notebook has four website ideas, one story idea, one game idea, and nearly two dozen short essays.<p>At the top of the page, I generally give a title to what I'm doing. I have some common labels, like what the project is or the title of a short essay. Right now I don't have a way to organize it, so I'm usually flipping to find what I'm looking for. Sometimes I become distracted by reading about something else I wrote months before, and it would inspire a new essay or idea.<p>I'm currently trying out some ways to digitize my old journals so I can put my old notebooks in long term storage and not disturb them. If anybody has some suggestions, I'm open :)
lelandbatey将近 13 年前
I agree, though I would extend the call to more than just a programming journal.<p>All my life I've been told that keeping a journal would be a worthwhile and valuable experience. However, I could never stick with it for more than a few days or a week at max.<p>Cut to this summer, where I got my first "real" job, and made friends with a very cool guy[1]. At some point, he mentioned how he adapted the idea of journaling into his life. He had encountered the same issue I had, where he could never keep a journal for any amount of time. Instead, he bought a moleskine large notebook and began using it for notes of all kinds.<p>The genius is that while it is an organizational tool, it also acts as a "no-effort journal." He showed me all the things he had been working on and thinking about just by looking back at the previous pages of his notebook.<p>With his advice in mind, I have also started keeping a notebook just to write things down in. It's tremendously helpful for my own organization, and it gives me a clear view of all the things I've had on my mind.<p>In short, I recommend a notebook for everything in your life, not just programming (although a separate programming notebook may be worthwhile to you).<p>[1]<a href="http://adamryman.com" rel="nofollow">http://adamryman.com</a>
zrail将近 13 年前
I have a web app that I've been using for awhile for this kind of thing. Each note is a markdown document that's versioned in a database. I can create new notes via email (using the excellent Mailgun). There's also a pretty full-featured API which lets me do interesting things with notes.<p>My original goal for it was as a way to get ideas out of my head and onto "paper". It used to be that I would have an idea and then it would circle around my head for <i>weeks</i> while my subconscious tried to work out all the implications.<p>The thing I use almost every day, though, is the append API call, which just appends a timestamp and some arbitrary markdown to an existing note. I wrote a little script that appends to a particular note, and I run it automatically after consequential actions at work. I also use it to write journal entries about what I'm working on, both for work and side projects.<p>I've been meaning to get it fit for public consumption and set up somewhere but I haven't gotten around to it. If anyone wants to give it a test run, let me know. If there's a market I might just try to monitize it :)
评论 #4452617 未加载
MojoJolo将近 13 年前
I also have a pen and notebook. I used it to write algorithms or some ERD that I'm currently doing. Nothing beats thinking with pen and paper.
sgt将近 13 年前
I do the same thing, but the extent of my "legend" is simply the following:<p>"-&#62;" (random points)<p>"o" (random points)<p>"[ ]" (thing I need to do)<p>"[/]" (thing I need to do, in progress)<p>"[?]" (I don't know what to do, might revisit)<p>"[-]" (Not going to do this one, maybe it became redundant)<p>This helps me a lot to line up my thoughts and know where I am. However, I really like the legend as described by OP, so I might change mine towards that approach.
kabdib将近 13 年前
I use various sizes of acid-free Strathmore Sketch books. Nice surface for drawing or sketching, and they're relatively cheap.<p>Different size notebooks for different size ideas. A friend of mine (who I stole this habit from) said he had a coffee-table-sized sketchbook at home that he'd never used, because he'd never had an idea that big. :-)
Johngibb将近 13 年前
I've been doing this as well. Does anyone have advice on pens?<p>This is what I'm currently using and I really like them: <a href="http://amzn.com/B0027AEKJ8" rel="nofollow">http://amzn.com/B0027AEKJ8</a> they come in a 4 pack of different thicknesses, and are only $12 at Staples. I'm sure there's better however!
评论 #4450330 未加载
评论 #4452332 未加载
评论 #4450675 未加载
评论 #4450830 未加载
评论 #4450698 未加载
评论 #4452711 未加载
nlh将近 13 年前
So despite the great ideas and tales of pens &#38; paper (and moleskin) here, I'd love to hear some thoughts on good digital solutions to the programming journal.<p>I use and am totally in love with Day One (iOS &#38; OSX) for my personal journal:<p><a href="http://dayoneapp.com" rel="nofollow">http://dayoneapp.com</a><p>It could very easily be adapted into a programming journal (it supports images w/ each entry &#38; monospace fonts, which are both great). Unfortunately, they don't yet support multiple journals, so that's out as an option for me on the programming side.<p>Any thoughts / suggestions on good apps that will fit the bill? I know about Evernote but would love something a bit more "journal-specific" and perhaps better suited to this task...
评论 #4452250 未加载
mikle将近 13 年前
I think that dead paper is not the right medium for this. I love OneNote and how flexible it is. I can quickly open a note (faster then notepad on my machine) to jot down a todo or some snippet I need or I can open my project notebook and see all my "design meetings" (with myself) and it is searchable AND there is a way to encrypt sections. I've put my OneNote notebooks on dropbox and that's basically a perfect system for me.<p>The two things this is weak in are sharing and not having a leather bound tactile notebook and pen to play with which I must admit looks pretty cool.
kstenerud将近 13 年前
All my notes (of which there aren't many) are kept in text files in a well known directory, along with all my code. I can grep for things I've solved or thought about in the past and get the information instantly. And since it's electronic, I can back it up, copy it, and access it from anywhere.<p>The only times I've found myself needing paper is when dealing with graphics programming, in which case it's simply for figuring out the best way to tell the computer how to do something. Once it's in code, I don't need the paper anymore; I can just grep for it.
stcredzero将近 13 年前
At first, I thought that this was for developing productivity habits.<p><a href="http://lifehacker.com/281626/jerry-seinfelds-productivity-secret" rel="nofollow">http://lifehacker.com/281626/jerry-seinfelds-productivity-se...</a><p>I used to like putting stickers on a calendar as a kid for this sort of thing, and I wanted to do that on the phone but found that most electronic calendars aren't so good for that. So I developed an app to let me do that. <a href="http://www.ooghamist.com/shinycal/" rel="nofollow">http://www.ooghamist.com/shinycal/</a>
mmcnickle将近 13 年前
Yep, I have a bound notebook for each project I work on. It's great for seeing how and why you arrived at a certain point. A habit from keeping lab books at university.<p>I use a thin (0.5mm) mechanical pencil.
wzhack将近 13 年前
I actually use paper a lot. It is especially helpful when I am away from computer and I need to design a code flow, algorithm or just write down feature or todo list. Paper and pen rocks!
roqetman将近 13 年前
I've learned to keep a log of all the work I do (so I can search for information on request or if I want to recall something months or even years later), but I just use a specially formatted vim file (that has references to other scripts etc. if needed). More recently I've started a personal version of this to keep me on track with my own app projects. I love the look'n'feel of a physical journal, but it's just not practical in the long run for the work I do.
评论 #4449976 未加载
aidenn0将近 13 年前
How does one develop the habit of keeping a journal? I've tried several times, but have never made it more than 3 weeks before I started to forget to do it.
评论 #4453029 未加载
评论 #4452554 未加载
ENOTTY将近 13 年前
This is a great idea that I've been practicing with not as much discipline as I would like. I've been slowly converging on an optimal (for me) paper size. I use the Pilot G-2 pen which writes well and feels good but is still cheap.<p>But I haven't been able to find a paper that is thick enough to allow for double sided writing. The composition pads tend to have really thin sheets that the ink shows through. Does anybody have suggestions?
southphillyman将近 13 年前
What kind of developer doesn't keep notes? 1 half of 1 wall in my bedroom is WHITE BOARD. The first thing that I'm greeted with when I wake up in the morning are problem sets and notes on my bedroom white board! I have note books from 2004 full of notes and pseudo code. I have EverNote and I have Notepad++. Note taking and diagramming/planning is SO essential in my opinion.
Reltair将近 13 年前
Does anyone happen to know if there are any leather bound notebooks with pre-numbered blank pages?<p>Moleskine notebooks look promising, except they aren't really leather and don't have pre-numbered pages. I guess I can number the pages myself, but it would be nice to already have it done.
评论 #4453035 未加载
expralitemonk将近 13 年前
To improve your handwriting legibility, write in italics. (Cursive seems to be write-only.)<p><a href="https://www.nytimes.com/interactive/2009/09/04/opinion/20090908_opart.html" rel="nofollow">https://www.nytimes.com/interactive/2009/09/04/opinion/20090...</a>
expralitemonk将近 13 年前
I use Clairfontaine "Life Unplugged" notebooks for brainstorming, todo lists, and problem solving. Yeah, they have a hipster vibe, but the notebooks I buy at the office supply store fall apart after two weeks in my pocket. These last awhile.
lenkite将近 13 年前
I use Google tasks and an android app. There isn't currently a great desktop app for Google tasks and I don't like the gmail web interface for tasks so I am building one in C# using AppBars. I guess I publish to HN when done :p
samspot将近 13 年前
I think this is probably fantastic advice, but I can't seem to let go of the searchability of electronic notes. It is also nice that I mostly do not need to worry about things like losing the notebook or filing old ones.
Feoh将近 13 年前
I wish the article had a bit more meat to it. Not that this is a sin but he's just parroting things said in about 1000 other places by 1000 other people. Pen and paper good. Check. Daily journal. Check.
评论 #4448741 未加载
评论 #4455280 未加载
xbryanx将近 13 年前
I love the idea of keeping a programming notebook, but I'm still waiting for the searchable pen and paper notebook. Until then, I'll stick with Notational Velocity.
评论 #4449414 未加载
azat_co将近 13 年前
You should definitely re-read it and if you a mac user there is dayOne app.