How can I url-encode all characters in bash? For example: abcd0123 =&gt; %61%62%63%64%30%31%32%33 I tried the built-in urlencode function in Linux but it only encodes special characters like (.?)
I am trying to write a bash script for testing that takes a parameter and sends it through curl to web site.  I need to url encode the value to make sure that special characters are processed properly.  What is the best way to do this?    Here is my basic script so far:  #!/bin/bash host=${1:?'bad host'} value=$2 shift shift curl -v -d "param=${value}" http://${host}/somepath $@
Why use a dedicated light meter instead of the one built into the camera? Say an airplane flies at Mach 1. The doppler effect causes the front of the sound emitted by the plane to reach infinite frequency:    $f = \left ( \frac {343+0}{343-343} \right ) f_0 = ∞$  If the plane suddenly stopped, and there was an observer in front of the sound waves to receive the sound, what would the bunched up waves sound like to the observer? Would they cancel each other out and cause no sound? How to change the light grey text that many web sites seem to use these days? Of late, I've noticed that many web sites seem to be using light grey text for many sections of their sites. Some such sections include - the text (link, usually) that shows in the status bar at the bottom of the browser when you hover the mouse over a link on their page, the indicator text in form fields to be filled in (e.g. the word "email" in the email address field), and many other elements on the page.  That light grey makes it much less readable.    Not sure whether is a new trend, or something to do with my browser settings (I haven't changed them lately, AFAIK), or Google Chrome, which is my browser. This is on Windows 7 running on a Dell Vostro laptop. I added the info about the laptop because I suspect the problem may even be due to my hardware settings, since I found the default brightness to be too high after I bought it, and changed it via Control Panel.  Would like to know what are some of the things I can check or change to solve this.  Thanks. When I double-click on a script in Nautilus to run it, the script just opens in my text editor with no option to run it. Using Nautilus, how do I run executable text files and/or scripts? What requests do browsers' "F5" and "Ctrl + F5" refreshes generate? Is there a standard for what actions F5 and Ctrl + F5 trigger in web browsers?  I once did experiment in IE6 and Firefox 2.x. The F5  refresh would trigger a HTTP request sent to the server with an If-Modified-Since header, while Ctrl + F5 would not have such a header. In my understanding, F5  will try to utilize cached content as much as possible, while Ctrl + F5  is intended to abandon all cached content and just retrieve all content from the servers again.   But today, I noticed that in some of the latest browsers (Chrome, IE8) it doesn't work in this way anymore. Both F5 and Ctrl + F5 send the If-Modified-Since header.   So how is this supposed to work, or (if there is no standard) how do the major browsers differ in how they implement these refresh features? How to get city name from latitude and longitude coordinates in Google Maps? Creating a copy of primary database and attaching the copy database in the same sql instance I just got into a project in which we have only one SQL Server 2012 copy. We have 12 databases attached to the primary instance of SQL Server 2012.  As I don't have SQL Server 2012 or supporting OS, I have to depend on the primary instance of SQL Server 2012.  I am not sure whether it is good to create copy/clone of all 12 databases and attach it to same instance and work on the copy for data manipulation and query testing purpose.  Based on Kin's query  SELECT    SERVERPROPERTY ('MachineName') AS PhysicalMachineName,    SERVERPROPERTY ('ServerName') AS SQLServerName,    SERVERPROPERTY ('Edition') AS ServerEdition,    CAST(SUBSTRING(@@Version,charindex('SQL',@@version, 1),15) AS VARCHAR(255)) +  ' + '         + CAST (SERVERPROPERTY ('productlevel')AS VARCHAR (50)) + ' + (Build'        + CAST (SERVERPROPERTY ('ProductVersion') AS VARCHAR (50)) +')' AS ProductVersion,     RIGHT(@@version, (Len(@@Version)-charindex('Windows',@@version, 1))+1) AS [O.S.],  SERVERPROPERTY ('Collation') AS Collation   Following is the output. I ignored PhysicalMachineName and SQLServerName.  ServerEdition : Business Intelligence Edition (64-bit) ProductVersion : SQL Server 2012 + RTM + (Build11.0.2100.60) O.S.           : Windows NT 6.1 &lt;X64&gt; (Build 7601: Service Pack 1)  Collation      : SQL_Latin1_General_CP1_CI_AS How to pronounce decimals? Something like:  0.1 0.23 0.999   How to pronounce them correctly in English? I'm trying to write a blog post which includes a code segment inside a &lt;pre&gt; tag. The code segment includes a generic type and uses &lt;&gt; to define that type. This is what the segment looks like:  &lt;pre&gt;     PrimeCalc calc = new PrimeCalc();     Func&lt;int, int&gt; del = calc.GetNextPrime; &lt;/pre&gt;   The resulting HTML removes the &lt;&gt; and ends up like this:  PrimeCalc calc = new PrimeCalc(); Func del = calc.GetNextPrime;   How do I escape the &lt;&gt; so they show up in the HTML? I recently spilled water on my computers keyboard, and as a result the left shift key seems to be stuck in the on position. This means that the system always boots into safe boot unless I hold down the option key. I have managed to change my password to one which is all caps and once I login I use keyremap4mac but it is still very annoying. Is there anyway which I can remap the keyboard during boot? Possibly with a startup bash script or something similiar? If that is not possible is there any way to use a script to bypass safe boot? I was planning on installing a new bootloader anyway in order to dual-boot linux, I don't know if this will help. Advice is appreciated. How to control internet access for each program? I would like to use a software to control which program may connect to the internet. I know that this behaviour is associated with the word "firewall", but some Linux users are very upset if somebody demands a Personal Firewall. I don't want to upset you by demand such a program. I don't want to "secure ports" or other stuff a Personal Firewall promises on Windows. I looked into iptables but it does not fit my requirements.  I saw an excellent answer here () but it's very uncomfortable to set this up.  Is there a software that asks for each program if it may access the internet? Smoothness constraint of wave function Is there anything in the physics that enforces the wave function to be $C^2$? Are weak solutions to the Schroedinger equation physical? I am reading the beginning chapters of Griffiths and he doesn't mention anything. How to customize MacBooks' keyboard? I spilled a juice on my MacBook-Pro keyboard. Consequently, some keys like 2, esc and tab don't work anymore on my keyboard.   Is there anyway to change those disabled keys with combination of some other keys, like Fn,Ctrl, Option+ something, using an app or a command? Every infinite subset of a countable set is countable. Here is the proof I tried to weave while trying to prove this theorem:     Theorem. Every infinite subset of a countable set is countable.      Proof. Let $A$ be a countable set and $E\subset A$ be infinite. Then $A\thicksim\mathbb{N}$. This implies that there is a sequence $\left\{x_{n}\right\}_{n\in\mathbb{N}}$ where $x_{n}\in A$. Construct a sequence $\left\{n_{k}\right\}_{k\in\mathbb{N}}$ where $x_{n_{k}}\in A$, $n_{1}$ is the smallest positive integer such that $x_{n_{1}}\in A$, and $n_{k+1}&gt;n_{k}$. Then      $$ E=\bigcup_{k=1}^{\infty}x_{n_{k}}, $$      and $E$ is countable, because $E\thicksim\mathbb{N}$. $\blacksquare$   Is it convincing? How to create 2D shadows I'd like to create lights and shadows in a 2D environment, like in the image below:    I did several searches but got no results. Do you have any hint? Not including stdlib.h does not produce any compiler error! The problem Comments are terrible; no one agrees on what they're for, or how long they should be kept. Comment flags are equally terrible, because if no one's on the same page as far as what should be posted in the first place then no one can agree on what should be removed either. On top of that, we have this confusing set of flags where two mean &quot;noise&quot;, one means &quot;vile&quot;, one means &quot;moderator, help!&quot; and one means nothing at all - the end result is that it's all but impossible to even analyze comment flagging. The solution (or, part of it) Two years ago, in a fit of rage, I . Nothing got done. As always, everyone has a different idea of how things are supposed to work, and I'd bitten off more than I could chew. So, here we are, two years later, and comment flags still suck. So let's start by just cutting the fat: if we can trim down the list of flags to a set of clearly distinct problems, we might have something we can build on. Here's what I'm proposing, based on the past two years of discussion:   Re-word the &quot;rude or offensive&quot; flag to read,  rude or abusive: this comment violates .   Remove the &quot;not constructive&quot;, &quot;obsolete&quot; and &quot;too chatty&quot; flags.  Add a new comment flag:  no longer needed: this comment is obsolete, chatty or otherwise unnecessary   Re-word the &quot;other...&quot; flag:  in need of moderator attention: these comments require action by a moderator. Be specific and detailed!    That's it; that's all I'm proposing to start out - simplify things so that we have something to build on. See also: For some of the apps I've developed (then proceeded to forget about), I've been writing plain SQL, primarily for MySQL.  Though I have used ORMs in python like , I didn't stick with them for long.  Usually it was either the documentation or complexity (from my point of view) holding me back.  I see it like this: use an ORM for portability, plain SQL if it's just going to be using one type of database. I'm really looking for advice on when to use an ORM or SQL when developing an app that needs database support.  Thinking about it, it would be far better to just use a lightweight wrapper to handle database inconsistencies vs. using an ORM. Calculating $\int_{- \infty}^{\infty} \frac{\sin x \,dx}{x+i} $ I'm having trouble calculating the integral  $$\int_{- \infty}^\infty \frac{\sin x}{x+i}\,dx $$  using residue calculus. I've previously encountered expressions of the form   $$\int_{- \infty}^\infty f(x) \sin x \,dx $$  where you would consider $f(z)e^{iz}$ on an appropriate contour (half circle), do away with the part of the contour that wasn't on the real axis by letting the radius go to infinity, then recover the imaginary part of the answer to get back the sine. However here, I can't replace the sine with $e^{iz}$ in my complex function because $$\operatorname{Im} \frac{e^{ix}}{x+i} \neq \frac{\sin x}{x+i}\cdots$$  How to remedy this? I'm not sure if substituting $\sin x = \frac{1}{2i}(e^{ix}-e^{-ix})$ and solving two integrals is how this problem is meant to be solved, although I'm 99% sure it would work I have two disks in my system:   Non-UEFI windows 10 install UEFI kubuntu 16.10   This system is my home server. I'm migrating from Windows to Kubuntu, but it will take a while since I can't yet duplicate the entire functionality. In the mean time I want to run dual boot so that I can run the server as was (windows) while I'm setting up the Kubuntu deploy in any spare time I get. So:  I'd like to add windows boot to grub's target list, however update-grub does not find my Windows bootloader.  I'm guessing the problem is that it's searching for an EFI boot while there is only a legacy BIOS one.  Is there a way I can add my Windows install as a grub target?