It would be beneficial to have your eMail-Address on your homepage when you want to give people the opportunity to contact you. In my case, I actually want to give people that opportunity ((That does not go without saying: In some cases it is very important to discourage people from contacting you directly. For instance, it could be that you are <i>usually</i> not the right person to ask, but you get flooded with requests that you have to manually redirect elsewhere: It would be better if people got discouraged from contacting you while finding it very easy to contact the person that can <i>actually</i> help them.)). However, we all know that there are villains out there who harvest emails from websites in order to sell them to spammers. Hence, you would want to obfuscate your eMail-Address in such a way that it cannot be read from the HTML source code of the website easily. It goes without saying that naive obfuscation techniques like `mymail(at)domain(dot)com` are beaten more easily by machines than by people, and the more creative you get with your substitutions, the easier the machines can do it and the less easy your customers can. Images are the end of that line of thought, the point where a user has no chance at all other than to copy your eMail address letter by letter from an image which could still theoretically be <a href="http://en.wikipedia.org/wiki/Optical_character_recognition" target="_blank">OCR</a>'d by a decent program. Therefore, Javascript methods to encode and on-the-fly decode the eMail address ((Famous enodings are <a href="http://en.wikipedia.org/wiki/Rot13" target="_blank">ROT13</a>, <a href="http://en.wikipedia.org/wiki/Base64" target="_blank">Base64</a>, etcetera.)) seemed like the best choice to me for a long while. It is harder to run a Javascript interpreter than simple regular expressions for the email harvester, but to a user there is no difference: The browser already comes equipped with Javascript. At this point, some people get cranky that everything should work also without Javascript, and I can understand that. However, the main reason for me to abandon the Javascript method was simple necessity: I have to publish my eMail on the homepage of a university, which is managed from within a complex <a href="http://de.wikipedia.org/wiki/Content-Management-System" target="_blank">CMS</a>, and the system would not allow me to use Javascript. This makes a lot of sense, you don't want every user of a large webportal to be able to stick whatever Javascript they like into the page, that stuff can make everything go to hell. <a href="http://www.jayway.com/2012/11/30/smart-email-obfuscation-using-css/" target="_blank">This blog post</a> is one among many advertising the capability of unicode to display letters from right to left. However, seriously, how difficult do you think it is for an email harvester to check for <i>reversed</i> email addresses as well? I would suppose it's more or less just a matter of checking for the <i>reversed</i> regular expression, too. Easy prey, if you ask me. But I had an idea! <a href="https://blag.nullteilerfrei.de/2013/11/08/email-obfuscation-from-several-directions/#more-2271" class="more-link">Do you want to know what that idea was?</a>


If you happen to be in Berlin, you can get <a href="https://www.hotspot.kabeldeutschland.de/" target="_blank">30 minutes of free WiFi</a> in quite a lot of places from a KabelDeutschland&trade; HotSpot. Unfortunately, each connecting device gets only 30 minutes of free internet per day. On a completely unrelated note, I will talk about changing the MAC address of your WiFi card in Windows 7. I must, again, emphasize the fact that these two topics are in no way related. <a href="https://blag.nullteilerfrei.de/2013/08/25/kabel-deutschland-hotspots-and-wifi-macs/#more-2086" class="more-link">Do you want to know more?</a>


My colleague and me were confronted with a question concerning the introductory chapter of a text on algebraic geometry. The scenario of a plane curve $C=Z(f)\subseteq \mathbb A_{\Bbbk}^2$ over a field $\Bbbk$ is considered, for a nonconstant polynomial $f\in\Bbbk[x,y]$. It was stated that the function field $\mathbb K:=\mathrm{Quot}(\Bbbk[x,y]/\langle f\rangle)$ is <b>obviously</b> of transcendence degree $1$ over $\Bbbk$ because $f(x,y)=0$ is a new relation between $x$ and $y$. The prerequisites to this text are basic undergraduate knowledge of algebra and topology. The question was about the obviousness of the above statement. We came up with a proof that only really requires some linear algebra. I found it rather cute. <a href="https://blag.nullteilerfrei.de/2013/05/13/the-function-field-of-a-plane-curve/#more-1877" class="more-link">Do you want to see it?</a>


This glab post is essentially about running a certain shell command remotely on multiple systems within a network that has been set up for public-key authentication. It's a standard task for experienced system administrators I am sure, but for me it was a little adventure in bash scripting &mdash; and I wanted to share it with you. <a href="https://blag.nullteilerfrei.de/2013/05/11/my-quest-for-cpu-power/#more-1806" class="more-link">Do you want to know more?</a>


I wrote a little text that outlines why <a href="/wp-content/uploads/2013/04/vector-bundles.pdf">vector bundles and locally free sheaves</a> are the same thing. This approach is very messy with a lot of gluing, mostly because I did not look at Exercise II.5.18 in Hartshorne right away. The construction given there is much more canonical and preferable over mine. However, I decided to put this online simply <i>because</i> it is different and personally, it gave me a better <i>feeling</i> for why the two notions coincide.


