https://stacky.net/wiki/api.php?action=feedcontributions&user=Anton&feedformat=atomstacky wiki - User contributions [en]2022-05-19T02:09:59ZUser contributionsMediaWiki 1.24.4https://stacky.net/wiki/index.php?title=Interview_advice&diff=1447Interview advice2021-06-14T18:28:10Z<p>Anton: </p>
<hr />
<div>Here's some advice I've given people about interviewing for software engineering jobs.<br />
<br />
# Think out loud. The interviewers aren't looking for the right answer (and the questions often don't have one right answer; see (2) below), but for how you think and how you interact with others while solving problems. Thinking out loud also makes it easier for the interviewer to direct the discussion where they want, and to push you in the right direction if you're stuck.<br />
# Talk about tradeoffs. Interviewers will probably ask about this explicitly (e.g. "what if writes are super expensive" or "what if your input is a petabyte"), but you get bonus points for explicitly pointing out the places where you're making some tradeoff, and where you might do it a different way if you had more knowledge about the specific application. Talking about tradeoffs is especially important for really broad design questions (e.g. "how would you design Google search?")<br />
# Brush up on data structures and algorithms. I tell this to people because they tend to over-emphasize becoming super fluent in some language. You will write actual code at the interview, but errors in syntax aren't a big deal (unless you claimed to be a language expert on your resume). Being able to find a good algorithm is worth way more points. Thinking about this stuff also addresses (2) above, because you end up thinking things like "I could have constant time reads and log(n) writes, or log(n) reads and constant time writes ... which do I want?"<br />
# Make sure you can code up a recursion (e.g. any problem with backtracking, or depth-first search of a tree). I was surprised how often it happens that a candidate can describe a recursive algorithm extremely clearly, but then falls apart when asked to code it up.<br />
# Know that hash tables are in practice constant time insertion and lookup, and they're good for detecting duplicates of anything (e.g. if you just need to detect collisions, or if you don't need to keep stuff sorted).</div>Antonhttps://stacky.net/wiki/index.php?title=Interview_advice&diff=1446Interview advice2021-06-14T18:23:27Z<p>Anton: </p>
<hr />
<div>Here's some advice I've given people about interviewing for software engineering jobs.<br />
<br />
# Think out loud. The interviewers aren't looking for the right answer (and the questions often don't have one right answer; see (2) below), but for how you think and how you interact with others while solving problems. Thinking out loud also makes it easier for the interviewer to direct the discussion where they want, and to push you in the right direction if you're stuck.<br />
# Talk about tradeoffs. Interviewers will probably ask about this explicitly (e.g. "what if writes are super expensive" or "what if your input is a petabyte"), but you get bonus points for explicitly pointing out the places where you're making some tradeoff, and where you might do it a different way if you had more knowledge about the specific application. Talking about tradeoffs is especially important for really broad design questions (e.g. "how would you design Google search?")<br />
# Brush up on data structures and algorithms. I tell this to people because they tend to over-emphasize becoming super fluent in some language. You will write actual code at the interview, but errors in syntax aren't a big deal (unless you claimed to be a language expert on your resume). Being able to find a good algorithm is worth way more points. Thinking about this stuff also addresses (2) above, because you end up thinking things like "I could have constant time reads and log(n) writes, or log(n) reads and constant time writes ... which do I want?"<br />
# Make sure you can code up a recursion (e.g. any problem with backtracking, or depth-first search of a tree). I was surprised how often it happens that a candidate can describe a recursive algorithm extremely clearly, but then falls apart when asked to code it up. Also make sure you use a hash table whenever possible (e.g. if you just need to detect collisions, or if you don't need to keep stuff sorted).<br />
# Know that hash tables are in practice constant time insertion and lookup, and they're good for detecting duplicates of anything.</div>Antonhttps://stacky.net/wiki/index.php?title=Interview_advice&diff=1445Interview advice2021-06-14T18:22:31Z<p>Anton: </p>
<hr />
<div>Here's some advice I've given people about interviewing for software engineering jobs.<br />
<br />
# Think out loud. The interviewers aren't looking for the right answer (and the questions often don't have one right answer; see (2) below), but for how you think and how you interact with others while solving problems. Thinking out loud also makes it easier for the interviewer to direct the discussion where they want, and to push you in the right direction if you're stuck.<br />
# Talk about tradeoffs. Interviewers will probably ask about this explicitly (e.g. "what if writes are super expensive" or "what if your input is a petabyte"), but you get bonus points for explicitly pointing out the places where you're making some tradeoff, and where you might do it a different way if you had more knowledge about the specific application. Talking about tradeoffs is especially important for really broad design questions (e.g. "how would you design Google search?")<br />
# Brush up on data structures and algorithms. I tell this to people because they tend to over-emphasize becoming super fluent in some language. You will write actual code at the interview, but errors in syntax aren't a big deal (unless you claimed to be a language expert on your resume). Being able to find a good algorithm is worth way more points. Thinking about this stuff also addresses (1), because you end up thinking things like "I could have constant time reads and log(n) writes, or log(n) reads and constant time writes ... which do I want?"<br />
# Make sure you can code up a recursion (e.g. any problem with backtracking, or depth-first search of a tree). I was surprised how often it happens that a candidate can describe a recursive algorithm extremely clearly, but then falls apart when asked to code it up. Also make sure you use a hash table whenever possible (e.g. if you just need to detect collisions, or if you don't need to keep stuff sorted).<br />
# Know that hash tables are in practice constant time insertion and lookup, and they're good for detecting duplicates of anything.</div>Antonhttps://stacky.net/wiki/index.php?title=Interview_advice&diff=1444Interview advice2021-06-10T15:18:52Z<p>Anton: </p>
<hr />
<div>(0) Think out loud. The interviewers aren't looking for the right answer (and the questions often don't have one right answer; see (1) below), but for how you think and how you interact with others while solving problems. Thinking out loud also makes it easier for the interviewer to direct the discussion where they want, and to push you in the right direction if you're stuck.<br />
<br />
(1) Talk about tradeoffs. Interviewers will probably ask about this explicitly (e.g. "what if writes are super expensive" or "what if your input is a petabyte"), but you get bonus points for explicitly pointing out the places where you're making some tradeoff, and where you might do it a different way if you had more knowledge about the specific application. Talking about tradeoffs is especially important for really broad design questions (e.g. "how would you design Google search?")<br />
<br />
(2) Brush up on data structures and algorithms. I tell this to people because they tend to over-emphasize becoming super fluent in some language. You will write actual code at the interview, but errors in syntax aren't a big deal (unless you claimed to be a language expert on your resume). Being able to find a good algorithm is worth way more points. Thinking about this stuff also addresses (1), because you end up thinking things like "I could have constant time reads and log(n) writes, or log(n) reads and constant time writes ... which do I want?"<br />
<br />
(3) Make sure you can code up a recursion (e.g. any problem with backtracking, or depth-first search of a tree). I was surprised how often it happens that a candidate can describe a recursive algorithm extremely clearly, but then falls apart when asked to code it up. Also make sure you use a hash table whenever possible (e.g. if you just need to detect collisions, or if you don't need to keep stuff sorted).<br />
<br />
(4) Know that hash tables are in practice constant time insertion and lookup, and they're good for detecting duplicates of anything.</div>Antonhttps://stacky.net/wiki/index.php?title=Interview_advice&diff=1443Interview advice2021-06-10T15:17:18Z<p>Anton: Created page with "(0) Think out loud. The interviewers aren't looking for the right answer (and the questions often don't have one right answer; see (1) below), but for how you think and how yo..."</p>
<hr />
<div>(0) Think out loud. The interviewers aren't looking for the right answer (and the questions often don't have one right answer; see (1) below), but for how you think and how you interact with others while solving problems. Thinking out loud also makes it easier for the interviewer to direct the discussion where they want, and to push you in the right direction if you're stuck.<br />
<br />
(1) Talk about tradeoffs. Interviewers will probably ask about this explicitly (e.g. "what if writes are super expensive" or "what if your input is a petabyte"), but you get bonus points for explicitly pointing out the places where you're making some tradeoff, and where you might do it a different way if you had more knowledge about the specific application. Talking about tradeoffs is especially important for really broad design questions (e.g. "how would you design Google search?")<br />
<br />
(2) Brush up on data structures and algorithms. I tell this to people because they tend to over-emphasize becoming super fluent in some language. You will write actual code at the interview, but errors in syntax aren't a big deal (unless you claimed to be a language expert on your resume). Being able to find a good algorithm is worth way more points. Thinking about this stuff also addresses (1), because you end up thinking things like "I could have constant time reads and log(n) writes, or log(n) reads and constant time writes ... which do I want?"<br />
<br />
(3) Make sure you can code up a recursion (e.g. any problem with backtracking, or depth-first search of a tree). I was surprised how often it happens that a candidate can describe a recursive algorithm extremely clearly, but then falls apart when asked to code it up. Also make sure you use a hash table whenever possible (e.g. if you just need to detect collisions, or if you don't need to keep stuff storted).<br />
<br />
(4) Know that hash tables are in practice constant time insertion and lookup, and they're good for detecting duplicates of anything.</div>Antonhttps://stacky.net/wiki/index.php?title=Toric_Geometry_Seminar&diff=1442Toric Geometry Seminar2021-02-19T18:48:16Z<p>Anton: update link</p>
<hr />
<div>Sign up for the mailing list [https://hermes.ugcs.caltech.edu/cgi-bin/mailman/listinfo/toric here].<br />
<br />
We meet on <b>Wednesdays at 4pm in Sloan 159</b>.<br />
<br />
== About Toric Varieties ==<br />
<br />
A toric variety is a normal variety $X$ with a dense open algebraic torus $T\subseteq X$ so that $T$ acts on $X$ (in a way that extends $T$'s action on itself). People often imagine fixing $T$ (i.e. fixing a dimension), and then considering various ways of "partially compactifying" it to a toric variety. $T$ can be used to "sniff out" properties of $X$. For example, a regular function on $X$ restricts to a regular function on $T$. We (will) understand regular functions on $T$ very well, so a natural question to ask is, "which regular functions on $T$ come from regular functions on $X$?" By asking and answering these types of questions, one can show that toric varieties are <b>determined by a combinatorial wigit</b>, called a fan.<br />
<br />
Much of toric geometry is devoted to building the dictionary between the combinatorics of fans (which are easy to think about) and the geometry of the corresponding toric varieties (which, at least initially, are hard to think about). The advantage of having such a dictionary at your command is that it allows you to quickly generate examples and perform calculations. Even if you are thinking about problems on non-toric varieties, working a few toric examples often reveals key insights. This approach is used to crack hard problems in algebraic geometry, but can also be used when learning the basics of the field.<br />
<br />
==Schedule==<br />
<br />
{| cellpadding="4"<br />
|-<br />
| '''Date'''<br />
| '''Speaker'''<br />
| '''Topic'''<br />
| '''Additional Resources'''<br />
|-<br />
| Oct. 5<br />
| Chris Perez<br />
| Affine Toric Varieties<br />
|-<br />
| Oct. 12<br />
| Zeb Brady<br />
| Toric Varieties and Fans<br />
|-<br />
| Oct. 19<br />
| Jeff Manning<br />
| Orbit-Cone Correspondence<br />
|-<br />
| Oct. 26<br />
| Brian Hwang<br />
| Toric Morphisms<br />
|-<br />
| Nov. 2<br />
| Dori Bejleri<br />
| Divisors<br />
|-<br />
| Nov. 9<br />
| Dori Bejleri<br />
| Divisors on Toric Varieties<br />
|-<br />
| Nov. 16<br />
| Michel van Garrel<br />
| Line Bundles<br />
|-<br />
| Nov. 23<br />
| Michel van Garrel<br />
| More on Line Bundles<br />
|-<br />
| Nov. 30<br />
| Gjergji Zaimi<br />
| Polytopes<br />
|-<br />
| Dec. 6<br />
| Gjergji Zaimi<br />
| Polytopes<br />
|-<br />
| Jan. 18<br />
| Dori Bejleri<br />
| Blow-ups, resolution of singularities<br />
|-<br />
| Jan. 25<br />
| Ryan<br />
| Properness, Chow's lemma<br />
|-<br />
| Feb. 1<br />
| Anton<br />
| Cox construction<br />
|-<br />
| Feb. 8<br />
| Gjergji<br />
| Topology of toric varieties<br />
|-<br />
| Feb. 22<br />
| Gjergji<br />
| Moment map<br />
|-<br />
| Feb. 29<br />
| Brian Hwang<br />
| The Symplectic Viewpoint (Toric Manifolds) <br />
|-<br />
| Future<br />
| ? <br />
| Tropical Geometry<br />
|-<br />
| Future<br />
| ?<br />
| Differential forms, Canonical sheaf<br />
|}<br />
<br />
== Possible Topics ==<br />
<br />
* affine toric varieties<br />
* building a fan out of a toric variety<br />
* building a toric variety out of a fan<br />
* toric morphisms<br />
* the orbit-cone correspondence<br />
* Weil divisors, computing the class group<br />
* Cartier divisors, line bundles, and their polytopes<br />
* How to tell if a linear system is big, nef, ample, base-point free, etc?<br />
* the Cox construction<br />
* cohomology<br />
* relation between tropical geometry and toric geometry.<br />
* toric geometry and Ehrhart polynomials<br />
* the moment map<br />
<br />
* smoothness<br />
* simplicialness<br />
* properness of a map<br />
* fiber bundles<br />
* blow-ups<br />
<br />
A list of abstracts from a toric geometry seminar at UC Berkeley years ago: [http://math.mit.edu/~ssam/toricseminar.pdf]<br />
<br />
== Questions ==<br />
<br />
* Is Chow's lemma for toric varieties clear? That is, given a fan, can it always be made dual to a polytope by subdividing some of the cones?<br />
* [http://gjergjizaimi.wordpress.com/2011/10/09/toric-sets-and-affine-toric-varieties-i/ When is a toric set an affine toric variety?]<br />
<br />
[http://mathoverflow.net/questions/tagged/toric-varieties MathOverflow questions] about toric varieties.<br />
<br />
== References ==<br />
<br />
* Cox, Little, and Schenck: [http://www.cs.amherst.edu/~dac/toric.html Toric Varieties]<br />
* Fulton: [http://www.amazon.com/Introduction-Varieties-AM-131-William-Fulton/dp/0691000492 Introduction to Toric Varieties]<br />
* Mircea Mustaţă's [http://www.math.lsa.umich.edu/~mmustata/toric_var.html lecture notes on toric varieties]<br />
* Tadao Oda's [http://www.amazon.com/Convex-Bodies-Algebraic-Geometry-Introduction/dp/0387176004 Convex Bodies and Algebraic Geometry]<br />
* [http://www-fourier.ujf-grenoble.fr/~bonavero/articles/ecoledete/ecoledete.html Ecole d'Eté 2000 : Géométrie des variétés toriques]<br />
<br />
I (Anton) prepared [https://stacky.net/files/written/toric.pdf two talks] on toric varieties for a student seminar several years ago. At the time, I knew very little about toric varieties, and preparing these talks really laid the foundations for me. The notes were meant for my eyes only, so they may be difficult to make sense of, but if you can make sense of them (I can try to help), they're a nice 4-page summary of the basics.<br />
<br />
[http://ifile.it/anbie1/ebooksclub.org__toric_varieties.pdf .]<br />
<br />
[[Category:Course Page]]</div>Antonhttps://stacky.net/wiki/index.php?title=Working_with_MediaWiki&diff=1441Working with MediaWiki2021-01-12T00:39:07Z<p>Anton: /* Citations/references */</p>
<hr />
<div>Magic pages: [[MediaWiki:Mainpage]] [[MediaWiki:Sitenotice]] [[MediaWiki:Common.css]]<br />
<br />
== Edit sidebar ==<br />
[[Mediawiki:Sidebar]]<br />
<br />
== Hide toolbox unless logged in ==<br />
Originally used [http://wiki.fishcakes.biz/MediaWiki_Look_And_Feel?title=MediaWiki_Look_And_Feel#Hiding_the_Toolbox_from_Anonymous_Users], but the structure changed with an upgrade. For Vector.php, add the following in renderPortals:<br />
if ( !$this->data['loggedin']) { $portals['TOOLBOX'] = false; }<br />
Leaving WPtouch.php alone ... looks like the same idea doesn't work since data['loggedin'] doesn't get set.<br />
<br />
== Getting MathJax Working ==<br />
<br />
I'm now using jsdelivr CDN for MathJax, following the recommendation in the MathJax documentation [http://docs.mathjax.org/en/latest/web/configuration.html#configuring-and-loading-in-one-script here], putting everything into [[MediaWiki:Common.js]], which is run on every page.<br />
<br />
<br />
=== Older MathJax ===<br />
I got MathJax: <code>git clone git://github.com/mathjax/MathJax.git MathJax</code><br />
<br />
<del>Using [http://www.mediawiki.org/wiki/Extension:MathJax MathJax extension]</del> Went back to old solution; MathJax extension hiccupped.<br />
<br />
old solution:<br />
<blockquote><br />
I installed the JavaScript extension[http://www.mediawiki.org/wiki/Extension:Javascript] for MediaWiki.<br />
<br />
I added a file <code>mathjax.js</code> (name doesn't matter) to <code>extensions/JavaScript</code>. It's content:<br />
<code><pre><br />
var e = document.createElement('script');<br />
e.type = "text/javascript";<br />
e.src = "/MathJax/MathJax.js?config=wikiconfig";<br />
document.getElementsByTagName('head')[0].appendChild(e);<br />
</pre></code><br />
<br />
(I basically copied the MathJax configuration file used at MO ... got confused because you have to remember to modify the last line)<br />
</blockquote><br />
<br />
== (Not) Getting Blahtex Working ==<br />
<br />
It'd be much nicer to get MediaWiki to serve MathML and use MathJax to convert only if it has to, but I haven't been able to get Blahtex[http://www.mediawiki.org/wiki/Blahtex] to compile. I've been trying to follow the instructions here [http://www.mediawiki.org/wiki/Extension:Blahtex/Embedding_Blahtex_in_MediaWiki]. I'm able to checkout blahtex and to get texvc working, but if I try <code>make</code> or <code>make linux</code>, I get<br />
<code><pre><br />
g++ -O3 -c -o source/main.o source/main.cpp<br />
source/main.cpp: In function ‘void ShowUsage()’:<br />
source/main.cpp:108: error: ‘exit’ was not declared in this scope<br />
make: *** [source/main.o] Error 1<br />
</pre></code><br />
<br />
==Moving html to wiki==<br />
A useful substitution:<br />
<code><pre><br />
<a href="([^"]*)"[^>]*>([^<]*)</a><br />
[\1 \2]<br />
</pre></code><br />
<br />
==Handling Spam==<br />
See http://www.mediawiki.org/wiki/Manual:Combating_spam<br />
<br />
Using [http://www.mediawiki.org/wiki/Extension:SpamBlacklist SpamBlacklist] extension. Using blacklists at [http://meta.wikimedia.org/wiki/Spam_blacklist meta.wikimedia] and [http://en.wikipedia.org/wiki/MediaWiki:Spam-blacklist wikipedia], and adding additional blacklisted urls to [[MediaWiki:Spam-blacklist]] as needed.<br />
<br />
Also installed the [http://www.mediawiki.org/wiki/Extension:User_Merge_and_Delete UserMerge] extension so that I can delete junk users. In extensions directory,<br />
svn co http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/UserMerge<br />
<br />
Started using [http://www.mediawiki.org/wiki/Extension:ConfirmEdit CAPTCHAs]:<br />
svn co http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/ConfirmEdit<br />
Change text of the [[Special:Captcha/help]] at [[MediaWiki:Captchahelp-text]] (more generally, various bits of text are configurable through the [[Special:AllMessages]] page).<br />
<br />
Was getting spam even when using ReCaptcha ... switched to Questycaptcha. Still got spam, but with no links, so added<br />
$wgCaptchaTriggers['edit'] = true; <br />
$wgCaptchaTriggers['create'] = true;<br />
<br />
Still getting spam users created pretty regularly (every two weeks?), so I'm disabling user creation with<br />
$wgGroupPermissions['*']['createaccount'] = false;<br />
Editing [[MediaWiki:Loginprompt]] to reflect that you need to contact me to create a user. To create a new user, visit [[Special:UserLogin]] while logged in.<br />
<br />
==Sitemap==<br />
<br />
Followed instructions [http://www.mediawiki.org/wiki/Manual:GenerateSitemap.php#Example here] and pointed google webmasters to stacky.net/wiki/sitemap/ ... google complains the sitemap is html, so pointed to http://stacky.net/wiki/sitemap/sitemap-index-stacky_net_3-wiki_.xml instead. Still not working.<br />
<br />
Okay, looking at [http://www.mediawiki.org/wiki/Manual_talk:GenerateSitemap.php Manual_talk:GenerateSitemap.php], it looks like the following thing should work. I've modified the <code>indexEntry</code> function in <code>$IP/maintenence/GenerateSitemap.php</code> as follows:<br />
<pre><br />
407c407<br />
< "\t\t<loc>$filename</loc>\n" .<br />
> "\t\t<loc>http://stacky.net/wiki/sitemap/$filename</loc>\n" .<br />
</pre><br />
Regenerating with<br />
<pre><br />
php maintenance/generateSitemap.php --server http://stacky.net --urlpath http://stacky.net/wiki<br />
</pre><br />
Great, that seems to make google happy. Adding daily cron job through web panel.<br />
<br />
=Templates=<br />
Added ParserFunctions extension to allow flow control in templates.<br />
<br />
=Error creating thumbnails=<br />
This error didn't used to appear, but now does. Enabling logging, I see the following behavior when I try to produce a 45px wide version of New.jpg:<br />
<br />
<pre><br />
File::transform: Doing stat for /home/ageraschenko/stacky.net/wiki/images/thumb/2/2d/New.jpg/45px-New.jpg<br />
BitmapHandler::doTransform: creating 45x38 thumbnail at /home/ageraschenko/stacky.net/wiki/images/thumb/2/2d/New.jpg/45px-New.jpg<br />
BitmapHandler::doTransform: scaler im<br />
BitmapHandler::doTransform: running ImageMagick: '/usr/bin/convert' -quality 80 -background white -size 45 '/home/ageraschenko/stacky.net/wiki/images/2/2d/New.jpg' -thumbnail '45x38!' -set comment 'File source: http://stacky.net/wiki/index.php?title=File:New.jpg' -depth 8 -sharpen '0x0.4' '/home/ageraschenko/stacky.net/wiki/images/thumb/2/2d/New.jpg/45px-New.jpg' 2>&1<br />
wfShellExec: '/home/ageraschenko/stacky.net/wiki/bin/ulimit4.sh' 180 102400 102400 ''\''/usr/bin/convert'\'' -quality 80 -background white -size 45 '\''/home/ageraschenko/stacky.net/wiki/images/2/2d/New.jpg'\'' -thumbnail '\''45x38!'\'' -set comment '\''File source: http://stacky.net/wiki/index.php?title=File:New.jpg'\'' -depth 8 -sharpen '\''0x0.4'\'' '\''/home/ageraschenko/stacky.net/wiki/images/thumb/2/2d/New.jpg/45px-New.jpg'\'' 2>&1'<br />
thumbnail failed on grumium: error 2 "" from "'/usr/bin/convert' -quality 80 -background white -size 45 '/home/ageraschenko/stacky.net/wiki/images/2/2d/New.jpg' -thumbnail '45x38!' -set comment 'File source: http://stacky.net/wiki/index.php?title=File:New.jpg' -depth 8 -sharpen '0x0.4' '/home/ageraschenko/stacky.net/wiki/images/thumb/2/2d/New.jpg/45px-New.jpg' 2>&1"<br />
</pre><br />
<br />
Weirdly, commenting out the line<br />
$wgUseImageMagick = true;<br />
in <code>LocalSettings.php</code> seems to fix the problem.<br />
<br />
=Finding Broken Links=<br />
Using the [http://www.mediawiki.org/wiki/Extension:BrokenLinks BrokenLinks] extension, but it seems dodgy ... often the links it objects to work just fine.<br />
<br />
Also handy: [http://validator.w3.org/check?uri=http%3A%2F%2Fstacky.net%2F&charset=%28detect+automatically%29&doctype=Inline&group=0&user-agent=W3C_Validator%2F1.2 XHTML validator] [http://validator.w3.org/checklink?uri=http%3A%2F%2Fstacky.net%2F&hide_type=all&recursive=on&depth=&check=Check link checker]<br />
<br />
=Restricted access to certain pages=<br />
[http://www.mediawiki.org/wiki/Category:Page_specific_user_rights_extensions]<br />
<br />
= [Not working] Citations/references =<br />
<br />
I tried cloning [https://github.com/wikimedia/mediawiki-extensions-Cite], but it doesn't work, probably because this version of MediaWiki is so old.<br />
<br />
== old Cite ==<br />
Trunk of svn repo doesn't seem to work. Did this instead, as recommended at [http://www.mediawiki.org/wiki/Extension:Cite/Cite.php]<br />
wget http://upload.wikimedia.org/ext-dist/Cite-MW1.16-r62678.tar.gz<br />
tar -xzf Cite-MW1.16-r62678.tar.gz -C /var/www/mediawiki/extensions<br />
<br />
= Setting up knotica =<br />
<br />
Have knotica add a CNAME record pointing "@" to "knotica.stacky.net". Have dreamhost fully host "knotica.sheafy.net". Mirror "knotica.com" at "knotica.sheafy.net".<br />
<br />
One-click install mediawiki to "knotica.stacky.net/wiki".<br />
<br />
= Setting up mail =<br />
<br />
[http://www.mediawiki.org/wiki/Manual_talk:$wgSMTP#Example_using_Google_Mail]<br />
<br />
$wgSMTP = array(<br />
'host' => 'ssl://smtp.gmail.com',<br />
'IDHost' => 'mydomain.com',<br />
'port' => 465,<br />
'username' => 'webmaster@mydomain.com', ## or info@mydomain.com, or whatever email account you've set up for your Mediawiki installation<br />
'password' => 'emailpasswordforwebmaster',<br />
'auth' => true<br />
);<br />
<br />
= Mobile support =<br />
Tried [http://www.mediawiki.org/wiki/Extension:MobileFrontend MobileFrontend extension], but it gives me errors. In extensions directory,<br />
git clone https://gerrit.wikimedia.org/r/p/mediawiki/extensions/MobileFrontend.git<br />
then in LocalSettings<br />
require_once("$IP/extensions/MobileFrontend/MobileFrontend.php");<br />
$wgMFAutodetectMobileView = true;<br />
<br />
Trying again, using instructions at [http://www.fclose.com/4693/how-to-set-mobile-skin-for-mediawiki/].<br />
wget http://www.memorydeleted.com/mediawiki/skins/WPtouch_1.18_and_later.zip<br />
unzip WPtouch_1.18_and_later.zip<br />
put <code>WPtouch.php</code> and <code>wptouch/</code> into <code>skins/</code>. Edit LocalSettings to say<br />
if (preg_match("/(mobile|webos|opera mini)/i", $_SERVER['HTTP_USER_AGENT'])) {<br />
// Different file cache dir for mobile devices<br />
$wgCacheDirectory = "$IP/cache_mobile";<br />
// Mobile skin<br />
$wgDefaultSkin = 'wptouch';<br />
} else {<br />
// normal skin<br />
$wgDefaultSkin = "vector";<br />
}<br />
Create cache_mobile dir with same permissions as cache dir and "Deny from all" .htaccess file.<br />
<br />
In <code>WPtouch.php</code>, replace <code>/apple-touch-icon.png</code> with <code>/wiki/favicon.ico</code>.</div>Antonhttps://stacky.net/wiki/index.php?title=Non-(affine_line)s&diff=1440Non-(affine line)s2021-01-12T00:19:00Z<p>Anton: fix typo /* A smooth non-(affine line) DM stack with non-separated diagonal */</p>
<hr />
<div>This is my collection of examples of algebraic spaces and stacks that look something like $\AA^1$. If you like the affine line with a doubled origin, and the stack $[\AA^1/\mu_2]$, you've found the right place.<br />
<br />
= Non-(affine line) spaces with various singularities at the origin =<br />
<br />
Gluing two copies of $\AA^1$ along the complement of the origin gives the usual line with a doubled origin. An example in the introduction of Knutson<ref name="knutson">Knutson, [http://books.google.com/books/about/Algebraic_spaces.html?id=eqIZAQAAIAAJ Algebraic Spaces]</ref> is the "affine line with a doubled tangent direction", obtained by taking two intersecting lines $C=V(y^2-x^2)$, considering the $\ZZ/2$-action which negates $y$, "removing the action at the origin," and taking the algebraic space quotient. More precisely, take the algebraic space quotient by the relation $R=C\sqcup C'\rightrightarrows C$, where $C'$ is the complement of the origin in $C$, and the two maps $C'\to C$ are given by the inclusion and the inclusion followed by negating $x$. The result looks like a line, but with a "doubled tangent direction" at the origin since it has an étale cover by two intersecting lines.<br />
<br />
An alternative description of this example is to let $C$ be $V(y^2-x^2)$ ''with a doubled origin'', and let $\ZZ/2$ act by negating $x$ and swapping the two origins. Then the affine line with a doubled tangent direction is the algebraic space $C/(\ZZ/2)$.<br />
<br />
'''Example.''' Generalizing the above example, we can consider the action of $\ZZ/2$ on $V(y^n-x^2)$ with a doubled origin. The space quotient is an affine line with a higher (tac)node (if $n$ is even) or higher cusp (if $n$ is odd) at the origin. More generally, any singularity of the form $f(y)-x^k$ can appear on a tweaked copy of the affine line by "$k$-folding up" the points where $x=0$ and acting by $\ZZ/k$. (Assuming we're working over a base where $\ZZ/k$ is isomorphic to $\mu_k$)<br />
<br />
'''Example.''' All the above singularities can appear on Deligne-Mumford stacks with coarse space $\AA^1$. Just don't introduce nonseparatedness: $[V(f(y)-x^k)/(\ZZ/k)]$.<br />
<br />
'''Example''' (space or stack with a ''non-lci'' singularity at the origin)'''.''' Let $C$ be the union of the coordinate axes in $\AA^3$, and let $\ZZ/3$ act by cyclic permutation of the three coordinates. Then $[C/(\ZZ/3)]$ (resp. the algebraic space obtained by tripling the origin in $C$ before quotienting) is a non-(affine line) stack (resp. algebraic space). The interesting thing about this example is that the singularity is not a local complete intersection singularity.<br />
<br />
= $\AA^1_\RR$ with a complex origin and various bug eyes =<br />
<br />
Knutson<ref name="knutson"/> explains the following procedure for doing an "étale extension along a closed subscheme." Suppose $X\to Y$ is an étale morphism, $Z\subseteq Y$ is a closed subscheme, and $R=X\times_Y X$. Then $Y=X/R$. Since $X\to Y$ is \'etale, $R$ is the disjoint union of the diagonal and some other stuff: $R=X\sqcup R_0$. We can then remove the part of the relation responsible for gluing together points in the fiber over $Z$ by replacing $R_0$ by $R_0'=R_0\times_Y (Y\smallsetminus Z)$. Then $R'=X\sqcup R_0'$ is an étale relation on $X$. The algebraic space quotient $Y'=X/R'$ has a morphism to $Y$ which is an isomorphism over the complement of $Z$, but $Y'\times_Y Z\cong X\times_Y Z$.<br />
<br />
Applying this to the case $Y=\AA^1_\RR$, $X=\AA^1_\CC$, and $Z=\{0\}$, we get an algebraic space $Y'$ which looks like $\AA^1_\RR$, except the residue field at the origin is $\CC$.<br />
<br />
It's also possible to do non-étale extensions along closed subschemes. For example, the squaring map $\AA^1\to \AA^1$ is étale away from the origin. We can modify the induced relation on $\AA^1$ to make it étale: consider $\AA^1\sqcup (\AA^1\setminus 0)\rightrightarrows \AA^1$, where the first copy is the diagonal, and the second copy is $x\mapsto x$ and $x\mapsto -x$. The quotient is the "bug-eyed" cover of $\AA^1$. An alternative description: let $\ZZ/2$ act on the non-separated line by $x\mapsto -x$ and switching the two origins, and consider the quotient. The same trick can be done with any of the non-(affine line)s in the previous section.<br />
<br />
= A smooth non-(affine line) DM stack with non-separated diagonal =<br />
<br />
Consider the relative group $(\ZZ/2)\times \AA^1$ over $\AA^1$. Then $H=\AA^1\sqcup (\AA^1\smallsetminus \{0\})$ is an open subgroup. The quotient $G=(\ZZ/2\times \AA^1)/H$ is the affine line with a doubled origin, regarded as a group over $\AA^1$.<br />
<br />
'''Remark.''' Matsushima's theorem (Theorem 12.15 of Alper<ref>Alper, [http://arxiv.org/abs/0804.2242 Good moduli spaces for Artin stacks]</ref>) says that a subgroup of a linearly reductive group is linearly reductive if and only if the quotient space is affine. Since $G$ is not affine, this shows that $H$ is not linearly reductive. In particular, this shows that linear reductivity of a relative group cannot be checked on fibers.<br />
<br />
Now $B_{\AA^1}G$ is a smooth DM stack with a single stacky point with residual gerbe $B(\ZZ/2)$. However, it has ''non-separated diagonal'', so it is not isomorphic to the usual $[\AA^1/(\ZZ/2)]$, with the action given by negation of the coordinate.<br />
<br />
= Some smooth non-(affine line) Artin stacks =<br />
<br />
Consider the action of $\GG_m$ on $\AA^2$ given by $t\cdot (x,y)=(tx,t^{-1}y)$. Then $[\AA^2/\GG_m]$ (which I would denote $[\AA^2/_{\begin{pmatrix}1& -1\end{pmatrix}}\GG_m]$) has good moduli space $\AA^1$, but contains a dense open copy of the non-separated line (namely $[(\AA^2\smallsetminus \{0\})/_{\begin{pmatrix}1& -1\end{pmatrix}}\GG_m]$). The non-separatedness disappears in the coarse space because there is a $B\GG_m$ which both origins specialize to.<br />
<br />
By considering a the weight $\begin{pmatrix}a& -b\end{pmatrix}$ action of $\GG_m$ on $\AA^2$ for positive integers $a$ and $b$ (instead of the weight $\begin{pmatrix}1& -1\end{pmatrix}$ action), we get a similar stack, but where the two origins have stabilizers $\mu_a$ and $\mu_b$.<br />
<br />
In Kresch's [http://www.math.uzh.ch/fileadmin/user/kresch/publikation/contr.pdf Flattening stratification and the stack of partial stabilisations of prestable curves], he builds a very interesting stack: the quotient of $\X=[(\AA^2\smallsetminus \{0\})/_{\begin{pmatrix}1& -1\end{pmatrix}}\GG_m]$ by the &eacute;tale relation $\AA^1\rightrightarrows \X$ given by the two open immersions. The quotient is a smooth stack with a dense open substack isomorphic to $\AA^1$, whose complement is a closed substack of codimension 2. Interestingly, this stack has no non-trivial vector bundles, since sections of a vector bundle extend across codimension 2 on a normal stack. When any vector bundle is restricted to the copy of $\AA^1$, it has trivializing sections which extend to trivialize the whole bundle. Therefore, this stack is not a quotient stack!<br />
<br />
<references/><br />
<br />
[[Category:Blog]] [[Category:Note]]</div>Antonhttps://stacky.net/wiki/index.php?title=Working_with_MediaWiki&diff=1439Working with MediaWiki2021-01-12T00:12:08Z<p>Anton: /* Getting MathJax Working */</p>
<hr />
<div>Magic pages: [[MediaWiki:Mainpage]] [[MediaWiki:Sitenotice]] [[MediaWiki:Common.css]]<br />
<br />
== Edit sidebar ==<br />
[[Mediawiki:Sidebar]]<br />
<br />
== Hide toolbox unless logged in ==<br />
Originally used [http://wiki.fishcakes.biz/MediaWiki_Look_And_Feel?title=MediaWiki_Look_And_Feel#Hiding_the_Toolbox_from_Anonymous_Users], but the structure changed with an upgrade. For Vector.php, add the following in renderPortals:<br />
if ( !$this->data['loggedin']) { $portals['TOOLBOX'] = false; }<br />
Leaving WPtouch.php alone ... looks like the same idea doesn't work since data['loggedin'] doesn't get set.<br />
<br />
== Getting MathJax Working ==<br />
<br />
I'm now using jsdelivr CDN for MathJax, following the recommendation in the MathJax documentation [http://docs.mathjax.org/en/latest/web/configuration.html#configuring-and-loading-in-one-script here], putting everything into [[MediaWiki:Common.js]], which is run on every page.<br />
<br />
<br />
=== Older MathJax ===<br />
I got MathJax: <code>git clone git://github.com/mathjax/MathJax.git MathJax</code><br />
<br />
<del>Using [http://www.mediawiki.org/wiki/Extension:MathJax MathJax extension]</del> Went back to old solution; MathJax extension hiccupped.<br />
<br />
old solution:<br />
<blockquote><br />
I installed the JavaScript extension[http://www.mediawiki.org/wiki/Extension:Javascript] for MediaWiki.<br />
<br />
I added a file <code>mathjax.js</code> (name doesn't matter) to <code>extensions/JavaScript</code>. It's content:<br />
<code><pre><br />
var e = document.createElement('script');<br />
e.type = "text/javascript";<br />
e.src = "/MathJax/MathJax.js?config=wikiconfig";<br />
document.getElementsByTagName('head')[0].appendChild(e);<br />
</pre></code><br />
<br />
(I basically copied the MathJax configuration file used at MO ... got confused because you have to remember to modify the last line)<br />
</blockquote><br />
<br />
== (Not) Getting Blahtex Working ==<br />
<br />
It'd be much nicer to get MediaWiki to serve MathML and use MathJax to convert only if it has to, but I haven't been able to get Blahtex[http://www.mediawiki.org/wiki/Blahtex] to compile. I've been trying to follow the instructions here [http://www.mediawiki.org/wiki/Extension:Blahtex/Embedding_Blahtex_in_MediaWiki]. I'm able to checkout blahtex and to get texvc working, but if I try <code>make</code> or <code>make linux</code>, I get<br />
<code><pre><br />
g++ -O3 -c -o source/main.o source/main.cpp<br />
source/main.cpp: In function ‘void ShowUsage()’:<br />
source/main.cpp:108: error: ‘exit’ was not declared in this scope<br />
make: *** [source/main.o] Error 1<br />
</pre></code><br />
<br />
==Moving html to wiki==<br />
A useful substitution:<br />
<code><pre><br />
<a href="([^"]*)"[^>]*>([^<]*)</a><br />
[\1 \2]<br />
</pre></code><br />
<br />
==Handling Spam==<br />
See http://www.mediawiki.org/wiki/Manual:Combating_spam<br />
<br />
Using [http://www.mediawiki.org/wiki/Extension:SpamBlacklist SpamBlacklist] extension. Using blacklists at [http://meta.wikimedia.org/wiki/Spam_blacklist meta.wikimedia] and [http://en.wikipedia.org/wiki/MediaWiki:Spam-blacklist wikipedia], and adding additional blacklisted urls to [[MediaWiki:Spam-blacklist]] as needed.<br />
<br />
Also installed the [http://www.mediawiki.org/wiki/Extension:User_Merge_and_Delete UserMerge] extension so that I can delete junk users. In extensions directory,<br />
svn co http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/UserMerge<br />
<br />
Started using [http://www.mediawiki.org/wiki/Extension:ConfirmEdit CAPTCHAs]:<br />
svn co http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/ConfirmEdit<br />
Change text of the [[Special:Captcha/help]] at [[MediaWiki:Captchahelp-text]] (more generally, various bits of text are configurable through the [[Special:AllMessages]] page).<br />
<br />
Was getting spam even when using ReCaptcha ... switched to Questycaptcha. Still got spam, but with no links, so added<br />
$wgCaptchaTriggers['edit'] = true; <br />
$wgCaptchaTriggers['create'] = true;<br />
<br />
Still getting spam users created pretty regularly (every two weeks?), so I'm disabling user creation with<br />
$wgGroupPermissions['*']['createaccount'] = false;<br />
Editing [[MediaWiki:Loginprompt]] to reflect that you need to contact me to create a user. To create a new user, visit [[Special:UserLogin]] while logged in.<br />
<br />
==Sitemap==<br />
<br />
Followed instructions [http://www.mediawiki.org/wiki/Manual:GenerateSitemap.php#Example here] and pointed google webmasters to stacky.net/wiki/sitemap/ ... google complains the sitemap is html, so pointed to http://stacky.net/wiki/sitemap/sitemap-index-stacky_net_3-wiki_.xml instead. Still not working.<br />
<br />
Okay, looking at [http://www.mediawiki.org/wiki/Manual_talk:GenerateSitemap.php Manual_talk:GenerateSitemap.php], it looks like the following thing should work. I've modified the <code>indexEntry</code> function in <code>$IP/maintenence/GenerateSitemap.php</code> as follows:<br />
<pre><br />
407c407<br />
< "\t\t<loc>$filename</loc>\n" .<br />
> "\t\t<loc>http://stacky.net/wiki/sitemap/$filename</loc>\n" .<br />
</pre><br />
Regenerating with<br />
<pre><br />
php maintenance/generateSitemap.php --server http://stacky.net --urlpath http://stacky.net/wiki<br />
</pre><br />
Great, that seems to make google happy. Adding daily cron job through web panel.<br />
<br />
=Templates=<br />
Added ParserFunctions extension to allow flow control in templates.<br />
<br />
=Error creating thumbnails=<br />
This error didn't used to appear, but now does. Enabling logging, I see the following behavior when I try to produce a 45px wide version of New.jpg:<br />
<br />
<pre><br />
File::transform: Doing stat for /home/ageraschenko/stacky.net/wiki/images/thumb/2/2d/New.jpg/45px-New.jpg<br />
BitmapHandler::doTransform: creating 45x38 thumbnail at /home/ageraschenko/stacky.net/wiki/images/thumb/2/2d/New.jpg/45px-New.jpg<br />
BitmapHandler::doTransform: scaler im<br />
BitmapHandler::doTransform: running ImageMagick: '/usr/bin/convert' -quality 80 -background white -size 45 '/home/ageraschenko/stacky.net/wiki/images/2/2d/New.jpg' -thumbnail '45x38!' -set comment 'File source: http://stacky.net/wiki/index.php?title=File:New.jpg' -depth 8 -sharpen '0x0.4' '/home/ageraschenko/stacky.net/wiki/images/thumb/2/2d/New.jpg/45px-New.jpg' 2>&1<br />
wfShellExec: '/home/ageraschenko/stacky.net/wiki/bin/ulimit4.sh' 180 102400 102400 ''\''/usr/bin/convert'\'' -quality 80 -background white -size 45 '\''/home/ageraschenko/stacky.net/wiki/images/2/2d/New.jpg'\'' -thumbnail '\''45x38!'\'' -set comment '\''File source: http://stacky.net/wiki/index.php?title=File:New.jpg'\'' -depth 8 -sharpen '\''0x0.4'\'' '\''/home/ageraschenko/stacky.net/wiki/images/thumb/2/2d/New.jpg/45px-New.jpg'\'' 2>&1'<br />
thumbnail failed on grumium: error 2 "" from "'/usr/bin/convert' -quality 80 -background white -size 45 '/home/ageraschenko/stacky.net/wiki/images/2/2d/New.jpg' -thumbnail '45x38!' -set comment 'File source: http://stacky.net/wiki/index.php?title=File:New.jpg' -depth 8 -sharpen '0x0.4' '/home/ageraschenko/stacky.net/wiki/images/thumb/2/2d/New.jpg/45px-New.jpg' 2>&1"<br />
</pre><br />
<br />
Weirdly, commenting out the line<br />
$wgUseImageMagick = true;<br />
in <code>LocalSettings.php</code> seems to fix the problem.<br />
<br />
=Finding Broken Links=<br />
Using the [http://www.mediawiki.org/wiki/Extension:BrokenLinks BrokenLinks] extension, but it seems dodgy ... often the links it objects to work just fine.<br />
<br />
Also handy: [http://validator.w3.org/check?uri=http%3A%2F%2Fstacky.net%2F&charset=%28detect+automatically%29&doctype=Inline&group=0&user-agent=W3C_Validator%2F1.2 XHTML validator] [http://validator.w3.org/checklink?uri=http%3A%2F%2Fstacky.net%2F&hide_type=all&recursive=on&depth=&check=Check link checker]<br />
<br />
=Restricted access to certain pages=<br />
[http://www.mediawiki.org/wiki/Category:Page_specific_user_rights_extensions]<br />
<br />
= Citations/references =<br />
Trunk of svn repo doesn't seem to work. Did this instead, as recommended at [http://www.mediawiki.org/wiki/Extension:Cite/Cite.php]<br />
wget http://upload.wikimedia.org/ext-dist/Cite-MW1.16-r62678.tar.gz<br />
tar -xzf Cite-MW1.16-r62678.tar.gz -C /var/www/mediawiki/extensions<br />
<br />
<br />
= Setting up knotica =<br />
<br />
Have knotica add a CNAME record pointing "@" to "knotica.stacky.net". Have dreamhost fully host "knotica.sheafy.net". Mirror "knotica.com" at "knotica.sheafy.net".<br />
<br />
One-click install mediawiki to "knotica.stacky.net/wiki".<br />
<br />
= Setting up mail =<br />
<br />
[http://www.mediawiki.org/wiki/Manual_talk:$wgSMTP#Example_using_Google_Mail]<br />
<br />
$wgSMTP = array(<br />
'host' => 'ssl://smtp.gmail.com',<br />
'IDHost' => 'mydomain.com',<br />
'port' => 465,<br />
'username' => 'webmaster@mydomain.com', ## or info@mydomain.com, or whatever email account you've set up for your Mediawiki installation<br />
'password' => 'emailpasswordforwebmaster',<br />
'auth' => true<br />
);<br />
<br />
= Mobile support =<br />
Tried [http://www.mediawiki.org/wiki/Extension:MobileFrontend MobileFrontend extension], but it gives me errors. In extensions directory,<br />
git clone https://gerrit.wikimedia.org/r/p/mediawiki/extensions/MobileFrontend.git<br />
then in LocalSettings<br />
require_once("$IP/extensions/MobileFrontend/MobileFrontend.php");<br />
$wgMFAutodetectMobileView = true;<br />
<br />
Trying again, using instructions at [http://www.fclose.com/4693/how-to-set-mobile-skin-for-mediawiki/].<br />
wget http://www.memorydeleted.com/mediawiki/skins/WPtouch_1.18_and_later.zip<br />
unzip WPtouch_1.18_and_later.zip<br />
put <code>WPtouch.php</code> and <code>wptouch/</code> into <code>skins/</code>. Edit LocalSettings to say<br />
if (preg_match("/(mobile|webos|opera mini)/i", $_SERVER['HTTP_USER_AGENT'])) {<br />
// Different file cache dir for mobile devices<br />
$wgCacheDirectory = "$IP/cache_mobile";<br />
// Mobile skin<br />
$wgDefaultSkin = 'wptouch';<br />
} else {<br />
// normal skin<br />
$wgDefaultSkin = "vector";<br />
}<br />
Create cache_mobile dir with same permissions as cache dir and "Deny from all" .htaccess file.<br />
<br />
In <code>WPtouch.php</code>, replace <code>/apple-touch-icon.png</code> with <code>/wiki/favicon.ico</code>.</div>Antonhttps://stacky.net/wiki/index.php?title=MediaWiki:Common.js&diff=1438MediaWiki:Common.js2021-01-12T00:05:24Z<p>Anton: </p>
<hr />
<div>window.MathJax = {<br />
tex: {<br />
inlineMath: [['$', '$'], ['\\(', '\\)']],<br />
macros: {<br />
href: "{}",<br />
AA: "\\mathbb{A}",<br />
CC: "\\mathbb{C}",<br />
EE: "\\mathbb{E}",<br />
FF: "\\mathbb{F}",<br />
GG: "\\mathbb{G}",<br />
HH: "\\mathbb{H}",<br />
NN: "\\mathbb{N}",<br />
PP: "\\mathbb{P}",<br />
QQ: "\\mathbb{Q}",<br />
RR: "\\mathbb{R}",<br />
SS: "\\mathbb{S}",<br />
TT: "\\mathbb{T}",<br />
VV: "\\mathbb{V}",<br />
ZZ: "\\mathbb{Z}",<br />
W: "\\mathcal{W}",<br />
X: "\\mathcal{X}",<br />
Y: "\\mathcal{Y}",<br />
Z: "\\mathcal{Z}",<br />
},<br />
},<br />
svg: {<br />
fontCache: 'global'<br />
}<br />
};<br />
<br />
(function () {<br />
var script = document.createElement('script');<br />
script.src = 'https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-svg.js';<br />
script.async = true;<br />
document.head.appendChild(script);<br />
})();</div>Antonhttps://stacky.net/wiki/index.php?title=MediaWiki:Common.js&diff=1437MediaWiki:Common.js2021-01-11T23:57:30Z<p>Anton: Created page with "window.MathJax = { tex: { inlineMath: [['$', '$'], ['\\(', '\\)']] }, svg: { fontCache: 'global' } }; (function () { var script = document.createElement('sc..."</p>
<hr />
<div>window.MathJax = {<br />
tex: {<br />
inlineMath: [['$', '$'], ['\\(', '\\)']]<br />
},<br />
svg: {<br />
fontCache: 'global'<br />
}<br />
};<br />
<br />
(function () {<br />
var script = document.createElement('script');<br />
script.src = 'https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-svg.js';<br />
script.async = true;<br />
document.head.appendChild(script);<br />
})();</div>Antonhttps://stacky.net/wiki/index.php?title=Scrap&diff=1436Scrap2020-12-09T19:26:03Z<p>Anton: </p>
<hr />
<div><protect>Anton</protect><br />
<br />
=Links=<br />
<br />
* http://www.gwern.net/<br />
* The sign-in page for sheafy.net: http://google.com/a/sheafy.net<br />
* Simon Tatham's Portable Puzzle Collection: http://www.chiark.greenend.org.uk/~sgtatham/puzzles/<br />
* (buckyballs) The neo how to show part 13: 13 small things. http://www.youtube.com/watch?v=k_kNpptMLOY<br />
* [[File:cubicleman.gif|140px]] animated gif from [http://www.digyourowngrave.com/2005/crazy-cubicle-man/]<br />
<br />
=One-liners=<br />
<br />
* post to write: lego blocks make a decent (and cheap) substitute for setup blocks<br />
* post to write: my woodworking clamps are more useful than I thought, because I can put them through holes in my bench.<br />
* idea to implement: flush toilet by foot<br />
* idea to implement: good picture of clock on wall<br />
* "don't be so clothes-minded"<br />
* is there a way to put phone keyboards on the back of the phone so that you can type with your fingers instead of your thumbs?<br />
<br />
= Privacy thoughts =<br />
<br />
Since I'm going to be working for Google soon, I feel compelled to sort out my opinions about how the company should work, if only to document how my opinions change over time. In particular, I want to record my thoughts (and to the extent possible, reasons) about privacy.<br />
<br />
The basic problem is that humanity as a whole benefits greatly from the democratization and openness of data. I think anybody who wants to should be able to know how many emails were sent in the last month. However, some data is sensitive and shouldn't be publicly accessible. Worse, the data that I think should be available is often aggregate statistics about sensitive data. I don't think anybody should be able to know how many emails ''you'' sent last month.<br />
<br />
=== Data without trust===<br />
<br />
In many situations, it is possible to gather and distribute aggregate data without any need to trust another party. For example, if me and a dozen friends want to know the average salary in our group, but none of us wants to reveal their salary, there are ways to minimize the amount of individual information shared.<br />
<br />
I could think of a random number (maybe negative), add my salary to it, and tell the sum to the next person. They'd add their salary to that and tell the sum to the next person, and so on. The last person tells their final sum to me, I subtract off the original random number and announce the true sum.<br />
<br />
Note that you are trusting people to be honest in this protocol (i.e. report their actual salary rather than garbage), but you aren't trusting them with your personal information. At least not much. If the first person has some information about the distribution from which I sample the original random number, then they do get ''some'' information about my salary from the number I give them, but not much. Also, I'm probably in a position of advantage in the above protocol, but as far as I can tell, it's not significant.<br />
<br />
(This is only meant as an illustration. This protocol has other problems. Your neighbors (the person before you and the person after you) can share information after the fact to figure out your salary. Instead, I could ask you to encrypt your salary with my public key before adding (or multiplying, whichever doesn't mess with the encryption) you salary to the total. Then your neighbors would also have to collude with ''me'' to figure out your salary. It might even be possible to compose all of our public keys, so that every single person would have to decode with their private key in series before we got the end result; that'd be pretty cool.)<br />
<br />
===Data with trust===<br />
<br />
It's not always possible or practical to salt your personal data like that. For one thing, everybody needs to agree on the protocol, and then they need to perform that protocol. So people sometimes compromise and simply tell their salary to a party they've decided to trust. To the extent possible, people should have the option to avoid this.<br />
<br />
=== Tracking web behavior ===<br />
<br />
Should somebody be tracking your behavior on the web? I'm tempted to say no, but I also want to have access to aggregate information about how people use the web, and information like how many people visit my site and where they're coming from. Access to this kind of information makes the world better in principle. By studying data about how we behave, we can make ourselves better and happier people.<br />
<br />
Question: what should tracking cookies collect? Should the resulting data be public? How easy should it be to block specific actions from being logged? Not too easy, otherwise the data collected is severely crippled by people blocking collection of data which ''they think'' is unacceptable, even if there is a guarantee of anonymity.<br />
<br />
You should be able to change what you show me based on my past behavior (this is a good thing!), but I should know that it's going on, and have the option of getting (and linking to) a "vanilla version" which does not incoroporate previous behavior, location, or whatever other information which is specific to me.<br />
<br />
To what extent should companies have policies about sensitive information. Google psycic and instant don't autocomplete or show results for "bisexual". I don't know how this happened, but I don't like it. I think it's okay to show you psycic/instant results based on your identity (maybe you don't want results about bisexuals), but this seems to be across the board. Porn has the same sorts of issues. People are eager to say that porn is bad, but we should not impose that opinion on others without a good reason for doing so. If there is a possibility that in the 24th century people will have different (presumably better) values than ours, then we should aim to ''discover those values'' as soon as possible. I believe that we can do that best by reflecting on the present as accurately as possible. That means not monkeying with psycic and instant in a content-dependent way. The behavior of these services should be data driven; the word "bisexual" should be treated just like every other word, and be subject to the same algorithmic analysis.<br />
<br />
= Changing our minds =<br />
<br />
How can we make the internet less of an echo chamber? It would be really nice to know what content is likely to change my mind about something. Such content is extremely valuable: even if it doesn't actually change my mind, it is likely to make me grow as a person.<br />
<br />
= Social networking meets online dating =<br />
<br />
Social networking software uses its relationship graph to suggest people to you. I guess the idea is that it's trying to ''discover'' the true relationship graph since you are likely to be friends with your friends' friends. But data about people could be used to ''generate'' fruitful relationships. Dating sites do this already, but why couldn't the same approach be used to match people for other kinds of relationships? Is data about people's behavior online good enough to predict when two people would enjoy hanging out or corresponding?<br />
<br />
= Getting rid of stuff =<br />
<br />
We see lots of ads inviting us to buy stuff. This is fine, since stuff often makes our lives better. But I find that I have more stuff than I want. It would be great if there were the same kind of constant pressure for me to reduce my collection of stuff.<br />
<br />
Example app from the future: I go into spring cleaning mode in my apartment. Now everything I look at comes with bids. For example, as I go through my bookshelf, every book comes with an offer to sell it for $X. If this existed, I'm sure I'd have many fewer things. The problem is that generating bids takes time, as does inputting information about things. How would the other side of the system work?<br />
<br />
The idea would be to take advantage of the fact that people often have long-standing desires. For example, I'd kind of like to have a skateboard. I'd be willing to authorize you (or a competent algorithm) to buy a skateboard on my behalf. It would be best if you (the algorithm) already knew quite a lot about skateboards, so knew what specifics to ask me about. You'd say something like "there are three kinds of skateboards. Depending of what you plan to use it for, you may only want a certain kind." Then I could answer your questions to whatever level of detail I wanted to. I could also specify a maximum price. Then I'd trust you to bid on my behalf when other people are cleaning their garages. It'd be even better if you algorithmically adjusted my bid based on the exact product available.<br />
<br />
This leaves open the problem of how you get information about the things you're bidding on. When I'm going through my bookshelf, I guess I could provide photos of the books. Then you might be able to judge things like shelf wear. Of course, you could rely on me to some extent to give you accurate information. But this is a bit dangerous. You don't want people to game the system by adjusting their descriptions incessantly to get the maximum possible bid.</div>Antonhttps://stacky.net/wiki/index.php?title=Main_Page&diff=1435Main Page2020-12-09T19:09:55Z<p>Anton: update image</p>
<hr />
<div>__NOTOC__<br />
[[File:Anton.jpg|thumb|right]]<br />
<br />
I work on the [https://research.google.com/teams/gas/ Google Accelerated Science] team at Google. I've also worked/studied at Eonite Perception, Caltech, UC Berkeley, and Brandeis.<br />
<br />
My mathematical interests are largely in algebraic geometry, particularly foundational questions about algebraic stacks. See my [[Research]] page for more information. Lately, I've been thinking more about probability, information, and inference.<br />
<br />
I've taught several courses over the years. Check out the [[:Category:Course_Page|course pages]].<br />
<br />
[[File:MOlogo.png|200px|link=http://mathoverflow.net|alt="mathoverflow.net"]] is a question and answer site for professional mathematicians. I founded it and helped to make it successful. You can read about it in [http://stacky.net/files/MOnotices.pdf the Notices], from the [https://simonsfoundation.org/news/open-news/-/asset_publisher/bo1E/content/the-global-math-commons Simons Foundation], in [http://www.theatlantic.com/technology/archive/2010/09/beyond-facebook-how-the-worlds-mathematicians-organize-online/63422/ the Atlantic], and on [http://www.google.com/search?q=mathoverflow&tbm=blg many different blogs].<br />
<br />
I like [http://en.wikipedia.org/wiki/TeX TeX] and [http://en.wikipedia.org/wiki/LaTeX LaTeX]. If you do too, have a look at my [[TeXnical notes]] and [[advice on real-time TeXing]].<br />
<br />
As a real-time TeXer, I've accumulated some [[course notes]] that I find to be useful references.<br />
<br />
="Blog"=<br />
{{blog}}<br />
<br />
=Contact Information=<br />
'''Name:''' Anton Geraschenko<br><br />
'''Web:''' http://stacky.net <br><br />
'''Email:''' [mailto:geraschenko@gmail.com geraschenko@gmail.com]<br><br />
'''PGP:''' [http://stacky.net/posted/geraschenko@gmail.com--public.asc my public key]<br><br />
'''Phone:''' 617 275 1573 (cell)<br><br />
'''Home:''' 2061 Ashton Ave, Menlo Park, CA 94025 [http://maps.google.com/?q=37.433165,-122.202514 (map)]</div>Antonhttps://stacky.net/wiki/index.php?title=File:Anton.jpg&diff=1434File:Anton.jpg2020-12-09T19:09:33Z<p>Anton: </p>
<hr />
<div></div>Antonhttps://stacky.net/wiki/index.php?title=Against_the_odds:_a_caution_to_practical_Bayesians&diff=1433Against the odds: a caution to practical Bayesians2020-09-10T15:07:27Z<p>Anton: </p>
<hr />
<div>[[Category:Blog]]<br />
Lots of people I know like to use Bayes' Theorem in their daily life to estimate the odds that various statements are true. See http://betterexplained.com/articles/understanding-bayes-theorem-with-ratios/ for a quick tutorial. This post is about a pitfall to watch out for once you're feeling pretty good about applying Bayes' Theorem.<br />
<br />
Upshot: if you do multiple Bayesian updates on the odds of a proposition (i.e. P(X):P(¬X)), then you're probably making errors unless X ''and'' ¬X are pretty simple hypotheses.<br />
<br />
A typical example of using Bayes' Theorem: I randomly choose either a fair coin or a double-headed coin. I flip it 3 times and get heads each time. What's your credence that it's the double-headed coin? The initial odds fair:double-headed are assumed 1:1. A fair coin will produce heads with probability 0.5, and a double-headed coin will produce heads with probability 1, so the likelihood ratio to multiply by every time you see a heads is 0.5:1 = 1:2. So after seeing 3 heads, the fair:double-headed odds are 1:1 × 1:2 × 1:2 × 1:2 = 1:8, so there's a 8/(8+1) = 89% chance it's double-headed.<br />
<br />
Let's try a more complicated example. Suppose somebody stole my lunch from the fridge. I know the culprit was one of my three "friends", Alice (A), Bob (B), or Charlie (C). I don't really care much about Bob or Charlie, but I'm considering starting a business with Alice, so I really want to know whether it was Alice or not. That is, the odds I care about are Alice-did-it:Alice-didn't-do-it, P(A):P(¬A).<br />
<br />
Initially, I have no reason to suspect any one of them more than the others, so my odds are 1:2 in Alice's favor; there's a 1/3 chance that Alice is the culprit. Luckily, there were two witnesses exonerating Alice. Suppose that the witnesses are independent, and each witness identifies the true thief with 80% probability, and otherwise names one of the innocent friends (with equal probability, so 10% each). If a witness names someone other than Alice as the thief, what does that tell me? If Alice did it, there's a 10% chance of hearing that, and if Alice didn't do it, there's a 90% chance, so a witness testimony clearing Alice contributes a likelihood ratio of 1:9. That means that the odds after two testimonies are 1:2 × 1:9 × 1:9 = 1:162, so a 1/163 = 0.6% chance that Alice took my lunch, right?<br />
<br />
WRONG! Our fixation on Alice messed us up. Let's go back and keep track of all the hypotheses, so the initial odds of the culprit being Alice:Bob:Charlie are 1:1:1. If a witness says Bob took the lunch, it contributes 1:8:1. If a second witness says Bob did it, the odds are 1:64:1, so there's a 1/(1+64+1) = 1.5% chance Alice did it; significantly more than our previous estimate of 0.6%. Worse, if one witness says Bob and the other says Charlie, the odds are 1:8:8, which is a 1/(1+8+8) = 5.9% chance it was Alice.<br />
<br />
What went wrong? First of all, that 1:9 likelihood ratio is bogus. If we condition on the thief not being Alice, the probablity of a witness saying some specific person other than Alice (say Bob) did it is really<br />
$$<br />
P(witness_B|¬A) = 0.8×P(B|¬A) + 0.1×P(C|¬A) = 0.8×0.5 + 0.1×0.5 = 0.45,<br />
$$<br />
<br />
so the likelihood ratio should have been 10:45 = 2:9 instead of 1:9. But using this corrected ratio still gives us the wrong answer for a deeper reason: '''if you condition on ¬Alice, then the witness testimonies are not logically independent!''' Once I hear one testimony against Bob, then when computing $P(witness_B|¬A)$, $P(B|¬A)$ and $P(C|¬A)$ aren't 0.5 anymore. Note that this is consistent with the assumption that the witness testimonies are ''causally'' independent.<br />
<br />
This problem arises whenever your evidence differentiates between different sub-hypotheses. What to do about it? I think the best answer is to use unnormalized probability distributions, like we did to get the right answer above. Of course, it's infeasible to keep track of all possible states of the universe, but maybe we can develop decent intuitions about what the hypothesis space should be. Most people I've talked to about Alice recognize that there should be a difference between witness testimonies agreeing and disagreeing. I'd be curious if there was an example where it really feels right to do the wrong thing.</div>Antonhttps://stacky.net/wiki/index.php?title=Working_with_MediaWiki&diff=1432Working with MediaWiki2020-02-07T03:54:46Z<p>Anton: Reverted edits by 185.217.69.183 (talk) to last revision by Anton</p>
<hr />
<div>Magic pages: [[MediaWiki:Mainpage]] [[MediaWiki:Sitenotice]] [[MediaWiki:Common.css]]<br />
<br />
== Edit sidebar ==<br />
[[Mediawiki:Sidebar]]<br />
<br />
== Hide toolbox unless logged in ==<br />
Originally used [http://wiki.fishcakes.biz/MediaWiki_Look_And_Feel?title=MediaWiki_Look_And_Feel#Hiding_the_Toolbox_from_Anonymous_Users], but the structure changed with an upgrade. For Vector.php, add the following in renderPortals:<br />
if ( !$this->data['loggedin']) { $portals['TOOLBOX'] = false; }<br />
Leaving WPtouch.php alone ... looks like the same idea doesn't work since data['loggedin'] doesn't get set.<br />
<br />
== Getting MathJax Working ==<br />
<br />
I got MathJax: <code>git clone git://github.com/mathjax/MathJax.git MathJax</code><br />
<br />
<del>Using [http://www.mediawiki.org/wiki/Extension:MathJax MathJax extension]</del> Went back to old solution; MathJax extension hiccupped.<br />
<br />
old solution:<br />
<blockquote><br />
I installed the JavaScript extension[http://www.mediawiki.org/wiki/Extension:Javascript] for MediaWiki.<br />
<br />
I added a file <code>mathjax.js</code> (name doesn't matter) to <code>extensions/JavaScript</code>. It's content:<br />
<code><pre><br />
var e = document.createElement('script');<br />
e.type = "text/javascript";<br />
e.src = "/MathJax/MathJax.js?config=wikiconfig";<br />
document.getElementsByTagName('head')[0].appendChild(e);<br />
</pre></code><br />
<br />
(I basically copied the MathJax configuration file used at MO ... got confused because you have to remember to modify the last line)<br />
</blockquote><br />
<br />
== (Not) Getting Blahtex Working ==<br />
<br />
It'd be much nicer to get MediaWiki to serve MathML and use MathJax to convert only if it has to, but I haven't been able to get Blahtex[http://www.mediawiki.org/wiki/Blahtex] to compile. I've been trying to follow the instructions here [http://www.mediawiki.org/wiki/Extension:Blahtex/Embedding_Blahtex_in_MediaWiki]. I'm able to checkout blahtex and to get texvc working, but if I try <code>make</code> or <code>make linux</code>, I get<br />
<code><pre><br />
g++ -O3 -c -o source/main.o source/main.cpp<br />
source/main.cpp: In function ‘void ShowUsage()’:<br />
source/main.cpp:108: error: ‘exit’ was not declared in this scope<br />
make: *** [source/main.o] Error 1<br />
</pre></code><br />
<br />
==Moving html to wiki==<br />
A useful substitution:<br />
<code><pre><br />
<a href="([^"]*)"[^>]*>([^<]*)</a><br />
[\1 \2]<br />
</pre></code><br />
<br />
==Handling Spam==<br />
See http://www.mediawiki.org/wiki/Manual:Combating_spam<br />
<br />
Using [http://www.mediawiki.org/wiki/Extension:SpamBlacklist SpamBlacklist] extension. Using blacklists at [http://meta.wikimedia.org/wiki/Spam_blacklist meta.wikimedia] and [http://en.wikipedia.org/wiki/MediaWiki:Spam-blacklist wikipedia], and adding additional blacklisted urls to [[MediaWiki:Spam-blacklist]] as needed.<br />
<br />
Also installed the [http://www.mediawiki.org/wiki/Extension:User_Merge_and_Delete UserMerge] extension so that I can delete junk users. In extensions directory,<br />
svn co http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/UserMerge<br />
<br />
Started using [http://www.mediawiki.org/wiki/Extension:ConfirmEdit CAPTCHAs]:<br />
svn co http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/ConfirmEdit<br />
Change text of the [[Special:Captcha/help]] at [[MediaWiki:Captchahelp-text]] (more generally, various bits of text are configurable through the [[Special:AllMessages]] page).<br />
<br />
Was getting spam even when using ReCaptcha ... switched to Questycaptcha. Still got spam, but with no links, so added<br />
$wgCaptchaTriggers['edit'] = true; <br />
$wgCaptchaTriggers['create'] = true;<br />
<br />
Still getting spam users created pretty regularly (every two weeks?), so I'm disabling user creation with<br />
$wgGroupPermissions['*']['createaccount'] = false;<br />
Editing [[MediaWiki:Loginprompt]] to reflect that you need to contact me to create a user. To create a new user, visit [[Special:UserLogin]] while logged in.<br />
<br />
==Sitemap==<br />
<br />
Followed instructions [http://www.mediawiki.org/wiki/Manual:GenerateSitemap.php#Example here] and pointed google webmasters to stacky.net/wiki/sitemap/ ... google complains the sitemap is html, so pointed to http://stacky.net/wiki/sitemap/sitemap-index-stacky_net_3-wiki_.xml instead. Still not working.<br />
<br />
Okay, looking at [http://www.mediawiki.org/wiki/Manual_talk:GenerateSitemap.php Manual_talk:GenerateSitemap.php], it looks like the following thing should work. I've modified the <code>indexEntry</code> function in <code>$IP/maintenence/GenerateSitemap.php</code> as follows:<br />
<pre><br />
407c407<br />
< "\t\t<loc>$filename</loc>\n" .<br />
> "\t\t<loc>http://stacky.net/wiki/sitemap/$filename</loc>\n" .<br />
</pre><br />
Regenerating with<br />
<pre><br />
php maintenance/generateSitemap.php --server http://stacky.net --urlpath http://stacky.net/wiki<br />
</pre><br />
Great, that seems to make google happy. Adding daily cron job through web panel.<br />
<br />
=Templates=<br />
Added ParserFunctions extension to allow flow control in templates.<br />
<br />
=Error creating thumbnails=<br />
This error didn't used to appear, but now does. Enabling logging, I see the following behavior when I try to produce a 45px wide version of New.jpg:<br />
<br />
<pre><br />
File::transform: Doing stat for /home/ageraschenko/stacky.net/wiki/images/thumb/2/2d/New.jpg/45px-New.jpg<br />
BitmapHandler::doTransform: creating 45x38 thumbnail at /home/ageraschenko/stacky.net/wiki/images/thumb/2/2d/New.jpg/45px-New.jpg<br />
BitmapHandler::doTransform: scaler im<br />
BitmapHandler::doTransform: running ImageMagick: '/usr/bin/convert' -quality 80 -background white -size 45 '/home/ageraschenko/stacky.net/wiki/images/2/2d/New.jpg' -thumbnail '45x38!' -set comment 'File source: http://stacky.net/wiki/index.php?title=File:New.jpg' -depth 8 -sharpen '0x0.4' '/home/ageraschenko/stacky.net/wiki/images/thumb/2/2d/New.jpg/45px-New.jpg' 2>&1<br />
wfShellExec: '/home/ageraschenko/stacky.net/wiki/bin/ulimit4.sh' 180 102400 102400 ''\''/usr/bin/convert'\'' -quality 80 -background white -size 45 '\''/home/ageraschenko/stacky.net/wiki/images/2/2d/New.jpg'\'' -thumbnail '\''45x38!'\'' -set comment '\''File source: http://stacky.net/wiki/index.php?title=File:New.jpg'\'' -depth 8 -sharpen '\''0x0.4'\'' '\''/home/ageraschenko/stacky.net/wiki/images/thumb/2/2d/New.jpg/45px-New.jpg'\'' 2>&1'<br />
thumbnail failed on grumium: error 2 "" from "'/usr/bin/convert' -quality 80 -background white -size 45 '/home/ageraschenko/stacky.net/wiki/images/2/2d/New.jpg' -thumbnail '45x38!' -set comment 'File source: http://stacky.net/wiki/index.php?title=File:New.jpg' -depth 8 -sharpen '0x0.4' '/home/ageraschenko/stacky.net/wiki/images/thumb/2/2d/New.jpg/45px-New.jpg' 2>&1"<br />
</pre><br />
<br />
Weirdly, commenting out the line<br />
$wgUseImageMagick = true;<br />
in <code>LocalSettings.php</code> seems to fix the problem.<br />
<br />
=Finding Broken Links=<br />
Using the [http://www.mediawiki.org/wiki/Extension:BrokenLinks BrokenLinks] extension, but it seems dodgy ... often the links it objects to work just fine.<br />
<br />
Also handy: [http://validator.w3.org/check?uri=http%3A%2F%2Fstacky.net%2F&charset=%28detect+automatically%29&doctype=Inline&group=0&user-agent=W3C_Validator%2F1.2 XHTML validator] [http://validator.w3.org/checklink?uri=http%3A%2F%2Fstacky.net%2F&hide_type=all&recursive=on&depth=&check=Check link checker]<br />
<br />
=Restricted access to certain pages=<br />
[http://www.mediawiki.org/wiki/Category:Page_specific_user_rights_extensions]<br />
<br />
= Citations/references =<br />
Trunk of svn repo doesn't seem to work. Did this instead, as recommended at [http://www.mediawiki.org/wiki/Extension:Cite/Cite.php]<br />
wget http://upload.wikimedia.org/ext-dist/Cite-MW1.16-r62678.tar.gz<br />
tar -xzf Cite-MW1.16-r62678.tar.gz -C /var/www/mediawiki/extensions<br />
<br />
<br />
= Setting up knotica =<br />
<br />
Have knotica add a CNAME record pointing "@" to "knotica.stacky.net". Have dreamhost fully host "knotica.sheafy.net". Mirror "knotica.com" at "knotica.sheafy.net".<br />
<br />
One-click install mediawiki to "knotica.stacky.net/wiki".<br />
<br />
= Setting up mail =<br />
<br />
[http://www.mediawiki.org/wiki/Manual_talk:$wgSMTP#Example_using_Google_Mail]<br />
<br />
$wgSMTP = array(<br />
'host' => 'ssl://smtp.gmail.com',<br />
'IDHost' => 'mydomain.com',<br />
'port' => 465,<br />
'username' => 'webmaster@mydomain.com', ## or info@mydomain.com, or whatever email account you've set up for your Mediawiki installation<br />
'password' => 'emailpasswordforwebmaster',<br />
'auth' => true<br />
);<br />
<br />
= Mobile support =<br />
Tried [http://www.mediawiki.org/wiki/Extension:MobileFrontend MobileFrontend extension], but it gives me errors. In extensions directory,<br />
git clone https://gerrit.wikimedia.org/r/p/mediawiki/extensions/MobileFrontend.git<br />
then in LocalSettings<br />
require_once("$IP/extensions/MobileFrontend/MobileFrontend.php");<br />
$wgMFAutodetectMobileView = true;<br />
<br />
Trying again, using instructions at [http://www.fclose.com/4693/how-to-set-mobile-skin-for-mediawiki/].<br />
wget http://www.memorydeleted.com/mediawiki/skins/WPtouch_1.18_and_later.zip<br />
unzip WPtouch_1.18_and_later.zip<br />
put <code>WPtouch.php</code> and <code>wptouch/</code> into <code>skins/</code>. Edit LocalSettings to say<br />
if (preg_match("/(mobile|webos|opera mini)/i", $_SERVER['HTTP_USER_AGENT'])) {<br />
// Different file cache dir for mobile devices<br />
$wgCacheDirectory = "$IP/cache_mobile";<br />
// Mobile skin<br />
$wgDefaultSkin = 'wptouch';<br />
} else {<br />
// normal skin<br />
$wgDefaultSkin = "vector";<br />
}<br />
Create cache_mobile dir with same permissions as cache dir and "Deny from all" .htaccess file.<br />
<br />
In <code>WPtouch.php</code>, replace <code>/apple-touch-icon.png</code> with <code>/wiki/favicon.ico</code>.</div>Antonhttps://stacky.net/wiki/index.php?title=Projective_Set&diff=1431Projective Set2020-02-07T03:53:10Z<p>Anton: Reverted edits by 83.26.212.107 (talk) to last revision by Anton</p>
<hr />
<div>[http://en.wikipedia.org/wiki/Set_(game) Set] (see the [http://www.setgame.com/set/rules_set.htm rules]) is the game of finding lines in $\mathbb F_3^4$. [[Projective Set]] is the game of finding 2-dimensional subspaces in $\mathbb F_2^6$, or if you prefer, the game of finding lines in $\mathbb P^5_{\mathbb F_2}$.<br />
<br />
Set is fun because any line in $\mathbb F_3^4$ contains three points, so any two cards (i.e. points in $\mathbb F_3^4$) uniquely determine a third. I realized that since the same is true in $\mathbb P^5_{\mathbb F_2}$, projective set would also be a fun game.<br />
<br />
=The Cards=<br />
<br />
There are six possible features a card can have: a squiggle, beak, ear, vertical, horizontal, and smile:<br />
{|<br />
|{{projset|100000}}<br />
|{{projset|010000}}<br />
|{{projset|001000}}<br />
|{{projset|000100}}<br />
|{{projset|000010}}<br />
|{{projset|000001}}<br />
|}<br />
Any given card must have at least one of these (i.e. must correspond to a nonzero element of $\mathbb F_2^6$), but can otherwise have any combination of them. There are therefore 63 cards in a complete deck of projective set.<br />
<br />
To get your own deck of projective set, print out [http://stacky.net/files/63projectiveSet.pdf this pdf] on some cardstock and cut out the cards. Or use the [http://stacky.net/files/projectiveSet.pdf smaller deck] of 31 cards. I recommend cutting off the corners as shown to make it easy to orient all the cards properly.<br />
<br />
=The Rules=<br />
<br />
Three cards form a set if two of them XOR to the third. Another way to put it is that three cards form a set if for any given property, either none of the cards have it, or ''exactly two'' of them have it. Here are some examples of sets. Note that if three cards form a set, any two of them XOR to the other. Note also that given any two cards, there is a unique third card that will form a set with those two.<br />
{|<br />
|{{projset|100000}}<br />
|{{projset|000100}}<br />
|{{projset|100100}}<br />
|}<br />
{|<br />
|{{projset|001110}}<br />
|{{projset|011100}}<br />
|{{projset|010010}}<br />
|}<br />
{|<br />
|{{projset|101001}}<br />
|{{projset|110110}}<br />
|{{projset|011111}}<br />
|}<br />
{|<br />
|{{projset|101011}}<br />
|{{projset|111111}}<br />
|{{projset|010100}}<br />
|}<br />
<br />
Here are some examples of '''non-sets'''.<br />
<br />
{|<br />
|{{projset|101010}}<br />
|{{projset|110100}}<br />
|{{projset|011010}}<br />
|}<br />
{|<br />
|{{projset|101010}}<br />
|{{projset|001000}}<br />
|{{projset|101010}}<br />
|}<br />
<br />
=Play=<br />
Play is essentially the same as for the game Set.<br />
<br />
The dealer shuffles the cards and lays 12 cards (in a rectangle) face up on the table so that they can be seen by all players. The players remove a "set" of three cards as they are seen. Each "set" is checked by the other players. If correct, the "set" is kept by the player and the dealer replaces the three cards with cards from the deck. Players do not take turns but pick up "sets" as soon as they see them. A player must call "set" before picking up the cards. After a player has called "set", no other player can pick up cards until the first player is finished. If a player calls "set" and does not have one, the player loses one point. The three cards are returned to the table.<br />
<br />
If all players agree that there is no "set" in the cards showing, three more cards (making a total of 15) are laid face up. These cards are not replaced when the next "set" is picked up, reducing the number to 12 again.<br />
<br />
The play continues until the deck is depleted. At the end of the play there may be some cards which do not include a "set".<br />
<br />
The number of "sets" held by each player are then counted, one point is given for each and added to their score. The deal then passes to the person on the dealer's left and the play resumes with the deck being reshuffled.<br />
<br />
When all players have dealt, the game ends; the highest score wins.<br />
<br />
=Questions=<br />
==Are there more games like this?==<br />
[http://www.warwick.ac.uk/staff/D.Maclagan/papers/set.pdf This paper] of Davis and Maclagan claims on page 18 that Set and Projective Set are the only two "abstract SET games".<br />
==How many cards can there be without a set?==<br />
Also answered on page 18 of the [http://www.warwick.ac.uk/staff/D.Maclagan/papers/set.pdf Davis and Maclagan paper]. The maximum number of projective set cards without a set is $2^d$, where you're using a deck of $2^{d+1}-1$. (You can easily realize this by picking a property (e.g. squiggle) and taking all the cards which have that property.)<br />
==Are there always cards left over at the end?==<br />
No. If you play with a deck of size $2^{d+1}-1$ where $d$ is odd, it is possible to break the deck up into disjoint sets. I thought about this problem with Dori Bejleri for a bit. Dori's friend Ryan Thorngren came up with a nice proof.<br />
<br />
First note that $\mathbb P^1_{\mathbb F_2}$ can be covered by disjoint lines since it is a single line. Now we induct on dimension. Suppose $\{(a_{i,1},a_{i,2},a_{i,3})\}_i$ is a collection of triples of points in $\mathbb P^{2n-1}_{\mathbb F_2}$ so that each point appears in exactly one triple, and each triple forms a line. Then we have the following decomposition of $\mathbb P^{2n+1}_{\mathbb F_2}$ into lines (in standard projective notation):<br />
: $([0:\cdots:0:0:1], [0:\cdots:0:1:0], [0:\cdots:0:1:1])$<br />
: $([a_{i,1}:0:0], [a_{i,2}:0:0], [a_{i,3}:0:0])$ for each $i$<br />
: $([a_{i,1}:0:1], [a_{i,2}:1:0], [a_{i,3}:1:1])$ for each $i$<br />
<br />
=I don't like your cards=<br />
I generated them with LaTeX as follows. Tweak to taste.<br />
<br />
<pre><br />
\documentclass{article}<br />
\usepackage[paperwidth=8.5in,paperheight=11in,margin=0in]{geometry}<br />
\usepackage{tikz}<br />
<br />
\begin{document}<br />
\thispagestyle{empty}\pagestyle{empty}<br />
<br />
\newif\ifone \onetrue<br />
\newif\iftwo \twotrue<br />
\newif\ifthree \threetrue<br />
\newif\iffour \fourtrue<br />
\newif\iffive \fivetrue<br />
\newif\ifsix \sixtrue<br />
<br />
\newlength{\x}<br />
\setlength{\x}{.07\textwidth}<br />
<br />
\newcommand{\s}{\parbox{.25\textwidth}{\begin{tikzpicture}[line width=1.5mm,scale=1]<br />
\draw[help lines] (-.125\textwidth,-.125\textheight) rectangle (.125\textwidth,.125\textheight);<br />
\clip (-.125\textwidth,-.125\textheight) rectangle (.125\textwidth,.125\textheight);<br />
\ifone \draw (-\x,0) -- (\x,0); \fi<br />
\iftwo \draw (-.05\x,-\x) -- (.05\x,-.6\x) -- (-.05\x,-.2\x) -- (.05\x,.2\x) -- (-.05\x,.6\x) -- (.05\x,\x); \fi<br />
\ifthree \draw (-.5\x,\x) -- (-1.3\x,0) -- (-.5\x,-\x); \fi<br />
\iffour \draw (-.9397\x,-\x) arc (200:340:\x); \fi<br />
\iffive \draw (-\x,1.5\x) .. controls +(0,1\x) and +(0,-1\x) .. (\x,1.5\x); \fi<br />
\ifsix \draw (\x,.8\x) .. controls +(.5\x,\x) and +(.5\x,-1.4\x) .. (\x,-.6\x); \fi<br />
\end{tikzpicture}}<br />
\ifone \onefalse \else<br />
\iftwo \twofalse \onetrue \else<br />
\ifthree \threefalse \twotrue \onetrue \else<br />
\iffour \fourfalse \threetrue \twotrue \onetrue \else <br />
\iffive \fivefalse \fourtrue \threetrue \twotrue \onetrue \else<br />
\sixfalse \fivetrue \fourtrue \threetrue \twotrue \onetrue<br />
\fi<br />
\fi<br />
\fi<br />
\fi<br />
\fi<br />
\hspace{-1mm}}<br />
<br />
\newlength{\y}\setlength{\y}{-.5mm}<br />
\noindent<br />
\s\s\s\s \vspace{\y}<br />
\s\s\s\s \vspace{\y}<br />
\s\s\s\s \vspace{\y}<br />
\s\s\s\s \vspace{\y}<br />
<br />
\noindent<br />
\s\s\s\s \vspace{\y}<br />
\s\s\s\s \vspace{\y}<br />
\s\s\s\s \vspace{\y}<br />
\s\s\s\s \vspace{\y}<br />
<br />
\noindent<br />
\s\s\s\s \vspace{\y}<br />
\s\s\s\s \vspace{\y}<br />
\s\s\s\s \vspace{\y}<br />
\s\s\s\s \vspace{\y}<br />
<br />
\noindent<br />
\s\s\s\s \vspace{\y}<br />
\s\s\s\s \vspace{\y}<br />
\s\s\s\s \vspace{\y}<br />
\s\s\s\s \vspace{\y}<br />
<br />
\end{document}<br />
</pre><br />
<br />
[[Category:Blog]]<br />
[[Category:Projective_Set]]</div>Antonhttps://stacky.net/wiki/index.php?title=Gpg&diff=1429Gpg2018-11-21T08:49:38Z<p>Anton: Created page with "== Setup == Generate a key gpg2 --full-gen-key === Yubikey setup === Following https://blog.programster.org/yubikey-link-with-gpg sudo apt install pcscd scdaemon gnupg2..."</p>
<hr />
<div>== Setup ==<br />
<br />
Generate a key<br />
gpg2 --full-gen-key<br />
<br />
=== Yubikey setup ===<br />
<br />
Following https://blog.programster.org/yubikey-link-with-gpg<br />
<br />
sudo apt install pcscd scdaemon gnupg2 pcsc-tools<br />
<br />
After that, plug in the yubikey and do<br />
<br />
gpg2 --card-edit<br />
gpg/card> admin # enables admin commands<br />
gpg/card> passwd # then set Admin PIN<br />
<br />
I seem to have broken something :-/. <code>gpg/card> reset</code> seems to fix it.<br />
<br />
<br />
Trying yubico-piv-tool<br />
<br />
sudo apt install check libpcsclite-dev<br />
./configure<br />
make<br />
sudo make install<br />
<br />
but then I have to go into <code>yubico-piv-tool-1.6.2/lib/.libs</code> to run since it didn't copy the <code>.so</code> files.<br />
<br />
<br />
<br />
Look at https://github.com/drduh/YubiKey-Guide</div>Antonhttps://stacky.net/wiki/index.php?title=Anki_sync_server&diff=1427Anki sync server2018-09-20T14:15:50Z<p>Anton: </p>
<hr />
<div>==On dreamhost==<br />
Add hosting for domain anki.stacky.net pointing to /home/username/anki.stacky.net.<br />
<br />
virtualenv AnkiServer.env<br />
. AnkiServer.env/bin/activate<br />
easy_install AnkiServer<br />
<br />
Apply patches to avoid "inconsistent database" error. See [https://github.com/dsnopek/anki-sync-server/issues/47]; patches copied below.<br />
<br />
cd ~/AnkiServer.env/lib/python2.7/site-packages/AnkiServer-2.0.6-py2.7.egg/<br />
patch -p0 < ~/AnkiServer.env/anki-sync-server.patch.txt<br />
cd ~/AnkiServer.env/lib/python2.7/site-packages/AnkiServer-2.0.6-py2.7.egg/anki-bundled/<br />
patch -p0 < ~/AnkiServer.env/anki.patch.txt<br />
<br />
Set up:<br />
<br />
cd ~/anki.stacky.net/<br />
cp ../AnkiServer.env/examples/example.ini production.ini<br />
vim production.ini # set host to anki.stacky.net and set port<br />
~/AnkiServer.env/bin/ankiserverctl.py adduser [USERNAME]<br />
<br />
Disallow general access to anki server files (is there a better way to do this?):<br />
chmod o-r -R collections/ production.ini session.db auth.db<br />
<br />
Start the server:<br />
/AnkiServer.env/bin/ankiserverctl.py [start|stop|debug]<br />
<br />
Debug is useful to see requests coming in. Start and stop run in daemon mode.<br />
<br />
=== (patches) ===<br />
anki.patch.txt:<br />
<pre><br />
diff -urN anki/collection.py anki/collection.py<br />
--- anki/collection.py 2016-10-22 00:04:43.365953912 +0200<br />
+++ anki/collection.py 2016-10-23 10:46:26.171300370 +0200<br />
@@ -60,7 +60,7 @@<br />
self.server = server<br />
self._lastSave = time.time()<br />
self.clearUndo()<br />
- self.media = MediaManager(self, server)<br />
+ self.media = MediaManager(self)<br />
self.models = ModelManager(self)<br />
self.decks = DeckManager(self)<br />
self.tags = TagManager(self)<br />
diff -urN anki/media.py anki/media.py<br />
--- anki/media.py 2016-10-22 00:04:43.367953863 +0200<br />
+++ anki/media.py 2016-10-23 10:46:16.947524341 +0200<br />
@@ -26,11 +26,8 @@<br />
]<br />
regexps = soundRegexps + imgRegexps<br />
<br />
- def __init__(self, col, server):<br />
+ def __init__(self, col):<br />
self.col = col<br />
- if server:<br />
- self._dir = None<br />
- return<br />
# media directory<br />
self._dir = re.sub("(?i)\.(anki2)$", ".media", self.col.path)<br />
# convert dir to unicode if it's not already<br />
@@ -51,8 +48,6 @@<br />
self.connect()<br />
<br />
def connect(self):<br />
- if self.col.server:<br />
- return<br />
path = self.dir()+".db2"<br />
create = not os.path.exists(path)<br />
os.chdir(self._dir)<br />
@@ -103,8 +98,6 @@<br />
os.rename("../collection.media.db", npath)<br />
<br />
def close(self):<br />
- if self.col.server:<br />
- return<br />
self.db.close()<br />
self.db = None<br />
# change cwd back to old location<br />
</pre><br />
<br />
anki-sync-server.patch.txt:<br />
<pre><br />
diff -urN AnkiServer/apps/sync_app.py AnkiServer/apps/sync_app.py<br />
--- AnkiServer/apps/sync_app.py 2016-10-21 22:14:27.672485051 +0200<br />
+++ AnkiServer/apps/sync_app.py 2016-10-26 23:18:24.287625612 +0200<br />
@@ -471,6 +471,7 @@<br />
os.rename(temp_db_path, session.get_collection_path())<br />
finally:<br />
col.reopen()<br />
+ col.load()<br />
<br />
# If everything went fine, run hook_upload if one is defined.<br />
if self.hook_upload is not None:<br />
@@ -488,6 +489,7 @@<br />
data = open(session.get_collection_path(), 'rb').read()<br />
finally:<br />
col.reopen()<br />
+ col.load()<br />
return data<br />
<br />
@wsgify<br />
diff -urN AnkiServer/collection.py AnkiServer/collection.py<br />
--- AnkiServer/collection.py 2016-10-21 22:14:27.672485051 +0200<br />
+++ AnkiServer/collection.py 2016-10-23 10:38:47.869428818 +0200<br />
@@ -75,7 +75,7 @@<br />
else:<br />
raise<br />
<br />
- col = anki.storage.Collection(self.path)<br />
+ col = anki.storage.Collection(self.path, server=True)<br />
<br />
# Do any special setup<br />
if self.setup_new_collection is not None:<br />
@@ -87,7 +87,7 @@<br />
"""Open the collection, or create it if it doesn't exist."""<br />
if self.__col is None:<br />
if os.path.exists(self.path):<br />
- self.__col = anki.storage.Collection(self.path)<br />
+ self.__col = anki.storage.Collection(self.path, server=True)<br />
else:<br />
self.__col = self.__create_collection()<br />
</pre><br />
<br />
==On Ankidroid==<br />
Under Settings > Advanced > Custom sync server, Set sync url to <code>http://anki.stacky.net:[port]</code> and media sync url to <code>http://anki.stacky.net:[port]/msync</code><br />
<br />
Under Settings > AnkiDroid, set AnkiWeb account to username and password set on the server.<br />
<br />
==On Anki desktop==<br />
Make sure python can do <code>import anki</code> with<br />
sudo easy_install AnkiServer<br />
echo export PYTHONPATH=\"\${PYTHONPATH}:/usr/local/lib/python3.5/dist-packages/AnkiServer-2.0.6-py3.5.egg/anki-bundled/\" >> ~/.bashrc<br />
source ~/.bashrc<br />
<br />
Create <code>~/.local/share/Anki2/addons/mysyncserver.py</code> (previously <code>~/Documents/Anki/addons/mysyncserver.py</code>) with contents<br />
import anki.sync<br />
anki.sync.SYNC_BASE = 'http://anki.stacky.net:PORT/'<br />
anki.sync.SYNC_MEDIA_BASE = 'http://anki.stacky.net:PORT/msync/'<br />
<br />
where PORT is port from production.ini on the server.<br />
<br />
= debugging =<br />
== Exception: Anki requires a UTF-8 locale.==<br />
Anki sync server is failing to start. Running it in debug mode gives the exception<br />
Exception: Anki requires a UTF-8 locale.<br />
which coming from the fact that <code>sys.getfilesystemencoding()</code> is 'ANSI_X3.4-1968'. This seems to have something to do with locales (i.e. is a problem with dreamhost rather than anki sync server). Current output of <code>locale</code>:<br />
$ locale<br />
LANG=<br />
LANGUAGE=<br />
LC_CTYPE="POSIX"<br />
LC_NUMERIC="POSIX"<br />
LC_TIME="POSIX"<br />
LC_COLLATE=C<br />
LC_MONETARY="POSIX"<br />
LC_MESSAGES="POSIX"<br />
LC_PAPER="POSIX"<br />
LC_NAME="POSIX"<br />
LC_ADDRESS="POSIX"<br />
LC_TELEPHONE="POSIX"<br />
LC_MEASUREMENT="POSIX"<br />
LC_IDENTIFICATION="POSIX"<br />
LC_ALL=<br />
<br />
Just doing <code>export LC_CTYPE=en_US.UTF-8</code> seems to fix the problem, but probably isn't the right way to do it. I have<br />
$ locale -a | grep en_US<br />
en_US<br />
en_US.iso88591<br />
en_US.iso885915<br />
en_US.utf8<br />
but doing <code>locale en_US.utf8</code> says "unknown name en_US.utf8". Same for "en_US.UTF-8", even though there's a line for that in /usr/share/i18n/SUPPORTED.<br />
<br />
I can generate locale files with<br />
localedef -f UTF-8 -i en_US ~/en_US.UTF-8<br />
but how do I ask to use them?<br />
<br />
Oh well. Adding the following to bashrc:<br />
export LC_ALL=en_US.UTF-8<br />
export LANG=en_US.UTF-8<br />
export LANGUAGE=en_US.UTF-8</div>Antonhttps://stacky.net/wiki/index.php?title=Anki_sync_server&diff=1426Anki sync server2018-09-09T17:04:21Z<p>Anton: /* On Anki desktop */</p>
<hr />
<div>==On dreamhost==<br />
Add hosting for domain anki.stacky.net pointing to /home/username/anki.stacky.net.<br />
<br />
virtualenv AnkiServer.env<br />
. AnkiServer.env/bin/activate<br />
easy_install AnkiServer<br />
<br />
Apply patches to avoid "inconsistent database" error. See [https://github.com/dsnopek/anki-sync-server/issues/47]; patches copied below.<br />
<br />
cd ~/AnkiServer.env/lib/python2.7/site-packages/AnkiServer-2.0.6-py2.7.egg/<br />
patch -p0 < ~/AnkiServer.env/anki-sync-server.patch.txt<br />
cd ~/AnkiServer.env/lib/python2.7/site-packages/AnkiServer-2.0.6-py2.7.egg/anki-bundled/<br />
patch -p0 < ~/AnkiServer.env/anki.patch.txt<br />
<br />
Set up:<br />
<br />
cd ~/anki.stacky.net/<br />
cp ../AnkiServer.env/examples/example.ini production.ini<br />
vim production.ini # set host to anki.stacky.net and set port<br />
~/AnkiServer.env/bin/ankiserverctl.py adduser [USERNAME]<br />
<br />
Disallow general access to anki server files (is there a better way to do this?):<br />
chmod o-r -R collections/ production.ini session.db auth.db<br />
<br />
Start the server:<br />
/AnkiServer.env/bin/ankiserverctl.py [start|stop|debug]<br />
<br />
Debug is useful to see requests coming in. Start and stop run in daemon mode.<br />
<br />
=== (patches) ===<br />
anki.patch.txt:<br />
<pre><br />
diff -urN anki/collection.py anki/collection.py<br />
--- anki/collection.py 2016-10-22 00:04:43.365953912 +0200<br />
+++ anki/collection.py 2016-10-23 10:46:26.171300370 +0200<br />
@@ -60,7 +60,7 @@<br />
self.server = server<br />
self._lastSave = time.time()<br />
self.clearUndo()<br />
- self.media = MediaManager(self, server)<br />
+ self.media = MediaManager(self)<br />
self.models = ModelManager(self)<br />
self.decks = DeckManager(self)<br />
self.tags = TagManager(self)<br />
diff -urN anki/media.py anki/media.py<br />
--- anki/media.py 2016-10-22 00:04:43.367953863 +0200<br />
+++ anki/media.py 2016-10-23 10:46:16.947524341 +0200<br />
@@ -26,11 +26,8 @@<br />
]<br />
regexps = soundRegexps + imgRegexps<br />
<br />
- def __init__(self, col, server):<br />
+ def __init__(self, col):<br />
self.col = col<br />
- if server:<br />
- self._dir = None<br />
- return<br />
# media directory<br />
self._dir = re.sub("(?i)\.(anki2)$", ".media", self.col.path)<br />
# convert dir to unicode if it's not already<br />
@@ -51,8 +48,6 @@<br />
self.connect()<br />
<br />
def connect(self):<br />
- if self.col.server:<br />
- return<br />
path = self.dir()+".db2"<br />
create = not os.path.exists(path)<br />
os.chdir(self._dir)<br />
@@ -103,8 +98,6 @@<br />
os.rename("../collection.media.db", npath)<br />
<br />
def close(self):<br />
- if self.col.server:<br />
- return<br />
self.db.close()<br />
self.db = None<br />
# change cwd back to old location<br />
</pre><br />
<br />
anki-sync-server.patch.txt:<br />
<pre><br />
diff -urN AnkiServer/apps/sync_app.py AnkiServer/apps/sync_app.py<br />
--- AnkiServer/apps/sync_app.py 2016-10-21 22:14:27.672485051 +0200<br />
+++ AnkiServer/apps/sync_app.py 2016-10-26 23:18:24.287625612 +0200<br />
@@ -471,6 +471,7 @@<br />
os.rename(temp_db_path, session.get_collection_path())<br />
finally:<br />
col.reopen()<br />
+ col.load()<br />
<br />
# If everything went fine, run hook_upload if one is defined.<br />
if self.hook_upload is not None:<br />
@@ -488,6 +489,7 @@<br />
data = open(session.get_collection_path(), 'rb').read()<br />
finally:<br />
col.reopen()<br />
+ col.load()<br />
return data<br />
<br />
@wsgify<br />
diff -urN AnkiServer/collection.py AnkiServer/collection.py<br />
--- AnkiServer/collection.py 2016-10-21 22:14:27.672485051 +0200<br />
+++ AnkiServer/collection.py 2016-10-23 10:38:47.869428818 +0200<br />
@@ -75,7 +75,7 @@<br />
else:<br />
raise<br />
<br />
- col = anki.storage.Collection(self.path)<br />
+ col = anki.storage.Collection(self.path, server=True)<br />
<br />
# Do any special setup<br />
if self.setup_new_collection is not None:<br />
@@ -87,7 +87,7 @@<br />
"""Open the collection, or create it if it doesn't exist."""<br />
if self.__col is None:<br />
if os.path.exists(self.path):<br />
- self.__col = anki.storage.Collection(self.path)<br />
+ self.__col = anki.storage.Collection(self.path, server=True)<br />
else:<br />
self.__col = self.__create_collection()<br />
</pre><br />
<br />
==On Ankidroid==<br />
Under Settings > Advanced > Custom sync server, Set sync url to <code>http://anki.stacky.net:[port]</code> and media sync url to <code>http://anki.stacky.net:[port]/msync</code><br />
<br />
Under Settings > AnkiDroid, set AnkiWeb account to username and password set on the server.<br />
<br />
==On Anki desktop==<br />
Make sure python can do <code>import anki</code> with<br />
sudo easy_install AnkiServer<br />
echo export PYTHONPATH=\"\${PYTHONPATH}:/usr/local/lib/python3.5/dist-packages/AnkiServer-2.0.6-py3.5.egg/anki-bundled/\" >> ~/.bashrc<br />
source ~/.bashrc<br />
<br />
Create <code>~/.local/share/Anki2/addons/mysyncserver.py</code> (previously <code>~/Documents/Anki/addons/mysyncserver.py</code>) with contents<br />
import anki.sync<br />
anki.sync.SYNC_BASE = 'http://anki.stacky.net:PORT/'<br />
anki.sync.SYNC_MEDIA_BASE = 'http://anki.stacky.net:PORT/msync/'<br />
<br />
where PORT is port from production.ini on the server.</div>Antonhttps://stacky.net/wiki/index.php?title=Anki_sync_server&diff=1425Anki sync server2018-08-14T13:39:36Z<p>Anton: </p>
<hr />
<div>==On dreamhost==<br />
Add hosting for domain anki.stacky.net pointing to /home/username/anki.stacky.net.<br />
<br />
virtualenv AnkiServer.env<br />
. AnkiServer.env/bin/activate<br />
easy_install AnkiServer<br />
<br />
Apply patches to avoid "inconsistent database" error. See [https://github.com/dsnopek/anki-sync-server/issues/47]; patches copied below.<br />
<br />
cd ~/AnkiServer.env/lib/python2.7/site-packages/AnkiServer-2.0.6-py2.7.egg/<br />
patch -p0 < ~/AnkiServer.env/anki-sync-server.patch.txt<br />
cd ~/AnkiServer.env/lib/python2.7/site-packages/AnkiServer-2.0.6-py2.7.egg/anki-bundled/<br />
patch -p0 < ~/AnkiServer.env/anki.patch.txt<br />
<br />
Set up:<br />
<br />
cd ~/anki.stacky.net/<br />
cp ../AnkiServer.env/examples/example.ini production.ini<br />
vim production.ini # set host to anki.stacky.net and set port<br />
~/AnkiServer.env/bin/ankiserverctl.py adduser [USERNAME]<br />
<br />
Disallow general access to anki server files (is there a better way to do this?):<br />
chmod o-r -R collections/ production.ini session.db auth.db<br />
<br />
Start the server:<br />
/AnkiServer.env/bin/ankiserverctl.py [start|stop|debug]<br />
<br />
Debug is useful to see requests coming in. Start and stop run in daemon mode.<br />
<br />
=== (patches) ===<br />
anki.patch.txt:<br />
<pre><br />
diff -urN anki/collection.py anki/collection.py<br />
--- anki/collection.py 2016-10-22 00:04:43.365953912 +0200<br />
+++ anki/collection.py 2016-10-23 10:46:26.171300370 +0200<br />
@@ -60,7 +60,7 @@<br />
self.server = server<br />
self._lastSave = time.time()<br />
self.clearUndo()<br />
- self.media = MediaManager(self, server)<br />
+ self.media = MediaManager(self)<br />
self.models = ModelManager(self)<br />
self.decks = DeckManager(self)<br />
self.tags = TagManager(self)<br />
diff -urN anki/media.py anki/media.py<br />
--- anki/media.py 2016-10-22 00:04:43.367953863 +0200<br />
+++ anki/media.py 2016-10-23 10:46:16.947524341 +0200<br />
@@ -26,11 +26,8 @@<br />
]<br />
regexps = soundRegexps + imgRegexps<br />
<br />
- def __init__(self, col, server):<br />
+ def __init__(self, col):<br />
self.col = col<br />
- if server:<br />
- self._dir = None<br />
- return<br />
# media directory<br />
self._dir = re.sub("(?i)\.(anki2)$", ".media", self.col.path)<br />
# convert dir to unicode if it's not already<br />
@@ -51,8 +48,6 @@<br />
self.connect()<br />
<br />
def connect(self):<br />
- if self.col.server:<br />
- return<br />
path = self.dir()+".db2"<br />
create = not os.path.exists(path)<br />
os.chdir(self._dir)<br />
@@ -103,8 +98,6 @@<br />
os.rename("../collection.media.db", npath)<br />
<br />
def close(self):<br />
- if self.col.server:<br />
- return<br />
self.db.close()<br />
self.db = None<br />
# change cwd back to old location<br />
</pre><br />
<br />
anki-sync-server.patch.txt:<br />
<pre><br />
diff -urN AnkiServer/apps/sync_app.py AnkiServer/apps/sync_app.py<br />
--- AnkiServer/apps/sync_app.py 2016-10-21 22:14:27.672485051 +0200<br />
+++ AnkiServer/apps/sync_app.py 2016-10-26 23:18:24.287625612 +0200<br />
@@ -471,6 +471,7 @@<br />
os.rename(temp_db_path, session.get_collection_path())<br />
finally:<br />
col.reopen()<br />
+ col.load()<br />
<br />
# If everything went fine, run hook_upload if one is defined.<br />
if self.hook_upload is not None:<br />
@@ -488,6 +489,7 @@<br />
data = open(session.get_collection_path(), 'rb').read()<br />
finally:<br />
col.reopen()<br />
+ col.load()<br />
return data<br />
<br />
@wsgify<br />
diff -urN AnkiServer/collection.py AnkiServer/collection.py<br />
--- AnkiServer/collection.py 2016-10-21 22:14:27.672485051 +0200<br />
+++ AnkiServer/collection.py 2016-10-23 10:38:47.869428818 +0200<br />
@@ -75,7 +75,7 @@<br />
else:<br />
raise<br />
<br />
- col = anki.storage.Collection(self.path)<br />
+ col = anki.storage.Collection(self.path, server=True)<br />
<br />
# Do any special setup<br />
if self.setup_new_collection is not None:<br />
@@ -87,7 +87,7 @@<br />
"""Open the collection, or create it if it doesn't exist."""<br />
if self.__col is None:<br />
if os.path.exists(self.path):<br />
- self.__col = anki.storage.Collection(self.path)<br />
+ self.__col = anki.storage.Collection(self.path, server=True)<br />
else:<br />
self.__col = self.__create_collection()<br />
</pre><br />
<br />
==On Ankidroid==<br />
Under Settings > Advanced > Custom sync server, Set sync url to <code>http://anki.stacky.net:[port]</code> and media sync url to <code>http://anki.stacky.net:[port]/msync</code><br />
<br />
Under Settings > AnkiDroid, set AnkiWeb account to username and password set on the server.<br />
<br />
==On Anki desktop==<br />
Make sure python can do <code>import anki</code> with<br />
sudo easy_install AnkiServer<br />
echo export PYTHONPATH=\"\${PYTHONPATH}:/usr/local/lib/python3.5/dist-packages/AnkiServer-2.0.6-py3.5.egg/anki-bundled/\" >> ~/.bashrc<br />
source ~/.bashrc<br />
<br />
Create <code>~Documents/Anki/addons/mysyncserver.py</code> with contents<br />
import anki.sync<br />
anki.sync.SYNC_BASE = 'http://anki.stacky.net:PORT/'<br />
anki.sync.SYNC_MEDIA_BASE = 'http://anki.stacky.net:PORT/msync/'<br />
<br />
where PORT is port from production.ini on the server.</div>Antonhttps://stacky.net/wiki/index.php?title=Anki_sync_server&diff=1424Anki sync server2018-08-14T05:47:39Z<p>Anton: /* On Anki desktop */</p>
<hr />
<div>==On dreamhost==<br />
Add hosting for domain anki.stacky.net pointing to /home/username/anki.stacky.net.<br />
<br />
virtualenv AnkiServer.env<br />
. AnkiServer.env/bin/activate<br />
easy_install AnkiServer<br />
<br />
Apply patches to avoid "inconsistent database" error. See [https://github.com/dsnopek/anki-sync-server/issues/47]; patches copied below.<br />
<br />
cd ~/AnkiServer.env/lib/python2.7/site-packages/AnkiServer-2.0.6-py2.7.egg/<br />
patch -p0 < ~/AnkiServer.env/anki-sync-server.patch.txt<br />
cd ~/AnkiServer.env/lib/python2.7/site-packages/AnkiServer-2.0.6-py2.7.egg/anki-bundled/<br />
patch -p0 < ~/AnkiServer.env/anki.patch.txt<br />
<br />
Set up:<br />
<br />
cd ~/anki.stacky.net/<br />
cp ../AnkiServer.env/examples/example.ini production.ini<br />
vim production.ini # set host to anki.stacky.net and set port<br />
~/AnkiServer.env/bin/ankiserverctl.py adduser [USERNAME]<br />
/AnkiServer.env/bin/ankiserverctl.py [start|stop|debug]<br />
<br />
Debug is useful to see requests coming in. Start and stop run in daemon mode.<br />
<br />
=== (patches) ===<br />
anki.patch.txt:<br />
<pre><br />
diff -urN anki/collection.py anki/collection.py<br />
--- anki/collection.py 2016-10-22 00:04:43.365953912 +0200<br />
+++ anki/collection.py 2016-10-23 10:46:26.171300370 +0200<br />
@@ -60,7 +60,7 @@<br />
self.server = server<br />
self._lastSave = time.time()<br />
self.clearUndo()<br />
- self.media = MediaManager(self, server)<br />
+ self.media = MediaManager(self)<br />
self.models = ModelManager(self)<br />
self.decks = DeckManager(self)<br />
self.tags = TagManager(self)<br />
diff -urN anki/media.py anki/media.py<br />
--- anki/media.py 2016-10-22 00:04:43.367953863 +0200<br />
+++ anki/media.py 2016-10-23 10:46:16.947524341 +0200<br />
@@ -26,11 +26,8 @@<br />
]<br />
regexps = soundRegexps + imgRegexps<br />
<br />
- def __init__(self, col, server):<br />
+ def __init__(self, col):<br />
self.col = col<br />
- if server:<br />
- self._dir = None<br />
- return<br />
# media directory<br />
self._dir = re.sub("(?i)\.(anki2)$", ".media", self.col.path)<br />
# convert dir to unicode if it's not already<br />
@@ -51,8 +48,6 @@<br />
self.connect()<br />
<br />
def connect(self):<br />
- if self.col.server:<br />
- return<br />
path = self.dir()+".db2"<br />
create = not os.path.exists(path)<br />
os.chdir(self._dir)<br />
@@ -103,8 +98,6 @@<br />
os.rename("../collection.media.db", npath)<br />
<br />
def close(self):<br />
- if self.col.server:<br />
- return<br />
self.db.close()<br />
self.db = None<br />
# change cwd back to old location<br />
</pre><br />
<br />
anki-sync-server.patch.txt:<br />
<pre><br />
diff -urN AnkiServer/apps/sync_app.py AnkiServer/apps/sync_app.py<br />
--- AnkiServer/apps/sync_app.py 2016-10-21 22:14:27.672485051 +0200<br />
+++ AnkiServer/apps/sync_app.py 2016-10-26 23:18:24.287625612 +0200<br />
@@ -471,6 +471,7 @@<br />
os.rename(temp_db_path, session.get_collection_path())<br />
finally:<br />
col.reopen()<br />
+ col.load()<br />
<br />
# If everything went fine, run hook_upload if one is defined.<br />
if self.hook_upload is not None:<br />
@@ -488,6 +489,7 @@<br />
data = open(session.get_collection_path(), 'rb').read()<br />
finally:<br />
col.reopen()<br />
+ col.load()<br />
return data<br />
<br />
@wsgify<br />
diff -urN AnkiServer/collection.py AnkiServer/collection.py<br />
--- AnkiServer/collection.py 2016-10-21 22:14:27.672485051 +0200<br />
+++ AnkiServer/collection.py 2016-10-23 10:38:47.869428818 +0200<br />
@@ -75,7 +75,7 @@<br />
else:<br />
raise<br />
<br />
- col = anki.storage.Collection(self.path)<br />
+ col = anki.storage.Collection(self.path, server=True)<br />
<br />
# Do any special setup<br />
if self.setup_new_collection is not None:<br />
@@ -87,7 +87,7 @@<br />
"""Open the collection, or create it if it doesn't exist."""<br />
if self.__col is None:<br />
if os.path.exists(self.path):<br />
- self.__col = anki.storage.Collection(self.path)<br />
+ self.__col = anki.storage.Collection(self.path, server=True)<br />
else:<br />
self.__col = self.__create_collection()<br />
</pre><br />
<br />
==On Ankidroid==<br />
Under Settings > Advanced > Custom sync server, Set sync url to <code>http://anki.stacky.net:[port]</code> and media sync url to <code>http://anki.stacky.net:[port]/msync</code><br />
<br />
Under Settings > AnkiDroid, set AnkiWeb account to username and password set on the server.<br />
<br />
==On Anki desktop==<br />
Make sure python can do <code>import anki</code> with<br />
sudo easy_install AnkiServer<br />
echo export PYTHONPATH=\"\${PYTHONPATH}:/usr/local/lib/python3.5/dist-packages/AnkiServer-2.0.6-py3.5.egg/anki-bundled/\" >> ~/.bashrc<br />
source ~/.bashrc<br />
<br />
Create <code>~Documents/Anki/addons/mysyncserver.py</code> with contents<br />
import anki.sync<br />
anki.sync.SYNC_BASE = 'http://anki.stacky.net:PORT/'<br />
anki.sync.SYNC_MEDIA_BASE = 'http://anki.stacky.net:PORT/msync/'<br />
<br />
where PORT is port from production.ini on the server.</div>Antonhttps://stacky.net/wiki/index.php?title=Anki_sync_server&diff=1423Anki sync server2018-08-14T05:43:58Z<p>Anton: Created page with "==On dreamhost== Add hosting for domain anki.stacky.net pointing to /home/username/anki.stacky.net. virtualenv AnkiServer.env . AnkiServer.env/bin/activate easy_install An..."</p>
<hr />
<div>==On dreamhost==<br />
Add hosting for domain anki.stacky.net pointing to /home/username/anki.stacky.net.<br />
<br />
virtualenv AnkiServer.env<br />
. AnkiServer.env/bin/activate<br />
easy_install AnkiServer<br />
<br />
Apply patches to avoid "inconsistent database" error. See [https://github.com/dsnopek/anki-sync-server/issues/47]; patches copied below.<br />
<br />
cd ~/AnkiServer.env/lib/python2.7/site-packages/AnkiServer-2.0.6-py2.7.egg/<br />
patch -p0 < ~/AnkiServer.env/anki-sync-server.patch.txt<br />
cd ~/AnkiServer.env/lib/python2.7/site-packages/AnkiServer-2.0.6-py2.7.egg/anki-bundled/<br />
patch -p0 < ~/AnkiServer.env/anki.patch.txt<br />
<br />
Set up:<br />
<br />
cd ~/anki.stacky.net/<br />
cp ../AnkiServer.env/examples/example.ini production.ini<br />
vim production.ini # set host to anki.stacky.net and set port<br />
~/AnkiServer.env/bin/ankiserverctl.py adduser [USERNAME]<br />
/AnkiServer.env/bin/ankiserverctl.py [start|stop|debug]<br />
<br />
Debug is useful to see requests coming in. Start and stop run in daemon mode.<br />
<br />
=== (patches) ===<br />
anki.patch.txt:<br />
<pre><br />
diff -urN anki/collection.py anki/collection.py<br />
--- anki/collection.py 2016-10-22 00:04:43.365953912 +0200<br />
+++ anki/collection.py 2016-10-23 10:46:26.171300370 +0200<br />
@@ -60,7 +60,7 @@<br />
self.server = server<br />
self._lastSave = time.time()<br />
self.clearUndo()<br />
- self.media = MediaManager(self, server)<br />
+ self.media = MediaManager(self)<br />
self.models = ModelManager(self)<br />
self.decks = DeckManager(self)<br />
self.tags = TagManager(self)<br />
diff -urN anki/media.py anki/media.py<br />
--- anki/media.py 2016-10-22 00:04:43.367953863 +0200<br />
+++ anki/media.py 2016-10-23 10:46:16.947524341 +0200<br />
@@ -26,11 +26,8 @@<br />
]<br />
regexps = soundRegexps + imgRegexps<br />
<br />
- def __init__(self, col, server):<br />
+ def __init__(self, col):<br />
self.col = col<br />
- if server:<br />
- self._dir = None<br />
- return<br />
# media directory<br />
self._dir = re.sub("(?i)\.(anki2)$", ".media", self.col.path)<br />
# convert dir to unicode if it's not already<br />
@@ -51,8 +48,6 @@<br />
self.connect()<br />
<br />
def connect(self):<br />
- if self.col.server:<br />
- return<br />
path = self.dir()+".db2"<br />
create = not os.path.exists(path)<br />
os.chdir(self._dir)<br />
@@ -103,8 +98,6 @@<br />
os.rename("../collection.media.db", npath)<br />
<br />
def close(self):<br />
- if self.col.server:<br />
- return<br />
self.db.close()<br />
self.db = None<br />
# change cwd back to old location<br />
</pre><br />
<br />
anki-sync-server.patch.txt:<br />
<pre><br />
diff -urN AnkiServer/apps/sync_app.py AnkiServer/apps/sync_app.py<br />
--- AnkiServer/apps/sync_app.py 2016-10-21 22:14:27.672485051 +0200<br />
+++ AnkiServer/apps/sync_app.py 2016-10-26 23:18:24.287625612 +0200<br />
@@ -471,6 +471,7 @@<br />
os.rename(temp_db_path, session.get_collection_path())<br />
finally:<br />
col.reopen()<br />
+ col.load()<br />
<br />
# If everything went fine, run hook_upload if one is defined.<br />
if self.hook_upload is not None:<br />
@@ -488,6 +489,7 @@<br />
data = open(session.get_collection_path(), 'rb').read()<br />
finally:<br />
col.reopen()<br />
+ col.load()<br />
return data<br />
<br />
@wsgify<br />
diff -urN AnkiServer/collection.py AnkiServer/collection.py<br />
--- AnkiServer/collection.py 2016-10-21 22:14:27.672485051 +0200<br />
+++ AnkiServer/collection.py 2016-10-23 10:38:47.869428818 +0200<br />
@@ -75,7 +75,7 @@<br />
else:<br />
raise<br />
<br />
- col = anki.storage.Collection(self.path)<br />
+ col = anki.storage.Collection(self.path, server=True)<br />
<br />
# Do any special setup<br />
if self.setup_new_collection is not None:<br />
@@ -87,7 +87,7 @@<br />
"""Open the collection, or create it if it doesn't exist."""<br />
if self.__col is None:<br />
if os.path.exists(self.path):<br />
- self.__col = anki.storage.Collection(self.path)<br />
+ self.__col = anki.storage.Collection(self.path, server=True)<br />
else:<br />
self.__col = self.__create_collection()<br />
</pre><br />
<br />
==On Ankidroid==<br />
Under Settings > Advanced > Custom sync server, Set sync url to <code>http://anki.stacky.net:[port]</code> and media sync url to <code>http://anki.stacky.net:[port]/msync</code><br />
<br />
Under Settings > AnkiDroid, set AnkiWeb account to username and password set on the server.<br />
<br />
==On Anki desktop==<br />
Make sure python can do <code>import anki</code> with<br />
sudo easy_install AnkiServer<br />
<br />
Create <code>~Documents/Anki/addons/mysyncserver.py</code> with contents<br />
import anki.sync<br />
anki.sync.SYNC_BASE = 'http://anki.stacky.net:PORT/'<br />
anki.sync.SYNC_MEDIA_BASE = 'http://anki.stacky.net:PORT/msync/'<br />
<br />
where PORT is port from production.ini on the server.</div>Antonhttps://stacky.net/wiki/index.php?title=Main_Page&diff=1422Main Page2018-02-12T01:33:39Z<p>Anton: </p>
<hr />
<div>__NOTOC__<br />
[[File:Anton.png|thumb|right]]<br />
<br />
I work on the [https://research.google.com/teams/gas/ Google Accelerated Science] team at Google. I've also worked/studied at Eonite Perception, Caltech, UC Berkeley, and Brandeis.<br />
<br />
My mathematical interests are largely in algebraic geometry, particularly foundational questions about algebraic stacks. See my [[Research]] page for more information. Lately, I've been thinking more about probability, information, and inference.<br />
<br />
I've taught several courses over the years. Check out the [[:Category:Course_Page|course pages]].<br />
<br />
[[File:MOlogo.png|200px|link=http://mathoverflow.net|alt="mathoverflow.net"]] is a question and answer site for professional mathematicians. I founded it and helped to make it successful. You can read about it in [http://stacky.net/files/MOnotices.pdf the Notices], from the [https://simonsfoundation.org/news/open-news/-/asset_publisher/bo1E/content/the-global-math-commons Simons Foundation], in [http://www.theatlantic.com/technology/archive/2010/09/beyond-facebook-how-the-worlds-mathematicians-organize-online/63422/ the Atlantic], and on [http://www.google.com/search?q=mathoverflow&tbm=blg many different blogs].<br />
<br />
I like [http://en.wikipedia.org/wiki/TeX TeX] and [http://en.wikipedia.org/wiki/LaTeX LaTeX]. If you do too, have a look at my [[TeXnical notes]] and [[advice on real-time TeXing]].<br />
<br />
As a real-time TeXer, I've accumulated some [[course notes]] that I find to be useful references.<br />
<br />
="Blog"=<br />
{{blog}}<br />
<br />
=Contact Information=<br />
'''Name:''' Anton Geraschenko<br><br />
'''Web:''' http://stacky.net <br><br />
'''Email:''' [mailto:geraschenko@gmail.com geraschenko@gmail.com]<br><br />
'''PGP:''' [http://stacky.net/posted/geraschenko@gmail.com--public.asc my public key]<br><br />
'''Phone:''' 617 275 1573 (cell)<br><br />
'''Home:''' 2061 Ashton Ave, Menlo Park, CA 94025 [http://maps.google.com/?q=37.433165,-122.202514 (map)]</div>Antonhttps://stacky.net/wiki/index.php?title=Main_Page&diff=1421Main Page2018-02-12T01:16:13Z<p>Anton: /* Contact Information */</p>
<hr />
<div>__NOTOC__<br />
[[File:Anton.png|thumb|right]]<br />
<br />
I work at Eonite Perception, doing software engineering and thinking about math problems. I've also worked/studied at Google, Caltech, UC Berkeley, and Brandeis.<br />
<br />
My mathematical interests are largely in algebraic geometry, particularly foundational questions about algebraic stacks. See my [[Research]] page for more information. Lately, I've been thinking more about probability, information, and inferrence.<br />
<br />
I've taught several courses over the years. Check out the [[:Category:Course_Page|course pages]].<br />
<br />
[[File:MOlogo.png|200px|link=http://mathoverflow.net|alt="mathoverflow.net"]] is a question and answer site for professional mathematicians. I founded it and helped to make it successful. You can read about it in [http://stacky.net/files/MOnotices.pdf the Notices], from the [https://simonsfoundation.org/news/open-news/-/asset_publisher/bo1E/content/the-global-math-commons Simons Foundation], in [http://www.theatlantic.com/technology/archive/2010/09/beyond-facebook-how-the-worlds-mathematicians-organize-online/63422/ the Atlantic], and on [http://www.google.com/search?q=mathoverflow&tbm=blg many different blogs].<br />
<br />
I like [http://en.wikipedia.org/wiki/TeX TeX] and [http://en.wikipedia.org/wiki/LaTeX LaTeX]. If you do too, have a look at my [[TeXnical notes]] and [[advice on real-time TeXing]].<br />
<br />
As a real-time TeXer, I've accumulated some [[course notes]] that I find to be useful references.<br />
<br />
="Blog"=<br />
{{blog}}<br />
<br />
=Contact Information=<br />
'''Name:''' Anton Geraschenko<br><br />
'''Web:''' http://stacky.net <br><br />
'''Email:''' [mailto:geraschenko@gmail.com geraschenko@gmail.com]<br><br />
'''PGP:''' [http://stacky.net/posted/geraschenko@gmail.com--public.asc my public key]<br><br />
'''Phone:''' 617 275 1573 (cell)<br><br />
'''Home:''' 2061 Ashton Ave, Menlo Park, CA 94025 [http://maps.google.com/?q=37.433165,-122.202514 (map)]</div>Antonhttps://stacky.net/wiki/index.php?title=Links&diff=1420Links2018-01-18T19:45:52Z<p>Anton: </p>
<hr />
<div>== jupyter notebook from a virtualenv ==<br />
http://help.pythonanywhere.com/pages/IPythonNotebookVirtualenvs<br />
<br />
source ~/.virtualenvs/my-env<br />
pip install ipykernel<br />
python -m ipykernel install --user --name=my-env</div>Antonhttps://stacky.net/wiki/index.php?title=Links&diff=1419Links2018-01-18T19:45:08Z<p>Anton: Created page with "== jupyter notebook from a virtualenv == http://help.pythonanywhere.com/pages/IPythonNotebookVirtualenvs"</p>
<hr />
<div>== jupyter notebook from a virtualenv ==<br />
http://help.pythonanywhere.com/pages/IPythonNotebookVirtualenvs</div>Antonhttps://stacky.net/wiki/index.php?title=Xps_15&diff=1418Xps 152018-01-03T18:55:52Z<p>Anton: </p>
<hr />
<div>Following instructions from<br />
<br />
* https://github.com/rcasero/doc/wiki/Ubuntu-linux-on-Dell-XPS-15-(9560)<br />
* https://www.reddit.com/r/Dell/comments/60a907/xps_15_9560_from_the_box_to_productivity_how_i/<br />
<br />
Stuff I did:<br />
* booted windows 10, completed setup<br />
* downloaded and installed windows updates<br />
* downloaded bios update from http://www.dell.com/support/home/us/en/19/products/?app=drivers<br />
* created a recovery drive: http://www.dell.com/support/article/us/en/19/sln299044/how-to-create-and-use-the-dell-windows-recovery-image?lang=en<br />
* turned on developer mode and enabled windows subsystem for Linux: https://www.howtogeek.com/249966/how-to-install-and-use-the-linux-bash-shell-on-windows-10/<br />
* install ubuntu on the linux subsystem<br />
* install xming<br />
<br />
*Change SATA Operation so that Ubuntu can see the SSD<br />
**Login into Windows 10, and set up Safe Mode: "Change advanced Startup Options" -> "Restart Now" -> "Troubleshoot" > "Advanced options" > "Startup Settings" > "Restart"<br />
**Boot laptop and press F2 -> BIOS Setup<br />
**System Configuration -> SATA Operation<br />
**Change SATA Operation from "RAID On" to "AHCI"<br />
**Apply and Exit. This will reboot the laptop, and provide several boot options<br />
**Choose "4. Safe Mode"<br />
**"Start" -> "Windows System" -> "Control Panel" -> "Device Manager". Check that the "IDE ATA/ATAPI controller" is "Intel(R) 100 Series/C230 Chipset Family SATA AHCI Controller"<br />
**Reboot normally. This should boot into the regular Window 10<br />
**If you reboot and go into the BIOS, SATA Operation should still be AHCI<br />
<br />
<br />
* Install Ubuntu:<br />
** boot bootable usb stick (hold F2 during boot, and select it from the boot sequence menu)<br />
** run `sudo gparted`, and reduce the size of the main windows partition to 173000MB<br />
** run installer, choose option to install along windows boot<br />
<br />
== Switching between Nvidia and Intel ==<br />
Use these commands:<br />
sudo prime-select intel<br />
sudo prime-select nvidia<br />
prime-select query<br />
<br />
After switching, you have to reboot. When Intel is selected, it seems to hang on reboot, but can be booted in recovery mode (and immediately leave recovery mode).</div>Antonhttps://stacky.net/wiki/index.php?title=Xps_15&diff=1417Xps 152017-10-27T07:04:31Z<p>Anton: </p>
<hr />
<div>Following instructions from<br />
<br />
* https://github.com/rcasero/doc/wiki/Ubuntu-linux-on-Dell-XPS-15-(9560)<br />
* https://www.reddit.com/r/Dell/comments/60a907/xps_15_9560_from_the_box_to_productivity_how_i/<br />
<br />
Stuff I did:<br />
* booted windows 10, completed setup<br />
* downloaded and installed windows updates<br />
* downloaded bios update from http://www.dell.com/support/home/us/en/19/products/?app=drivers<br />
* created a recovery drive: http://www.dell.com/support/article/us/en/19/sln299044/how-to-create-and-use-the-dell-windows-recovery-image?lang=en<br />
* turned on developer mode and enabled windows subsystem for Linux: https://www.howtogeek.com/249966/how-to-install-and-use-the-linux-bash-shell-on-windows-10/<br />
* install ubuntu on the linux subsystem<br />
* install xming<br />
<br />
*Change SATA Operation so that Ubuntu can see the SSD<br />
**Login into Windows 10, and set up Safe Mode: "Change advanced Startup Options" -> "Restart Now" -> "Troubleshoot" > "Advanced options" > "Startup Settings" > "Restart"<br />
**Boot laptop and press F2 -> BIOS Setup<br />
**System Configuration -> SATA Operation<br />
**Change SATA Operation from "RAID On" to "AHCI"<br />
**Apply and Exit. This will reboot the laptop, and provide several boot options<br />
**Choose "4. Safe Mode"<br />
**"Start" -> "Windows System" -> "Control Panel" -> "Device Manager". Check that the "IDE ATA/ATAPI controller" is "Intel(R) 100 Series/C230 Chipset Family SATA AHCI Controller"<br />
**Reboot normally. This should boot into the regular Window 10<br />
**If you reboot and go into the BIOS, SATA Operation should still be AHCI<br />
<br />
<br />
* Install Ubuntu:<br />
** boot bootable usb stick (hold F2 during boot, and select it from the boot sequence menu)<br />
** run `sudo gparted`, and reduce the size of the main windows partition to 173000MB<br />
** run installer, choose option to install along windows boot</div>Antonhttps://stacky.net/wiki/index.php?title=Xps_15&diff=1416Xps 152017-10-27T06:17:29Z<p>Anton: </p>
<hr />
<div>Following instructions from<br />
<br />
* https://github.com/rcasero/doc/wiki/Ubuntu-linux-on-Dell-XPS-15-(9560)<br />
* https://www.reddit.com/r/Dell/comments/60a907/xps_15_9560_from_the_box_to_productivity_how_i/<br />
<br />
Stuff I did:<br />
* booted windows 10, completed setup<br />
* downloaded and installed windows updates<br />
* downloaded bios update from http://www.dell.com/support/home/us/en/19/products/?app=drivers<br />
* created a recovery drive: http://www.dell.com/support/article/us/en/19/sln299044/how-to-create-and-use-the-dell-windows-recovery-image?lang=en<br />
* turned on developer mode and enabled windows subsystem for Linux: https://www.howtogeek.com/249966/how-to-install-and-use-the-linux-bash-shell-on-windows-10/<br />
<br />
*Change SATA Operation so that Ubuntu can see the SSD<br />
**Login into Windows 10, and set up Safe Mode: "Change advanced Startup Options" -> "Restart Now" -> "Troubleshoot" > "Advanced options" > "Startup Settings" > "Restart"<br />
**Boot laptop and press F2 -> BIOS Setup<br />
**System Configuration -> SATA Operation<br />
**Change SATA Operation from "RAID On" to "AHCI"<br />
**Apply and Exit. This will reboot the laptop, and provide several boot options<br />
**Choose "4. Safe Mode"<br />
**"Start" -> "Windows System" -> "Control Panel" -> "Device Manager". Check that the "IDE ATA/ATAPI controller" is "Intel(R) 100 Series/C230 Chipset Family SATA AHCI Controller"<br />
**Reboot normally. This should boot into the regular Window 10<br />
**If you reboot and go into the BIOS, SATA Operation should still be AHCI<br />
<br />
* Prep drive for Ubuntu install:<br />
** right click on start menu, select command prompt in admin mode<br />
** run <code>diskmgmt.msc</code><br />
** right click c:, shrink volume ... doesn't work, because it won't let me shrink by more than half.<br />
* Install Ubuntu:</div>Antonhttps://stacky.net/wiki/index.php?title=CV&diff=1413CV2017-10-18T15:21:28Z<p>Anton: /* Teaching Experience */</p>
<hr />
<div>=Contact Information=<br />
'''Name:''' Anton Geraschenko<br><br />
'''Web:''' http://stacky.net<br><br />
'''Email:''' [mailto:geraschenko@gmail.com geraschenko@gmail.com]<br><br />
'''Phone:''' 617 275 1573 (cell)<br><br />
'''Home:''' 2061 Ashton Ave, Menlo Park, CA 94025<br />
<br />
= Research Interests = <br />
Algebraic geometry, algebraic stacks, moduli, algebraic groups, representation theory.<br />
<br />
= Appointments =<br />
[[File:Citlogo.jpg|60px|right]]<br />
'''Harry Bateman Research Instructor''', Caltech, September 2011-2012.<br />
<br />
= Education =<br />
*[[File:UCBerkeley-logo.jpg|60px|right]] '''University of California, Berkeley''', California USA<br><br />
Ph.D.May 2011, Dissertation Topic: "Toric Stacks", Adviser: Vera Serganova<br />
*[[File:Brandeis-logo.jpg|60px|right]] '''Brandeis University''', Waltham, Massachusetts USA<br><br />
B.A. May 2004, Summa Cum Laude Physics and Mathematics with Highest Honors<br />
<br />
= Honors and Awards =<br />
*[[File:nsf.jpg|60px|right]]National Science Foundation Graduate Research Fellowship, 2005-2008<br />
*Arnold Shapiro Prize in Mathematics, 2004<br />
<br />
= Publications =<br />
{| border=0<br />
| '''A "bottom up" characterization of smooth Deligne-Mumford stacks'''<br />
| with Matthew Satriano. <br />
| [http://arxiv.org/abs/1503.05478 arXiv:1503.05478]<br />
| [https://doi.org/10.1093/imrn/rnw201 IMRN September 2016]<br />
|-<br />
| '''There is no degree map for 0-cycles on Artin stacks'''<br />
| with Dan Edidin and Matthew Satriano. <br />
| [http://arxiv.org/abs/1208.3239 arXiv:1208.3239]<br />
| [http://dx.doi.org/10.1007/s00031-013-9225-x Transformation Groups June 2013]<br />
|-<br />
| '''Formal GAGA for good moduli spaces'''<br />
| with David Zureick-Brown.<br />
| [http://arxiv.org/abs/1208.2882 arXiv:1208.2882]<br />
| [http://algebraicgeometry.nl/7.html Algebraic Geometry May 2015]<br />
|-<br />
| '''Torus Quotients as Global Quotients by Finite Groups'''<br />
| with Matthew Satriano.<br />
| [http://arxiv.org/abs/1201.4807 arXiv:1201.4807]<br />
| [http://dx.doi.org/10.1112/jlms/jdv046 JLMS 2015]<br />
|-<br />
| '''Toric Stacks I: The Theory of Stacky Fans'''<br />
| with Matthew Satriano.<br />
| [http://arxiv.org/abs/1107.1906 arXiv:1107.1906]<br />
| [http://dx.doi.org/10.1090/S0002-9947-2014-06063-7 Transactions of the AMS 2015]<br />
|-<br />
| '''Toric Stacks II: Intrinsic Characterization of Toric Stacks'''<br />
| with Matthew Satriano.<br />
| [http://arxiv.org/abs/1107.1907 arXiv:1107.1907]<br />
| [http://dx.doi.org/10.1090/S0002-9947-2014-06064-9 Transactions of the AMS 2015]<br />
|}<br />
<br />
= Synergistic Activities =<br />
* [[File:MOlogo.png|200px|link=http://mathoverflow.net|alt="mathoverflow.net"]]; (Fall 2009-Spring 2014) founder and benevolent dictator.<br><br />
<br />
The Stack Overflow of professional mathematicians, MathOverflow has been responsible for many fruitful collaborations, and has helped mathematicians overcome technical obstructions in their research. For many, it has become an extension of how they do mathematics. At the same time, the site is extremely useful for developing mathematicians since it has become a repository for "professional secrets," insights revealed by experts which are for one reason or another difficult to communicate in other media. It is not unusual for an answer to a question to come from the founder of the field!<br />
<br />
Notably, much of MathOverflow's traffic comes from small institutions where individual researchers are are alone in their field. Such mathematicians have told me that MathOverflow has made them happier and more productive. The site has also served an important social role for developing mathematicians since it allows them to freely interact with other mathematicians at all stages in their careers. In this way, the site has filled an important niche, allowing mathematicians to effectively network by ''doing mathematics'' together rather than "networking."<br />
<br />
Though MathOverflow is a professional forum ''not'' targeted at the general public, several general-interest articles have been written about it (for example, a featured article of the [https://simonsfoundation.org/news/open-news/-/asset_publisher/bo1E/content/the-global-math-commons Simons Foundation], another in [http://www.theatlantic.com/technology/archive/2010/09/beyond-facebook-how-the-worlds-mathematicians-organize-online/63422/ the Atlantic], the San Jose Mercury, as well as posts on several mathematical blogs). In addition to administering, moderating, and participating in MathOverflow, I have done interviews for these articles because I believe it is important to promote mathematics as a whole. In the same spirit, I gave a brief presentation about the site at the 2011 [http://opensciencesummit.com/ Open Science Summit] ([http://stacky.net/files/MO_OSS2011_slides.pdf slides]).<br />
<br />
I'm no longer benevolent dictator, but MathOverflow has been incorporated as a 501(c)(3) non-profit, and I continue to serve on the board.<br />
<br />
*'''Caltech Algebraic Geometry Seminar'''; (Fall 2011) co-organizer.<br />
*'''Toric Geometry Student Seminar'''; (Fall 2011) faculty sponsor/organizer.<br />
*'''Berkeley Student Representation Theory Seminar'''; (Fall 2006 -- Spring 2007) organizer.<br />
<br />
= Seminar Presentations =<br />
<br />
*'''When is a variety a quotient of a smooth variety by a finite group?'''<br><br />
BIRS workshop. Algebraic Stacks: Progress and Prospects. (03-26-2012) ([http://www.birs.ca/events/2012/5-day-workshops/12w5027/videos/watch/201203261602-Geraschenko.mp4 video])<br><br />
Emory Algebraic Geometry Seminar. (03-20-2012)<br><br />
UCSD Algebraic Geometry Seminar. (10-26-2011)<br><br />
Claremont Algebra, Number Theory and Combinatorics Seminar. (10-25-2011)<br><br />
WAGS (poster session; [http://stacky.net/files/WAGSposter.pdf my poster]). (10-01-2011)<br><br />
University of Michigan Postdoc Algebraic Geometry Seminar. (09-12-2011)<br><br />
Rice University Algebraic Geometry Seminar. (08-30-2011)<br />
*'''Toric Stacks'''<br><br />
USC Algebra Seminar. (02-07-2011)<br><br />
UW Madison Algebraic Geometry Seminar. (01-21-2011)<br><br />
Stanford Algebraic Geometry Seminar. (10-29-2010)<br><br />
Geometry, Representation theory, And Some Physics (GRASP) Seminar, UC Berkeley. (Fall 2010)<br />
*'''Moduli of Representations of Unipotent Groups'''<br><br />
UW Madison Number Theory Seminar. (01-20-2011)<br><br />
Lie Groups, Lie Algebras and their Representations Workshop. (Fall 2010)<br><br />
Geometry, Representation theory, And Some Physics (GRASP) Seminar, UC Berkeley. (Spring 2010)<br />
*'''Introduction to Toric Varieties I & II'''<br><br />
Student Algebraic and Arithmetic Geometry Seminar. (Spring 2008)<br />
*'''EGA IV §11 and the Valuative Criterion for Flatness'''<br><br />
Clay sponsored EGA seminar. (Summer 2008)<br />
*'''EGA I §§3--4 Products and Immersions of Schemes'''<br><br />
UC Berkeley EGA seminar. (Summer 2008)<br />
*'''The Salamader Lemma'''<br><br />
Many Cheerful Facts (UC Berkeley graduate student colloquium). (Fall 2007)<br />
*'''Introduction to D-modules'''<br><br />
D-modules seminar at UC Berkeley. (Summer 2007)<br />
*'''An overview of $U_q(\mathfrak{g})$ I & II'''<br><br />
Berkeley student representation theory seminar. (Fall 2006)<br />
*'''Category Theory'''<br><br />
Many Cheerful Facts (UC Berkeley graduate student colloquium). (Spring 2006)<br />
*'''Bruhat-Tits spaces and the exponential map'''<br><br />
Many Cheerful Facts (UC Berkeley graduate student colloquium). (Fall 2005)<br />
*'''Buckyballs, glass, and origami'''<br><br />
Many Cheerful Facts (UC Berkeley graduate student colloquium). (Fall 2005)<br />
<br />
= Teaching Experience =<br />
*'''California Institute of Technology''', California USA. '''Instructor'''. Organized courses, gave lectures, held office hours, wrote and graded exams.<br />
** [[Math 193a: Algebraic Stacks, Fall 2011|Algebraic Spaces and Algebraic Stacks (Caltech, Math 193a), Fall 2011]]<br />
** [[Math 130b: Algebraic Geometry, Winter 2012|Graduate Algebraic Geometry (Caltech, Math 130b), Winter 2012]]<br />
** [[Math 109c: Differential Topology, Spring 2012|Geometry and Topology (Caltech, Math 109c), Spring 2012]]<br />
<br />
*'''University of California, Berkeley''', California USA. '''Graduate Student Instructor'''. Organized course (syllabus and text), gave lectures (8 hours per week), wrote and graded midterms and final, held office hours.<br />
**[[Math 115: Introduction to Number Theory, Summer 2010|Introduction to Number Theory (UC Berkeley, Math 115), Summer 2010]]<br />
<br />
*'''University of California, Berkeley''', California USA. '''Graduate Student Instructor'''. Led discussion sections (3 hours per week per section, 2 sections). Wrote weekly quizzes, graded quizzes and exams, and held office hours.<br />
**Calculus II (UC Berkeley, Math 1B), Fall 2004<br />
**Multivariable Calculus (UC Berkeley, Math 53), Spring 2004<br />
**[[Math 53: Multivariable Calculus, Fall 2008|Multivariable Calculus (UC Berkeley, Math 53), Fall 2008]]<br />
**[[Math 54: Linear Algebra and Differential Equations, Fall 2010|Linear Algebra and Differential Equations (UC Berkeley, Math 54), Fall 2010]]<br />
<br />
= Software Skills =<br />
Proficient in Sage, Python, and Bash.<br />
<br />
= References =<br />
{|<br />
|-<br />
|'''Vera Serganova'''<br />
|Department of Mathematics<br />
|University of California Berkeley<br />
|Berkeley, CA 794720-3840<br />
|serganov@math.berkeley.edu<br />
|-<br />
|'''Martin Olsson'''<br />
|Department of Mathematics<br />
|University of California Berkeley<br />
|Berkeley, CA 94720-3840<br />
|molsson@math.berkeley.edu<br />
|-<br />
|'''Ravi Vakil'''<br />
|Department of Mathematics<br />
|Stanford University<br />
|Stanford, CA 94305<br />
|vakil@math.stanford.edu<br />
|-<br />
|'''Tom Graber'''<br />
|Department of Mathematics 253-37<br />
|California Institute of Technology<br />
|Pasadena, CA 91125<br />
|graber@caltech.edu<br />
|}</div>Antonhttps://stacky.net/wiki/index.php?title=CV&diff=1412CV2017-10-17T21:25:23Z<p>Anton: </p>
<hr />
<div>=Contact Information=<br />
'''Name:''' Anton Geraschenko<br><br />
'''Web:''' http://stacky.net<br><br />
'''Email:''' [mailto:geraschenko@gmail.com geraschenko@gmail.com]<br><br />
'''Phone:''' 617 275 1573 (cell)<br><br />
'''Home:''' 2061 Ashton Ave, Menlo Park, CA 94025<br />
<br />
= Research Interests = <br />
Algebraic geometry, algebraic stacks, moduli, algebraic groups, representation theory.<br />
<br />
= Appointments =<br />
[[File:Citlogo.jpg|60px|right]]<br />
'''Harry Bateman Research Instructor''', Caltech, September 2011-2012.<br />
<br />
= Education =<br />
*[[File:UCBerkeley-logo.jpg|60px|right]] '''University of California, Berkeley''', California USA<br><br />
Ph.D.May 2011, Dissertation Topic: "Toric Stacks", Adviser: Vera Serganova<br />
*[[File:Brandeis-logo.jpg|60px|right]] '''Brandeis University''', Waltham, Massachusetts USA<br><br />
B.A. May 2004, Summa Cum Laude Physics and Mathematics with Highest Honors<br />
<br />
= Honors and Awards =<br />
*[[File:nsf.jpg|60px|right]]National Science Foundation Graduate Research Fellowship, 2005-2008<br />
*Arnold Shapiro Prize in Mathematics, 2004<br />
<br />
= Publications =<br />
{| border=0<br />
| '''A "bottom up" characterization of smooth Deligne-Mumford stacks'''<br />
| with Matthew Satriano. <br />
| [http://arxiv.org/abs/1503.05478 arXiv:1503.05478]<br />
| [https://doi.org/10.1093/imrn/rnw201 IMRN September 2016]<br />
|-<br />
| '''There is no degree map for 0-cycles on Artin stacks'''<br />
| with Dan Edidin and Matthew Satriano. <br />
| [http://arxiv.org/abs/1208.3239 arXiv:1208.3239]<br />
| [http://dx.doi.org/10.1007/s00031-013-9225-x Transformation Groups June 2013]<br />
|-<br />
| '''Formal GAGA for good moduli spaces'''<br />
| with David Zureick-Brown.<br />
| [http://arxiv.org/abs/1208.2882 arXiv:1208.2882]<br />
| [http://algebraicgeometry.nl/7.html Algebraic Geometry May 2015]<br />
|-<br />
| '''Torus Quotients as Global Quotients by Finite Groups'''<br />
| with Matthew Satriano.<br />
| [http://arxiv.org/abs/1201.4807 arXiv:1201.4807]<br />
| [http://dx.doi.org/10.1112/jlms/jdv046 JLMS 2015]<br />
|-<br />
| '''Toric Stacks I: The Theory of Stacky Fans'''<br />
| with Matthew Satriano.<br />
| [http://arxiv.org/abs/1107.1906 arXiv:1107.1906]<br />
| [http://dx.doi.org/10.1090/S0002-9947-2014-06063-7 Transactions of the AMS 2015]<br />
|-<br />
| '''Toric Stacks II: Intrinsic Characterization of Toric Stacks'''<br />
| with Matthew Satriano.<br />
| [http://arxiv.org/abs/1107.1907 arXiv:1107.1907]<br />
| [http://dx.doi.org/10.1090/S0002-9947-2014-06064-9 Transactions of the AMS 2015]<br />
|}<br />
<br />
= Synergistic Activities =<br />
* [[File:MOlogo.png|200px|link=http://mathoverflow.net|alt="mathoverflow.net"]]; (Fall 2009-Spring 2014) founder and benevolent dictator.<br><br />
<br />
The Stack Overflow of professional mathematicians, MathOverflow has been responsible for many fruitful collaborations, and has helped mathematicians overcome technical obstructions in their research. For many, it has become an extension of how they do mathematics. At the same time, the site is extremely useful for developing mathematicians since it has become a repository for "professional secrets," insights revealed by experts which are for one reason or another difficult to communicate in other media. It is not unusual for an answer to a question to come from the founder of the field!<br />
<br />
Notably, much of MathOverflow's traffic comes from small institutions where individual researchers are are alone in their field. Such mathematicians have told me that MathOverflow has made them happier and more productive. The site has also served an important social role for developing mathematicians since it allows them to freely interact with other mathematicians at all stages in their careers. In this way, the site has filled an important niche, allowing mathematicians to effectively network by ''doing mathematics'' together rather than "networking."<br />
<br />
Though MathOverflow is a professional forum ''not'' targeted at the general public, several general-interest articles have been written about it (for example, a featured article of the [https://simonsfoundation.org/news/open-news/-/asset_publisher/bo1E/content/the-global-math-commons Simons Foundation], another in [http://www.theatlantic.com/technology/archive/2010/09/beyond-facebook-how-the-worlds-mathematicians-organize-online/63422/ the Atlantic], the San Jose Mercury, as well as posts on several mathematical blogs). In addition to administering, moderating, and participating in MathOverflow, I have done interviews for these articles because I believe it is important to promote mathematics as a whole. In the same spirit, I gave a brief presentation about the site at the 2011 [http://opensciencesummit.com/ Open Science Summit] ([http://stacky.net/files/MO_OSS2011_slides.pdf slides]).<br />
<br />
I'm no longer benevolent dictator, but MathOverflow has been incorporated as a 501(c)(3) non-profit, and I continue to serve on the board.<br />
<br />
*'''Caltech Algebraic Geometry Seminar'''; (Fall 2011) co-organizer.<br />
*'''Toric Geometry Student Seminar'''; (Fall 2011) faculty sponsor/organizer.<br />
*'''Berkeley Student Representation Theory Seminar'''; (Fall 2006 -- Spring 2007) organizer.<br />
<br />
= Seminar Presentations =<br />
<br />
*'''When is a variety a quotient of a smooth variety by a finite group?'''<br><br />
BIRS workshop. Algebraic Stacks: Progress and Prospects. (03-26-2012) ([http://www.birs.ca/events/2012/5-day-workshops/12w5027/videos/watch/201203261602-Geraschenko.mp4 video])<br><br />
Emory Algebraic Geometry Seminar. (03-20-2012)<br><br />
UCSD Algebraic Geometry Seminar. (10-26-2011)<br><br />
Claremont Algebra, Number Theory and Combinatorics Seminar. (10-25-2011)<br><br />
WAGS (poster session; [http://stacky.net/files/WAGSposter.pdf my poster]). (10-01-2011)<br><br />
University of Michigan Postdoc Algebraic Geometry Seminar. (09-12-2011)<br><br />
Rice University Algebraic Geometry Seminar. (08-30-2011)<br />
*'''Toric Stacks'''<br><br />
USC Algebra Seminar. (02-07-2011)<br><br />
UW Madison Algebraic Geometry Seminar. (01-21-2011)<br><br />
Stanford Algebraic Geometry Seminar. (10-29-2010)<br><br />
Geometry, Representation theory, And Some Physics (GRASP) Seminar, UC Berkeley. (Fall 2010)<br />
*'''Moduli of Representations of Unipotent Groups'''<br><br />
UW Madison Number Theory Seminar. (01-20-2011)<br><br />
Lie Groups, Lie Algebras and their Representations Workshop. (Fall 2010)<br><br />
Geometry, Representation theory, And Some Physics (GRASP) Seminar, UC Berkeley. (Spring 2010)<br />
*'''Introduction to Toric Varieties I & II'''<br><br />
Student Algebraic and Arithmetic Geometry Seminar. (Spring 2008)<br />
*'''EGA IV §11 and the Valuative Criterion for Flatness'''<br><br />
Clay sponsored EGA seminar. (Summer 2008)<br />
*'''EGA I §§3--4 Products and Immersions of Schemes'''<br><br />
UC Berkeley EGA seminar. (Summer 2008)<br />
*'''The Salamader Lemma'''<br><br />
Many Cheerful Facts (UC Berkeley graduate student colloquium). (Fall 2007)<br />
*'''Introduction to D-modules'''<br><br />
D-modules seminar at UC Berkeley. (Summer 2007)<br />
*'''An overview of $U_q(\mathfrak{g})$ I & II'''<br><br />
Berkeley student representation theory seminar. (Fall 2006)<br />
*'''Category Theory'''<br><br />
Many Cheerful Facts (UC Berkeley graduate student colloquium). (Spring 2006)<br />
*'''Bruhat-Tits spaces and the exponential map'''<br><br />
Many Cheerful Facts (UC Berkeley graduate student colloquium). (Fall 2005)<br />
*'''Buckyballs, glass, and origami'''<br><br />
Many Cheerful Facts (UC Berkeley graduate student colloquium). (Fall 2005)<br />
<br />
= Teaching Experience =<br />
*'''California Institute of Technology''', California USA. '''Instructor'''. Organized courses, gave lectures, held office hours, wrote and graded exams.<br />
** [[Math 193a: Algebraic Stacks, Fall 2011|Algebraic Spaces and Algebraic Stacks (Caltech, Math 193a), Fall 2011]]<br />
** [[Math 130b: Algebraic Geometry, Winter 2012|Graduate Algebraic Geometry (Caltech, Math 130b), Winter 2012]]<br />
** [[Math 109c: Differential Topology, Spring 2012|Geometry and Topology (Caltech, Math 109c), Spring 2012]]<br />
<br />
<br />
*'''University of California, Berkeley''', California USA. '''Graduate Student Instructor'''. Organized course (syllabus and text), gave lectures (8 hours per week), wrote and graded midterms and final, held office hours.<br />
**[[Math 115: Introduction to Number Theory, Summer 2010|Introduction to Number Theory (UC Berkeley, Math 115), Summer 2010]]<br />
<br />
*'''University of California, Berkeley''', California USA. '''Graduate Student Instructor'''. Led discussion sections (3 hours per week per section, 2 sections). Wrote weekly quizzes, graded quizzes and exams, and held office hours.<br />
**Calculus II (UC Berkeley, Math 1B), Fall 2004<br />
**Multivariable Calculus (UC Berkeley, Math 53), Spring 2004<br />
**[[Math 53: Multivariable Calculus, Fall 2008|Multivariable Calculus (UC Berkeley, Math 53), Fall 2008]]<br />
**[[Math 54: Linear Algebra and Differential Equations, Fall 2010|Linear Algebra and Differential Equations (UC Berkeley, Math 54), Fall 2010]]<br />
<br />
= Software Skills =<br />
Proficient in Sage, Python, and Bash.<br />
<br />
= References =<br />
{|<br />
|-<br />
|'''Vera Serganova'''<br />
|Department of Mathematics<br />
|University of California Berkeley<br />
|Berkeley, CA 794720-3840<br />
|serganov@math.berkeley.edu<br />
|-<br />
|'''Martin Olsson'''<br />
|Department of Mathematics<br />
|University of California Berkeley<br />
|Berkeley, CA 94720-3840<br />
|molsson@math.berkeley.edu<br />
|-<br />
|'''Ravi Vakil'''<br />
|Department of Mathematics<br />
|Stanford University<br />
|Stanford, CA 94305<br />
|vakil@math.stanford.edu<br />
|-<br />
|'''Tom Graber'''<br />
|Department of Mathematics 253-37<br />
|California Institute of Technology<br />
|Pasadena, CA 91125<br />
|graber@caltech.edu<br />
|}</div>Antonhttps://stacky.net/wiki/index.php?title=Research&diff=1411Research2017-10-17T21:14:40Z<p>Anton: </p>
<hr />
<div>I'm interested in algebraic geometry and representation theory. Most of my work involves the use of algebraic stacks and English; I like to think I have a decent command of both, but I have more new ideas about the former. To get a better feel for the sort of stuff I like to think about, check out [http://mathoverflow.net/users/1 my MathOverflow user page].<br />
<br />
<br />
=Publications=<br />
[http://arxiv.org/find/math/1/au:+Geraschenko_A/0/1/0/all/0/1 Me on the arXiv].<br />
<br />
{| border=0<br />
| '''A "bottom up" characterization of smooth Deligne-Mumford stacks'''<br />
| with Matthew Satriano. <br />
| [http://arxiv.org/abs/1503.05478 arXiv:1503.05478]<br />
| [https://doi.org/10.1093/imrn/rnw201 IMRN September 2016]<br />
|-<br />
| '''There is no degree map for 0-cycles on Artin stacks'''<br />
| with Dan Edidin and Matthew Satriano. <br />
| [http://arxiv.org/abs/1208.3239 arXiv:1208.3239]<br />
| [http://dx.doi.org/10.1007/s00031-013-9225-x Transformation Groups June 2013]<br />
|-<br />
| '''Formal GAGA for good moduli spaces'''<br />
| with David Zureick-Brown.<br />
| [http://arxiv.org/abs/1208.2882 arXiv:1208.2882]<br />
| [http://algebraicgeometry.nl/7.html Algebraic Geometry May 2015]<br />
|-<br />
| '''Torus Quotients as Global Quotients by Finite Groups'''<br />
| with Matthew Satriano.<br />
| [http://arxiv.org/abs/1201.4807 arXiv:1201.4807]<br />
| [http://dx.doi.org/10.1112/jlms/jdv046 JLMS 2015]<br />
|-<br />
| '''Toric Stacks I: The Theory of Stacky Fans'''<br />
| with Matthew Satriano.<br />
| [http://arxiv.org/abs/1107.1906 arXiv:1107.1906]<br />
| [http://dx.doi.org/10.1090/S0002-9947-2014-06063-7 Transactions of the AMS 2015]<br />
|-<br />
| '''Toric Stacks II: Intrinsic Characterization of Toric Stacks'''<br />
| with Matthew Satriano.<br />
| [http://arxiv.org/abs/1107.1907 arXiv:1107.1907]<br />
| [http://dx.doi.org/10.1090/S0002-9947-2014-06064-9 Transactions of the AMS 2015]<br />
|}<br />
<br />
= Toric Stacks =<br />
<br />
Because of the rich dictionary between combinatorics and geometry, [http://en.wikipedia.org/wiki/Toric_variety toric varieties] are an extremely fertile testing ground for ideas in algebraic geometry. Once well versed in this dictionary, one can often cook up examples tailored to exhibit some desired behavior, and then understand just about everything about those examples. Since stacks are often difficult to handle and think about, it is desirable to have a similarly versatile-yet-easy-to-handle class of stacks.<br />
<br />
The following two papers aim at a grand unified theory of toric stacks (there are at least seven distinct definitions in the literature prior to this). The first paper develops the combinatorics-geometry dictionary between stacky fans and toric stacks, focusing on stacky phenomena, like canonical stacks, good moduli space morphisms, and moduli interpretations. The second paper is dedicated towards an intrinsic characterization of toric stacks, identifying them as normal reduced finite type stacks with a dense open torus satisfying some reasonable hypotheses (e.g. affine diagonal, linearly reductive stabilizers).<br />
<br />
* '''Toric Stacks I: The Theory of Stacky Fans''' with Matthew Satriano. [http://arxiv.org/abs/1107.1906 arXiv:1107.1906]<br />
* '''Toric Stacks II: Intrinsic Characterization of Toric Stacks''' with Matthew Satriano. [http://arxiv.org/abs/1107.1907 arXiv:1107.1907]<br />
<br />
= Torus quotients as quotients by finite groups =<br />
<br />
Suppose $G$ is a finite group acting on a smooth scheme $U$. The singularities of the quotient scheme $X=U/G$ are ''quotient singularities''. William Fulton posed the question, "is every scheme with tame quotient singularities ''globally'' a quotient of a smooth scheme by the action of a finite group?" The goal is to find a stack $\X$ with coarse space $X$, and to endow $\X$ with a global quotient structure. Though this reformulation is trivial, it has major advantages. First, if $\X\cong [U/G]$, then $U$ is automatically smooth. Second, quotient structures on $\X$ are witnessed by vector bundles. $X$ is automatically the coarse space of a smooth DM stack, which is automatically a quotient by some (infinite) algebraic group. This gives a smooth DM stack with a special vector bundle on it. The goal is then to modify the stack (without changing the coarse space) and the vector bundle to eventually get a smooth stack with a vector bundle that witnesses it as a ''finite'' quotient.<br />
<br />
The paper below has two main results:<br />
<br />
# Any quasi-projective quotient of a smooth space by a split torus (acting with finite stabilizers) is a quotient of a smooth space by a finite diagonalizable group. In particular, this gives you a procedure for expressing quasi-projective simplicial toric varieties as quotients of smooth varieties by finite groups (note: such varieties cannot be expressed as quotients of smooth ''toric'' varieties in general, so this application is non-trivial).<br />
# A space with quotient singularities is a torus quotient (as above) if and only if its canonical stack is a the stack quotient of a smooth space by a torus. Alternatively, a variety is a torus quotient if and only if there are Weil divisors which generate the class groups of the completed local rings (moreover, these local class groups are fairly easy to compute). Note that the second version is clearly Zariski local.<br />
<br />
Using the second result, we show that the projective surface $\PP^2/A_5$ cannot be expressed as a quotient of a smooth variety by a finite ''abelian'' group, even if you resolve two of its three singularities.<br />
<br />
* '''Torus Quotients as Global Quotients by Finite Groups''' with Matthew Satriano. [http://arxiv.org/abs/1201.4807 arXiv:1201.4807]<br />
* '''When is a variety a quotient of a smooth variety by a finite group?''' poster for WAGS (10-2011). [http://stacky.net/files/WAGSposter.pdf]<br />
* '''When is a variety a quotient of a smooth variety by a finite group?''' lecture given at [http://www.birs.ca/events/2012/5-day-workshops/12w5027| Algebraic Stacks: Progress and Prospects BIRS workshop]. [http://www.birs.ca/events/2012/5-day-workshops/12w5027/videos/watch/201203261602-Geraschenko.mp4| video]</div>Antonhttps://stacky.net/wiki/index.php?title=CV&diff=1410CV2017-10-17T21:13:28Z<p>Anton: </p>
<hr />
<div>=Contact Information=<br />
'''Name:''' Anton Geraschenko<br><br />
'''Web:''' http://stacky.net<br><br />
'''Email:''' [mailto:geraschenko@gmail.com geraschenko@gmail.com]<br><br />
'''Phone:''' 617 275 1573 (cell)<br><br />
'''Home:''' 2061 Ashton Ave, Menlo Park, CA 94025<br />
<br />
= Research Interests = <br />
Algebraic geometry, algebraic stacks, moduli, algebraic groups, representation theory.<br />
<br />
= Appointments =<br />
[[File:Citlogo.jpg|60px|right]]<br />
'''Harry Bateman Research Instructor''', Caltech, September 2011-2012.<br />
<br />
= Education =<br />
*[[File:UCBerkeley-logo.jpg|60px|right]] '''University of California, Berkeley''', California USA<br><br />
Ph.D.May 2011, Dissertation Topic: "Toric Stacks", Adviser: Vera Serganova<br />
*[[File:Brandeis-logo.jpg|60px|right]] '''Brandeis University''', Waltham, Massachusetts USA<br><br />
B.A. May 2004, Summa Cum Laude Physics and Mathematics with Highest Honors<br />
<br />
= Honors and Awards =<br />
*[[File:nsf.jpg|60px|right]]National Science Foundation Graduate Research Fellowship, 2005-2008<br />
*Arnold Shapiro Prize in Mathematics, 2004<br />
<br />
= Publications =<br />
{| border=0<br />
| '''A "bottom up" characterization of smooth Deligne-Mumford stacks'''<br />
| with Matthew Satriano. <br />
| [http://arxiv.org/abs/1503.05478 arXiv:1503.05478]<br />
| [https://doi.org/10.1093/imrn/rnw201 IMRN September 2016]<br />
|-<br />
| '''There is no degree map for 0-cycles on Artin stacks'''<br />
| with Dan Edidin and Matthew Satriano. <br />
| [http://arxiv.org/abs/1208.3239 arXiv:1208.3239]<br />
| [http://dx.doi.org/10.1007/s00031-013-9225-x Transformation Groups June 2013]<br />
|-<br />
| '''Formal GAGA for good moduli spaces'''<br />
| with David Zureick-Brown.<br />
| [http://arxiv.org/abs/1208.2882 arXiv:1208.2882]<br />
| [http://algebraicgeometry.nl/7.html Algebraic Geometry May 2015]<br />
|-<br />
| '''Torus Quotients as Global Quotients by Finite Groups'''<br />
| with Matthew Satriano.<br />
| [http://arxiv.org/abs/1201.4807 arXiv:1201.4807]<br />
| [http://dx.doi.org/10.1112/jlms/jdv046 JLMS 2015]<br />
|-<br />
| '''Toric Stacks I: The Theory of Stacky Fans'''<br />
| with Matthew Satriano.<br />
| [http://arxiv.org/abs/1107.1906 arXiv:1107.1906]<br />
| [http://dx.doi.org/10.1090/S0002-9947-2014-06063-7 Transactions of the AMS 2015]<br />
|-<br />
| '''Toric Stacks II: Intrinsic Characterization of Toric Stacks'''<br />
| with Matthew Satriano.<br />
| [http://arxiv.org/abs/1107.1907 arXiv:1107.1907]<br />
| [http://dx.doi.org/10.1090/S0002-9947-2014-06064-9 Transactions of the AMS 2015]<br />
|}<br />
<br />
= Synergistic Activities =<br />
* [[File:MOlogo.png|200px|link=http://mathoverflow.net|alt="mathoverflow.net"]]; (Fall 2009-Spring 2014) founder and benevolent dictator.<br><br />
<br />
The Stack Overflow of professional mathematicians, MathOverflow has been responsible for many fruitful collaborations, and has helped mathematicians overcome technical obstructions in their research. For many, it has become an extension of how they do mathematics. At the same time, the site is extremely useful for developing mathematicians since it has become a repository for "professional secrets," insights revealed by experts which are for one reason or another difficult to communicate in other media. It is not unusual for an answer to a question to come from the founder of the field!<br />
<br />
Notably, much of MathOverflow's traffic comes from small institutions where individual researchers are are alone in their field. Such mathematicians have told me that MathOverflow has made them happier and more productive. The site has also served an important social role for developing mathematicians since it allows them to freely interact with other mathematicians at all stages in their careers. In this way, the site has filled an important niche, allowing mathematicians to effectively network by ''doing mathematics'' together rather than "networking."<br />
<br />
Though MathOverflow is a professional forum ''not'' targeted at the general public, several general-interest articles have been written about it (for example, a featured article of the [https://simonsfoundation.org/news/open-news/-/asset_publisher/bo1E/content/the-global-math-commons Simons Foundation], another in [http://www.theatlantic.com/technology/archive/2010/09/beyond-facebook-how-the-worlds-mathematicians-organize-online/63422/ the Atlantic], the San Jose Mercury, as well as posts on several mathematical blogs). In addition to administering, moderating, and participating in MathOverflow, I have done interviews for these articles because I believe it is important to promote mathematics as a whole. In the same spirit, I gave a brief presentation about the site at the 2011 [http://opensciencesummit.com/ Open Science Summit] ([http://stacky.net/files/MO_OSS2011_slides.pdf slides]).<br />
<br />
I'm no longer benevolent dictator, but MathOverflow has been incorporated as a 501(c)(3) non-profit, and I continue to serve on the board.<br />
<br />
*'''Caltech Algebraic Geometry Seminar'''; (Fall 2011) co-organizer.<br />
*'''Toric Geometry Student Seminar'''; (Fall 2011) faculty sponsor/organizer.<br />
*'''Berkeley Student Representation Theory Seminar'''; (Fall 2006 -- Spring 2007) organizer.<br />
<br />
= Seminar Presentations =<br />
<br />
*'''When is a variety a quotient of a smooth variety by a finite group?'''<br><br />
BIRS workshop. Algebraic Stacks: Progress and Prospects. (03-26-2012) ([http://www.birs.ca/events/2012/5-day-workshops/12w5027/videos/watch/201203261602-Geraschenko.mp4 video])<br><br />
Emory Algebraic Geometry Seminar. (03-20-2012)<br><br />
UCSD Algebraic Geometry Seminar. (10-26-2011)<br><br />
Claremont Algebra, Number Theory and Combinatorics Seminar. (10-25-2011)<br><br />
WAGS (poster session; [http://stacky.net/files/WAGSposter.pdf my poster]). (10-01-2011)<br><br />
University of Michigan Postdoc Algebraic Geometry Seminar. (09-12-2011)<br><br />
Rice University Algebraic Geometry Seminar. (08-30-2011)<br />
*'''Toric Stacks'''<br><br />
USC Algebra Seminar. (02-07-2011)<br><br />
UW Madison Algebraic Geometry Seminar. (01-21-2011)<br><br />
Stanford Algebraic Geometry Seminar. (10-29-2010)<br><br />
Geometry, Representation theory, And Some Physics (GRASP) Seminar, UC Berkeley. (Fall 2010)<br />
*'''Moduli of Representations of Unipotent Groups'''<br><br />
UW Madison Number Theory Seminar. (01-20-2011)<br><br />
Lie Groups, Lie Algebras and their Representations Workshop. (Fall 2010)<br><br />
Geometry, Representation theory, And Some Physics (GRASP) Seminar, UC Berkeley. (Spring 2010)<br />
*'''Introduction to Toric Varieties I & II'''<br><br />
Student Algebraic and Arithmetic Geometry Seminar. (Spring 2008)<br />
*'''EGA IV §11 and the Valuative Criterion for Flatness'''<br><br />
Clay sponsored EGA seminar. (Summer 2008)<br />
*'''EGA I §§3--4 Products and Immersions of Schemes'''<br><br />
UC Berkeley EGA seminar. (Summer 2008)<br />
*'''The Salamader Lemma'''<br><br />
Many Cheerful Facts (UC Berkeley graduate student colloquium). (Fall 2007)<br />
*'''Introduction to D-modules'''<br><br />
D-modules seminar at UC Berkeley. (Summer 2007)<br />
*'''An overview of $U_q(\mathfrak{g})$ I & II'''<br><br />
Berkeley student representation theory seminar. (Fall 2006)<br />
*'''Category Theory'''<br><br />
Many Cheerful Facts (UC Berkeley graduate student colloquium). (Spring 2006)<br />
*'''Bruhat-Tits spaces and the exponential map'''<br><br />
Many Cheerful Facts (UC Berkeley graduate student colloquium). (Fall 2005)<br />
*'''Buckyballs, glass, and origami'''<br><br />
Many Cheerful Facts (UC Berkeley graduate student colloquium). (Fall 2005)<br />
<br />
= Teaching Experience =<br />
*'''California Institute of Technology''', California USA. '''Instructor'''. Organized courses, gave lectures, held office hours, wrote and graded exams.<br />
** [[Math 193a: Algebraic Stacks, Fall 2011|Algebraic Spaces and Algebraic Stacks (Caltech, Math 193a), Fall 2011]]<br />
** [[Math 130b: Algebraic Geometry, Winter 2012|Graduate Algebraic Geometry (Caltech, Math 130b), Winter 2012]]<br />
** (expected) Geometry and Topology (Caltech, Math 109c), Spring 2012<br />
<br />
<br />
*'''University of California, Berkeley''', California USA. '''Graduate Student Instructor'''. Organized course (syllabus and text), gave lectures (8 hours per week), wrote and graded midterms and final, held office hours.<br />
**[[Math 115: Introduction to Number Theory, Summer 2010|Introduction to Number Theory (UC Berkeley, Math 115), Summer 2010]]<br />
<br />
*'''University of California, Berkeley''', California USA. '''Graduate Student Instructor'''. Led discussion sections (3 hours per week per section, 2 sections). Wrote weekly quizzes, graded quizzes and exams, and held office hours.<br />
**Calculus II (UC Berkeley, Math 1B), Fall 2004<br />
**Multivariable Calculus (UC Berkeley, Math 53), Spring 2004<br />
**[[Math 53: Multivariable Calculus, Fall 2008|Multivariable Calculus (UC Berkeley, Math 53), Fall 2008]]<br />
**[[Math 54: Linear Algebra and Differential Equations, Fall 2010|Linear Algebra and Differential Equations (UC Berkeley, Math 54), Fall 2010]]<br />
<br />
= Software Skills =<br />
Proficient in Sage, Python, and Bash.<br />
<br />
= References =<br />
{|<br />
|-<br />
|'''Vera Serganova'''<br />
|Department of Mathematics<br />
|University of California Berkeley<br />
|Berkeley, CA 794720-3840<br />
|serganov@math.berkeley.edu<br />
|-<br />
|'''Martin Olsson'''<br />
|Department of Mathematics<br />
|University of California Berkeley<br />
|Berkeley, CA 94720-3840<br />
|molsson@math.berkeley.edu<br />
|-<br />
|'''Ravi Vakil'''<br />
|Department of Mathematics<br />
|Stanford University<br />
|Stanford, CA 94305<br />
|vakil@math.stanford.edu<br />
|-<br />
|'''Tom Graber'''<br />
|Department of Mathematics 253-37<br />
|California Institute of Technology<br />
|Pasadena, CA 91125<br />
|graber@caltech.edu<br />
|}</div>Antonhttps://stacky.net/wiki/index.php?title=CV&diff=1409CV2017-10-17T20:59:58Z<p>Anton: /* Contact Information */</p>
<hr />
<div>[http://stacky.net/files/GeraschenkoCV.pdf PDF of my CV]<br />
<br />
=Contact Information=<br />
'''Name:''' Anton Geraschenko<br><br />
'''Web:''' http://stacky.net<br><br />
'''Email:''' [mailto:geraschenko@gmail.com geraschenko@gmail.com]<br><br />
'''Phone:''' 617 275 1573 (cell)<br><br />
'''Home:''' 2061 Ashton Ave, Menlo Park, CA 94025<br />
<br />
= Research Interests = <br />
Algebraic geometry, algebraic stacks, moduli, algebraic groups, representation theory.<br />
<br />
= Appointments =<br />
[[File:Citlogo.jpg|60px|right]]<br />
'''Harry Bateman Research Instructor''', Caltech, September 2011-2012.<br />
<br />
= Education =<br />
*[[File:UCBerkeley-logo.jpg|60px|right]] '''University of California, Berkeley''', California USA<br><br />
Ph.D.May 2011, Dissertation Topic: "Toric Stacks", Adviser: Vera Serganova<br />
*[[File:Brandeis-logo.jpg|60px|right]] '''Brandeis University''', Waltham, Massachusetts USA<br><br />
B.A. May 2004, Summa Cum Laude Physics and Mathematics with Highest Honors<br />
<br />
= Honors and Awards =<br />
*[[File:nsf.jpg|60px|right]]National Science Foundation Graduate Research Fellowship, 2005-2008<br />
*Arnold Shapiro Prize in Mathematics, 2004<br />
<br />
= Publications =<br />
*'''MathOverflow'''; Joint with Scott Morrison and Ravi Vakil. Opinion piece for ''Notices of the AMS'', June/July 2010. http://www.ams.org/notices/201006/rtx100600701p.pdf<br />
*'''Toric Stacks I: The Theory of Stacky Fans'''; Joint with Matthew Satriano. http://arxiv.org/abs/1107.1906<br />
*'''Toric Stacks II: Intrinsic Characterization of Toric Stacks'''; Joint with Matthew Satriano. http://arxiv.org/abs/1107.1907<br />
*'''Torus Quotients as Quotients by Finite Groups'''; Joint with Matthew Satriano. http://arxiv.org/abs/1201.4807<br />
*'''The Grothendieck Existence Theorem for Good Moduli Spaces'''; Joint with David Zureick-Brown; in preparation.<br />
<br />
= Synergistic Activities =<br />
* [[File:MOlogo.png|200px|link=http://mathoverflow.net|alt="mathoverflow.net"]]; (Fall 2009-present) founder and moderator.<br><br />
<br />
MathOverflow is a website for mathematicians to ask and answer research-level questions. It has about 1500 active users who post about 40 new questions every day.<br />
<br />
MathOverflow has been responsible for many fruitful collaborations, and has helped mathematicians overcome technical obstructions in their research. For many professional mathematicians, it has become an extension of how they do mathematics. At the same time, the site is extremely useful for developing mathematicians since it has become a repository for "professional secrets," insights revealed by experts which are for one reason or another difficult to communicate in other media. It is not unusual for an answer to a question to come from the founder of the field!<br />
<br />
Notably, much of MathOverflow's traffic comes from small institutions where individual researchers are are alone in their field. Such mathematicians have told me that MathOverflow has made them happier and more productive. The site has also served an important social role for developing mathematicians since it allows them to freely interact with other mathematicians at all stages in their careers. In this way, the site has filled an important niche, allowing mathematicians to effectively network by ''doing mathematics'' together rather than "networking."<br />
<br />
Though MathOverflow is a professional forum ''not'' targeted at the general public, several general-interest articles have been written about it (for example, a featured article of the [https://simonsfoundation.org/news/open-news/-/asset_publisher/bo1E/content/the-global-math-commons Simons Foundation], another in [http://www.theatlantic.com/technology/archive/2010/09/beyond-facebook-how-the-worlds-mathematicians-organize-online/63422/ the Atlantic], the San Jose Mercury, as well as posts on several mathematical blogs). In addition to administering, moderating, and participating in MathOverflow, I have done interviews for these articles because I believe it is important to promote mathematics as a whole. In the same spirit, I gave a brief presentation about the site at the 2011 [http://opensciencesummit.com/ Open Science Summit] ([http://stacky.net/files/MO_OSS2011_slides.pdf slides]).<br />
<br />
*'''Caltech Algebraic Geometry Seminar'''; (Fall 2011) co-organizer.<br />
*'''Toric Geometry Student Seminar'''; (Fall 2011) faculty sponsor/organizer.<br />
*'''Berkeley Student Representation Theory Seminar'''; (Fall 2006 -- Spring 2007) organizer.<br />
<br />
= Seminar Presentations =<br />
<br />
*'''When is a variety a quotient of a smooth variety by a finite group?'''<br><br />
BIRS workshop. Algebraic Stacks: Progress and Prospects. (03-26-2012) ([http://www.birs.ca/events/2012/5-day-workshops/12w5027/videos/watch/201203261602-Geraschenko.mp4 video])<br><br />
Emory Algebraic Geometry Seminar. (03-20-2012)<br><br />
UCSD Algebraic Geometry Seminar. (10-26-2011)<br><br />
Claremont Algebra, Number Theory and Combinatorics Seminar. (10-25-2011)<br><br />
WAGS (poster session; [http://stacky.net/files/WAGSposter.pdf my poster]). (10-01-2011)<br><br />
University of Michigan Postdoc Algebraic Geometry Seminar. (09-12-2011)<br><br />
Rice University Algebraic Geometry Seminar. (08-30-2011)<br />
*'''Toric Stacks'''<br><br />
USC Algebra Seminar. (02-07-2011)<br><br />
UW Madison Algebraic Geometry Seminar. (01-21-2011)<br><br />
Stanford Algebraic Geometry Seminar. (10-29-2010)<br><br />
Geometry, Representation theory, And Some Physics (GRASP) Seminar, UC Berkeley. (Fall 2010)<br />
*'''Moduli of Representations of Unipotent Groups'''<br><br />
UW Madison Number Theory Seminar. (01-20-2011)<br><br />
Lie Groups, Lie Algebras and their Representations Workshop. (Fall 2010)<br><br />
Geometry, Representation theory, And Some Physics (GRASP) Seminar, UC Berkeley. (Spring 2010)<br />
*'''Introduction to Toric Varieties I & II'''<br><br />
Student Algebraic and Arithmetic Geometry Seminar. (Spring 2008)<br />
*'''EGA IV §11 and the Valuative Criterion for Flatness'''<br><br />
Clay sponsored EGA seminar. (Summer 2008)<br />
*'''EGA I §§3--4 Products and Immersions of Schemes'''<br><br />
UC Berkeley EGA seminar. (Summer 2008)<br />
*'''The Salamader Lemma'''<br><br />
Many Cheerful Facts (UC Berkeley graduate student colloquium). (Fall 2007)<br />
*'''Introduction to D-modules'''<br><br />
D-modules seminar at UC Berkeley. (Summer 2007)<br />
*'''An overview of $U_q(\mathfrak{g})$ I & II'''<br><br />
Berkeley student representation theory seminar. (Fall 2006)<br />
*'''Category Theory'''<br><br />
Many Cheerful Facts (UC Berkeley graduate student colloquium). (Spring 2006)<br />
*'''Bruhat-Tits spaces and the exponential map'''<br><br />
Many Cheerful Facts (UC Berkeley graduate student colloquium). (Fall 2005)<br />
*'''Buckyballs, glass, and origami'''<br><br />
Many Cheerful Facts (UC Berkeley graduate student colloquium). (Fall 2005)<br />
<br />
= Teaching Experience =<br />
*'''California Institute of Technology''', California USA. '''Instructor'''. Organized courses, gave lectures, held office hours, wrote and graded exams.<br />
** [[Math 193a: Algebraic Stacks, Fall 2011|Algebraic Spaces and Algebraic Stacks (Caltech, Math 193a), Fall 2011]]<br />
** [[Math 130b: Algebraic Geometry, Winter 2012|Graduate Algebraic Geometry (Caltech, Math 130b), Winter 2012]]<br />
** (expected) Geometry and Topology (Caltech, Math 109c), Spring 2012<br />
<br />
<br />
*'''University of California, Berkeley''', California USA. '''Graduate Student Instructor'''. Organized course (syllabus and text), gave lectures (8 hours per week), wrote and graded midterms and final, held office hours.<br />
**[[Math 115: Introduction to Number Theory, Summer 2010|Introduction to Number Theory (UC Berkeley, Math 115), Summer 2010]]<br />
<br />
*'''University of California, Berkeley''', California USA. '''Graduate Student Instructor'''. Led discussion sections (3 hours per week per section, 2 sections). Wrote weekly quizzes, graded quizzes and exams, and held office hours.<br />
**Calculus II (UC Berkeley, Math 1B), Fall 2004<br />
**Multivariable Calculus (UC Berkeley, Math 53), Spring 2004<br />
**[[Math 53: Multivariable Calculus, Fall 2008|Multivariable Calculus (UC Berkeley, Math 53), Fall 2008]]<br />
**[[Math 54: Linear Algebra and Differential Equations, Fall 2010|Linear Algebra and Differential Equations (UC Berkeley, Math 54), Fall 2010]]<br />
<br />
= Software Skills =<br />
Proficient in Sage, Python, and Bash.<br />
<br />
= References =<br />
{|<br />
|-<br />
|'''Vera Serganova'''<br />
|Department of Mathematics<br />
|University of California Berkeley<br />
|Berkeley, CA 794720-3840<br />
|serganov@math.berkeley.edu<br />
|-<br />
|'''Martin Olsson'''<br />
|Department of Mathematics<br />
|University of California Berkeley<br />
|Berkeley, CA 94720-3840<br />
|molsson@math.berkeley.edu<br />
|-<br />
|'''Ravi Vakil'''<br />
|Department of Mathematics<br />
|Stanford University<br />
|Stanford, CA 94305<br />
|vakil@math.stanford.edu<br />
|-<br />
|'''Tom Graber'''<br />
|Department of Mathematics 253-37<br />
|California Institute of Technology<br />
|Pasadena, CA 91125<br />
|graber@caltech.edu<br />
|}</div>Antonhttps://stacky.net/wiki/index.php?title=Book_club&diff=1406Book club2016-09-17T15:03:42Z<p>Anton: </p>
<hr />
<div>Scheduled books:<br />
{| class="wikitable"<br />
! Date !! Book !! Host<br />
|-<br />
| Tuesday, October 18, 2016<br />
| [https://www.amazon.com/Sports-Gene-Extraordinary-Athletic-Performance/dp/161723012X The Sports Gene: Inside the Science of Extraordinary Athletic Performance]<br />
| Lacra and Anton<br />
|-<br />
| Tuesday, September 13, 2016<br />
| [https://www.amazon.com/dp/0385333498 The Sirens of Titan]<br />
| Lacra and Anton<br />
|-<br />
| Tuesday, August 2, 2016<br />
| [https://www.amazon.com/Poorly-Made-China-Insiders-Production/dp/0470928077 Poorly Made in China: An Insider's Account of the China Production Game]<br />
| Lacra and Anton<br />
|-<br />
| Tuesday, June 28, 2016<br />
| Three Worlds Collide [http://lesswrong.com/lw/y4/three_worlds_collide_08/ pdf] [http://www.goodreads.com/book/show/15744759-three-worlds-collide GoodReads]<br />
The Death of Ivan Ilyich [https://www.amazon.com/Death-Ilyich-Stories-Vintage-Classics-ebook/dp/B002VD6NJQ Amazon], there are [https://www.google.com/search?q=the+death+of+ivan+ilyich+pdf&ie=utf-8&oe=utf-8 free pdfs] for various translations online<br />
| Lacra and Anton<br />
<br />
|-<br />
| Tuesday, May 24, 2016<br />
| [http://www.amazon.com/Beyond-Words-What-Animals-Think/dp/0805098887 Beyond Words: What Animals Think and Feel]<br />
| Lacra and Anton<br />
<br />
|-<br />
| Tuesday, March 29, 2016<br />
| [http://www.amazon.com/gp/product/B004J4WKUQ/ref=dp-kindle-redirect?ie=UTF8&btkr=1 Ready Player One]<br />
| Lacra and Anton<br />
|-<br />
| Tuesday, February 16, 2016<br />
| [http://www.amazon.com/Voices-Chernobyl-History-Nuclear-Disaster/dp/0312425848 Voices from Chernobyl: The Oral History of a Nuclear Disaster]<br />
| Lacra and Anton<br />
|-<br />
| Tuesday, January 12, 2016<br />
| [https://en.wikipedia.org/wiki/The_Diamond_Age The Diamond Age]<br />
| Lacra and Anton<br />
|-<br />
| Wednesday, December 2, 2015<br />
| [http://www.amazon.com/The-Man-Who-Mistook-Wife/dp/1491514078 The Man Who Mistook His Wife for a Hat]<br />
| Lacra and Anton<br />
|-<br />
| Tuesday, November 3, 2015<br />
| [http://www.amazon.com/The-Martian-Novel-Andy-Weir-ebook/dp/B00EMXBDMA The Martian]<br />
| Lacra and Anton<br />
|-<br />
| Tuesday, October 29, 2013<br />
| [http://www.amazon.com/Thinking-Fast-Slow-Daniel-Kahneman/dp/0374533555 Thinking, Fast and Slow]<br />
| Cancelled - Manu was born!<br />
|-<br />
| Tuesday, September 17, 2013<br />
| [http://www.amazon.com/The-Foreigner-Larry-Shue/dp/0822204185 The Foreigner]<br />
| Klara/Lacra<br />
|-<br />
| Tuesday, August 13, 2013<br />
| [http://www.amazon.com/Lean-In-Women-Work-Will/dp/0385349947 Lean In]<br />
| John<br />
|-<br />
| Tuesday, July 16, 2013<br />
| [http://www.amazon.com/Catch-Me-If-You-Can/dp/0767905385 Catch Me If You Can]<br />
| Lauren and Marc<br />
|-<br />
| Wednesday, May 29, 2013<br />
| [http://www.amazon.com/The-Poisoners-Handbook-Forensic-Medicine/dp/014311882X The Poisoner's Handbook: Murder and the Birth of Forensic Medicine in Jazz Age New York]<br />
| Lauren and Marc<br />
|-<br />
| Tuesday, Apr 23, 2013<br />
| [http://www.amazon.com/Atonement-Novel-Ian-McEwan/dp/038572179X Atonement: A Novel]<br />
| Lacra<br />
|-<br />
| Wednesday, Mar 6, 2013<br />
| [http://www.amazon.com/Quiet-Power-Introverts-World-Talking/dp/0307352145 Quiet: The Power of Introverts in a World That Can't Stop Talking]<br />
| Lacra<br />
|-<br />
| Sunday, Jan 13, 2013<br />
| [http://www.amazon.com/Windup-Girl-Paolo-Bacigalupi/dp/1597801585 The Windup Girl]<br />
| Sandy<br />
|- <br />
| Sunday, Nov 18, 2012<br />
| [http://www.amazon.com/Packing-Mars-Curious-Science-Life/dp/B00AR2BCLW Packing for Mars: The Curious Science of Life in the Void]<br />
| Lacra<br />
|-<br />
| Sunday, Oct 14, 2012<br />
| [http://www.amazon.com/Before-Go-Sleep-S-Watson/dp/0062060554 Before I Go to Sleep: A Novel]<br />
| John<br />
|-<br />
| Monday, August 6, 2012<br />
| [http://www.amazon.com/Imagine-Creativity-Works-Jonah-Lehrer/dp/B007QRI1UQ Imagine: How Creativity Works]<br />
| Lauren and Marc<br />
|-<br />
| Wednesday, July 11, 2012<br />
| None<br />
| Lacra<br />
|}<br />
<br />
<br />
Runners up:<br />
* [https://www.amazon.com/Blessed-Days-Anaesthesia-anaesthetics-changed/dp/0192805894 Blessed Days of Anaesthesia: How anaesthetics changed the world]<br />
* [https://www.amazon.com/History-World-6-Glasses/dp/0802715524 A History of the World in 6 Glasses]<br />
* [http://www.amazon.com/Hearing-Trumpet-Leonora-Carrington/dp/1878972197 The Hearing Trumpet]<br />
* [http://www.amazon.com/Mother-Night-Kurt-Vonnegut/dp/0385334141 Mother Night]<br />
* [http://www.amazon.com/gp/product/B003JFJHP2/ref=dp-kindle-redirect?ie=UTF8&btkr=1 The Human Stain]<br />
* [http://www.amazon.com/Blood-Meridian-Evening-Redness-West/dp/0679728759 Blood Meridian]<br />
* [http://www.amazon.com/gp/product/0393329097/ref=as_li_ss_tl?ie=UTF8&tag=stackwiki-20&linkCode=as2&camp=1789&creative=390957&creativeASIN=0393329097 The Man Who Knew Too Much: Alan Turing and the Invention of the Computer]<br />
* [http://www.amazon.com/gp/product/1439189714/ref=as_li_ss_tl?ie=UTF8&tag=stackwiki-20&linkCode=as2&camp=1789&creative=390957&creativeASIN=1439189714 The Journal of Best Practices: A Memoir of Marriage, Asperger Syndrome, and One Man's Quest to Be a Better Husband]<br />
* [http://www.amazon.com/gp/product/0307264890/ref=as_li_ss_tl?ie=UTF8&tag=stackwiki-20&linkCode=as2&camp=1789&creative=390957&creativeASIN=0307264890 The Name of the Rose]<br />
* [http://www.amazon.com/State-Wonder-Novel-Ann-Patchett/dp/006204981X/ref=sr_1_1?s=books&ie=UTF8&qid=1344314322&sr=1-1&keywords=state+of+wonder State of Wonder]<br />
* [http://www.amazon.com/Lost-Sea-The-Ronson-Mysteries/dp/1594631379 Lost at Sea: The Jon Ronson Mysteries]<br />
* [http://www.amazon.com/Bossypants-ebook/dp/B0047Y0FGY Bossypants ]<br />
* [http://www.amazon.com/Thousand-Splendid-Suns-Khaled-Hosseini/dp/159448385X A Thousand Splendid Suns]<br />
* [http://www.amazon.com/dp/0062060627 The Song of Achilles]<br />
* [http://www.amazon.com/dp/159420411X The Signal and the Noise]<br />
* [http://www.amazon.com/Glass-Bead-Game-Magister-Novel/dp/0312278497 The Glass Bead Game: (Magister Ludi) A Novel ]<br />
* [http://www.amazon.com/The-Sports-Gene-Extraordinary-Performance/dp/1591845114 The Sports Gene: Inside the Science of Extraordinary Athletic Performance]<br />
<br />
<br />
<br />
<br />
<br />
Other proposed books:<br />
* [http://www.amazon.com/Neverwhere-Neil-Gaiman/dp/0380789019 Neverwhere]<br />
* [http://www.amazon.com/Saturday-Ian-McEwan/dp/1400076196 Saturday]<br />
* [http://www.amazon.com/gp/product/B002AU7MJU/ref=dp-kindle-redirect?ie=UTF8&btkr=1 The Magicians]<br />
* [http://www.amazon.com/gp/product/B00280LYIC/ref=dp-kindle-redirect?ie=UTF8&btkr=1 The Lightning Thief]<br />
* [http://www.amazon.com/gp/product/B000OVLKMM/ref=dp-kindle-redirect?ie=UTF8&btkr=1 The Glass castle]<br />
* [http://www.amazon.com/Going-Clear-Scientology-Hollywood-Prison/dp/0307745309 Going Clear]<br />
* [http://www.amazon.com/Ready-Player-One-A-Novel/dp/0307887448 Ready Player One]<br />
* [http://www.amazon.com/Being-Mortal-Medicine-What-Matters/dp/0805095152 Being Mortal]<br />
* [http://www.amazon.com/Unfinished-Business-Women-Work-Family/dp/0812994566 Unfinished Business]<br />
* [http://www.amazon.com/The-Circle-Dave-Eggers/dp/0345807294 The Circle]<br />
* [http://www.amazon.com/gp/product/0375507256/ref=as_li_ss_tl?ie=UTF8&tag=stackwiki-20&linkCode=as2&camp=1789&creative=390957&creativeASIN=0375507256 Cloud Atlas: A Novel]<br />
* [http://www.amazon.com/gp/product/0312430000/ref=as_li_ss_tl?ie=UTF8&tag=stackwiki-20&linkCode=as2&camp=1789&creative=390957&creativeASIN=0312430000 The Checklist Manifesto: How to Get Things Right]<br />
* [http://www.amazon.com/gp/product/1439170916/ref=as_li_ss_tl?ie=UTF8&tag=stackwiki-20&linkCode=as2&camp=1789&creative=390957&creativeASIN=1439170916 The Emperor of All Maladies: A Biography of Cancer]<br />
* [http://www.amazon.com/gp/product/0316038407/ref=as_li_ss_tl?ie=UTF8&tag=stackwiki-20&linkCode=as2&camp=1789&creative=390957&creativeASIN=0316038407 Squirrel Seeks Chipmunk: A Modest Bestiary]<br />
* [http://www.amazon.com/gp/product/0143120530/ref=as_li_ss_tl?ie=UTF8&tag=stackwiki-20&linkCode=as2&camp=1789&creative=390957&creativeASIN=0143120530 Moonwalking with Einstein: The Art and Science of Remembering Everything]<br />
* [http://www.amazon.com/gp/product/0316925284/ref=as_li_ss_tl?ie=UTF8&tag=stackwiki-20&linkCode=as2&camp=1789&creative=390957&creativeASIN=0316925284 A Supposedly Fun Thing I'll Never Do Again: Essays and Arguments]<br />
* [http://www.amazon.com/East-of-Eden-ebook/dp/B001BC5HXG/ref=sr_1_1?s=books&ie=UTF8&qid=1344314439&sr=1-1&keywords=East+of+eden East of Eden]<br />
* [http://www.amazon.com/Tomatoland-Industrial-Agriculture-Destroyed-Alluring/dp/1449423450/ref=sr_1_1?s=books&ie=UTF8&qid=1344314469&sr=1-1&keywords=Tomatoland Tomatoland: How Modern Industrial Agriculture Destroyed Our Most Alluring Fruit]<br />
* [http://www.amazon.com/1776-David-McCullough/dp/0743226720/ref=sr_1_1?s=books&ie=UTF8&qid=1344314512&sr=1-1&keywords=1776 1776] <br />
* [http://www.amazon.com/Fear-Trembling-Novel-Amelie-Nothomb/dp/0312288573/ref=sr_1_4?s=books&ie=UTF8&qid=1350270045&sr=1-4&keywords=fear+and+trembling Fear and Trembling: A Novel]<br />
* [http://www.amazon.com/Devil-White-City-Madness-Changed/dp/0375725601/ref=sr_1_1?s=books&ie=UTF8&qid=1350270167&sr=1-1&keywords=devil+in+the+white+city The Devil in the White City: Murder, Magic, and Madness at the Fair that Changed America]<br />
* [http://www.amazon.com/Big-Short-Inside-Doomsday-Machine/dp/0393338827/ref=sr_1_1?s=books&ie=UTF8&qid=1350270307&sr=1-1&keywords=the+big+short The Big Short: Inside the Doomsday Machine]<br />
* [http://www.amazon.com/Casual-Vacancy-J-K-Rowling/dp/0316228532/ref=sr_1_1?s=books&ie=UTF8&qid=1350270338&sr=1-1&keywords=the+casual+vacancy The Casual Vacancy]<br />
* [http://www.amazon.com/dp/0143122231 Willpower: Rediscovering the Greatest Human Strength]<br />
* [http://www.amazon.com/Unbearable-Lightness-Being-Milan-Kundera/dp/0060932139 The Unbearable Lightness of Being: A Novel]<br />
* [http://www.amazon.com/Prophet-Kahlil-Gibran/dp/1614270627 The Prophet]<br />
* [http://www.amazon.com/dp/159420411X The Signal and the Noise: Why So Many Predictions Fail — but Some Don't ]<br />
* [http://www.amazon.com/Gone-Girl-Novel-Gillian-Flynn/dp/030758836X Gone Girl]<br />
* [http://www.amazon.com/Wolf-Hall-Novel-Hilary-Mantel/dp/0312429983 Wolf Hall]<br />
* [http://www.amazon.com/Void-Verba-Mundi-Georges-Perec/dp/1567922961 A Void (Verba Mundi) ]<br />
* [http://www.amazon.com/Inferno-Dan-Brown/dp/0385537859 Inferno]<br />
* [http://www.amazon.com/American-Bee-National-Spelling-Culture/dp/1594862141 American Bee: The National Spelling Bee and the Culture of Word Nerds]<br />
* [http://www.amazon.com/Cryptonomicon-Neal-Stephenson/dp/0060512806 Cryptonomicon]<br />
* [http://www.amazon.com/Cuckoos-Calling-Robert-Galbraith/dp/0316206849/ref=sr_1_1?s=books&ie=UTF8&qid=1374030370&sr=1-1&keywords=cuckoo%27s+calling Cuckoo's Calling]<br />
* [http://www.amazon.com/Snow-Crash-Neal-Stephenson/dp/344245302X/ref=sr_1_2?s=books&ie=UTF8&qid=1374030542&sr=1-2&keywords=snow+crash Snow Crash]<br />
* [http://www.amazon.com/Cooked-Natural-Transformation-Michael-Pollan/dp/1594204217/ref=sr_1_1?s=books&ie=UTF8&qid=1374031019&sr=1-1&keywords=michael+pollan Cooked: A Natural History of Transformation]<br />
* [http://www.amazon.com/The-Little-Prince-Antoine-Saint-Exupery/dp/0547978847 The Little Prince] <br />
* [http://www.amazon.com/The-Epigenetics-Revolution-Understanding-Inheritance/dp/0231161166 The Epigenetics Revolution: How Modern Biology Is Rewriting Our Understanding of Genetics, Disease, and Inheritance]<br />
* [http://www.amazon.com/The-Structure-Scientific-Revolutions-Edition/dp/0226458083 The Structure of Scientific Revolutions]<br />
* [http://www.amazon.com/The-Structure-Scientific-Revolutions-Edition/dp/0226458083 The Mismeasure of Man]<br />
* [http://www.amazon.com/And-Mountains-Echoed-Khaled-Hosseini/dp/159463176X And the Mountains Echoed]<br />
* [http://www.amazon.com/Three-Men-Boat-Jerome-K/dp/1420925628 Three Men in a Boat]<br />
<br />
Other books that haven't been proposed, but one day might be:<br />
<br />
* [http://www.amazon.com/gp/product/1451648537/ref=as_li_ss_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=1451648537&linkCode=as2&tag=stackwiki-20 Steve Jobs]<br />
* [http://www.amazon.com/gp/product/B0054U53WG/ref=as_li_ss_tl?ie=UTF8&tag=stackwiki-20&linkCode=as2&camp=1789&creative=390957&creativeASIN=B0054U53WG In The Plex: How Google Thinks, Works, and Shapes Our Lives]</div>Antonhttps://stacky.net/wiki/index.php?title=Book_club&diff=1397Book club2016-09-03T16:21:28Z<p>Anton: </p>
<hr />
<div>Scheduled books:<br />
{| class="wikitable"<br />
! Date !! Book !! Host<br />
|-<br />
| Tuesday, September 13, 2016<br />
| [https://www.amazon.com/dp/0385333498 The Sirens of Titan]<br />
| Lacra and Anton<br />
|-<br />
| Tuesday, August 2, 2016<br />
| [https://www.amazon.com/Poorly-Made-China-Insiders-Production/dp/0470928077 Poorly Made in China: An Insider's Account of the China Production Game]<br />
| Lacra and Anton<br />
|-<br />
| Tuesday, June 28, 2016<br />
| Three Worlds Collide [http://lesswrong.com/lw/y4/three_worlds_collide_08/ pdf] [http://www.goodreads.com/book/show/15744759-three-worlds-collide GoodReads]<br />
The Death of Ivan Ilyich [https://www.amazon.com/Death-Ilyich-Stories-Vintage-Classics-ebook/dp/B002VD6NJQ Amazon], there are [https://www.google.com/search?q=the+death+of+ivan+ilyich+pdf&ie=utf-8&oe=utf-8 free pdfs] for various translations online<br />
| Lacra and Anton<br />
<br />
|-<br />
| Tuesday, May 24, 2016<br />
| [http://www.amazon.com/Beyond-Words-What-Animals-Think/dp/0805098887 Beyond Words: What Animals Think and Feel]<br />
| Lacra and Anton<br />
<br />
|-<br />
| Tuesday, March 29, 2016<br />
| [http://www.amazon.com/gp/product/B004J4WKUQ/ref=dp-kindle-redirect?ie=UTF8&btkr=1 Ready Player One]<br />
| Lacra and Anton<br />
|-<br />
| Tuesday, February 16, 2016<br />
| [http://www.amazon.com/Voices-Chernobyl-History-Nuclear-Disaster/dp/0312425848 Voices from Chernobyl: The Oral History of a Nuclear Disaster]<br />
| Lacra and Anton<br />
|-<br />
| Tuesday, January 12, 2016<br />
| [https://en.wikipedia.org/wiki/The_Diamond_Age The Diamond Age]<br />
| Lacra and Anton<br />
|-<br />
| Wednesday, December 2, 2015<br />
| [http://www.amazon.com/The-Man-Who-Mistook-Wife/dp/1491514078 The Man Who Mistook His Wife for a Hat]<br />
| Lacra and Anton<br />
|-<br />
| Tuesday, November 3, 2015<br />
| [http://www.amazon.com/The-Martian-Novel-Andy-Weir-ebook/dp/B00EMXBDMA The Martian]<br />
| Lacra and Anton<br />
|-<br />
| Tuesday, October 29, 2013<br />
| [http://www.amazon.com/Thinking-Fast-Slow-Daniel-Kahneman/dp/0374533555 Thinking, Fast and Slow]<br />
| Cancelled - Manu was born!<br />
|-<br />
| Tuesday, September 17, 2013<br />
| [http://www.amazon.com/The-Foreigner-Larry-Shue/dp/0822204185 The Foreigner]<br />
| Klara/Lacra<br />
|-<br />
| Tuesday, August 13, 2013<br />
| [http://www.amazon.com/Lean-In-Women-Work-Will/dp/0385349947 Lean In]<br />
| John<br />
|-<br />
| Tuesday, July 16, 2013<br />
| [http://www.amazon.com/Catch-Me-If-You-Can/dp/0767905385 Catch Me If You Can]<br />
| Lauren and Marc<br />
|-<br />
| Wednesday, May 29, 2013<br />
| [http://www.amazon.com/The-Poisoners-Handbook-Forensic-Medicine/dp/014311882X The Poisoner's Handbook: Murder and the Birth of Forensic Medicine in Jazz Age New York]<br />
| Lauren and Marc<br />
|-<br />
| Tuesday, Apr 23, 2013<br />
| [http://www.amazon.com/Atonement-Novel-Ian-McEwan/dp/038572179X Atonement: A Novel]<br />
| Lacra<br />
|-<br />
| Wednesday, Mar 6, 2013<br />
| [http://www.amazon.com/Quiet-Power-Introverts-World-Talking/dp/0307352145 Quiet: The Power of Introverts in a World That Can't Stop Talking]<br />
| Lacra<br />
|-<br />
| Sunday, Jan 13, 2013<br />
| [http://www.amazon.com/Windup-Girl-Paolo-Bacigalupi/dp/1597801585 The Windup Girl]<br />
| Sandy<br />
|- <br />
| Sunday, Nov 18, 2012<br />
| [http://www.amazon.com/Packing-Mars-Curious-Science-Life/dp/B00AR2BCLW Packing for Mars: The Curious Science of Life in the Void]<br />
| Lacra<br />
|-<br />
| Sunday, Oct 14, 2012<br />
| [http://www.amazon.com/Before-Go-Sleep-S-Watson/dp/0062060554 Before I Go to Sleep: A Novel]<br />
| John<br />
|-<br />
| Monday, August 6, 2012<br />
| [http://www.amazon.com/Imagine-Creativity-Works-Jonah-Lehrer/dp/B007QRI1UQ Imagine: How Creativity Works]<br />
| Lauren and Marc<br />
|-<br />
| Wednesday, July 11, 2012<br />
| None<br />
| Lacra<br />
|}<br />
<br />
<br />
Runners up:<br />
* [https://www.amazon.com/Blessed-Days-Anaesthesia-anaesthetics-changed/dp/0192805894 Blessed Days of Anaesthesia: How anaesthetics changed the world]<br />
* [https://www.amazon.com/History-World-6-Glasses/dp/0802715524 A History of the World in 6 Glasses]<br />
* [http://www.amazon.com/Hearing-Trumpet-Leonora-Carrington/dp/1878972197 The Hearing Trumpet]<br />
* [http://www.amazon.com/Mother-Night-Kurt-Vonnegut/dp/0385334141 Mother Night]<br />
* [http://www.amazon.com/gp/product/B003JFJHP2/ref=dp-kindle-redirect?ie=UTF8&btkr=1 The Human Stain]<br />
* [http://www.amazon.com/Blood-Meridian-Evening-Redness-West/dp/0679728759 Blood Meridian]<br />
* [http://www.amazon.com/gp/product/0393329097/ref=as_li_ss_tl?ie=UTF8&tag=stackwiki-20&linkCode=as2&camp=1789&creative=390957&creativeASIN=0393329097 The Man Who Knew Too Much: Alan Turing and the Invention of the Computer]<br />
* [http://www.amazon.com/gp/product/1439189714/ref=as_li_ss_tl?ie=UTF8&tag=stackwiki-20&linkCode=as2&camp=1789&creative=390957&creativeASIN=1439189714 The Journal of Best Practices: A Memoir of Marriage, Asperger Syndrome, and One Man's Quest to Be a Better Husband]<br />
* [http://www.amazon.com/gp/product/0307264890/ref=as_li_ss_tl?ie=UTF8&tag=stackwiki-20&linkCode=as2&camp=1789&creative=390957&creativeASIN=0307264890 The Name of the Rose]<br />
* [http://www.amazon.com/State-Wonder-Novel-Ann-Patchett/dp/006204981X/ref=sr_1_1?s=books&ie=UTF8&qid=1344314322&sr=1-1&keywords=state+of+wonder State of Wonder]<br />
* [http://www.amazon.com/Lost-Sea-The-Ronson-Mysteries/dp/1594631379 Lost at Sea: The Jon Ronson Mysteries]<br />
* [http://www.amazon.com/Bossypants-ebook/dp/B0047Y0FGY Bossypants ]<br />
* [http://www.amazon.com/Thousand-Splendid-Suns-Khaled-Hosseini/dp/159448385X A Thousand Splendid Suns]<br />
* [http://www.amazon.com/dp/0062060627 The Song of Achilles]<br />
* [http://www.amazon.com/dp/159420411X The Signal and the Noise]<br />
* [http://www.amazon.com/Glass-Bead-Game-Magister-Novel/dp/0312278497 The Glass Bead Game: (Magister Ludi) A Novel ]<br />
* [http://www.amazon.com/The-Sports-Gene-Extraordinary-Performance/dp/1591845114 The Sports Gene: Inside the Science of Extraordinary Athletic Performance]<br />
<br />
<br />
<br />
<br />
<br />
Other proposed books:<br />
* [http://www.amazon.com/Neverwhere-Neil-Gaiman/dp/0380789019 Neverwhere]<br />
* [http://www.amazon.com/Saturday-Ian-McEwan/dp/1400076196 Saturday]<br />
* [http://www.amazon.com/gp/product/B002AU7MJU/ref=dp-kindle-redirect?ie=UTF8&btkr=1 The Magicians]<br />
* [http://www.amazon.com/gp/product/B00280LYIC/ref=dp-kindle-redirect?ie=UTF8&btkr=1 The Lightning Thief]<br />
* [http://www.amazon.com/gp/product/B000OVLKMM/ref=dp-kindle-redirect?ie=UTF8&btkr=1 The Glass castle]<br />
* [http://www.amazon.com/Going-Clear-Scientology-Hollywood-Prison/dp/0307745309 Going Clear]<br />
* [http://www.amazon.com/Ready-Player-One-A-Novel/dp/0307887448 Ready Player One]<br />
* [http://www.amazon.com/Being-Mortal-Medicine-What-Matters/dp/0805095152 Being Mortal]<br />
* [http://www.amazon.com/Unfinished-Business-Women-Work-Family/dp/0812994566 Unfinished Business]<br />
* [http://www.amazon.com/The-Circle-Dave-Eggers/dp/0345807294 The Circle]<br />
* [http://www.amazon.com/gp/product/0375507256/ref=as_li_ss_tl?ie=UTF8&tag=stackwiki-20&linkCode=as2&camp=1789&creative=390957&creativeASIN=0375507256 Cloud Atlas: A Novel]<br />
* [http://www.amazon.com/gp/product/0312430000/ref=as_li_ss_tl?ie=UTF8&tag=stackwiki-20&linkCode=as2&camp=1789&creative=390957&creativeASIN=0312430000 The Checklist Manifesto: How to Get Things Right]<br />
* [http://www.amazon.com/gp/product/1439170916/ref=as_li_ss_tl?ie=UTF8&tag=stackwiki-20&linkCode=as2&camp=1789&creative=390957&creativeASIN=1439170916 The Emperor of All Maladies: A Biography of Cancer]<br />
* [http://www.amazon.com/gp/product/0316038407/ref=as_li_ss_tl?ie=UTF8&tag=stackwiki-20&linkCode=as2&camp=1789&creative=390957&creativeASIN=0316038407 Squirrel Seeks Chipmunk: A Modest Bestiary]<br />
* [http://www.amazon.com/gp/product/0143120530/ref=as_li_ss_tl?ie=UTF8&tag=stackwiki-20&linkCode=as2&camp=1789&creative=390957&creativeASIN=0143120530 Moonwalking with Einstein: The Art and Science of Remembering Everything]<br />
* [http://www.amazon.com/gp/product/0316925284/ref=as_li_ss_tl?ie=UTF8&tag=stackwiki-20&linkCode=as2&camp=1789&creative=390957&creativeASIN=0316925284 A Supposedly Fun Thing I'll Never Do Again: Essays and Arguments]<br />
* [http://www.amazon.com/East-of-Eden-ebook/dp/B001BC5HXG/ref=sr_1_1?s=books&ie=UTF8&qid=1344314439&sr=1-1&keywords=East+of+eden East of Eden]<br />
* [http://www.amazon.com/Tomatoland-Industrial-Agriculture-Destroyed-Alluring/dp/1449423450/ref=sr_1_1?s=books&ie=UTF8&qid=1344314469&sr=1-1&keywords=Tomatoland Tomatoland: How Modern Industrial Agriculture Destroyed Our Most Alluring Fruit]<br />
* [http://www.amazon.com/1776-David-McCullough/dp/0743226720/ref=sr_1_1?s=books&ie=UTF8&qid=1344314512&sr=1-1&keywords=1776 1776] <br />
* [http://www.amazon.com/Fear-Trembling-Novel-Amelie-Nothomb/dp/0312288573/ref=sr_1_4?s=books&ie=UTF8&qid=1350270045&sr=1-4&keywords=fear+and+trembling Fear and Trembling: A Novel]<br />
* [http://www.amazon.com/Devil-White-City-Madness-Changed/dp/0375725601/ref=sr_1_1?s=books&ie=UTF8&qid=1350270167&sr=1-1&keywords=devil+in+the+white+city The Devil in the White City: Murder, Magic, and Madness at the Fair that Changed America]<br />
* [http://www.amazon.com/Big-Short-Inside-Doomsday-Machine/dp/0393338827/ref=sr_1_1?s=books&ie=UTF8&qid=1350270307&sr=1-1&keywords=the+big+short The Big Short: Inside the Doomsday Machine]<br />
* [http://www.amazon.com/Casual-Vacancy-J-K-Rowling/dp/0316228532/ref=sr_1_1?s=books&ie=UTF8&qid=1350270338&sr=1-1&keywords=the+casual+vacancy The Casual Vacancy]<br />
* [http://www.amazon.com/dp/0143122231 Willpower: Rediscovering the Greatest Human Strength]<br />
* [http://www.amazon.com/Unbearable-Lightness-Being-Milan-Kundera/dp/0060932139 The Unbearable Lightness of Being: A Novel]<br />
* [http://www.amazon.com/Prophet-Kahlil-Gibran/dp/1614270627 The Prophet]<br />
* [http://www.amazon.com/dp/159420411X The Signal and the Noise: Why So Many Predictions Fail — but Some Don't ]<br />
* [http://www.amazon.com/Gone-Girl-Novel-Gillian-Flynn/dp/030758836X Gone Girl]<br />
* [http://www.amazon.com/Wolf-Hall-Novel-Hilary-Mantel/dp/0312429983 Wolf Hall]<br />
* [http://www.amazon.com/Void-Verba-Mundi-Georges-Perec/dp/1567922961 A Void (Verba Mundi) ]<br />
* [http://www.amazon.com/Inferno-Dan-Brown/dp/0385537859 Inferno]<br />
* [http://www.amazon.com/American-Bee-National-Spelling-Culture/dp/1594862141 American Bee: The National Spelling Bee and the Culture of Word Nerds]<br />
* [http://www.amazon.com/Cryptonomicon-Neal-Stephenson/dp/0060512806 Cryptonomicon]<br />
* [http://www.amazon.com/Cuckoos-Calling-Robert-Galbraith/dp/0316206849/ref=sr_1_1?s=books&ie=UTF8&qid=1374030370&sr=1-1&keywords=cuckoo%27s+calling Cuckoo's Calling]<br />
* [http://www.amazon.com/Snow-Crash-Neal-Stephenson/dp/344245302X/ref=sr_1_2?s=books&ie=UTF8&qid=1374030542&sr=1-2&keywords=snow+crash Snow Crash]<br />
* [http://www.amazon.com/Cooked-Natural-Transformation-Michael-Pollan/dp/1594204217/ref=sr_1_1?s=books&ie=UTF8&qid=1374031019&sr=1-1&keywords=michael+pollan Cooked: A Natural History of Transformation]<br />
* [http://www.amazon.com/The-Little-Prince-Antoine-Saint-Exupery/dp/0547978847 The Little Prince] <br />
* [http://www.amazon.com/The-Epigenetics-Revolution-Understanding-Inheritance/dp/0231161166 The Epigenetics Revolution: How Modern Biology Is Rewriting Our Understanding of Genetics, Disease, and Inheritance]<br />
* [http://www.amazon.com/The-Structure-Scientific-Revolutions-Edition/dp/0226458083 The Structure of Scientific Revolutions]<br />
* [http://www.amazon.com/The-Structure-Scientific-Revolutions-Edition/dp/0226458083 The Mismeasure of Man]<br />
* [http://www.amazon.com/And-Mountains-Echoed-Khaled-Hosseini/dp/159463176X And the Mountains Echoed]<br />
* [http://www.amazon.com/Three-Men-Boat-Jerome-K/dp/1420925628 Three Men in a Boat]<br />
<br />
Other books that haven't been proposed, but one day might be:<br />
<br />
* [http://www.amazon.com/gp/product/1451648537/ref=as_li_ss_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=1451648537&linkCode=as2&tag=stackwiki-20 Steve Jobs]<br />
* [http://www.amazon.com/gp/product/B0054U53WG/ref=as_li_ss_tl?ie=UTF8&tag=stackwiki-20&linkCode=as2&camp=1789&creative=390957&creativeASIN=B0054U53WG In The Plex: How Google Thinks, Works, and Shapes Our Lives]</div>Antonhttps://stacky.net/wiki/index.php?title=Main_Page&diff=1396Main Page2016-09-03T16:15:11Z<p>Anton: </p>
<hr />
<div>__NOTOC__<br />
[[File:Anton.png|thumb|right]]<br />
<br />
I work at Eonite Perception, doing software engineering and thinking about math problems. I've also worked/studied at Google, Caltech, UC Berkeley, and Brandeis.<br />
<br />
My mathematical interests are largely in algebraic geometry, particularly foundational questions about algebraic stacks. See my [[Research]] page for more information. Lately, I've been thinking more about probability, information, and inferrence.<br />
<br />
I've taught several courses over the years. Check out the [[:Category:Course_Page|course pages]].<br />
<br />
[[File:MOlogo.png|200px|link=http://mathoverflow.net|alt="mathoverflow.net"]] is a question and answer site for professional mathematicians. I founded it and helped to make it successful. You can read about it in [http://stacky.net/files/MOnotices.pdf the Notices], from the [https://simonsfoundation.org/news/open-news/-/asset_publisher/bo1E/content/the-global-math-commons Simons Foundation], in [http://www.theatlantic.com/technology/archive/2010/09/beyond-facebook-how-the-worlds-mathematicians-organize-online/63422/ the Atlantic], and on [http://www.google.com/search?q=mathoverflow&tbm=blg many different blogs].<br />
<br />
I like [http://en.wikipedia.org/wiki/TeX TeX] and [http://en.wikipedia.org/wiki/LaTeX LaTeX]. If you do too, have a look at my [[TeXnical notes]] and [[advice on real-time TeXing]].<br />
<br />
As a real-time TeXer, I've accumulated some [[course notes]] that I find to be useful references.<br />
<br />
="Blog"=<br />
{{blog}}<br />
<br />
=Contact Information=<br />
'''Name:''' Anton Geraschenko<br><br />
'''Web:''' http://stacky.net <br><br />
'''Email:''' [mailto:geraschenko@gmail.com geraschenko@gmail.com]<br><br />
'''PGP:''' [http://stacky.net/posted/geraschenko@gmail.com--public.asc my public key]<br><br />
'''Phone:''' 617 275 1573 (cell)<br><br />
'''Home:''' 1033 Cordova St. #5, Pasadena, CA 91106 [http://maps.google.com/?q=34.1431,-118.1288 (map)]</div>Antonhttps://stacky.net/wiki/index.php?title=Category:Blog&diff=1391Category:Blog2016-03-07T16:42:49Z<p>Anton: </p>
<hr />
<div>Okay, I don't really blog, but I do sometimes write up something interesting that I think about. Here are some links to those things:<br />
<br />
<!--<br />
* Characterizing property of $\Omega^1$, and how it doesn't quite work for DM stacks<br />
* Artin's criterion for representability<br />
--><br />
{|<br />
|(2016-03-07) || [[Against the odds: a caution to practical Bayesians]].<br />
|-<br />
|(2015-03-05) || [[Chocolates, bugs, and socks]]. A few calculations from real life.<br />
|-<br />
|(2013-09-23) || [[A bug in my high school physics intuition]].<br />
|-<br />
|(2013-07-30) || [[Misconceptions about machine learning]].<br />
|-<br />
|(2012-07-21) || [[Wanted: adaptive navigation app]]. How to make GPS navigation systems better.<br />
|-<br />
|(2012-07-14)&nbsp;|| [[How to write diagram chases]]. A proposal for how to write diagram chases so that they're readable.<br />
|-<br />
|(2012-07) || [[My Tooth Implant]]. My experience replacing a tooth.<br />
|-<br />
|(2012-01-26) || [[Non-(affine line)s]]. My collection of strange things that look like $\AA^1$.<br />
|-<br />
|(2011-10-18) || [[Projective Set]]. A card game similar to [http://en.wikipedia.org/wiki/Set_%28game%29 Set].<br />
|-<br />
|(2011-10-18) || [[Quantum Go Fish]]. A game about managing uncertainty.<br />
|-<br />
|(2008-Fall?) || [[Advice on real-time TeXing]]. Bits of advice I found myself repeating to many different people.<br />
|-<br />
|(2007-11-13) || The [[Salamander lemma]]. A blog post I wrote for the [http://sbseminar.wordpress.com Secret Blogging Seminar].<br />
|-<br />
|(2007-04-15) || [[My Blood Clot]]. My experience getting a blood clot.<br />
|}</div>Antonhttps://stacky.net/wiki/index.php?title=Template:Blog&diff=1390Template:Blog2016-03-07T16:42:32Z<p>Anton: </p>
<hr />
<div>Okay, I don't really blog, but I do sometimes write up something interesting that I think about. Here are some links to those things:<br />
<br />
{|<br />
|(2016-03-07) || [[Against the odds: a caution to practical Bayesians]].<br />
|-<br />
|(2015-03-05) || [[Chocolates, bugs, and socks]]. A few calculations from real life.<br />
|-<br />
|(2013-09-23) || [[A bug in my high school physics intuition]].<br />
|-<br />
|(2013-07-30) || [[Misconceptions about machine learning]].<br />
|-<br />
|(2012-07-21) || [[Wanted: adaptive navigation app]]. How to make GPS navigation systems better.<br />
|-<br />
|(2012-07-14)&nbsp;|| [[How to write diagram chases]]. A proposal for how to write diagram chases so that they're readable.<br />
|}<br />
[[:Category:Blog|(older entries)]]</div>Antonhttps://stacky.net/wiki/index.php?title=Category:Blog&diff=1389Category:Blog2016-03-07T16:41:20Z<p>Anton: </p>
<hr />
<div>Okay, I don't really blog, but I do sometimes write up something interesting that I think about. Here are some links to those things:<br />
<br />
<!--<br />
* Characterizing property of $\Omega^1$, and how it doesn't quite work for DM stacks<br />
* Artin's criterion for representability<br />
--><br />
{|<br />
|(2016-03-07) || [[Against the odds: a caution to practical Bayesians]].<br />
|-<br />
|(2015-03-05) || [[Chocolates, bugs, and socks]]. A few calculations from real life.<br />
|-<br />
|(2013-09-23) || [[A bug in my high school physics intuition]].<br />
|-<br />
|(2013-07-30) || [[Misconceptions about machine learning]].<br />
|-<br />
|(2012-07-21) || [[Wanted: adaptive navigation app]]. How to make GPS navigation systems better.<br />
|-<br />
|(2012&#8209;07&#8209;14)&nbsp;|| [[How to write diagram chases]]. A proposal for how to write diagram chases so that they're readable.<br />
|-<br />
|(2012-07) || [[My Tooth Implant]]. My experience replacing a tooth.<br />
|-<br />
|(2012-01-26) || [[Non-(affine line)s]]. My collection of strange things that look like $\AA^1$.<br />
|-<br />
|(2011-10-18) || [[Projective Set]]. A card game similar to [http://en.wikipedia.org/wiki/Set_%28game%29 Set].<br />
|-<br />
|(2011-10-18) || [[Quantum Go Fish]]. A game about managing uncertainty.<br />
|-<br />
|(2008-Fall?) || [[Advice on real-time TeXing]]. Bits of advice I found myself repeating to many different people.<br />
|-<br />
|(2007-11-13) || The [[Salamander lemma]]. A blog post I wrote for the [http://sbseminar.wordpress.com Secret Blogging Seminar].<br />
|-<br />
|(2007-04-15) || [[My Blood Clot]]. My experience getting a blood clot.<br />
|}</div>Antonhttps://stacky.net/wiki/index.php?title=Category:Blog&diff=1388Category:Blog2016-03-07T16:40:38Z<p>Anton: </p>
<hr />
<div>Okay, I don't really blog, but I do sometimes write up something interesting that I think about. Here are some links to those things:<br />
<br />
<!--<br />
* Dagan's journal idea<br />
* Characterizing property of $\Omega^1$, and how it doesn't quite work for DM stacks<br />
* Artin's criterion for representability<br />
--><br />
{|<br />
|(2016-03-07) || [[Against the odds: a caution to practical Bayesians]].<br />
|-<br />
|(2015-03-05) || [[Chocolates, bugs, and socks]]. A few calculations from real life.<br />
|-<br />
|(2013-09-23) || [[A bug in my high school physics intuition]].<br />
|-<br />
|(2013-07-30) || [[Misconceptions about machine learning]].<br />
|-<br />
|(2012-07-21) || [[Wanted: adaptive navigation app]]. How to make GPS navigation systems better.<br />
|-<br />
|(2012&#8209;07&#8209;14)&nbsp;|| [[How to write diagram chases]]. A proposal for how to write diagram chases so that they're readable.<br />
|-<br />
|(2012-07) || [[My Tooth Implant]]. My experience replacing a tooth.<br />
|-<br />
|(2012-01-26) || [[Non-(affine line)s]]. My collection of strange things that look like $\AA^1$.<br />
|-<br />
|(2011-10-18) || [[Projective Set]]. A card game similar to [http://en.wikipedia.org/wiki/Set_%28game%29 Set].<br />
|-<br />
|(2011-10-18) || [[Quantum Go Fish]]. A game about managing uncertainty.<br />
|-<br />
|(2008-Fall?) || [[Advice on real-time TeXing]]. Bits of advice I found myself repeating to many different people.<br />
|-<br />
|(2007-11-13) || The [[Salamander lemma]]. A blog post I wrote for the [http://sbseminar.wordpress.com Secret Blogging Seminar].<br />
|-<br />
|(2007-04-15) || [[My Blood Clot]]. My experience getting a blood clot.<br />
|}</div>Antonhttps://stacky.net/wiki/index.php?title=Against_the_odds:_a_caution_to_practical_Bayesians&diff=1387Against the odds: a caution to practical Bayesians2016-03-07T16:34:19Z<p>Anton: Created page with "Category:Blog Lots of people I know like to use Bayes' Theorem in their daily life to estimate the odds that various statements are true. See http://betterexplained.com/ar..."</p>
<hr />
<div>[[Category:Blog]]<br />
Lots of people I know like to use Bayes' Theorem in their daily life to estimate the odds that various statements are true. See http://betterexplained.com/articles/understanding-bayes-theorem-with-ratios/ for a quick tutorial. This post is about a pitfall to watch out for once you're feeling pretty good about applying Bayes' Theorem.<br />
<br />
Upshot: if you do multiple Bayesian updates on the odds of a proposition (i.e. P(X):P(¬X)), then you're probably making errors unless X ''and'' ¬X are pretty simple hypotheses.<br />
<br />
A typical example of using Bayes' Theorem: I randomly choose either a fair coin or a double-headed coin. I flip it 3 times and get heads each time. What's your credence that it's the double-headed coin? The initial odds fair:double-headed are assumed 1:1. A fair coin will produce heads with probability 0.5, and a double-headed coin will produce heads with probability 1, so the likelihood ratio to multiply by every time you see a heads is 0.5:1 = 1:2. So after seeing 3 heads, the fair:double-headed odds are 1:1 × 1:2 × 1:2 × 1:2 = 1:8, so there's a 8/(8+1) = 89% chance it's double-headed.<br />
<br />
Let's try a more complicated example. Suppose somebody stole my lunch from the fridge. I know the culprit was one of my three "friends", Alice (A), Bob (B), or Charlie (C). I don't really care much about Bob or Charlie, but I'm considering starting a business with Alice, so I really want to know whether it was Alice or not. That is, the odds I care about are Alice-did-it:Alice-didn't-do-it, P(A):P(¬A).<br />
<br />
Initially, I have no reason to suspect any one of them more than the others, so my odds are 1:2 in Alice's favor; there's a 1/3 chance that Alice is the culprit. Luckily, there were two witnesses exonerating Alice. Suppose that the witnesses are independent, and each witness identifies the true thief with 80% probability, and otherwise names one of the innocent friends (with equal probability, so 10% each). If a witness names someone other than Alice as the thief, what does that tell me? If Alice did it, there's a 10% chance of hearing that, and if Alice didn't do it, there's a 90% chance, so a witness testimony clearing Alice contributes a likelihood ratio of 1:9. That means that the odds after two testimonies are 1:2 × 1:9 × 1:9 = 1:162, so a 1/163 = 0.6% chance that Alice took my lunch, right?<br />
<br />
WRONG! Our fixation on Alice messed us up. Let's go back and keep track of all the hypotheses, so the initial odds of the culprit being Alice:Bob:Charlie are 1:1:1. If a witness says Bob took the lunch, it contributes 1:8:1. If a second witness says Bob did it, the odds are 1:64:1, so there's a 1/(1+64+1) = 1.5% chance Alice did it; significantly more than our previous estimate of 0.6%. Worse, if one witness says Bob and the other says Charlie, the odds are 1:8:8, which is a 1/(1+8+8) = 5.9% chance it was Alice.<br />
<br />
What went wrong? First of all, that 1:9 likelihood ratio is bogus. If we condition on the thief not being Alice, the probablity of a witness saying some specific person other than Alice (say Bob) did it is really<br />
$$<br />
P(witness_B|¬A) = 0.8×P(B|¬A) + 0.1×P(C|¬A) = 0.8×0.5 + 0.1×0.5 = 0.45,<br />
$$<br />
<br />
so the likelihood ratio should have been 10:45 = 2:9 instead of 1:9. But using this corrected ratio still gives us the wrong answer for a deeper reason: '''if you condition on ¬Alice, then the witness testimonies are not logically independent!''' Once I hear one testimony against Bob, then when compute $P(witness_B|¬A)$, $P(B|¬A)$ and $P(C|¬A)$ aren't 0.5 anymore. Note that this is consistent with the assumption that the witness testimonies are ''causally'' independent.<br />
<br />
This problem arises whenever your evidence differentiates between different sub-hypotheses. What to do about it? I think the best answer is to use unnormalized probability distributions, like we did to get the right answer above. Of course, it's infeasible to keep track of all possible states of the universe, but maybe we can develop decent intuitions about what the hypothesis space should be. Most people I've talked to about Alice recognize that there should be a difference between witness testimonies agreeing and disagreeing. I'd be curious if there was an example where it really feels right to do the wrong thing.</div>Antonhttps://stacky.net/wiki/index.php?title=Chocolates,_bugs,_and_socks&diff=1386Chocolates, bugs, and socks2016-03-07T16:32:22Z<p>Anton: </p>
<hr />
<div>[[Category:Blog]]<br />
==How many chocolates has Lindsay eaten?==<br />
<br />
Every chocolate Lindsay eats, she gets a picture of a bug, randomly selected from a set of 20 bug pictures. She just collected her 19-th unique bug picture. How many chocolates do you think she's eaten?<br />
<br />
When she's collected 7 unique bugs, each chocolate brings with it a $\frac{13}{20}$ chance of getting an 8-th bug. How many chocolates does she have to eat before that happens, and with what variance? Well, for any event with probability $p$ of success, the expected number of trials before the first success is $\langle n\rangle =\sum_{n=1}^\infty n(1-p)^{n-1}p = \frac 1p$, and the expected square of the number of trials before success is $\langle n^2\rangle =\sum_{n=1}^\infty n^2(1-p)^{n-1}p = \frac{2-p}{p^2}$, so the variance is $\langle n^2\rangle - \langle n\rangle^2 = \frac 1p - 1$. So the expected number of chocolates Lindsay ate is<br />
$$\frac{20}{20}+\frac{20}{19}+\cdots+\frac{20}{2} \approx 20\times(\ln(20) + \frac 12 - 1) \approx 50.$$<br />
(This was my back-of-the-envelope guess using that $\ln(20)\approx 3$, and that the Euler-Mascheroni constant is about 0.5. The actual value is very close to 52.) The number of chocolates eaten to get from 5 to 6 bugs is independent of the number of chocolates eaten to get from 6 to 7 bugs, so the variances add too:<br />
$$\Bigl(\frac{20}{20} - 1\Bigr) + \Bigl(\frac{20}{19} - 1\Bigr) + \cdots \Bigl(\frac{20}{2} - 1\Bigr) \approx 33.$$<br />
(Same as previous number, minus 19.) So the standard deviation is $\sqrt{33}\approx 5.74$. Assuming this sum of random variables is roughly Guassian (how good is this assumption?), the 90% confidence interval (z-score 1.645) for how many chocolates Lindsay has eaten is $52\pm 9.4$.<br />
<br />
Note: she should expect to eat another 20 chocolates before getting that last bug.<br />
<br />
==How many unique bugs are there?==<br />
Suppose Lindsay '''knows''' she's eaten 50 chocolates, among which there were 19 unique bugs, but she doesn't know how many unique bugs there are out there. If she's eaten n chocolates and found k unique bugs, and there are b unique bugs, the likelihood is<br />
$$<br />
\binom{b}{k}k^{n-k}b^{-n}<br />
$$<br />
(pick the subset of k, which also uses up k of your chocolates, then distribute the remaining n-k chocolates among those k bugs). For n=50 and k=19, the maximally likely answer is that there are [http://www.wolframalpha.com/input/?i=plot+%28b+choose+k%29+*+k%5E%28n-k%29%2F%28b%5En%29+for+n%3D50%2C+k%3D19%2C+b%3D19+to+22 20 bugs].<br />
<br />
==How many socks do I have?==<br />
<br />
I've just pulled 10 socks out of a pile of laundry, making 2 pairs and 6 singletons. How many pairs of socks are there total (assuming each sock has a unique partner)?<br />
<br />
If there are $n$ pairs of socks, I pull out $k$, and make $p$ pairs, the likelihood is<br />
$$\binom np \binom{n-p}{k-2p} \binom{2n}{k}^{-1}$$<br />
(first pick the $p$ pairs, then $k-2p$ singletons). Maximum likelihood answer to the original question: [http://www.wolframalpha.com/input/?i=plot+%28n+choose+p%29+*+%28%28n-p%29+choose+k-2*p%29+%2F+%282*n+choose+k%29+for+k%3D10%2C+p%3D2%2C+n%3D7+to+15 11 pairs] (so $22-10=12$ socks left). Of course, you'd usually have a pretty good prior multiplying this likelihood function.</div>Antonhttps://stacky.net/wiki/index.php?title=Chocolates,_bugs,_and_socks&diff=1385Chocolates, bugs, and socks2016-03-07T16:31:57Z<p>Anton: </p>
<hr />
<div>[[Category:Blog]]<br />
<br />
==How many chocolates has Lindsay eaten?==<br />
<br />
Every chocolate Lindsay eats, she gets a picture of a bug, randomly selected from a set of 20 bug pictures. She just collected her 19-th unique bug picture. How many chocolates do you think she's eaten?<br />
<br />
When she's collected 7 unique bugs, each chocolate brings with it a $\frac{13}{20}$ chance of getting an 8-th bug. How many chocolates does she have to eat before that happens, and with what variance? Well, for any event with probability $p$ of success, the expected number of trials before the first success is $\langle n\rangle =\sum_{n=1}^\infty n(1-p)^{n-1}p = \frac 1p$, and the expected square of the number of trials before success is $\langle n^2\rangle =\sum_{n=1}^\infty n^2(1-p)^{n-1}p = \frac{2-p}{p^2}$, so the variance is $\langle n^2\rangle - \langle n\rangle^2 = \frac 1p - 1$. So the expected number of chocolates Lindsay ate is<br />
$$\frac{20}{20}+\frac{20}{19}+\cdots+\frac{20}{2} \approx 20\times(\ln(20) + \frac 12 - 1) \approx 50.$$<br />
(This was my back-of-the-envelope guess using that $\ln(20)\approx 3$, and that the Euler-Mascheroni constant is about 0.5. The actual value is very close to 52.) The number of chocolates eaten to get from 5 to 6 bugs is independent of the number of chocolates eaten to get from 6 to 7 bugs, so the variances add too:<br />
$$\Bigl(\frac{20}{20} - 1\Bigr) + \Bigl(\frac{20}{19} - 1\Bigr) + \cdots \Bigl(\frac{20}{2} - 1\Bigr) \approx 33.$$<br />
(Same as previous number, minus 19.) So the standard deviation is $\sqrt{33}\approx 5.74$. Assuming this sum of random variables is roughly Guassian (how good is this assumption?), the 90% confidence interval (z-score 1.645) for how many chocolates Lindsay has eaten is $52\pm 9.4$.<br />
<br />
Note: she should expect to eat another 20 chocolates before getting that last bug.<br />
<br />
==How many unique bugs are there?==<br />
Suppose Lindsay '''knows''' she's eaten 50 chocolates, among which there were 19 unique bugs, but she doesn't know how many unique bugs there are out there. If she's eaten n chocolates and found k unique bugs, and there are b unique bugs, the likelihood is<br />
$$<br />
\binom{b}{k}k^{n-k}b^{-n}<br />
$$<br />
(pick the subset of k, which also uses up k of your chocolates, then distribute the remaining n-k chocolates among those k bugs). For n=50 and k=19, the maximally likely answer is that there are [http://www.wolframalpha.com/input/?i=plot+%28b+choose+k%29+*+k%5E%28n-k%29%2F%28b%5En%29+for+n%3D50%2C+k%3D19%2C+b%3D19+to+22 20 bugs].<br />
<br />
==How many socks do I have?==<br />
<br />
I've just pulled 10 socks out of a pile of laundry, making 2 pairs and 6 singletons. How many pairs of socks are there total (assuming each sock has a unique partner)?<br />
<br />
If there are $n$ pairs of socks, I pull out $k$, and make $p$ pairs, the likelihood is<br />
$$\binom np \binom{n-p}{k-2p} \binom{2n}{k}^{-1}$$<br />
(first pick the $p$ pairs, then $k-2p$ singletons). Maximum likelihood answer to the original question: [http://www.wolframalpha.com/input/?i=plot+%28n+choose+p%29+*+%28%28n-p%29+choose+k-2*p%29+%2F+%282*n+choose+k%29+for+k%3D10%2C+p%3D2%2C+n%3D7+to+15 11 pairs] (so $22-10=12$ socks left). Of course, you'd usually have a pretty good prior multiplying this likelihood function.</div>Antonhttps://stacky.net/wiki/index.php?title=Main_Page&diff=1383Main Page2016-02-14T00:18:55Z<p>Anton: </p>
<hr />
<div>__NOTOC__<br />
[[File:Anton.png|thumb|right]]<br />
<br />
[[File:juggling6ballsCropped.jpg|thumb|Me juggling 6 balls at the Awesome Show in Spring 2011. Photo by Keith Conrad. Full story [http://k-cnrd.blogspot.com/2011/04/awesome-show.html here].]]<br />
<br />
I work at Eonite Perception, doing software engineering and thinking about math problems. I've also worked/studied at Google, Caltech, UC Berkeley, and Brandeis.<br />
<br />
My mathematical interests are largely in algebraic geometry, particularly foundational questions about algebraic stacks. See my [[Research]] page for more information. Lately, I've been thinking more about probability, information, and inferrence.<br />
<br />
I've taught several courses over the years. Check out the [[:Category:Course_Page|course pages]].<br />
<br />
[[File:MOlogo.png|200px|link=http://mathoverflow.net|alt="mathoverflow.net"]] is a question and answer site for professional mathematicians. I founded it and helped to make it successful. You can read about it in [http://stacky.net/files/MOnotices.pdf the Notices], from the [https://simonsfoundation.org/news/open-news/-/asset_publisher/bo1E/content/the-global-math-commons Simons Foundation], in [http://www.theatlantic.com/technology/archive/2010/09/beyond-facebook-how-the-worlds-mathematicians-organize-online/63422/ the Atlantic], and on [http://www.google.com/search?q=mathoverflow&tbm=blg many different blogs].<br />
<br />
I like [http://en.wikipedia.org/wiki/TeX TeX] and [http://en.wikipedia.org/wiki/LaTeX LaTeX]. If you do too, have a look at my [[TeXnical notes]] and [[advice on real-time TeXing]].<br />
<br />
As a real-time TeXer, I've accumulated some [[course notes]] that I find to be useful references.<br />
<br />
="Blog"=<br />
{{blog}}<br />
<br />
=Contact Information=<br />
'''Name:''' Anton Geraschenko<br><br />
'''Web:''' http://stacky.net <br><br />
'''Email:''' [mailto:geraschenko@gmail.com geraschenko@gmail.com]<br><br />
'''PGP:''' [http://stacky.net/posted/geraschenko@gmail.com--public.asc my public key]<br><br />
'''Phone:''' 617 275 1573 (cell)<br><br />
'''Home:''' 1033 Cordova St. #5, Pasadena, CA 91106 [http://maps.google.com/?q=34.1431,-118.1288 (map)]</div>Antonhttps://stacky.net/wiki/index.php?title=Chocolates,_bugs,_and_socks&diff=1379Chocolates, bugs, and socks2016-01-03T17:16:28Z<p>Anton: /* How many socks do I have? */</p>
<hr />
<div>==How many chocolates has Lindsay eaten?==<br />
<br />
Every chocolate Lindsay eats, she gets a picture of a bug, randomly selected from a set of 20 bug pictures. She just collected her 19-th unique bug picture. How many chocolates do you think she's eaten?<br />
<br />
When she's collected 7 unique bugs, each chocolate brings with it a $\frac{13}{20}$ chance of getting an 8-th bug. How many chocolates does she have to eat before that happens, and with what variance? Well, for any event with probability $p$ of success, the expected number of trials before the first success is $\langle n\rangle =\sum_{n=1}^\infty n(1-p)^{n-1}p = \frac 1p$, and the expected square of the number of trials before success is $\langle n^2\rangle =\sum_{n=1}^\infty n^2(1-p)^{n-1}p = \frac{2-p}{p^2}$, so the variance is $\langle n^2\rangle - \langle n\rangle^2 = \frac 1p - 1$. So the expected number of chocolates Lindsay ate is<br />
$$\frac{20}{20}+\frac{20}{19}+\cdots+\frac{20}{2} \approx 20\times(\ln(20) + \frac 12 - 1) \approx 50.$$<br />
(This was my back-of-the-envelope guess using that $\ln(20)\approx 3$, and that the Euler-Mascheroni constant is about 0.5. The actual value is very close to 52.) The number of chocolates eaten to get from 5 to 6 bugs is independent of the number of chocolates eaten to get from 6 to 7 bugs, so the variances add too:<br />
$$\Bigl(\frac{20}{20} - 1\Bigr) + \Bigl(\frac{20}{19} - 1\Bigr) + \cdots \Bigl(\frac{20}{2} - 1\Bigr) \approx 33.$$<br />
(Same as previous number, minus 19.) So the standard deviation is $\sqrt{33}\approx 5.74$. Assuming this sum of random variables is roughly Guassian (how good is this assumption?), the 90% confidence interval (z-score 1.645) for how many chocolates Lindsay has eaten is $52\pm 9.4$.<br />
<br />
Note: she should expect to eat another 20 chocolates before getting that last bug.<br />
<br />
==How many unique bugs are there?==<br />
Suppose Lindsay '''knows''' she's eaten 50 chocolates, among which there were 19 unique bugs, but she doesn't know how many unique bugs there are out there. If she's eaten n chocolates and found k unique bugs, and there are b unique bugs, the likelihood is<br />
$$<br />
\binom{b}{k}k^{n-k}b^{-n}<br />
$$<br />
(pick the subset of k, which also uses up k of your chocolates, then distribute the remaining n-k chocolates among those k bugs). For n=50 and k=19, the maximally likely answer is that there are [http://www.wolframalpha.com/input/?i=plot+%28b+choose+k%29+*+k%5E%28n-k%29%2F%28b%5En%29+for+n%3D50%2C+k%3D19%2C+b%3D19+to+22 20 bugs].<br />
<br />
==How many socks do I have?==<br />
<br />
I've just pulled 10 socks out of a pile of laundry, making 2 pairs and 6 singletons. How many pairs of socks are there total (assuming each sock has a unique partner)?<br />
<br />
If there are $n$ pairs of socks, I pull out $k$, and make $p$ pairs, the likelihood is<br />
$$\binom np \binom{n-p}{k-2p} \binom{2n}{k}^{-1}$$<br />
(first pick the $p$ pairs, then $k-2p$ singletons). Maximum likelihood answer to the original question: [http://www.wolframalpha.com/input/?i=plot+%28n+choose+p%29+*+%28%28n-p%29+choose+k-2*p%29+%2F+%282*n+choose+k%29+for+k%3D10%2C+p%3D2%2C+n%3D7+to+15 11 pairs] (so $22-10=12$ socks left). Of course, you'd usually have a pretty good prior multiplying this likelihood function.</div>Antonhttps://stacky.net/wiki/index.php?title=Research&diff=1378Research2015-11-30T16:42:23Z<p>Anton: </p>
<hr />
<div>I'm interested in algebraic geometry and representation theory. Most of my work involves the use of algebraic stacks and English; I like to think I have a decent command of both, but I have more new ideas about the former. To get a better feel for the sort of stuff I like to think about, check out [http://mathoverflow.net/users/1 my MathOverflow user page].<br />
<br />
<br />
=Publications=<br />
[http://arxiv.org/find/math/1/au:+Geraschenko_A/0/1/0/all/0/1 Me on the arXiv].<br />
<br />
{| border=0<br />
| '''A "bottom up" characterization of smooth Deligne-Mumford stacks'''<br />
| with Matthew Satriano. <br />
| [http://arxiv.org/abs/1503.05478 arXiv:1503.05478]<br />
|-<br />
| '''There is no degree map for 0-cycles on Artin stacks'''<br />
| with Dan Edidin and Matthew Satriano. <br />
| [http://arxiv.org/abs/1208.3239 arXiv:1208.3239]<br />
| [http://dx.doi.org/10.1007/s00031-013-9225-x Transformation Groups June 2013]<br />
|-<br />
| '''Formal GAGA for good moduli spaces'''<br />
| with David Zureick-Brown.<br />
| [http://arxiv.org/abs/1208.2882 arXiv:1208.2882]<br />
| [http://algebraicgeometry.nl/7.html Algebraic Geometry May 2015]<br />
|-<br />
| '''Torus Quotients as Global Quotients by Finite Groups'''<br />
| with Matthew Satriano.<br />
| [http://arxiv.org/abs/1201.4807 arXiv:1201.4807]<br />
| [http://dx.doi.org/10.1112/jlms/jdv046 JLMS 2015]<br />
|-<br />
| '''Toric Stacks I: The Theory of Stacky Fans'''<br />
| with Matthew Satriano.<br />
| [http://arxiv.org/abs/1107.1906 arXiv:1107.1906]<br />
| [http://dx.doi.org/10.1090/S0002-9947-2014-06063-7 Transactions of the AMS 2015]<br />
|-<br />
| '''Toric Stacks II: Intrinsic Characterization of Toric Stacks'''<br />
| with Matthew Satriano.<br />
| [http://arxiv.org/abs/1107.1907 arXiv:1107.1907]<br />
| [http://dx.doi.org/10.1090/S0002-9947-2014-06064-9 Transactions of the AMS 2015]<br />
|}<br />
<br />
= Toric Stacks =<br />
<br />
Because of the rich dictionary between combinatorics and geometry, [http://en.wikipedia.org/wiki/Toric_variety toric varieties] are an extremely fertile testing ground for ideas in algebraic geometry. Once well versed in this dictionary, one can often cook up examples tailored to exhibit some desired behavior, and then understand just about everything about those examples. Since stacks are often difficult to handle and think about, it is desirable to have a similarly versatile-yet-easy-to-handle class of stacks.<br />
<br />
The following two papers aim at a grand unified theory of toric stacks (there are at least seven distinct definitions in the literature prior to this). The first paper develops the combinatorics-geometry dictionary between stacky fans and toric stacks, focusing on stacky phenomena, like canonical stacks, good moduli space morphisms, and moduli interpretations. The second paper is dedicated towards an intrinsic characterization of toric stacks, identifying them as normal reduced finite type stacks with a dense open torus satisfying some reasonable hypotheses (e.g. affine diagonal, linearly reductive stabilizers).<br />
<br />
* '''Toric Stacks I: The Theory of Stacky Fans''' with Matthew Satriano. [http://arxiv.org/abs/1107.1906 arXiv:1107.1906]<br />
* '''Toric Stacks II: Intrinsic Characterization of Toric Stacks''' with Matthew Satriano. [http://arxiv.org/abs/1107.1907 arXiv:1107.1907]<br />
<br />
= Torus quotients as quotients by finite groups =<br />
<br />
Suppose $G$ is a finite group acting on a smooth scheme $U$. The singularities of the quotient scheme $X=U/G$ are ''quotient singularities''. William Fulton posed the question, "is every scheme with tame quotient singularities ''globally'' a quotient of a smooth scheme by the action of a finite group?" The goal is to find a stack $\X$ with coarse space $X$, and to endow $\X$ with a global quotient structure. Though this reformulation is trivial, it has major advantages. First, if $\X\cong [U/G]$, then $U$ is automatically smooth. Second, quotient structures on $\X$ are witnessed by vector bundles. $X$ is automatically the coarse space of a smooth DM stack, which is automatically a quotient by some (infinite) algebraic group. This gives a smooth DM stack with a special vector bundle on it. The goal is then to modify the stack (without changing the coarse space) and the vector bundle to eventually get a smooth stack with a vector bundle that witnesses it as a ''finite'' quotient.<br />
<br />
The paper below has two main results:<br />
<br />
# Any quasi-projective quotient of a smooth space by a split torus (acting with finite stabilizers) is a quotient of a smooth space by a finite diagonalizable group. In particular, this gives you a procedure for expressing quasi-projective simplicial toric varieties as quotients of smooth varieties by finite groups (note: such varieties cannot be expressed as quotients of smooth ''toric'' varieties in general, so this application is non-trivial).<br />
# A space with quotient singularities is a torus quotient (as above) if and only if its canonical stack is a the stack quotient of a smooth space by a torus. Alternatively, a variety is a torus quotient if and only if there are Weil divisors which generate the class groups of the completed local rings (moreover, these local class groups are fairly easy to compute). Note that the second version is clearly Zariski local.<br />
<br />
Using the second result, we show that the projective surface $\PP^2/A_5$ cannot be expressed as a quotient of a smooth variety by a finite ''abelian'' group, even if you resolve two of its three singularities.<br />
<br />
* '''Torus Quotients as Global Quotients by Finite Groups''' with Matthew Satriano. [http://arxiv.org/abs/1201.4807 arXiv:1201.4807]<br />
* '''When is a variety a quotient of a smooth variety by a finite group?''' poster for WAGS (10-2011). [http://stacky.net/files/WAGSposter.pdf]<br />
* '''When is a variety a quotient of a smooth variety by a finite group?''' lecture given at [http://www.birs.ca/events/2012/5-day-workshops/12w5027| Algebraic Stacks: Progress and Prospects BIRS workshop]. [http://www.birs.ca/events/2012/5-day-workshops/12w5027/videos/watch/201203261602-Geraschenko.mp4| video]</div>Antonhttps://stacky.net/wiki/index.php?title=Research&diff=1375Research2015-06-30T19:39:43Z<p>Anton: /* Publications */</p>
<hr />
<div>I'm interested in algebraic geometry and representation theory. Most of my work involves the use of algebraic stacks and English; I like to think I have a decent command of both, but I have more new ideas about the former. To get a better feel for the sort of stuff I like to think about, check out [http://mathoverflow.net/users/1 my MathOverflow user page].<br />
<br />
<br />
=Publications=<br />
[http://arxiv.org/find/math/1/au:+Geraschenko_A/0/1/0/all/0/1 Me on the arXiv].<br />
<br />
{| border=0<br />
| '''A "bottom up" characterization of smooth Deligne-Mumford stacks'''<br />
| with Matthew Satriano. <br />
| [http://arxiv.org/abs/1503.05478 arXiv:1503.05478]<br />
|-<br />
| '''There is no degree map for 0-cycles on Artin stacks'''<br />
| with Dan Edidin and Matthew Satriano. <br />
| [http://arxiv.org/abs/1208.3239 arXiv:1208.3239]<br />
| [http://dx.doi.org/10.1007/s00031-013-9225-x Transformation Groups June 2013]<br />
|-<br />
| '''Formal GAGA for good moduli spaces'''<br />
| with David Zureick-Brown.<br />
| [http://arxiv.org/abs/1208.2882 arXiv:1208.2882]<br />
| [http://algebraicgeometry.nl/7.html Algebraic Geometry May 2015]<br />
|-<br />
| '''Torus Quotients as Global Quotients by Finite Groups'''<br />
| with Matthew Satriano.<br />
| [http://arxiv.org/abs/1201.4807 arXiv:1201.4807]<br />
| To appear in JLMS [http://www.lms.ac.uk/publications/jlms]<br />
|-<br />
| '''Toric Stacks I: The Theory of Stacky Fans'''<br />
| with Matthew Satriano.<br />
| [http://arxiv.org/abs/1107.1906 arXiv:1107.1906]<br />
| [http://dx.doi.org/10.1090/S0002-9947-2014-06063-7 Transactions of the AMS 2015]<br />
|-<br />
| '''Toric Stacks II: Intrinsic Characterization of Toric Stacks'''<br />
| with Matthew Satriano.<br />
| [http://arxiv.org/abs/1107.1907 arXiv:1107.1907]<br />
| [http://dx.doi.org/10.1090/S0002-9947-2014-06064-9 Transactions of the AMS 2015]<br />
|}<br />
<br />
= Toric Stacks =<br />
<br />
Because of the rich dictionary between combinatorics and geometry, [http://en.wikipedia.org/wiki/Toric_variety toric varieties] are an extremely fertile testing ground for ideas in algebraic geometry. Once well versed in this dictionary, one can often cook up examples tailored to exhibit some desired behavior, and then understand just about everything about those examples. Since stacks are often difficult to handle and think about, it is desirable to have a similarly versatile-yet-easy-to-handle class of stacks.<br />
<br />
The following two papers aim at a grand unified theory of toric stacks (there are at least seven distinct definitions in the literature prior to this). The first paper develops the combinatorics-geometry dictionary between stacky fans and toric stacks, focusing on stacky phenomena, like canonical stacks, good moduli space morphisms, and moduli interpretations. The second paper is dedicated towards an intrinsic characterization of toric stacks, identifying them as normal reduced finite type stacks with a dense open torus satisfying some reasonable hypotheses (e.g. affine diagonal, linearly reductive stabilizers).<br />
<br />
* '''Toric Stacks I: The Theory of Stacky Fans''' with Matthew Satriano. [http://arxiv.org/abs/1107.1906 arXiv:1107.1906]<br />
* '''Toric Stacks II: Intrinsic Characterization of Toric Stacks''' with Matthew Satriano. [http://arxiv.org/abs/1107.1907 arXiv:1107.1907]<br />
<br />
= Torus quotients as quotients by finite groups =<br />
<br />
Suppose $G$ is a finite group acting on a smooth scheme $U$. The singularities of the quotient scheme $X=U/G$ are ''quotient singularities''. William Fulton posed the question, "is every scheme with tame quotient singularities ''globally'' a quotient of a smooth scheme by the action of a finite group?" The goal is to find a stack $\X$ with coarse space $X$, and to endow $\X$ with a global quotient structure. Though this reformulation is trivial, it has major advantages. First, if $\X\cong [U/G]$, then $U$ is automatically smooth. Second, quotient structures on $\X$ are witnessed by vector bundles. $X$ is automatically the coarse space of a smooth DM stack, which is automatically a quotient by some (infinite) algebraic group. This gives a smooth DM stack with a special vector bundle on it. The goal is then to modify the stack (without changing the coarse space) and the vector bundle to eventually get a smooth stack with a vector bundle that witnesses it as a ''finite'' quotient.<br />
<br />
The paper below has two main results:<br />
<br />
# Any quasi-projective quotient of a smooth space by a split torus (acting with finite stabilizers) is a quotient of a smooth space by a finite diagonalizable group. In particular, this gives you a procedure for expressing quasi-projective simplicial toric varieties as quotients of smooth varieties by finite groups (note: such varieties cannot be expressed as quotients of smooth ''toric'' varieties in general, so this application is non-trivial).<br />
# A space with quotient singularities is a torus quotient (as above) if and only if its canonical stack is a the stack quotient of a smooth space by a torus. Alternatively, a variety is a torus quotient if and only if there are Weil divisors which generate the class groups of the completed local rings (moreover, these local class groups are fairly easy to compute). Note that the second version is clearly Zariski local.<br />
<br />
Using the second result, we show that the projective surface $\PP^2/A_5$ cannot be expressed as a quotient of a smooth variety by a finite ''abelian'' group, even if you resolve two of its three singularities.<br />
<br />
* '''Torus Quotients as Global Quotients by Finite Groups''' with Matthew Satriano. [http://arxiv.org/abs/1201.4807 arXiv:1201.4807]<br />
* '''When is a variety a quotient of a smooth variety by a finite group?''' poster for WAGS (10-2011). [http://stacky.net/files/WAGSposter.pdf]<br />
* '''When is a variety a quotient of a smooth variety by a finite group?''' lecture given at [http://www.birs.ca/events/2012/5-day-workshops/12w5027| Algebraic Stacks: Progress and Prospects BIRS workshop]. [http://www.birs.ca/events/2012/5-day-workshops/12w5027/videos/watch/201203261602-Geraschenko.mp4| video]</div>Antonhttps://stacky.net/wiki/index.php?title=Category:Blog&diff=1374Category:Blog2015-05-07T16:54:09Z<p>Anton: </p>
<hr />
<div>Okay, I don't really blog, but I do sometimes write up something interesting that I think about. Here are some links to those things:<br />
<br />
<!--<br />
* Dagan's journal idea<br />
* Characterizing property of $\Omega^1$, and how it doesn't quite work for DM stacks<br />
* Artin's criterion for representability<br />
--><br />
{|<br />
|(2015-03-05) || [[Chocolates, bugs, and socks]]. A few calculations from real life.<br />
|-<br />
|(2013-09-23) || [[A bug in my high school physics intuition]].<br />
|-<br />
|(2013-07-30) || [[Misconceptions about machine learning]].<br />
|-<br />
|(2012-07-21) || [[Wanted: adaptive navigation app]]. How to make GPS navigation systems better.<br />
|-<br />
|(2012&#8209;07&#8209;14)&nbsp;|| [[How to write diagram chases]]. A proposal for how to write diagram chases so that they're readable.<br />
|-<br />
|(2012-07) || [[My Tooth Implant]]. My experience replacing a tooth.<br />
|-<br />
|(2012-01-26) || [[Non-(affine line)s]]. My collection of strange things that look like $\AA^1$.<br />
|-<br />
|(2011-10-18) || [[Projective Set]]. A card game similar to [http://en.wikipedia.org/wiki/Set_%28game%29 Set].<br />
|-<br />
|(2011-10-18) || [[Quantum Go Fish]]. A game about managing uncertainty.<br />
|-<br />
|(2008-Fall?) || [[Advice on real-time TeXing]]. Bits of advice I found myself repeating to many different people.<br />
|-<br />
|(2007-11-13) || The [[Salamander lemma]]. A blog post I wrote for the [http://sbseminar.wordpress.com Secret Blogging Seminar].<br />
|-<br />
|(2007-04-15) || [[My Blood Clot]]. My experience getting a blood clot.<br />
|}</div>Anton