Live data from Hacker News

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

sobering.ca

31–40 of 49 posts

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

#31

May I ask why your desire to learn C?, I'd just like to know what are you targeting specifically.

Don't laugh. My ultimate goal in life is to write software for satellites, space probes or planetary rovers. I want my code in space. It's a pretty advantageous goal, but with hard work I can do it. There is a Canadian company that is currently hiring for my dream position: http://www.mscinc.ca/about/MS-engineer.html I'd like to help further Canada's contribution to space science. I'm currently taking my first year o…

As I recall, SpaceX does their stuff with C++ on Linux with no exceptions. It the rest of their coding standards are anything like NASA's I imagine the subset of C++ that they aee using is closer to C than any normal production C++, so getting a very firm grasp on C is probably the best way to go throughout the industry.

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

#33

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. 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 quic…

I felt like I was forgetting 90% of the stuff I read in man pages too and I probably did. But reading them once showed me some of the possibilities those nifty little tools have. Sometimes when I approach a problem I remember one or two things I didn't know before. Even though I don't remember them exactly, I still know about their existence and can easily look them up again.

When I have some spare time on my hands I like to skim manuals for those features. Vim for example, I have been learning continuously ever since I first used it and I dare to say that by now, I know a bit about it. However, I never sat down trying to memorize everything but kept skimming the help every now and then and when I found something cool I just tried to start using it. Some things I've forgot, others stuck.

I guess that's just the way I learn.

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

#34

May I ask why your desire to learn C?, I'd just like to know what are you targeting specifically.

Don't laugh. My ultimate goal in life is to write software for satellites, space probes or planetary rovers. I want my code in space. It's a pretty advantageous goal, but with hard work I can do it. There is a Canadian company that is currently hiring for my dream position: http://www.mscinc.ca/about/MS-engineer.html I'd like to help further Canada's contribution to space science. I'm currently taking my first year o…

This is some very interesting stuff you want to do there. Try to reach that goal! There's nothing better for an engineer than challenges.

Anyway, even in case you fall short of your goal, learning C can't be wrong. The language provides a very good abstract machine. Probably the best abstract Von-Neumann machine I've seen. Working with it is kind of mind expanding when it comes to understanding computers as well as problem-solving.

A quick suggestion since you said you were taking your first year of CS. Try to implement things you learn, especially algorithms and data structures. It will help you learn the material as well as coding and may give you a couple of insights.

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

#35
post #30

Earlier quoted context omitted.

This is why I try to focus on books with exercises and force myself to finish all the exercises - "Thinking in C++" (volumes 1 and 2) was especially good for this. If nothing else, typing in examples helps. Also, try slowing down and forcing yourself to think of better/alternate ways to do something. Just having read the docs, your mind will be more open to using different options, and by forcing yourself to do it di…

"Don't just read it; fight it! Ask your own questions, look for your own examples, discover your own proofs. Is the hypothesis necessary? Is the converse true? What happens in the classical special case? What about the degenerate cases? Where does the proof use the hypothesis?"

Excellent advice. Also, "try to explain to someone else what you know". That way you'll very quickly find out what you don't know from what you do know.

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

#36

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. 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? I always try to have a meaningful, m…

Some tasks contribute directly to goals, other tasks just get you through the day.

Don't know what to make of that, other than to think that those two types of tasks are probably managed differently, and they probably give you different emotional payoff.

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

#37
post #24

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: http://wiki.jbud.me/index.php?title=Vim

Vim is too big to learn. Eventually you'll muscle-memory a set of actions, for the way that you uniquely use vim, that you don't even know how to explain without thinking about it.

Rather than trying to go through one end of a tutorial or reference to the other (don't know if that's you), find a site or two of vim tips, and let them randomly trigger your mind. I think it's more interesting than going through anything beyond page/chapter 1 of a reference.

Coupled with that, whatever you find yourself doing in vim, take some time to understand what it is and the alternatives. Becoming familiar with :help's table of contents, rather than the contents of every chapter, is probably helpful here.

Similarly, when you do something accidentally, try to understand what happened. Sometimes you'll discover a feature. q: for example is discovered by accident by many people, including me.

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

#38
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.

And since you're stocking up on C, don't forget that C's standard library is documented via man pages, e.g.

  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

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

#40

Earlier quoted context omitted.

This is a pretty reasonable goal. I suggest you also consider learning FORTRAN (starting with 77) and a solid scripting language like Python or the more niche IDL (used extensively in space research) You can get your foot in the door with some more high level programs doing things like data processing and visualizations, and once you are there you will be able to find the opportunity to get your hands dirty with spac…

Thank you for the advice, you've definitely given me some stuff to thing about, and I'm glad to hear from somebody who's worked in a field similar to what I'd like to get into. As for the man pages, I'm starting off with 'man', then will move onto my most commonly used commands for general Linux use and server administration. After that, I'll be using a shell script to give me a random man page.

Hah, very meta, good idea to start with man's manpage, then work your way from there. Best of luck to you.
Post reply on HN