I was riding the backseat of a car, a pal of mine with a large Sudoku book on the seat beside me. I glared over at him and remarked that I find Sudokus utterly boring and would feel that my time is wasted on any of them. He looked up at me, clearly demanding an explanation for that statement. I continued to explain that a computer program could solve a Sudoku with such ease that there is no need for humans to do it. He replied that something similar could be said about chess, but still it's an interesting game. And it was <b>then</b>, that I realized <b>why</b> Sudoku is so horribly boring, and chess is not. It was the fact that I could code a Sudoku solver and solve the Sudoku he was puzzling about, and I would be able to do it faster than it would take him to solve the entire thing by hand. This does not apply to chess, evidently. Of course, I confidently explained this to him. <i>&raquo;Prove it.&laquo;</i>, he said. So I did. <a href="https://blag.nullteilerfrei.de/2013/04/17/why-sudoku-is-boring/#more-1744" class="more-link">Do you want to know more?</a>


Zariski's proof ((Oscar Zariski. <i><a href="http://projecteuclid.org/euclid.bams/1183510605" target"_blank">A new proof of Hilbert's Nullstellensatz</a></i>, Bulletin of the Ameican Mathematical Society Volume 53, Number 4 (1947), 362-368.)) of the Hilbert Nullstellensatz makes use of the ineffable <i>Rabinowitch</i> Trick ((J. L. Rabinowitsch, <i><a href="http://dx.doi.org/10.1007%2FBF01782361">Zum Hilbertschen Nullstellensatz</a></i>, Mathematische Annalen Volume 102, No. 1 (1929), 520.)) (check it out, that has got to be the shortest paper ever). But who <i>is</i> that awesome guy Rabinowitsch? I found out today, and the answer is basically in <a href="http://mathoverflow.net/questions/45195" target="_blank">in this MO post</a>: > Rainich was giving a lecture in which he made use of a clever trick which he had discovered. Someone in the audience indignantly interrupted him pointing out that this was the famous <i>Rabinowitsch</i> trick and berating Rainich for claiming to have discovered it. Without a word Rainich turned to the blackboard, picked up the chalk, and wrote <b>RABINOWITSCH</b>. He then put down the chalk, picked up an eraser and began erasing letters. When he was done what remained was <b>RA<span style="color:transparent">B</span>IN<span style="color:transparent">OW</span>I<span style="color:transparent">TS</span>CH</b>. He then went on with his lecture. Apparently, <a href="http://genealogy.math.ndsu.nodak.edu/id.php?id=7770" target="_blank">George Yuri Rainich</a> is the mysterious stranger that went by the name of Rabinowitsch, which was his birthname ((Bruce P. Palka, <i><a href="http://www.jstor.org/stable/4145290" target="_blank">Editor's Endnotes</a> (May 2004)</i>, The American Mathematical Monthly 111 (5): 456–460)) ((Bruce P. Palka, <i><a href="http://www.jstor.org/stable/4145123" target="_blank">Editor's Endnotes</a> (December 2004)</i>. The American Mathematical Monthly 111 (10): 927–929)). I even updated the <a href="http://en.wikipedia.org/wiki/George_Yuri_Rainich" target="_blank">wikipedia page</a>. Oh right, the reason this even caught my attention: <a href="http://www.math.uiuc.edu/~dan/" target="_blank">Daniel R. Grayson</a> has a <a href="http://www.math.uiuc.edu/~dan/ShortProofs/nullstellen.pdf" target="_blank">really sweet, short proof of the Nullstellensatz</a>, also using the Rainich Trick.


I have a folder `data` with stuff in it. I am not using an Administrator account on my Windows machine, and that folder is supposed to be owned by my user. When you search for how to take ownership of all files and folders in a certain directory recursively, you get told to use `TAKEOWN`, a lot. Well, it has a little catch: You can only really use it to <i>take</i> ownership. Not to <i>give</i> it. A much more giving command is ```bash ICACLS C:\data /setowner rattle /T ``` Oh yea, it's the `/T` switch that makes it recursive.


Harm Derksen <a href="http://www.math.lsa.umich.edu/~hderksen/preprint.html">brachte uns</a> schon im Jahre 1998 die weltschnellste Methode zur Berechnung irreduzibler Charaktere der symmetrischen Gruppe. Aber in seinem preprint, <i>Computing with Characters of the Symmetric Group</i>, bleiben einige Fragen offen, die ich hiermit zu klären versuche. <div style="font-size:160%;font-weight:bold;margin-left:10%;text-align:right"><i>&raquo; The code to end all codes &laquo;</i></div> <p style="margin-left:25%;text-align:right"><i>Die Welt ist einen halben Herzschlag alt. Der unsterbliche Prophet meditiert seit Anbeginn der Laufzeit auf dem <span style="line-height:80%" title="Taj Mahal">তাজমহল</span> und studiert die heiligen 12 Zeilen C-Code, die jede <b>SAT</b> Instanz in $\mathcal{O}(n^{9699690})$ lösen. Wenn der Puls eine Ganzzahl wird, so wird er erwachen und die Wahrheit verkünden, und Lob wird gepriesen, und Licht wird ewig scheinen auf die Kinder des Schaltkreises. Denn er ist der Taktgeber, und an der Spitze des Signals wird es sein, wenn er uns erscheint.</i> <span style="margin-left:auto;text-align:right;display:block">Buch Arithm&aelig;l Circul&aelig;, Vers 21:7</span> <a href="https://blag.nullteilerfrei.de/2013/03/27/characters-of-the-symmetric-group/#more-2570" class="more-link">Wollen Sie mehr wissen?</a></p>


