Well, if you want to go the extra mile, do it in LaTeX and provide a professional level PDF file. You haven't mentioned your distribution so I'll give instructions for Debian based systems. The same basic idea can be done on any Linux though.
Install a LaTeX system and necessary packages
sudo apt-get install texlive-latex-extra latex-xcolor texlive-latex-...
There is a vendor independent SAT (SCSI/ATA transfer) standard, but AFAIK this is not widely supported on (cheaper) bridges.
There are several vendor specific ATA pass-through commands that you can select with smartctl with the -d option:
-d TYPE, --device=TYPE
Specify device type to one of: ata, scsi, sat[,N][+TYPE],
I'd usually use enscript: something like
$ enscript --highlight=cpp
--header='|Real Name|Class 101'
--footer='|Page $% of $=|'
will be a start - this writes postscript output to output.ps, so you can preview and overwrite that while you're tinkering with the config and then print it once you're happy. See ...
If you let g:ycm_always_populate_location_list = 1, YouCompleteMe will populate vims location list with new diagnostic data. You can jump through the entries in that list with :lnext and :lprevious. You can read more about the location list in the documentation of the quickfix feature (:h location-list or use the online version).
I wouldn't say it is either well known or well used but you might have a look to basheclipse:
I must admit I have no experience with basheclipse and even failed to install it due to an eclipse version mismatch.
On the other hand, I'm using bash and ksh93 specific debugging features, especially the trap ERR and trap DEBUG ones but not the debuggers based on ...
Even though they type vi or call it vi it may still be vim. And at least vim can do all the "modern" features like auto-completion and syntax-highlighting, too.
It can also mark/copy/paste text using the mouse if you wish. I however prefer vim and the console because I can do 100% of the work without ever taking one hand off the keyboard. Try that with a ...
You can use the :TOhtml command in vim. This renders what you see (i.e. syntax highlighting) as html. From there, a web browser that can print to pdf works, as you can usually customize the header/footer content.
This is probably similar to the :hardcopy command mentioned by Useless, but I can't verify on my system right now.
Another possibility is to ...
SMART over USB is generally either not possible, or is done with (bridge) vendor-specific commands, so there's no one way to get things done. smartctl knows about a few specific bridge chips. Check the manpage for a list.
This is horrible, but the only 100% reliable way to access SMART on a disk is to unplug it from the bridge and stick it on a proper host ...
A purpose-built IDE would sort of defeat the purpose of shell scripting, not to mention that it's nearly impossible to do, because most of what shell does is calling external commands - how do you debug that? Debugging with checkpoints is counterintuitive for a shell - shell scripts usually operate heavily on files and thus have destructive side-effects on ...
For developing C/C++ you need the gcc compiler, which is included in most Linux distributions or can be easily installed.
There is not a default IDE: most people use their favorite editor (vim, emacs, Geany etc...) and there are IDEs like Eclipse or KDevelop available.
C# can be done with Mono, but it is not fully compatible with .NET: check the ...
There are quite a few tools around to generate makefiles. The two most common ones are CMake and Automake; both of these ask you to describe the components of your project and the desired output, and generate makefiles for you.
This is no doubt a matter of opinion, but you'll probably find CMake easier to get to grips with; if you ever need to cross-compile ...
There isn't an appropriate value of -d.
The problem is that you're using a SATA↔USB mass storage bridge, and USB mass storage doesn't have a standard way to request ATA/SATA SMART data. So instead the controller has either no way or some vendor-specific way to get the data. smartctl knows a few of these; examples include usbjmicron and usbsubplus.
So, if ...
You mentioned above that you're looking for "crash-proof-ness", and you said that Unity appears unstable.
Don't confuse the stability of the window manager with the stability of the distribution or the kernel.
Unity is a quite new window manager (some say it was released before it was ready for production use and still needs polishing), and it may take ...
There's the same type of problem for awesomewm and probably quite a few other window managers.
The dmw wiki has a section on this: Fixing misbehaving Java applications. The solution proposed is to change the window manager name by installing wmname, and then running:
$ wmname LG3D
If that works, make sure that is called at every X session startup.
Geany is a simple IDE that gives you many options for what goes in the header.
Reserved words can be manipulated in the options menu but the code highlighting does this for the notepad++ style. ( you may need to copy/download the color schemes to your "/home/$USER_NAME/.config/geany/colorschemes/" folder to get the one you want)
Very simple and personally ...
the debugging features provided by gdb are based on the set of symbols that comes with your compiled code.
Actually there isn't a debug version available for the STL, but there are at least 2 portings that can add debug symbols to your code:
gdb without debugging symbols is useless, so you have ...
I believe the whole idea about editors is kinda warped.
I won't claim, that only I know what editor to use when. But we are forced to use editors that we aren't particularly fond of, usually.
When using IDE's, we're all forced to use the editor that comes with it. Even though those editors can be tailored a bit, it's not that we can plug-in vim as IDE ...
Stay with gcc compiler and Vim as an IDE. There are a lot of plugins for Vim that improves the experience in almost coding languages, but you should learn Vim first if you want to take advantage of that though.
On the other side, I think just a few "firms" are naming "C#" and "Linux" in the same context.
Vim can be used to compile using gnu make on the current file - even if there's no Makefile for the file (for more details see here):
This way vim provides you with access to the quickfix error feedback from the compiler (:help quickfix) list - :cn Next error, :cp Previous error, :cw New window listing errors.
If you've not got gnu make then ...
I'm currently running CentOS on some old hardware and using a USB interface to a hot swap bay for testing these, but it's not really an ideal solution.
A USB-to-SATA adapter probably won't work for this, because they usually don't allow you to run SMART commands. I'd use SATA directly for this.
If that's not an option, you will need a USB-to-SATA adapter ...
FreeBSD is not the kernel alone while Linux is only the kernel with many variations ("distros"). Each distro has some variation. Linux also tends to make changes such as the recent systemd and Wayland while FreeBSD prefers "steady as she goes". In that case, FreeBSD is less likely to change its core infrastructure while, in Linux, there may be required ...
Personally I think they are equal although in the web hosting world I would venture a guess that Linux is used much more than FreeBSD.
As a developer I have found it much easier to develop in an environment that is as similar to the production environment as possible. On that basis alone, I would go with Linux over FreeBSD for what you have detailed as ...
Yes I think it's worth it.
For instance what if you were creating/editing a bash script? Or peeking inside a text file and making a single-character change, an IDE might not be suitable or be overkill for such simple tasks. vi/vim will fire up almost instantaneously.
Also, when accessing a system remotely having a text based editor available is useful.
Apart from vim with visual basic highlighting as Evan indicated, there is also a visual basic mode for Emacs. I have not used it extensively as I seldom work with VBA.
You would have to follow the installations instruction in the file the link points to.
Emacs is not a lightweight editor like Gedit is, it is well worth learning to use something as ...
I usually use vim or gvim, Eclipse, or IntelliJ. Eclipse works surprisingly well for other languages, it's primarily suited to Java but through the use of plugins can be adapted to suite other languages too.
Eclipse CDT (C/C++ Development Tooling)
The CDT Project provides a fully functional C and C++ Integrated Development Environment based on ...
As mentioned in Alko's answer, use the Eclipse Color Theme Plugin to theme the main text field.
In order to theme all the other views (package explorer, console and so on), you need to use an Eclipse Theme. Go to Window -> Preferences -> Appearance. There you can select an Eclipse Theme.
I personally use the Dark Juno theme.
Finally, you may see some ...