Problem Given any piece of data, I could sign it with public key and made available online. This proves I am in possession of given data, but it doesn't tell I am the creator. The only possibility (I'm aware of) to prove this, is to prove, that I was chronologically first to have it. Simple approach. Lets assume, that I wrote piece of code, and I want to generate some proof, that I am legitimate author of it. I can simply sign it's hash with e.g. RSA and put the signature along source code to some trusted site, like github. Now my commit has timestamp generated with this trusted site, and even if some Alice would sign herself the same source code, her upload to any trusted site will have newer timestamp proving she's not the legitimate author. This works as long as we'd assume data on github has undetermined life span and will be always available which is hardly true about any server out there. When that commit would be lost, my rights to the source code are lost as well: I might still have my local signed copy, but I cannot prove I've created it at given time. My understanding of the problem. I believe there is no possibility to self-authenticate, that I were in possession of given data at specific time - I could just made up arbitrary timestamp and sign it. Moreover, anyone out there could get my publicly available data, replace personal data with their, made up older timestamp and call me thief. Thus, sign from trusted server is needed. Trusted timestamp My idea of the mechanism is as follow: sign source code, optionally append personal data, generate hash and send this hash to trusted server. Then this server would have to send me back signed information, that it received hash H at time T. This way I've got publicly accepted certificate, that I've got file with hash H at time T. Even if the server had go down, I would still have the certificate. Question So is the &quot;trusted timestamp&quot; good solution to the legitimate author problem? Do you know of any available open source tools to achieve this goal? Maybe other techniques? Assuming, I want to public code/publication/anything else licensed for non-commercial use only, should I be concerned with such issues?
Does there currently exist a free online service that accepts a file, hashes it, takes an authoritatively chosen timestamp (from one or more time services), signs these and sends this signed message back? E.g. a digital notary, but only with regards to the timestamp and not the validity of the content as legal notaries might be obligated to guarantee.  Such a service might have an extremely simple API: Simply wget http://service/&lt;checksum&gt; and receive a signed message containing one or more timestamps and the checksum. The emphasis would be on the type of authority who might make such a service.  Edit: Although the original question did not emphasise the following, the Bitcoin-based timestamping services provided below do not rely on one authority, but rather the entire Bitcoin network. They can be seen as tamper-proof and verifiable without the help of the service that helped you sign it!
On which Canary island is it possible to sleep on the beach? We are planning a two-night trip to the Canary Islands. The cheapest options include Lanzarote and Las Palmas for flights. Travel dates are last week of November, so I guess weather should be okay. I have never been to these islands. I'd like to sleep on the beach in a tent or mattresses. Is that possible, safety, legality, and weather? It would also be nice to know how populated with tourists the islands are. What bike+equipment for a long daily urban commute? In the (distant) past I commuted 6 km (more than half an hour) each way, on a cheap bike with big knobbly tyres.  Soon I'll have a new commute: 18 km each way, daily. That's much further than I've done in the past, and I don't want it to take 2 hours each way; but  suggests that it's feasible:      Most people who reside 10 to 20 kilometres away will also find it quite easy to cycle to work, although the distance in the high end of this range will become a little more demanding.   If I can do it in 80 minutes or even less each way, that would be ideal. I'm 49 years old, 6 foot tall, and weigh 170lb, and I want to commute by bike because otherwise I'd be getting no exercise in my week at all.  I've never bought or ridden anything but a cheap bike.  What equipment should I buy then, to commute 11 miles each way through a city (Toronto) on  flat, paved roads, shared with cars:   Wheels? Tyres? Clipless pedals and shoes? Gears? Handlebars (e.g. flat or dropped)? Frame (size, shape, material)? Mud-guard/fender? I was watching , and it got me thinking about when optional parameters are available in C# what is going to be the recommended way to declare methods that do not need all parameters specified?  For example something like the FileStream class has about fifteen different constructors which can be divided into logical 'families' e.g. the ones below from a string, the ones from an IntPtr and the ones from a SafeFileHandle.  FileStream(string,FileMode); FileStream(string,FileMode,FileAccess); FileStream(string,FileMode,FileAccess,FileShare); FileStream(string,FileMode,FileAccess,FileShare,int); FileStream(string,FileMode,FileAccess,FileShare,int,bool);   It seems to me that this type of pattern could be simplified by having three constructors instead, and using optional parameters for the ones that can be defaulted, which would make the different families of constructors more distinct [note: I know this change will not be made in the BCL, I'm talking hypothetically for this type of situation].  What do you think? From C# 4.0 will it make more sense to make closely related groups of constructors and methods a single method with optional parameters, or is there a good reason to stick with the traditional many-overload mechanism? Why can array constants only be used in initializers? Change logo url link what does ∇ (upside down triangle) symbol mean in this problem Given $f(x) = \frac{1}{2}x^TAx + b^Tx + \alpha $   where A is an nxn symmetric matrix, b is an n-dimensional vector, and alpha a scalar. Show that  $\bigtriangledown _{x}f(x) = Ax + b$   and  $H = \bigtriangledown ^{2}_{x}f(x) = A$   Is this simply a matter of taking a derivative with respect to X, how would you attack this one? How can we sum up $\sin$ and $\cos$ series when the angles are in arithmetic progression? How can we sum up $\sin$ and $\cos$ series when the angles are in arithmetic progression? For example here is the sum of $\cos$ series:  $$\sum_{k=0}^{n-1}\cos (a+k \cdot d) =\frac{\sin(n \times \frac{d}{2})}{\sin ( \frac{d}{2} )} \times \cos \biggl( \frac{ 2 a + (n-1)\cdot d}{2}\biggr)$$  There is a slight difference in case of $\sin$, which is: $$\sum_{k=0}^{n-1}\sin (a+k \cdot d) =\frac{\sin(n \times \frac{d}{2})}{\sin ( \frac{d}{2} )} \times \sin\biggl( \frac{2  a + (n-1)\cdot d}{2}\biggr)$$   How do we prove the above two identities? How can I prove that $\gcd(a, b) = \gcd (a, b + ma)$?  I have tried this:  let $g = \gcd(a, b)$, then $g \mid a$ and $g \mid b$. This means that $g \mid ax+by$.  I don't know what to do next.  Thanks. I want to type Arabic text in Photoshop, but the text appears disjointed and the letters do not connect at all. For example محمد appears as م ح م د.   I'm using Photoshop CS6 on OSX Mountain Lion. I understand that there are $\frac{8!}{3!2!}$=3600 permutations possible without any restrictions in place. I follow this by attaching all like elements as such {1,2,{3,3,3},{4,4},5} where I can account for 5! permutations where I have three 3s and two 4s in consecutive positions. However, when it comes to accounting for the permutations that, for example, will have three consecutives 3s but not so for the 4s, I am at a loss. I wrote some simple code and came up with a set of 960 permutations as the acceptable answer. As the question implies, I am unsure of how to reach that through other means. My apologies if this is considered elementary and I appreciate any help whatsoever. I ran into an interesting behavior recently.  It seems that if I override .equals() to take a parameter other than Object, it doesn't get called.  Can anyone explain to me why this is happening?  It seems to violate my understanding of polymorphism in OOP, but maybe I'm missing something.  Here's much simpler code that shows what I'm seeing:  public class MyClass {   private int x;   public MyClass(int n) { x = n; }   public boolean equals(Object o) { return false; }   public boolean equals(MyClass mc) { return x == mc.x; }   public static void main(String[] args) {     List&lt;MyClass&gt; list = new ArrayList&lt;MyClass&gt;();     list.add(new MyClass(3));     System.out.println("Contains 3? " + list.contains(new MyClass(3)));   } }   When this is run, it prints "Contains 3? false".  It looks like the equals(Object) function is called, even though there is another that would work.  By contrast, if I write equals like this the code works as expected:  public boolean equals(Object o) {   if(!(o instanceof MyClass))     return false;   MyClass mc = (MyClass)o;   return x == mc.x; }   Why isn't it figuring out which version of the function to call based on the type of the parameter? How can edge rings be selected in a predictable way? When trying to select multiple edge-rings Shift-Alt-RMB sometimes loops get selected in the one (green) way or the other (red) way.  I couldn't derive a general rule.   How can two or more face-rings following one direction be selected ?  (Easy to reproduce with a default torus mesh.) Why do we use 'did' with questions using the simple past tense? Prove by mathematical induction that $2n ≤ 2^n$, for all integer $n≥1$? I need to prove  $2n \leq 2^n$, for all integer $n≥1$ by mathematical induction?  This is how I prove this:  Prove:$2n ≤ 2^n$, for all integer $n≥1$  Proof: $2+4+6+...+2n=2^n$  $i.)$ Let $P(n)=1         P(1): 2(1)=2^1\implies 2=2$.        Hence, $P(1)$ is true.  $ii.)$  Assume that $P(n)$ is true for $n=k$, i.e, $2+4+6+...+2k=2^k$, and prove that $P(n)$ is also true for $n=k+1$, i.e, $2+4+6...+2(k+1)=2^{(k+1)}$  from the assumption add $2(k+1)$ on both sides so we have   $2+4+6...2k+2(k+1)=2^k+2(k+1)$  I'm confused with $2^k+2(k+1)$, I don't know how to make $2^k$ be equivalent to $2^{k+1}$.  I feel i'm doing something wrong.   Any help would be appreciated! One post with multiple questions or multiple posts? I want to ask several questions about the same problem domain but each question is independent from the others. Should I put all the questions in a single post or should I split them and send multiple posts? I am trying to evaluate the following sum. Here $x\in\mathbb{R^{+}}$. $$f(x)=\sum_{n=1}^{\infty}\frac{(n-1)!}{\prod_{r=1}^{n}(x+r)}$$ At present I do not know how to proceed. Any hints are appreciated. Thanks. Good methods for density plots of non-negative variables in R? plot(density(rexp(100))   Obviously all density to the left of zero represents bias.  I'm looking to summarize some data for non-statisticians, and I want to avoid questions about why non-negative data has density to the left of zero.  The plots are for randomization checking; I want to show the distributions of variables by treatment and control groups. The distributions are often exponential-ish.  Histograms are tricky for various reasons.    A quick google search gives me work by statisticians on non-negative kernels, e.g.:  .    But has any of it been implemented in R?  Of implemented methods, are any of them "best" in some way for descriptive statistics?  EDIT:  even if the from command can solve my current problem, it'd be nice to know whether anyone has implemented kernels based on literature on non-negative density estimation How do I see a list of all suspended users? Equation mode, labelling equations I have the following   \[K^{-1}\left\|\sum\limits_{n=1}^N a_ny_n\right\|    \leq \left\|\sum\limits_{n=1}^N a_nx_n\right\|    \leq K\left\|\sum\limits_{n=1}^N a_ny_n\right\| (\dagger)\]   But the dagger doesn't appear at the right hand end of the page. How can I Get it so that it does appear on the end of the page? the \hfill command doesn't seem to work. Thank you. When is the vector space of continuous functions on a compact Hausdorff space finite dimensional? I know that the vector space of all real valued continuous functions on a compact Hausdorff space can be infinite dimensional.  When will it be finite dimensional?  And how will I identify that vector space with $\mathbb{R}^n$ for some $n$?