TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

2013 Resolutions: a man page a day makes the newb go away

37 pointsby soberingover 12 years ago

16 comments

SoftwareMavenover 12 years ago
Naturally, this is the time of year to make goals and attempt to change. What a person feels like they need to change and whether that is a "good change" or not is highly personal and probably doesn't require much comment.<p>More interesting is how you go about making that change. What do you do (from types of goals you choose down to the daily implementation) to achieve your goals?<p>I always try to have a meaningful, measurable goal. I'm not going to lose weight, I'm going to lose 15 pounds in the next eight weeks. Then I break them down into tasks that can be followed daily, like measure all food consumed, exercise 45 minutes, etc.<p>The place where I struggle is the day-to-day tasks, and I still haven't found the answer. This can be especially hard for me on the winter as I deal with seasonal affective disorder (which is why I often wait until spring for my goals).<p>How do you manage your desire for growth and change?
评论 #4989908 未加载
评论 #4989768 未加载
评论 #4990862 未加载
rickdaleover 12 years ago
I recommend starting with one task and adding to it as the year goes on. Learning the man pages could potentially make you a better programmer without reading K&#38;R. Set K&#38;R aside until February and achieve your first goal. It's important to change one behavior at a time and expect and plan for failure. Shoot for 5-6 days a week with 1 day review, or 3 with 2 days review, and just do what you feel with the extra day. Review or move forward.<p>Good luck. New Years Resolutions are great, stay motivated.
评论 #4990250 未加载
temp453463343over 12 years ago
While I think it's a neat idea - I think in the end it's gunna be a case of in-one-ear out-the-other.<p>For instance I read all of "The Unix Programming Environment" by Kernighan and Pike. It's FULL of useful information (in fact I'd argue it's way better than reading man pages) and after I was done I felt like I was 10 times the Linux man I was. However unless you're fighting with Linux a lot on a daily basis you quickly forget 80-90% of what you read. For instance, I found it near impossible to remember what '@' does in bash scripts.<p>It's quite demoralizing - and I've had the same experience many many times with technical books. You not only have to read, but you also have to DO the things you read (strangely this isn't the case for history books, or books on the soft-sciences). This can be almost impossible for the more obscure (though still very useful) features like the zillions of cool-but-not-so-often-used flags you will come across in your man page reading.
评论 #4990838 未加载
评论 #4990425 未加载
评论 #4990258 未加载
georgeorwellover 12 years ago
Some preemptive advice: pick a small (tiny!) project and do it with C and/or sh and other command line tools (don't forget about awk and sed). Often you can do something quickly in a shell script that would be a pain to implement in C, but the reimplementation can still be a good learning experience. Once complete, repeat. You will learn far more like that than by trying to memorize man pages and doing programming exercises out of a book. I mean, did you try "man gcc"?<p>Of course, maybe the only way for you to realize this is by actually trying to memorize man pages and doing lots of programming exercises first. That's what it took in my case...
thinklingover 12 years ago
More than worrying about what to read next, I'd worry about fully understanding how a command is used in practice. It's one thing to read (say) the xargs man page and another thing to have a sense where it'll come in handy. Similarly, some commands have dozens of options, while you only need to understand a few for most of the common uses.<p>So I'd recommend doing a bit more than reading the man page. The best suggestion I can think of is to also read the top 3-5 questions on StackExchange that mention that command.<p>PS: after reading the man page for man itself, I recommend 'man apropos'. :)
评论 #4990237 未加载
Jbudoneover 12 years ago
I hope this works out for you. I've taken up learning vim this year, but my main problem is forgetting the things I've learned. I tried cue cards but they fill up far too quickly; so my answer was to store my notes on a wiki: <a href="http://wiki.jbud.me/index.php?title=Vim" rel="nofollow">http://wiki.jbud.me/index.php?title=Vim</a>
评论 #4990880 未加载
评论 #4993980 未加载
antidohover 12 years ago
In addition to randomly generating a man page from /bin, consider mining your command line history and randomly selecting anything whose man page you haven't yet read. You'll want to keep a file of man pages that you've read, to help with that.<p>And since you're stocking up on C, don't forget that C's standard library is documented via man pages, e.g.<p><pre><code> man -k sprintf asprintf (3) - print to allocated string sprintf (3) - formatted output conversion vasprintf (3) - print to allocated string vsprintf (3) - formatted output conversion XtAsprintf (3) - memory management functions</code></pre>
malandrewover 12 years ago
One thing I'd love to see if you embark and stick to this new year's resolution is creating a blog post per man page with all the exercises and examples you tried out by applying what you've learned from each man page. It'd be great if each post included something like:<p><pre><code> (1) What is the command (2) What kinds of things you can accomplish with it (i.e. why should I learn this command? how will it benefit me) (3) Examples of the command applied by itself (4) Examples of the command applied in conjunction with commands you've previously written about via piping.</code></pre>
评论 #4991049 未加载
bdreadzover 12 years ago
Off topic: I love how this was just typed up in a text file. I love using my text editor for writing and I wish more people I worked with did too.
ismisetedover 12 years ago
Good plan. I've started to print out man pages and using them for learning / reference. This post: <a href="http://macgeekery.com/tips/cli/pretty-print_manual_pages_as_ps_pdf_or_html" rel="nofollow">http://macgeekery.com/tips/cli/pretty-print_manual_pages_as_...</a> got me set up using groff to pretty-print the good stuff.
g2eover 12 years ago
Instead of man pages, I'm doing it with books. Goodreads.com makes it pretty easy (and fun) to manage everything. My goal is to get through all the classics this year and of course, like you said, apply that knowledge to my everyday programming.
评论 #4989798 未加载
npsimonsover 12 years ago
This is such a good idea, I've added it to my goals, under my "Invest in Knowledge Portfolio" category. One thing that scares me a bit though is that some man pages are <i>enormous</i>, possibly more than can be digested in one sitting.
tsahytover 12 years ago
The ultimate goals section lists mainly things I've done in 2012. I've benefited hugely from every single one and can only recommend those things to anyone (especially becoming a better C programmer).
WinnyDaPooover 12 years ago
Neat! You should keep track of your man page reading and share your experience! I'm anticipating your homepage growing into a wonderful electronic flower of information.
评论 #4990268 未加载
pacomerhover 12 years ago
May I ask why your desire to learn C?, I'd just like to know what are you targeting specifically.
评论 #4990412 未加载
seanwoodsover 12 years ago
How will you know which man page to read "next"?
评论 #4989782 未加载