Hetzner has a webinterface to manage DNS zonefiles. Since their API does not support the management of zonefiles I decided to write a small python script that does the job ((There actually is a perl script that claims to do the same but it has the (long expired) "session id" hard coded I think.)). You can download it on github (use it at your own risk and read the code if you want to be sure). (more…)
I asked a question on mathoverflow, and while researching I stumbled upon a theorem which I did not know before. I consider it quite powerful and the proof is short and sweet, I copied it from this expository paper by Bryden Cais:
Theorem. Let $X$ be a normal, separated, Noetherian scheme and $U\subseteq X$ a nonempty affine open subset. Then, $X\setminus U$ is pure of codimension one.
Proof. We need to show that for each generic point $y\in Y=X\setminus U$, the local ring $\mathcal{O}_{X,y}$ has dimension one. Let $y$ be the generic point of a component of $Y$. Denote by $\mathfrak{m}$ the maximal ideal of the local ring $A:=\mathcal{O}_{X,y}$. Let $S:=\mathrm{Spec}(A)$. The inclusion morphism $f:S\to X$ is affine because $X$ is separated (Lemma 1). Thus, $V:=f^{-1}(U)=S\setminus\{ \mathfrak{m} \}$ is an affine, open subscheme of $S$. The morphism on global sections $A=\mathcal{O}_S(S)\to\mathcal{O}_{V}(V)$, corresponding to the inclusion $V\to S$, is therefore injective. It can not be surjective because $V\ne S$. Pick some $a\in\mathcal{O}_{V}(V)\setminus A$. If we now had $\dim(A)>1$, then the prime ideals of height one $\mathfrak{p}\subseteq A$ would satisfy $\mathfrak{p}\ne\mathfrak{m}$, i.e. they would correspond to points contained in $V$. Consequently, we would have $a\in \mathcal{O}_{V,\mathfrak{p}} = A_{\mathfrak{p}}$. Because $A$ is a normal Noetherian domain, it is the intersection of all localizations at prime ideals of height one - this is Corollary 11.4 in Eisenbud's book. This yields the contradition that $a\in A$.
Lemma 1. If $f:X\to Y$ is a morphism of schemes with $Y$ separated and $X$ affine, then $f$ is an affine morphism.
Proof. This is exercise 3.3.6 in Qing Liu's book. Let $V\subseteq Y$ be an open affine subset. Proposition 3.9(f) in the same book tells you that there is a closed immersion $f^{-1}(V)\cong X\times_Y V\to X\times V$, so $f^{-1}(V)$ is isomorphic to a closed subscheme of an affine scheme, hence affine.
Most of you have probably heard of the new technology under the name 'Spritz' that allegedly enables you to read at a multiple of your usual pace. The concept is neither very new nor very complicated: Whenever we read a text, we do not scan every word, letter by letter, from left to right. Instead we focus on a single point for each word (apparently this point is after roughly one third of the word) and scan the whole thing in one go. So when we read text in the usual way, our eyes have to jump all over the place, trying to focus on the right spots and waste an awful lot of time in the process. The concept of Spritz is that you can focus at a single point on your screen and the app feeds you the words, one by one and in the right position. You can relax and let the words spritz into your eyes at high speed (yes, I went there).
Since the idea is so simple, many different speed-readers (that's the general term that seems to have established itself) were published during the last few weeks. My goal was to find a nice speed-reader extension for my browser. Eventually I was successful and learned quite a bit in the process. As requested I'll guide you through it:
(more…)
I have been commuting between cities quite a lot for quite a while now, and I have given the issue of travel practicability quite a lot of thought. I was urged to share these thoughts, and so I obey. Let's start with the motivation: The worst thing that can happen to me on a trip is to be missing that one essential item, say a charging cable. This happened to me a lot because I usually do not have my charging cable with me at all times. It's at home, where I charge my phone/laptop. The solution for this kind of problem is redundancy.
I present the concept of the onebag: It is the one bag which always contains everything you really need. That essential assortment of items should be in your onebag at all times. Mind you, though: Your onebag contains the items you'll need on every trip, it does not contain every item you will need on a trip. Its purpose is to never leave you pondering if you forgot something important. My onebag is broken down into three levels:
* Level 1: I have a USB stick attached to my key ring which contains all my most precious data. Together with my wallet and my phone, this is level 1. This stuff is with me at all times.
* Level 2: I use an organizer casket for all my electronic devices and cables that I usually need for work, together with my laptop this is level 2. I take these items to work every day, but I do not take them with me when I go out to buy groceries.
* Level 3: A red backpack. It contains duplicate copies of all my charging cables in this cable organizer, hygiene products ((I have been thinking about putting a towel in there, but I never really need one. Hotels and friends give you towels, and one of those is usually where I stay.)), one change of underwear and binbags. Together with levels 1 and 2, this is my onebag.
This is just an example of course. The point is to minimize thinking about "what to pack". If I need to go to another city for 3 days, I grab level 2 and stuff it into the bag, take 3 shirts and 3 changes of underwear and I am essentially done. If you did it right, about 98% of your travel preparations should be as simple as packing the clothes you need for the trip into your onebag. For some trips, you might need an additional bag for more clothes or you might need to pack some items which are very specific to the trip you are about to take: But your essential gear is already in the bag.
I decided to switch to the new design made by Roman for us, even though he protests that it is not finished. After a long sequence of emails, I managed to pester him into letting me fix the remaining technical wordpress issues with several dirty hacks myself, and there we are. This layout is responsive and will work properly on smartphones. Just two months ago, I could not have cared less about such things, but now I have a smartphone myself.
As some of you might know, I got my first mobile device now and started playing around with it. Today, I need to rant, because I lost 79 cents. When you buy an app on the amazon app store, you can no longer use it after you uninstall the amazon app store. Other android users also hate the amazon app store because it is an obnoxious app which is mean and does not let you use apps which you paid for with money after you get rid of the data-leaking abomination it is. Do not use it. I simply bought ownCloud on the humble, trustworthy google play store again. I have no time to deal with amazon over those 79 cents. But I have time to write this scornful post.
Ich habe endlich herausgefunden, wie man auch die letzten merkwürdigen Autovervollständigungen von TexStudio eliminert. Das Problem ensteht vor allem mit deutschen Tastaturen, da man häufig Ctrl+Alt noch gedrückt hat, wenn man die Leertaste betätigt, etwa nachdem man eine schließende, geschweifte Klammer (Ctrl+Alt+0 liefert }) eingegeben hat. Dies hat in der TexStudio Standardkonfiguration zur Folge, dass ein
\begin{
im Text eingefügt wird. Wie schaltet man das aus? So:
* TexStudio konfigurieren
* Tastenkürzel
* Menüs
* Idefix
* Vervollständige
* Den \begin{
Vervollständigungs-Hotkey löschen
Es könnte noch andere Ctrl+Alt-Makros dieser Art geben, die man löschen sollte. Ich werde diesen Post updaten, wenn mir weitere unterkommen.
I was pointed to the cool rsync-backup script which uses cygwin's rsync and hardlinks in NTFS to provide a method for incremental backups which is probably the best I have seen so far. Basically, the effect is as follows: Whenever you backup your data to the backup location (which is somewhere on an NTFS drive), the only actual data that will be copied is for the files that have changed since the last backup. Nevertheless, there will be a new folder in your backup location which contains all files and folders you just backed up. Just: Those that did not change have not been copied, they have just been hardlinked to the old files instead. Now here comes the best part: The actual contents of a file with more than one hardlink to it are deleted only after the last link to it has been removed. Thus, you can delete old backups and the only data that will actually be deleted is the old data, the data that changed in later backups.
Now, I modified the script slightly to better suit my needs. First of all, I only back up a single folder. If you want to backup multiple folders to a single location, move along. This is not for you. Use the original rsync-backup if you wish. Mine is different.
Do you want to know more?
I need to compute the meet of two partitions $\lambda=(\lambda_1,\ldots,\lambda_r)$ and $\mu=(\mu_1,\ldots,\mu_s)$ with respect to the dominance order. It's not a difficult thing to do and might be considered an oddity by most of you, but that doesn't bother me.
Do you want to know more?
I've had an Android phone for quite some time now. I do not want to give *anyone* my personal contacts. However, I want to synchronize my contacts across devices. So I used the *MyPhoneExplorer* to manually sync my contacts between the phone and all my three clients. Since this is a pain in the ass, I was looking for an alternate solution.
Do you want to know how I did it?
I recently bought an Android phone. I do not want to give anyone my calendar data. However, I want to synchronize my calendar across devices. So I did it.
Do you want to know how I did it?