I'm aware that if I press esc followed by typing :q!, I can exit the vim editor, due to .  However, the standard convention is for programs to exit when ctrl + c is pressed, which sends a SIGINT to the currently running process.  For example, top, tail -f, and ping all follow this convention.  My question is this: Why doesn't vim follow this well-established convention? Is there a historical reason, or is it something else?  It seems to me that it would avoid a lot of confusion for new users if it followed this standard convention like everything else.  (While we're at it, why is it SIGINT and not SIGTERM in the first place?)
The program ed, a minimal text editor, cannot be exited by sending it an interrupt through using Ctrl-C, instead printing the error message "?" to the console.  Why doesn't ed just exit when it receives the interrupt?  Surely there's no reason why a cryptic error message is more useful here than just exiting.  This behavior leads many new users into the following sort of interaction:   $ ed hello ? help ? exit ? quit ? ^C ? ^C ? ? ? ^D $ su # rm -f /bin/ed    Such a tragic waste—easily avoidable if ed simply agreed to be interrupted.  Another stubborn program exhibiting similar behavior is less which also doesn't appear to have much reason to ignore C-c.  Why don't these programs just take a hint?
Currently, the number of "votes cast" excludes votes on deleted content. Once something gets deleted that you voted on, that vote vanishes from your stats. This of course happens frequently especially with down-votes - if you're a good voter, stuff you downvote often ends up getting deleted.  Seeing as the idea behind the public display of total votes you've cast is to encourage voting, is this really fair?   Also, doesn't it distort greatly all voting stats, especially when looking at candidates for moderator elections and such? Hi this must be a basic question but I haven't seen an answer with cerbot considerations (if there are any considerations). How do I get https www to redirect to non-www instead of timing out?  The https www version of my site times out instead of redirecting to non-www, whereas all other versions (http and https non-www) work fine.  Preferably I would like to future proof so that I can renew the certs through certbot and not need to manually change the nginx config afterwards.  The nginx server config is shown below:  server {     listen 80 default_server;     listen [::]:80 default_server ipv6only=on;     server_name www.mydomain.com mydomain.com;      listen 443 ssl; # managed by Certbot     ssl_certificate &lt;path_to_cert&gt; # managed by Certbot     ssl_certificate_key &lt;path_to_key&gt;; # managed by Certbot     include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot     ssl_dhparam &lt;path_to_this&gt;      if ($scheme != "https") {         return 301 https://$host$request_uri;     } # managed by Certbot } Why do I get "Required key not available" when install 3rd party kernel modules or after a kernel upgrade? Adding coordinate system to layout in QGIS composer? I want to generate some formatted output of data retrieved from an MS-Access database and stored in a DataTable object/variable, myDataTable. However, some of the fields in myDataTable cotain dbNull data. So, the following VB.net code snippet will give errors if the value of any of the fields lastname, intials, or sID is dbNull.     dim myDataTable as DataTable    dim tmpStr as String    dim sID as Integer = 1     ...    myDataTable = myTableAdapter.GetData() ' Reads the data from MS-Access table    ...     For Each myItem As DataRow In myDataTable.Rows      tmpStr = nameItem("lastname") + " " + nameItem("initials")      If myItem("sID")=sID Then         ' Do something     End If      ' print tmpStr     Next   So, how do i get the above code to work when the fields may contain dbNull without having to check each time if the data is dbNull as in ? If you open any of localized meta site in browser's private mode, e.g.  you will see untranslated text on the top right corner:        This message is not found in Transifex, hence unable to localize.  Related bug report on ruSO.meta: All  I just install a fresh new Ubuntu 16.04 on my new desktop which has a 8th generation Intel CPU i5 8600K. When OS installed, I found there is only one option in display setting: 1024 x 768 (4:3),  My monitor is a HDMI monitor with 1920x1080 resolution  Do anyone have any idea how to make the resolution setting right? Thanks.  BTW. I do not install any graphic card, I use the internal GPU of Intel Why is defragmentation unnecessary? Why is defragmenting unnecessary in Ubuntu? Singular vs. Plural with Multiple Gerunds as Subject (IE: [Gerund] and [Gerund] are/is [something].) I'm trying to find out whether I should use a singular or plural verb when there are multiple gerunds as the subject of the sentence. For example:  Running the correct course and keeping a steady pace are/is necessary in order to win.  With either one of these by itself, &quot;is&quot; would be correct:  Running the correct course is necessary in order to win. Keeping a steady pace is necessary in  order to win.  With both gerunds combined, I can't seem to figure out whether the verb should stay singular since each phrase is singular, or if it should become plural since there are two connected by &quot;and&quot;. If we just treat the gerunds as regular nouns, then obviously it would become &quot;are&quot;, but I'm not sure if gerunds have the exact same rules as regular nouns. I know that if the sentence was:  Running the correct course and keeping a steady pace are both necessary.  That &quot;are&quot; would be correct, but without the &quot;both&quot; it sounds incorrect to me. Does anyone know the official rule here? Interfaces with static fields in java for sharing 'constants' I'm looking at some open source Java projects to get into Java and notice a lot of them have some sort of 'constants' interface.  For instance,  has an interface called , and most other core classes implement this interface. The interface is riddled with static members. Is there a reason for this approach, or is this considered bad practice? Why not use enums where it makes sense, or a static class?  I find it strange to use an interface to allow for some sort of pseudo 'global variables'.  public interface PConstants {    // LOTS OF static fields...    static public final int SHINE = 31;    // emissive (by default kept black)   static public final int ER = 32;   static public final int EG = 33;   static public final int EB = 34;    // has this vertex been lit yet   static public final int BEEN_LIT = 35;    static public final int VERTEX_FIELD_COUNT = 36;     // renderers known to processing.core    static final String P2D    = "processing.core.PGraphics2D";   static final String P3D    = "processing.core.PGraphics3D";   static final String JAVA2D = "processing.core.PGraphicsJava2D";   static final String OPENGL = "processing.opengl.PGraphicsOpenGL";   static final String PDF    = "processing.pdf.PGraphicsPDF";   static final String DXF    = "processing.dxf.RawDXF";     // platform IDs for PApplet.platform    static final int OTHER   = 0;   static final int WINDOWS = 1;   static final int MACOSX  = 2;   static final int LINUX   = 3;    static final String[] platformNames = {     "other", "windows", "macosx", "linux"   };    // and on and on  } How to end paragraph text in an inverted pyramid shape? In many old books, the final paragraphs of chapters end in an inverted pyramid shape, like this:    I think this is beautiful, so I would like to imitate this for my book. I've found the code for a triangle in this post   \documentclass{article} \usepackage{microtype,shapepar}  \def\triangleupshape{% {0}% {0}b{0}\\% {8.66}t{-5}{10}\\% {17.32}t{-10}{20}\\% {17.32}e{0}% }      \begin{document} \shapepar{\triangleupshape}A ipsum dolor sit amet, consectetuer    adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. \par \end{document}   Which results in this:    But I'd like it to be inverted and the first part of the paragraph need to be full line width. Only the last few lines should end in an inverted pyramid like in the example above.  Is there a way to do this? Thanks in advance for your help. With lots of guides and setup variations all over the internet, I find it confusing which is which to really follow. Normally, in Windows 8 my setup would be install everything in the HDD and use Intel Smart Response for a speedy setup. However as I am new to Linux I really don't know what to do.  My ideal setup would be something similar to this, but I know for a fact that IRST is not available in Linux so what I intend to do is keep the OS files in the SSD instead and keep my media on the larger HDD. A step by step procedure would be extremely helpful.     Edit: I want a system running solely on Ubuntu, with the SSD to speed things up but setting it in such a way that it does not hasten its lifespan.    # /etc/fstab: static file system information.  # # Use 'blkid' to print the universally unique identifier for a  # device; this may be used with UUID= as a more robust way to name devices  # that works even if disks are added and removed. See fstab(5).  #  # &lt;file system&gt; &lt;mount point&gt; &lt;type&gt; &lt;options&gt; &lt;dump&gt; &lt;pass&gt;  # / was on /dev/sda1 during installation  UUID=80289460-5983-4349-8afc-6f3119938ee9 / ext4 errors=remount-ro 0 1   # /files was on /dev/sdb5 during installation  UUID=c1678c88-5100-41bc-8090-7887f1622c7f /files ext4 defaults 0 2   # swap was on /dev/sdb6 during installation  UUID=608e3ec2-c76e-4657-af6d-80793b5f50f6 none swap sw 0 0 Is there a tool that combines zcat and cat transparently? When handling log files, some end up as gzipped files thanks to logrotate and others not. So when you try something like this:  $ zcat *   you end up with a command line like zcat xyz.log xyz.log.1 xyz.log.2.gz xyz.log.3.gz and then with:  gzip: xyz.log: not in gzip format   Is there a tool that will take the magic bytes, similar to how file works, and use zcat or cat depending on the outcome so that I can pipe the output to grep for example?  NB: I know I can script it, but I am asking whether there is a tool out there already. A No-Nonsense Introduction to Quantum Field Theory I found Sean Carroll's "A No Nonsense Introduction to General Relativity" (about page .  pdf ), a 24-page overview of the topic, very helpful for beginning study.  It all got me over the hump of learning the meaning of various terms associated with GR, most of which I had heard before without understanding.  It also outlined the most important examples.  Is there a similar document for quantum field theory, which presents the main equations, briefly describes the main ideas, and summarizes the most important applications and results so that the reader can feel the lay of the land before studying in depth? I know that Wubi is slower in disk IO, but I can't find anything about it online other than vague statements such as "slightly slower disk seeks".  Has anyone done any benchmarks to quantify the speed difference? Can I have 2x2 workspaces in GNOME 3? I have just upgraded to Ubuntu 17.10 and found out there is no option to have 2 by 2 workspaces. I was able to configure 4 "static" workspaces using , but I would like to have them in 2 rows by 2. Any ideas? High Voltage Powerlines - clarification of energy loss Everytime I sudo apt-get update it always not complete and will say in the end  E: Read error - read (5: Input/output error) E: The package lists or status file could not be parsed or opened.   Same goes, when I try to install something and do sudo apt-get install &lt;some app&gt;  What should I do ? I admit, that my drive has bad sectors, could that be the reason? Is there anything else I can do? country code TLD vs second level ccTLD I'm really worried about professionalism.  My site would be something like http://mywebsite.uy instead of http://mywebsite.com.uy.  What do you think about this practice? What should I have in mind at the moment of choosing one? How to prove $A+ A^T$ symmetric, $A-A^T$ skew-symmetric.