Suppose you have a Laptop, which therefore must be a [ThinkPad](http://www.lenovo.com/products/us/laptop/thinkpad/). Let's also assume that you [use Windows 2008 as a workstation](http://www.win2008workstation.com/), just like [I do](/2012/03/22/turning-windows-2008-r2-into-a-workstation/). Then, you might run into some issues with [Lenovo System Update](http://support.lenovo.com/de_DE/detail.page?LegacyDocID=TVSU-UPDATE). To be precise, it tells you: > An error occurred while gathering user information. Then it stops. I will provide a solution to this problem which is not specific to Windows 2008 R2, and therefore, I hope that my solution will also work for future versions of Windows that are not out-of-the-box supported by SystemUpdate. <a href="https://blag.nullteilerfrei.de/2013/03/09/lenovo-system-update-somewhat-demystified/#more-1587" class="more-link">Do you want to know more?</a>


Trust me, I am not one to enjoy deeply nested case distinctions in a mathematical proof. In fact, I'd rather there were no case distinctions necessary at all. However, to quote the famous mathematician Nikolai Nowaczyk: > Some theorems have beautiful proof - and some theorems are worth fighting for. Anyway. If you have to do it, you should do it in beautiful $\KaTeX$. <a href="https://blag.nullteilerfrei.de/2013/03/07/nested-case-distinctions-in-latex/#more-1565" class="more-link">Do you want to know more?</a>


If you like electronic music, you obviously lurk <a href="http://getworkdonemusic.com" target="_blank">getworkdonemusic.com</a> all the time with <a href="http://jdownloader.org/" target="_blank">jDownloader</a> running, so you can copy <a href="https://soundcloud.com/mitchy-rolle/spacial-rend-mars-edition" target="_blank">the link to any nice track on the air</a> and download it, slowly aquiring a groovy selection of electronic music for the lonely train hours where you have to get work done, offline style. Sometimes, however, these tracks are in <b>wave format</b>, for reasons that are completely beyond me. A quick google search for <a href="http://www.google.com/search?q=convert+WAV+to+MP3" target="_blank"><i>&raquo;convert WAV to MP3&laquo;</i></a> points you towards a huge selection of <a href="http://en.wikipedia.org/wiki/Shareware" target="_blank">shitware</a>, when it could be so much easier: Fire up <a href="http://www.videolan.org/" target="_blank">VLC, the best media player in the world</a> ((This post refers to <b>VLC media player 2.0.5 Twoflower</b>.)) and go * Media, Convert/Save (<b>Ctrl+R</b>) * Add your file to the list. * Click the button that says <b>Convert/Save</b>. * Select a destination file. * Set the profile to <b>Audio - MP3</b> and hit <b>Start</b>. Also, make sure you don't have VLC set to loop, because otherwise it'll spend the next few hours overwriting that file with the same converted MP3 again and again. True story.


After discovering <a href="http://docs.mathjax.org/en/latest/tex.html#action">the toggle command</a> available in <a href="http://mathjax.org">MathJax</a>, I immediately went to <a href="http://tex.stackexchange.com/questions/91104/maction-for-pdf-files">asked the capable people</a> of <a href="http://tex.stackexchange.com/">tex.stackexchange</a> whether this could be done inside a PDF file. And indeed: It can be done! ```Latex \documentclass{article} \usepackage{animate} \begin{document} \begin{animateinline}[step]{1} \strut$x=1$ \newframe \strut$x=2$ \newframe \strut$x=3$ \end{animateinline} \end{document} ``` Now, what do I want with this package? I want to do <a href="http://en.wikipedia.org/wiki/Abstract_nonsense">abstract nonsense</a>. A diagram-based proof should, in my opinion, be a slideshow. You start with the diagram that is your assumption and by simply interacting with the diagram (clicking it), in each step, a new arrow is constructed from some universal property. I wanted to write a neat animated PDF with an abstract nonsense proof of the famous <a href="http://en.wikipedia.org/wiki/Snake_lemma">Snake Lemma</a>, and there is a <a href="http://books.google.com/books/about/Handbook_of_Categorical_Algebra_2.html?id=La3gAAAAMAAJ&redir_esc=y">great book by Francis Borceux</a> containing a proof, but <a href="http://math.stackexchange.com/q/314693/11653">unfortunately, I was unable to overcome a difficulty with the proof</a>, so that will have to wait until someone answers my question.