The Geek Stuff
thegeekstuff.com · Personal blog · on HN since 2008
Sysadmin tutorial site with Unix and Linux command examples, bash guides, PuTTY tips, and Vim and C how-tos.
What HN saysHN links it for bash startup file explanations, though one commenter accused the author of copying other people's work.
47HN people shared it
18linked it in comments
53stories submitted
465story points
3 years agolast shared
2008people per year2026
Most-shared posts
- 150 Most Frequently Used Unix / Linux Commands (With Examples)3 people · 8 points · first shared 2012 · 1 comments on HN
- 2Putty extreme makeover using putty connection manager3 people · first shared 2013
- 312 Add-Ons for PuTTY2 people · 30 points · first shared 2008 · 12 comments on HN
- 412 Reasons Why Every Linux System Administrator Should be Lazy2 people · 9 points · first shared 2011 · 2 comments on HN
- 512 Most Useful Google Chrome Browser Chrome:// Commands2 people · 4 points · first shared 2011 · discussion on HN
- 6The Ultimate Bash Array Tutorial with 15 Examples2 people · 2 points · first shared 2013 · 1 comments on HN
- 7How To Create ASCII Drawings in Vim Editor2 people · 1 points · first shared 2011 · discussion on HN
- 8C socket programming2 people · first shared 2014
- 9Linux Directory Structure (File System Structure) Explained with Examples1 people · 182 points · first shared 2012 · 24 comments on HN
- 10UNIX/Linux Sysadmin Tutorials1 people · 101 points · first shared 2010 · 13 comments on HN
- 11Interesting C Interview Questions and Answers1 people · 40 points · first shared 2012 · 37 comments on HN
- 12Linux Find Command Examples1 people · 27 points · first shared 2009 · 8 comments on HN
- 138 Practical Linux Netcat NC Command Examples1 people · 4 points · first shared 2012 · discussion on HN
- 14How Software and Hardware Load Balancer Work (Algorithms Explained)1 people · 3 points · first shared 2016 · discussion on HN
- 15What are Linux Processes, Threads, Light Weight Processes, and Process State1 people · 3 points · first shared 2013 · discussion on HN
What HN people wrote when they linked it
gricardo99 · 2020-01-27
A great time saver for me was simply setting up better bash history and search capabilities[1].
I wrote a wrapper function, sbh (search bash history) that allows me to input date strings like "2 months ago", or "last week", which narrows the search. Linux 'date' function with --date string arg is pretty powerful[2].
1 - https://spin.atomicobject.com/2016/05/28/log-bash-history/
2 - https://www.thegeekstuff.com/2013/05/date-command-examples/
nadams · 2015-07-02
http://tehsausage.com/ptypes/doc/inet.examples.html
vs
http://www.boost.org/doc/libs/1_35_0/doc/html/boost_asio/tutorial/tutd…
I know a lot of people would criticize the practices/styles used in ptypes - but I've yet to see another C++ library that is as easy to use, easy to read, AND most importantly cross platform. Hell even raw sockets in C is easier to use and understand than boost [1].
This is one of my favorite comments on reddit [2].
[1] http://www.thegeekstuff.com/2011/12/c-socket-programming/
[2] http://www.reddit.com/r/programming/comments/197dn1/introduction_to_c_…
blippe · 2014-07-27
I would recommend reading[0] instead.
[0] http://www.thegeekstuff.com/2008/10/execution-sequence-for-bash_profil…
MattLaroche · 2011-09-10
I find your straight copy-and-pasting of other people's work deplorable and I'm looking forward to your banishment from Hacker News. I know you're now ending your articles with a "source" - but why create your own articles instead of just linking to theirs?
Ref: http://www.thegeekstuff.com/2009/01/12-amazing-and-essential-linux-boo…
ianbishop · 2012-04-10
I'm doing this now!
I've got a linode box running arch. I configured it with all my dev needs. I'm currently in university and I spend a good amount of time at school, bouncing between labs and then also working from home.
Right now the process is simply:
ssh [email protected]
tmux attach
Up comes a familiar |- split console with vim running in a window, a terminal at the root of whatever project I'm working on and the server output of that project below it. If I have to leave suddenly, Ctrl+A+D and walk away. It'll be there when you log in next time.
It also has huge advantages if you're working remotely with teams or just want to launch stuff. I have nginx already configured and running. When I need to launch a new project:
1) Go to the Linode DNS Manager and setup a new subdomain
2) Go to /srv/http and git clone my project
3) Edit my nginx.conf, reboot nginx and done.
Some stuff worth checking out:
* https://github.com/thoughtbot/dotfiles
* http://www.thegeekstuff.com/2009/04/ctags-taglist-vi-vim-editor-as-sou…
Edit: formatting
bobbyi · 2023-11-27
lsof is also good for seeing what files a process is using https://www.thegeekstuff.com/2012/08/lsof-command-examples/
flutetornado · 2020-02-18
I like to use the vim plugin DrawIt for ascii diagrams:
https://www.thegeekstuff.com/2009/12/how-to-create-ascii-drawings-in-v…
https://github.com/vim-scripts/DrawIt
Pretty easy to create comments for code that need a drawing for clear expositions.
oblio · 2017-09-26
My bad, I was actually talking about a very common tar idiom which is almost an automatism for me:
tar cvf/czvf/cjvf archive files (or -cvf/-czvf/-cjvf).
I don't think I've ever seen anyone actually using tar by going:
tar -c files -f archive
Online tutorials seem to also use my form: http://www.thegeekstuff.com/2010/04/unix-tar-command-examples/
Either way, bad form, I'm glad they fixed it :)
informatimago · 2016-08-18
Of course.
You don't have to use image-based systems to program in Smalltalk: you can also write unix Smalltalk programs, using gst (GNU Smalltalk).
cf. eg. http://www.thegeekstuff.com/2009/10/smalltalk-hello-world-example-how-…
ing33k · 2014-07-03
one more resource
http://www.thegeekstuff.com/2010/11/50-linux-commands/
JoelHobson · 2014-06-29
Keep in mind that a lot of the keyboard features we take for granted weren't always present on early terminals. Navigating is a lot harder if you don't have, say, arrow keys. In that case, a separate mode makes a lot of sense for getting around (no arrow keys? Just map hjkl to them in navigation mode). Plus the same command can do different things depending on mode, so there are less distinct patterns of keypresses to memorize. Yes, you could do everything as a series of chords (like in emacs), but I don't think it's necessarily superior.
Here's a list of some navigation mode commands. You can probably come up with reasonable ways to do them with only the keyboard & none of the alphanumeric or punctuation keys used alone, but would that be any easier?
http://www.thegeekstuff.com/2009/03/8-essential-vim-editor-navigation-…
bdevine · 2013-10-18
If you're not aware of it, wget[1] allows you to save pages, whole sites, file types, etc.
[1] http://www.thegeekstuff.com/2009/09/the-ultimate-wget-download-guide-w…
ereckers · 2013-08-07
I've used Putty Connection Manager for tabbed management of multiple Putty windows for a few years now. Here's an older article about it:
http://www.thegeekstuff.com/2009/03/putty-extreme-makeover-using-putty…
Unfortunately the URL for the download is down at the moment. I know, inspiring, but here it is:
http://puttycm.free.fr/
It can be found on the Putty "links" page under "Multiple connection" here (along with some other options):
http://www.chiark.greenend.org.uk/~sgtatham/putty/links.html
I used to use SecureCRT until I got tired of their weird format for private keys (not sure if that's still an issue since I stopped using it a few years ago).
Anyways, for what I was looking for Putty Connection Manager worked fine. Open many connections and cycle through the tabs with CTRL+TAB.
swatkat · 2013-07-01
I use Putty Connection Manager, which has a pretty good tabbed interface.
http://www.thegeekstuff.com/2009/03/putty-extreme-makeover-using-putty…
pathy · 2013-07-01
Alternatives to PuTTY linked in the thread so far:
https://puttytray.goeswhere.com/
https://code.google.com/p/futty/
https://code.google.com/p/superputty/
http://kitty.9bis.net/
http://www.thegeekstuff.com/2009/03/putty-extreme-makeover-using-putty…
Which one is the best? I currently use Putty Tray, for no real reason except that someone linked it to me awhile back and it is, imo, better than vanilla PuTTY. But how does it compare to the alternatives?
Edit: added more!
manaskarekar · 2012-08-16
Here's another one with more information on pointers in C.
http://www.thegeekstuff.com/2012/01/advanced-c-pointers/
lelele · 2012-07-14
eshyong · 2014-04-06
Hi, I'm interested in learning low level programming too! I've been taking classes, reading tutorials about programming, and starting projects on my own. It really depends on what kind of projects you want to work on. Some of the major types of projects include compilers, OS-level projects (drivers, kernel, etc.), networking (server/client), and graphics. You'll probably want to learn C and/or Assembly, probably x86 but I've found ARM to be fun. (and Raspberry Pi is built on it!)
- Compilers: I'm taking the Stanford course on Coursera right now. It just started two weeks ago so you can still catch up. Here's the link: https://class.coursera.org/compilers-004
Here's some literature on compilers/interpreters/JIT (Just In Time compilation): http://www.stephendiehl.com/llvm/ (I've heard good things about LLVM!)
http://blog.reverberate.org/2012/12/hello-jit-world-joy-of-simple-jits… (Just saw this today)
Tutorial on building a Lisp in C, from two days ago: http://www.buildyourownlisp.com/
- Operating Systems: Definitely check out MIT's open courseware on xv6! It's an implementation of Unix version 6. The course includes a git project that you can clone and play with yourself, as well as some labs. Here's the link: http://pdos.csail.mit.edu/6.828/2012/index.html
OSDev wiki had some resources too: wiki.osdev.org
If you have a Raspberry Pi or are patient enough to try to emulate the hardware, here are some tutorials on ARM assembly for RasPi:…