<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4438099303023592298</id><updated>2012-02-03T07:08:20.759-05:00</updated><category term='sty'/><category term='Academic Job search'/><category term='applied discrete mathematics group'/><category term='bashrc'/><category term='NSF'/><category term='temporary'/><category term='woman'/><category term='proposal'/><category term='analytics'/><category term='passwd'/><category term='require'/><category term='Apple'/><category term='genome'/><category term='Movie'/><category term='sed'/><category term='suse'/><category term='private method'/><category term='partial'/><category term='send'/><category term='academia'/><category term='listctr'/><category term='git'/><category term='gem'/><category term='bibtex'/><category term='gemcutter'/><category term='rails'/><category term='PhD'/><category term='mathjax'/><category term='redirect'/><category term='M2'/><category term='Video'/><category term='crontab'/><category term='textwidth'/><category term='cronjob'/><category term='Nature'/><category term='table'/><category term='Publishing'/><category term='workshop'/><category term='PDF'/><category term='mac os'/><category term='df'/><category term='carter cole'/><category term='memory'/><category term='tmpfile'/><category term='slime'/><category term='Animated'/><category term='ATT'/><category term='iPhone'/><category term='highlighting'/><category term='craig venter'/><category term='experimental'/><category term='printindex'/><category term='svn'/><category term='figure'/><category term='subversion'/><category term='ruby'/><category term='Python'/><category term='darwin'/><category term='perl'/><category term='ruby version manager'/><category term='teaching statement'/><category term='perl5.10'/><category term='irb'/><category term='1.9'/><category term='spellcheck'/><category term='buffer'/><category term='eigenmethod'/><category term='arXiv'/><category term='shell'/><category term='girl'/><category term='tdd'/><category term='hairball'/><category term='optimal control'/><category term='ring'/><category term='update'/><category term='ulimit'/><category term='NIH'/><category term='repository'/><category term='lapack'/><category term='alias'/><category term='screen'/><category term='math'/><category term='revision'/><category term='Beamerclass'/><category term='remote'/><category term='not space left on device'/><category term='ssh'/><category term='discrimination'/><category term='Delivery Exception'/><category term='version'/><category term='revert'/><category term='Curriculum Vitae'/><category term='du'/><category term='jquery'/><category term='eps'/><category term='black and white picture'/><category term='plagiarism'/><category term='rubyforge'/><category term='mod_rewrite'/><category term='index'/><category term='GitX'/><category term='Black and White PDF'/><category term='Agent based model'/><category term='1.8'/><category term='writing'/><category term='ruby 1.9.1'/><category term='Bioinformatics'/><category term='ruby best practices'/><category term='job application'/><category term='bibliography'/><category term='tempfile'/><category term='Google sites'/><category term='branch'/><category term='git-status'/><category term='grant'/><category term='goal'/><category term='blas_LINUX.a: No such file or directory'/><category term='ghostscript'/><category term='ABM'/><category term='FedEx'/><category term='css'/><category term='remote repository'/><category term='polynomials'/><category term='default application'/><category term='vim'/><category term='cron'/><category term='VBI'/><category term='grayscale'/><category term='centering'/><category term='cpu'/><category term='tableofcontents'/><category term='Adobe'/><category term='Virginia Tech'/><category term='ruby 1.9'/><category term='DDLab'/><category term='remote session'/><category term='multirow'/><category term='rvm'/><category term='Latex'/><category term='margin'/><category term='text processing'/><category term='user'/><category term='xUnit'/><category term='squash'/><category term='detach'/><category term='slime.vim'/><category term='color'/><category term='html'/><category term='reference'/><category term='book review'/><category term='editing'/><category term='scroll'/><category term='testing'/><category term='table of contents'/><category term='cpuinfo'/><category term='hospital'/><category term='attach'/><category term='500 server error'/><category term='monkeys'/><category term='research statement'/><category term='singleton method'/><category term='center'/><category term='BMC'/><category term='Academic'/><category term='Mathematical Biology'/><category term='systems biology'/><category term='youtube'/><category term='form'/><category term='rbp'/><category term='bare'/><category term='Statespace'/><category term='conway&apos;s game of life'/><category term='Incorrect address'/><category term='git-config'/><category term='wrap'/><category term='Presentation'/><category term='postscript'/><category term='file'/><category term='default'/><category term='Garner'/><category term='science'/><category term='merge'/><category term='apache'/><category term='linux'/><category term='women'/><category term='publication ethics'/><category term='vi'/><category term='obj.send'/><category term='old'/><category term='Macaulay'/><category term='programming'/><category term='MacOS'/><category term='webdesign'/><category term='graduate school'/><category term='syntax highlighting'/><category term='website'/><category term='font'/><category term='perl5.8'/><category term='CV'/><category term='Macaulay2'/><category term='caption'/><category term='undefined control sequence'/><category term='terminal'/><category term='upload'/><category term='publication'/><category term='scientific writing'/><category term='algebraic geometry'/><category term='post doc'/><title type='text'>Math and Programming</title><subtitle type='html'>Programming and career advise from a  mathematical biologist.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>95</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-4018721450944053828</id><published>2011-11-05T20:06:00.000-04:00</published><updated>2011-11-05T20:06:05.459-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='color'/><category scheme='http://www.blogger.com/atom/ns#' term='font'/><category scheme='http://www.blogger.com/atom/ns#' term='webdesign'/><title type='text'>Fonts and Colors</title><content type='html'>&lt;a href="http://kuler.adobe.com/" target="_blank"&gt;Adobe Color Themes&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.google.com/webfonts" target="_blank"&gt;Google Fonts&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-4018721450944053828?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/4018721450944053828/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2011/11/fonts-and-colors.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/4018721450944053828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/4018721450944053828'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2011/11/fonts-and-colors.html' title='Fonts and Colors'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-2531157601740419878</id><published>2011-11-01T20:44:00.002-04:00</published><updated>2011-11-01T20:44:30.871-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='post doc'/><category scheme='http://www.blogger.com/atom/ns#' term='job application'/><category scheme='http://www.blogger.com/atom/ns#' term='academia'/><category scheme='http://www.blogger.com/atom/ns#' term='Academic Job search'/><category scheme='http://www.blogger.com/atom/ns#' term='math'/><title type='text'>Math job search</title><content type='html'>Phil Grizzard's detailed description of his job application process. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://homepages.math.uic.edu/%7Egrizzard/Personal/jobsearch.html" target="_blank"&gt;A Longtime Math Grad Student's Job Search Experience&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Totally worth reading if you're on the job market soon. Thanks for sharing! &lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-2531157601740419878?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/2531157601740419878/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2011/11/math-job-search.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/2531157601740419878'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/2531157601740419878'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2011/11/math-job-search.html' title='Math job search'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-3647121619276591724</id><published>2011-11-01T20:34:00.001-04:00</published><updated>2011-11-01T20:35:23.413-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Nature'/><category scheme='http://www.blogger.com/atom/ns#' term='hospital'/><category scheme='http://www.blogger.com/atom/ns#' term='discrimination'/><title type='text'>Gender discrimination?</title><content type='html'>&lt;a href="http://blogs.nature.com/news/2011/06/cancer_researcher_wins_gender_1.html" target="_blank"&gt;Cancer researcher wins gender discrimination suit&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;From Nature news blog, a few month old.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-3647121619276591724?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/3647121619276591724/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2011/11/gender-discrimination.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/3647121619276591724'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/3647121619276591724'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2011/11/gender-discrimination.html' title='Gender discrimination?'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-2689360753757543964</id><published>2011-11-01T20:21:00.001-04:00</published><updated>2011-11-01T20:21:20.632-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='git'/><title type='text'>Git: checkout remote branch</title><content type='html'>git checkout -b experimental origin/experimental&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-2689360753757543964?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/2689360753757543964/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2011/11/git-checkout-remote-branch.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/2689360753757543964'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/2689360753757543964'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2011/11/git-checkout-remote-branch.html' title='Git: checkout remote branch'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-6411906932863433917</id><published>2011-10-17T13:57:00.003-04:00</published><updated>2011-10-17T13:57:45.911-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='grant'/><category scheme='http://www.blogger.com/atom/ns#' term='NIH'/><category scheme='http://www.blogger.com/atom/ns#' term='Academic'/><title type='text'>Want to review grant applications?</title><content type='html'>&lt;a href="http://www.hhmi.org/resources/labmanagement/downloads/study_section.pdf"&gt;How to Be a Member of an R01 NIH Study Section&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-6411906932863433917?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/6411906932863433917/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2011/10/want-to-review-grant-applications.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/6411906932863433917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/6411906932863433917'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2011/10/want-to-review-grant-applications.html' title='Want to review grant applications?'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-6097447728967051538</id><published>2011-08-26T09:22:00.004-04:00</published><updated>2011-08-26T09:25:46.751-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GitX'/><category scheme='http://www.blogger.com/atom/ns#' term='git'/><category scheme='http://www.blogger.com/atom/ns#' term='MacOS'/><title type='text'>GitX and Finder in MacOs</title><content type='html'>GitX is a cool tool to visualize your git branches. It automatically assumes all files ending in .git files are git applications. When you browse files in Finder, anything ending in .git is now not a folder anymore, and clicking on it will launch GitX. Very annoying. I assumed I could just right click the file and set Open with to finder, but you can only change it to other applications, you can't tell your Mac that foo.git is a folder, not a git application. Instead, I edited the file /Applications/GitX.app/Contents/Info.plist (sudo!). Remove the following line inside CFBundleTypeExtensions&lt;br /&gt;&lt;br /&gt;&amp;lt;string&amp;gt;git&amp;lt;/string&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;&amp;lt;key&amp;gt;CFBundleTypeExtensions&amp;lt;/key&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;array&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strike&gt;&amp;lt;string&amp;gt;git&amp;lt;/string&amp;gt;&lt;/strike&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;string&amp;gt;&amp;lt;/string&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/array&amp;gt;&lt;br /&gt;&lt;br /&gt;... &lt;br /&gt;&lt;br /&gt;And then run&lt;br /&gt;/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -u -r -f /Applications/GitX.app/&lt;br /&gt;&lt;br /&gt;It should say&lt;br /&gt;ThrottleProcessIO: throttling disk i/o&lt;br /&gt;&lt;br /&gt;Reopening Finder, and foo.git is a nice folder again. &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-6097447728967051538?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/6097447728967051538/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2011/08/gitx-and-finder-in-macos.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/6097447728967051538'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/6097447728967051538'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2011/08/gitx-and-finder-in-macos.html' title='GitX and Finder in MacOs'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-4851000136672093376</id><published>2011-08-10T13:32:00.000-04:00</published><updated>2011-08-11T06:17:26.432-04:00</updated><title type='text'>Thunderbird notification pop-up</title><content type='html'>&lt;div&gt;Every time I get an email, Thunderbird shows a little pop-up on my screen, saying &lt;i&gt;x new emails from xxx&lt;/i&gt;. Oftentimes, I have co-workers look at my screen, they don't need to know everytime I get an email that it's from Amazon, Zappos, Banana Republic, or Victoria's Secret. So, here's how you turn it off: &lt;br /&gt;&lt;div class="" id="parent-fieldname-body"&gt;&lt;ol&gt;&lt;li&gt;Click &lt;b&gt;Edit&lt;/b&gt; and select &lt;b&gt;Preferences&lt;/b&gt;&lt;/li&gt;&lt;li&gt;Click &lt;b&gt;Advanced&lt;/b&gt;&lt;/li&gt;&lt;li&gt;Select the &lt;b&gt;General&lt;/b&gt; tab&lt;/li&gt;&lt;li&gt;Click the &lt;b&gt;Config Editor&lt;/b&gt; button&lt;/li&gt;&lt;li&gt;Search for biff&lt;/li&gt;&lt;li&gt;Set &lt;b&gt;mail.biff.show_alert&lt;/b&gt; to false&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-4851000136672093376?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/4851000136672093376/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2011/08/thunderbird-notification-pop-up.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/4851000136672093376'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/4851000136672093376'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2011/08/thunderbird-notification-pop-up.html' title='Thunderbird notification pop-up'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-900776837270241902</id><published>2011-07-09T09:02:00.003-04:00</published><updated>2011-07-09T09:02:52.800-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='book review'/><category scheme='http://www.blogger.com/atom/ns#' term='Academic'/><title type='text'>Mastering Your Ph.D. - Series Index</title><content type='html'>&lt;a href="http://sciencecareers.sciencemag.org/career_magazine/previous_issues/articles/2006_11_10/noDOI.4277528898545922912"&gt;Mastering your Ph.D. - Series Index on&lt;/a&gt; Sciencemag.org. &lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://sciencecareers.sciencemag.org/get-file.xqy?uri=/aaas/files/images/media/images/nextwave/icons_5/myphd_160x240_jpg/202406-1-eng-US/myphd_160x240_jpg.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://sciencecareers.sciencemag.org/get-file.xqy?uri=/aaas/files/images/media/images/nextwave/icons_5/myphd_160x240_jpg/202406-1-eng-US/myphd_160x240_jpg.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-900776837270241902?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/900776837270241902/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2011/07/mastering-your-phd-series-index.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/900776837270241902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/900776837270241902'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2011/07/mastering-your-phd-series-index.html' title='Mastering Your Ph.D. - Series Index'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-4990770516454612063</id><published>2011-07-09T08:33:00.001-04:00</published><updated>2011-07-09T08:33:22.356-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='book review'/><category scheme='http://www.blogger.com/atom/ns#' term='Academic'/><category scheme='http://www.blogger.com/atom/ns#' term='PhD'/><title type='text'>Book recommendation: A PhD Is Not Enough: A Guide To Survival In Science</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://ecx.images-amazon.com/images/I/41wTg2aIWCL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA300_SH20_OU01_.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://ecx.images-amazon.com/images/I/41wTg2aIWCL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA300_SH20_OU01_.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;I've recently read this small book, I devoured the 128 pages within two hours. Thought written in 1993, I think it is still highly accurate.&lt;br /&gt;&lt;br /&gt;Feibelman, a physicist,&amp;nbsp; describes several cases of unsuccessful scientific careers, despite hard work and intelligence. He points out the problems and gives advise how to avoid them.&lt;br /&gt;&lt;br /&gt;Every scientist should read his book early in grad school, refresh his memory when finishing grad school, and again when mentoring graduate students. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.amazon.com/PhD-Not-Enough-Survival-Science/dp/0201626632"&gt;A PhD is Not Enough on Amazon&lt;/a&gt;&lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-4990770516454612063?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/4990770516454612063/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2011/07/book-recommendation-phd-is-not-enough.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/4990770516454612063'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/4990770516454612063'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2011/07/book-recommendation-phd-is-not-enough.html' title='Book recommendation: A PhD Is Not Enough: A Guide To Survival In Science'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-4524413639779147105</id><published>2011-07-08T19:57:00.005-04:00</published><updated>2011-07-08T20:22:30.156-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='job application'/><category scheme='http://www.blogger.com/atom/ns#' term='research statement'/><category scheme='http://www.blogger.com/atom/ns#' term='Curriculum Vitae'/><category scheme='http://www.blogger.com/atom/ns#' term='Academic Job search'/><category scheme='http://www.blogger.com/atom/ns#' term='Academic'/><category scheme='http://www.blogger.com/atom/ns#' term='PhD'/><category scheme='http://www.blogger.com/atom/ns#' term='graduate school'/><category scheme='http://www.blogger.com/atom/ns#' term='CV'/><category scheme='http://www.blogger.com/atom/ns#' term='teaching statement'/><category scheme='http://www.blogger.com/atom/ns#' term='Mathematical Biology'/><title type='text'>Academic Job Search: Writing a good CV, research statement, and teaching statement</title><content type='html'>&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="font-size: small;"&gt;I won't give you boring details of how you should format your CV, there's enough resources out there that give you much better advise than I ever could, instead I will tell you what you can and &lt;b&gt;should do during graduate school, to generate the &lt;i&gt;content&lt;/i&gt; for your CV and statements. &lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="font-size: small;"&gt;Please keep in mind that I was specifically looking for &lt;b&gt;post doctoral research positions in mathematical biology&lt;/b&gt;. If you want to land a teaching or tenure position, some rules might be different. &lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;u&gt;Job Application Timeline&lt;/u&gt;&lt;/span&gt;&lt;/div&gt;&lt;ul style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;Academic Jobs beginning fall 2011 (June – September)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;Deadlines for &lt;/span&gt;&lt;span style="color: black;"&gt;postdocs&lt;/span&gt;&lt;span style="color: black;"&gt;: as early as November 2010&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;Asked for letters: September 2010&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;CV, Research Statement, Preprint/publications/thesis&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;Draft of Research Statement August/September 2010&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;CV: first version in 2008, career services, periodically updated&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;Jobs are advertised on &lt;/span&gt;&lt;span style="color: black;"&gt;&lt;a href="https://www.mathjobs.org/"&gt;https://www.mathjobs.org/&lt;/a&gt;&lt;/span&gt;&lt;span style="color: black;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;&lt;a href="http://notable.math.ucdavis.edu/wiki/Mathematics_Jobs_Wiki"&gt;http://notable.math.ucdavis.edu/wiki/Mathematics_Jobs_Wiki&lt;/a&gt;&lt;/span&gt;&lt;span style="color: black;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;Discussed everything with my advisor, proof-read by advisor, several friends proof-read my statements,&lt;/span&gt;&lt;span style="color: black;"&gt; department head, &lt;/span&gt;&lt;span style="color: black;"&gt;career services&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;Compared CV and statements to those of other mathematicians&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;/ul&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;u&gt;&lt;span style="color: black;"&gt;Application Process&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;/div&gt;&lt;ul style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;Through &lt;a href="http://draft.blogger.com/goog_1498876333"&gt;http://mathjobs.org&lt;/a&gt;&lt;/span&gt;&lt;span style="color: black;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;Cover letter &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;Name of position and school&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;find department head’s name&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;Possible collaborations/groups, i.e. Mathematical Biology, Symbolic Computation&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;Mention possible collaboration in research statement&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;Mention possible new curriculum/teaching methods/undergraduate research in teaching statement&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;1-3 hours per application&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;~30 applications&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;5-10 applications to specific research positions not in Academia: &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;Research Hospitals, pharmaceutical companies, Microsoft Research, Cancer Systems Biology Group&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;Application directly to senior researcher&lt;/span&gt;&lt;span style="color: black;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;br /&gt;&lt;ul style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;ul&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif; font-size: small;"&gt;&lt;u&gt;Create Content for your Research Statement &lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;ul&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;ul style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;Talk to your advisor (and other faculty) about your goals&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;Participate in conferences and workshops&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="color: black;"&gt;&lt;span style="font-size: small;"&gt;Explore local options&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;SIAM seminar&lt;/span&gt;&lt;span style="color: black;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;Department &lt;/span&gt;&lt;span style="color: black;"&gt;Math Seminars,&amp;nbsp; Physics seminar, Graduate student speaker series,&lt;/span&gt;&lt;span style="color: black;"&gt; Symposium&lt;/span&gt;&lt;span style="color: black;"&gt;, … (read&lt;/span&gt;&lt;span style="color: black;"&gt; all announcement emails&lt;/span&gt;&lt;span style="color: black;"&gt;!)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;Workshops (NSF math institutes)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;Poster presentations&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;Leadership role (SIAM, SGTA, student organization, organize a seminar…)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;Letters of recommendation&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;2-3 research letters, 1 teaching letter&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;Knows you and your work in detail&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;Well known&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;Your advisor can suggest letter writers!&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;br /&gt;&lt;ul style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;ul&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;u&gt;Create Content for your Teaching Statement&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif; font-size: small;"&gt;&lt;span style="color: black;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif; font-size: small;"&gt;&lt;span style="font-variant: small-caps; font-weight: normal; text-transform: none; vertical-align: baseline;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif; font-size: small;"&gt;&lt;span style="color: black;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;         &lt;/span&gt;&lt;/div&gt;&lt;ul style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;“Show, don’t tell”&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;strike&gt;&lt;span style="font-size: small;"&gt;&lt;s&gt;&lt;span style="color: black;"&gt;I’m the best teacher in the world.&lt;/span&gt;&lt;/s&gt;&lt;/span&gt;&lt;/strike&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;My section scored highest, best rating on evaluations, … &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;What have you accomplished that distinguishes you from other teachers?&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;Teaching large/higher-level course?&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;Anything that’s not standard curriculum (&lt;/span&gt;&lt;span style="color: black;"&gt;Mathematica&lt;/span&gt;&lt;span style="color: black;"&gt;)?&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;Review sessions/material for all sections?&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;Tutoring? Volunteering with high school events/girls’ math day/Kids’ Tech University?&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black; font-weight: bold;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black; font-weight: bold;"&gt;Do something special now, so you can write about it, when you apply&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;T&lt;span style="color: black;"&gt;ell&lt;/span&gt;&lt;span style="color: black;"&gt; GTA supervisor about &lt;/span&gt;&lt;span style="color: black;"&gt;your career goal,&lt;/span&gt;&lt;span style="color: black;"&gt; he/she &lt;/span&gt;&lt;span style="color: black;"&gt;might have “special tasks” for you&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;Special course to teach&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;Special leadership roles as senior TA&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;Be a good colleague&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;Be on time, be prepared&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;Participate in department events (Visitors’ day, peer mentoring, …)&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;Be friendly and helpful to your fellow colleagues (share notes, offer to substitute, …)&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;(especially in a small department) you are hired as a &lt;/span&gt;&lt;span style="color: black; font-weight: bold;"&gt;team member&lt;/span&gt;&lt;span style="color: black;"&gt;, not a 9-5 teacher&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;br /&gt;&lt;ul style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;ul&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;u&gt;My Advice&lt;/u&gt;&lt;/span&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;ul style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;Have a goal, know what’s necessary to accomplish it, work towards that goal&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;Take any help you can get, don’t be afraid to ask&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;Good Luck!&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div style="font-family: Times,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: black;"&gt;I hope this article makes you start thinking about your CV before you actually have to write one!&amp;nbsp;&lt;/span&gt;&lt;span style="color: black;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="O1" style="direction: ltr; font-family: Arial,Helvetica,sans-serif; margin-bottom: 0pt; margin-left: 0.7in; margin-top: 4.32pt; text-align: left; text-indent: -0.3in; unicode-bidi: embed;"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp;   &lt;span style="color: black;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;   &lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: #575f6d; font-variant: small-caps; font-weight: normal; text-transform: none; vertical-align: baseline;"&gt;  &lt;/span&gt;&lt;/span&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-4524413639779147105?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/4524413639779147105/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2011/07/writing-good-cv-research-statement-and.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/4524413639779147105'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/4524413639779147105'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2011/07/writing-good-cv-research-statement-and.html' title='Academic Job Search: Writing a good CV, research statement, and teaching statement'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-2384388525074270654</id><published>2011-07-08T11:31:00.000-04:00</published><updated>2011-07-08T11:31:13.883-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tableofcontents'/><category scheme='http://www.blogger.com/atom/ns#' term='printindex'/><category scheme='http://www.blogger.com/atom/ns#' term='table of contents'/><category scheme='http://www.blogger.com/atom/ns#' term='index'/><category scheme='http://www.blogger.com/atom/ns#' term='Latex'/><category scheme='http://www.blogger.com/atom/ns#' term='bibliography'/><category scheme='http://www.blogger.com/atom/ns#' term='bibtex'/><title type='text'>Latex: Table of Content problems with Bibliography and Index</title><content type='html'>When creating a table of content (TOC) , bibliography and index are not listed when created with \bibliography and \printindex. This is how you get them to appear in the TOC with the correct page numbers.&lt;br /&gt;&lt;br /&gt;\cleardoublepage&lt;br /&gt;\addcontentsline{toc}{chapter}{Bibliography}&lt;br /&gt;\bibliographystyle{plain}&lt;br /&gt;\bibliography{../all}&lt;br /&gt;&lt;br /&gt;\cleardoublepage&lt;br /&gt;\phantomsection&lt;br /&gt;\addcontentsline{toc}{chapter}{Index}&lt;br /&gt;\printindex&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-2384388525074270654?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/2384388525074270654/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2011/07/latex-table-of-content-problems-with.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/2384388525074270654'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/2384388525074270654'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2011/07/latex-table-of-content-problems-with.html' title='Latex: Table of Content problems with Bibliography and Index'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-1488136464024907947</id><published>2011-07-08T11:06:00.000-04:00</published><updated>2011-07-08T11:06:17.385-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='center'/><category scheme='http://www.blogger.com/atom/ns#' term='margin'/><category scheme='http://www.blogger.com/atom/ns#' term='centering'/><category scheme='http://www.blogger.com/atom/ns#' term='Latex'/><category scheme='http://www.blogger.com/atom/ns#' term='table'/><category scheme='http://www.blogger.com/atom/ns#' term='textwidth'/><title type='text'>Latex: Centering table larger than textwidth</title><content type='html'>Usually, you can center tables with \center. But when the table is longer than the \textwidth, it will be align with the left side margin. You can temporarily adjust the textwidth.&lt;br /&gt;&lt;br /&gt;% allows for temporary adjustment of side margins&lt;br /&gt;\usepackage{chngpage}&lt;br /&gt;&lt;br /&gt;\begin{table}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; \begin{adjustwidth}{-.5in}{-.5in}&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; \begin{center}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; \begin{tabular}{|c|}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; \hline&lt;br /&gt;And here comes a very long line. And here comes a very long line. And here comes a very long line.&amp;nbsp; \\&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; \hline&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; \end{tabular} &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; \caption{This Table is longer than the text width. And its caption is really long, too. This Table is longer than the text width. And its caption is really long, too. This Table is longer than the text width. And its caption is really long, too. This Table is longer than the text width. }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; \label{myTable}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; \end{center}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; \end{adjustwidth}&lt;br /&gt;\end{table}&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-1488136464024907947?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/1488136464024907947/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2011/07/latex-centering-table-larger-than.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/1488136464024907947'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/1488136464024907947'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2011/07/latex-centering-table-larger-than.html' title='Latex: Centering table larger than textwidth'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-224002916232521246</id><published>2011-06-10T21:59:00.001-04:00</published><updated>2011-06-10T21:59:52.168-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='git'/><category scheme='http://www.blogger.com/atom/ns#' term='user'/><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><category scheme='http://www.blogger.com/atom/ns#' term='passwd'/><title type='text'>Changing user's shell</title><content type='html'>sudo vi /etc/passwd&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-224002916232521246?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/224002916232521246/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2011/06/changing-users-shell.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/224002916232521246'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/224002916232521246'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2011/06/changing-users-shell.html' title='Changing user&apos;s shell'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-9154002987090934112</id><published>2011-06-08T11:00:00.001-04:00</published><updated>2011-06-08T11:02:15.427-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='highlighting'/><category scheme='http://www.blogger.com/atom/ns#' term='Latex'/><category scheme='http://www.blogger.com/atom/ns#' term='color'/><title type='text'>Highlighting paragraphs in Latex</title><content type='html'>When revising a document, I often want to highlight my changes, so my collaborators can easily see what I changed. &lt;br /&gt;&lt;br /&gt;&lt;pre class="brush: html"&gt;\underline&lt;br /&gt;&lt;/pre&gt;works for single words, but it puts everything in a horizontal box and long text isn't wrapped anymore. &lt;br /&gt;&lt;br /&gt;Instead, I use the package soul and \ul to underline. &lt;br /&gt;&lt;pre class="brush: html"&gt;\usepackage{soul}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Or you can highlight text using \hl. This will underline the text unless you use the color package, then it turns into typical marker-highlight. &lt;br /&gt;&lt;pre class="brush: html"&gt;\usepackage{color}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-9154002987090934112?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/9154002987090934112/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2011/06/highlighting-paragraphs-in-latex.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/9154002987090934112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/9154002987090934112'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2011/06/highlighting-paragraphs-in-latex.html' title='Highlighting paragraphs in Latex'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-6897512824457745726</id><published>2011-06-03T12:46:00.000-04:00</published><updated>2011-07-08T20:03:34.820-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='grant'/><category scheme='http://www.blogger.com/atom/ns#' term='Academic'/><category scheme='http://www.blogger.com/atom/ns#' term='scientific writing'/><category scheme='http://www.blogger.com/atom/ns#' term='proposal'/><title type='text'>More Proposal wiriting - more favorite words</title><content type='html'>coherent conceptual framework &lt;br /&gt;systematize information&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-6897512824457745726?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/6897512824457745726/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2011/06/more-proposal-wiriting-more-favorite.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/6897512824457745726'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/6897512824457745726'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2011/06/more-proposal-wiriting-more-favorite.html' title='More Proposal wiriting - more favorite words'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-2871275500903016299</id><published>2011-05-09T09:19:00.000-04:00</published><updated>2011-05-09T09:19:18.648-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mac os'/><category scheme='http://www.blogger.com/atom/ns#' term='default'/><category scheme='http://www.blogger.com/atom/ns#' term='default application'/><title type='text'>OS X: How to Change Default Application to Open File Type</title><content type='html'>&lt;a href="http://www.tech-recipes.com/rx/2573/os_x_how_to_change_default_application_to_open_file_type/"&gt;Wonderful post explaining how to set the default type for a file.&lt;/a&gt; Thank you David Kirk!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-2871275500903016299?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/2871275500903016299/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2011/05/os-x-how-to-change-default-application.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/2871275500903016299'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/2871275500903016299'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2011/05/os-x-how-to-change-default-application.html' title='OS X: How to Change Default Application to Open File Type'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-1410100599769095835</id><published>2011-03-01T16:17:00.001-05:00</published><updated>2011-03-01T16:17:03.918-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='old'/><category scheme='http://www.blogger.com/atom/ns#' term='revert'/><category scheme='http://www.blogger.com/atom/ns#' term='update'/><category scheme='http://www.blogger.com/atom/ns#' term='revision'/><category scheme='http://www.blogger.com/atom/ns#' term='svn'/><title type='text'>svn get an old file</title><content type='html'>To get the version form the release number 214 :&lt;br /&gt;svn update -r 214 file.sh&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-1410100599769095835?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/1410100599769095835/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2011/03/svn-get-old-file.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/1410100599769095835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/1410100599769095835'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2011/03/svn-get-old-file.html' title='svn get an old file'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-4346224359500791613</id><published>2011-02-04T09:52:00.002-05:00</published><updated>2011-07-08T20:03:34.782-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Academic'/><category scheme='http://www.blogger.com/atom/ns#' term='Mathematical Biology'/><title type='text'>Society for Mathematical Biology</title><content type='html'>&lt;a href="http://www.smb.org/"&gt;Society for Mathematical Biology&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-4346224359500791613?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/4346224359500791613/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2011/02/society-for-mathematical-biology.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/4346224359500791613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/4346224359500791613'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2011/02/society-for-mathematical-biology.html' title='Society for Mathematical Biology'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-7499949379593567522</id><published>2011-01-17T11:09:00.001-05:00</published><updated>2011-07-08T20:03:34.833-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='grant'/><category scheme='http://www.blogger.com/atom/ns#' term='Academic'/><category scheme='http://www.blogger.com/atom/ns#' term='scientific writing'/><category scheme='http://www.blogger.com/atom/ns#' term='writing'/><category scheme='http://www.blogger.com/atom/ns#' term='proposal'/><title type='text'>Proposal wiriting - more favorite words</title><content type='html'>seek to pioneer new approaches&lt;br /&gt;&lt;br /&gt;Preliminary studies hint&lt;br /&gt;&lt;br /&gt;novel algorithms&lt;br /&gt;&lt;br /&gt;predictive models&lt;br /&gt;&lt;br /&gt;software tools for integrative analysis and visualization of genetic interaction networks to facilitate discovery&lt;br /&gt;&lt;br /&gt;developing new computational biology &lt;br /&gt;&lt;br /&gt;graduate level&lt;br /&gt;&lt;br /&gt;highly collaborative, interdisciplinary projects&lt;br /&gt;&lt;br /&gt;Analysis &amp; Interpretation&lt;br /&gt;&lt;br /&gt;Using a systems biology approach&lt;br /&gt;&lt;br /&gt;The methods will be tested and validated in a number of real biological problems&lt;br /&gt;&lt;br /&gt;enticing them to pursue careers in science&lt;br /&gt;&lt;br /&gt;web-based tools&lt;br /&gt;&lt;br /&gt;&lt;i&gt;in silico&lt;/i&gt; knockouts&lt;br /&gt;&lt;br /&gt;drug intervention can be seen as control of cellular network activity&lt;br /&gt;&lt;br /&gt;verification methods to check whether a model is consistent with the laboratory experimental observations on which it is based&lt;br /&gt;&lt;br /&gt;If the model does not conform to the data, we suggest a revised model and the new hypotheses are tested in-silico.&lt;br /&gt;&lt;br /&gt;The hypotheses formulated during in-silico testing suggest new avenues to explore experimentally.&lt;br /&gt;&lt;br /&gt;emerging field of Systems Biology&lt;br /&gt;&lt;br /&gt;iterative improvement&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-7499949379593567522?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/7499949379593567522/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/12/proposal-wiriting-more-favorite-words.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/7499949379593567522'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/7499949379593567522'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/12/proposal-wiriting-more-favorite-words.html' title='Proposal wiriting - more favorite words'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-9119494311859952554</id><published>2010-12-27T20:39:00.004-05:00</published><updated>2010-12-27T20:49:12.702-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='editing'/><category scheme='http://www.blogger.com/atom/ns#' term='sed'/><title type='text'>sed for several different substitutions in one file</title><content type='html'>&lt;pre&gt;sed -e 's/a/A/' -e 's/b/B/' &amp;lt;old &amp;gt;new&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-9119494311859952554?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/9119494311859952554/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/12/sed-for-several-different-substitutions.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/9119494311859952554'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/9119494311859952554'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/12/sed-for-several-different-substitutions.html' title='sed for several different substitutions in one file'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-2521614226545055865</id><published>2010-12-26T21:37:00.001-05:00</published><updated>2010-12-26T21:37:11.558-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='squash'/><category scheme='http://www.blogger.com/atom/ns#' term='merge'/><category scheme='http://www.blogger.com/atom/ns#' term='git'/><category scheme='http://www.blogger.com/atom/ns#' term='experimental'/><title type='text'>git merge --squash</title><content type='html'>Start out on branch master, then work on an experimental branch&lt;br /&gt;&lt;br /&gt;$ git checkout -b experimental&lt;br /&gt;&lt;br /&gt;Do a series of commits etc. If you decide that the experimental features should now be part of master, do the following: &lt;br /&gt;&lt;br /&gt;$git checkout master&lt;br /&gt;$git merge --squash experimental&lt;br /&gt;$git commit -a &lt;br /&gt;&lt;br /&gt;The commit message automatically has a list of all commits in experimental.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-2521614226545055865?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/2521614226545055865/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/12/git-merge-squach.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/2521614226545055865'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/2521614226545055865'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/12/git-merge-squach.html' title='git merge --squash'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-4175063544166207846</id><published>2010-12-26T18:06:00.000-05:00</published><updated>2010-12-26T18:06:07.034-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='syntax highlighting'/><category scheme='http://www.blogger.com/atom/ns#' term='carter cole'/><title type='text'>Syntax Highlighting on Blogger</title><content type='html'>If you change your template, don't forget to include the script tags for syntax highlighting! Follow these simple instructions from &lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.cartercole.com/2009/10/awesome-syntax-highlighting-made-easy.html"&gt;Carter Cole&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-4175063544166207846?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/4175063544166207846/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/12/syntax-highlighting-on-blogger.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/4175063544166207846'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/4175063544166207846'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/12/syntax-highlighting-on-blogger.html' title='Syntax Highlighting on Blogger'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-8147316788666532803</id><published>2010-12-26T17:38:00.013-05:00</published><updated>2010-12-26T18:08:18.054-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='file'/><category scheme='http://www.blogger.com/atom/ns#' term='jquery'/><category scheme='http://www.blogger.com/atom/ns#' term='form'/><category scheme='http://www.blogger.com/atom/ns#' term='upload'/><title type='text'>Uploading a file with JQuery</title><content type='html'>You can easily submit data in an html form via jQuery's $.post. But you need to do a little more to upload a file. I suggest the &lt;a href="http://jquery.malsup.com/form/"&gt;jQuery Form Plugin&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Here is the HTML form:&lt;br /&gt;&lt;pre class="brush: html"&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&amp;lt;head&amp;gt;&lt;br /&gt;&amp;lt;title&amp;gt;Carter Tomorrow Fund Donations&amp;lt;/title&amp;gt;&lt;br /&gt;&lt;script type="text/javascript" src="jquery-1.4.4.min.js"&gt;&lt;br /&gt;&lt;/script&gt;&lt;br /&gt;&lt;script type="text/javascript" src="jquery.form.js"&gt;&lt;br /&gt;&lt;/script&gt;&lt;br /&gt;&lt;script type="text/javascript" src="myForm.js"&gt;&lt;br /&gt;&lt;/script&gt; &lt;br /&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt;&lt;form action="/test.cgi" method="post" enctype="multipart/form-data"&gt;&lt;br /&gt;&lt;input type="file" name="myFile"&gt;&lt;br /&gt;&lt;div id="results"&gt;&lt;/div&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;This is the Javascript file myFrom.js:&lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush: js"&gt;&lt;![CDATA[$(document).ready(function(){	        $('form').ajaxForm({        beforeSubmit: function() {            $('#results').html('Submitting...');        },        success: function(data) {            var $out = $('#results');            $out.html('Your results:');            $out.append('&lt;div&gt;&lt;pre&gt;'+ data +'&lt;/pre&gt;&lt;/div&gt;');        }    });})    ]]&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;And here the cgi script "test.cgi" in Ruby&lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush: ruby"&gt;&lt;![CDATA[#!/usr/bin/rubyrequire 'cgi'cgi = CGI.newputs cgi.headerputs "Here is the file you uploaded"value = cgi['myFile']   # &lt;== value string for 'field_name'puts value.read                  # &lt;== body of valueputs value.local_path            # &lt;== path to local file of valueputs value.original_filename     # &lt;== original filename of valueputs value.content_type]]&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Make sure that your cgi script has the right permission, 755. Of course you would first manipulate the data instead of just mirroring it. &lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-8147316788666532803?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/8147316788666532803/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/12/uploading-file-with-jquery.html#comment-form' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/8147316788666532803'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/8147316788666532803'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/12/uploading-file-with-jquery.html' title='Uploading a file with JQuery'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-2923351289945345603</id><published>2010-12-24T11:16:00.006-05:00</published><updated>2010-12-24T11:18:35.744-05:00</updated><title type='text'>Happy Holidays!</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_5tv6kVzVuJE/TRTH2ONAxkI/AAAAAAAAAEE/zLvu0XgL2bA/s1600/incident.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="142" width="320" src="http://3.bp.blogspot.com/_5tv6kVzVuJE/TRTH2ONAxkI/AAAAAAAAAEE/zLvu0XgL2bA/s320/incident.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-2923351289945345603?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/2923351289945345603/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/12/happy-holidays.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/2923351289945345603'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/2923351289945345603'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/12/happy-holidays.html' title='Happy Holidays!'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_5tv6kVzVuJE/TRTH2ONAxkI/AAAAAAAAAEE/zLvu0XgL2bA/s72-c/incident.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-801367678578505181</id><published>2010-12-22T13:05:00.000-05:00</published><updated>2011-07-08T20:03:34.841-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='grant'/><category scheme='http://www.blogger.com/atom/ns#' term='NSF'/><category scheme='http://www.blogger.com/atom/ns#' term='NIH'/><category scheme='http://www.blogger.com/atom/ns#' term='Academic'/><category scheme='http://www.blogger.com/atom/ns#' term='Bioinformatics'/><title type='text'>Math-Bio-Programming Grant Opportunities</title><content type='html'>These NSF/NIH pages have a lot of information on them. Here are a few grant opportunities that might be interesting: &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.nsf.gov/funding/pgm_summ.jsp?pims_id=5444&amp;org=NSF&amp;from_org=NSF"&gt;NSF: Advances in Biological Informatics  (ABI) &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://grants.nih.gov/grants/guide/pa-files/PAR-09-218.html"&gt;NIH: Innovations in Biomedical Computational Science and Technology &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-801367678578505181?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/801367678578505181/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/12/math-bio-programming-grant.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/801367678578505181'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/801367678578505181'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/12/math-bio-programming-grant.html' title='Math-Bio-Programming Grant Opportunities'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-1152279536367888775</id><published>2010-12-12T17:51:00.001-05:00</published><updated>2010-12-12T18:00:11.324-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='women'/><category scheme='http://www.blogger.com/atom/ns#' term='girl'/><category scheme='http://www.blogger.com/atom/ns#' term='woman'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>How to get more women in programming</title><content type='html'>Not exactly scientific, but some interesting points: &lt;a href="http://sarabrumfield.blogspot.com/2009/08/how-to-get-more-women-in-programming.html"&gt;Sara Brumfield&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://soft.belhard.com/wordpress/?p=38"&gt;Some famous women in programming&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Should I read this? &lt;a href="http://www.amazon.com/Unlocking-Clubhouse-Computing-Jane-Margolis/dp/0262632691/ref=sr_1_1?ie=UTF8&amp;qid=1292194648&amp;sr=8-1"&gt;Unlocking the Clubhouse - Women in Computing&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_5tv6kVzVuJE/TQVT9ehjO6I/AAAAAAAAADw/OpjDB3MCnnA/s1600/41ZSZXTXS1L._BO2%252C204%252C203%252C200_PIsitb-sticker-arrow-click%252CTopRight%252C35%252C-76_AA300_SH20_OU01_.jpg" imageanchor="1" style="clear:right; float:right; margin-left:1em; margin-bottom:1em"&gt;&lt;img border="0" height="300" width="300" src="http://4.bp.blogspot.com/_5tv6kVzVuJE/TQVT9ehjO6I/AAAAAAAAADw/OpjDB3MCnnA/s400/41ZSZXTXS1L._BO2%252C204%252C203%252C200_PIsitb-sticker-arrow-click%252CTopRight%252C35%252C-76_AA300_SH20_OU01_.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-1152279536367888775?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/1152279536367888775/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/12/how-to-get-more-women-in-programming.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/1152279536367888775'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/1152279536367888775'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/12/how-to-get-more-women-in-programming.html' title='How to get more women in programming'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_5tv6kVzVuJE/TQVT9ehjO6I/AAAAAAAAADw/OpjDB3MCnnA/s72-c/41ZSZXTXS1L._BO2%252C204%252C203%252C200_PIsitb-sticker-arrow-click%252CTopRight%252C35%252C-76_AA300_SH20_OU01_.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-1664201962280123991</id><published>2010-12-08T11:47:00.002-05:00</published><updated>2010-12-08T11:47:51.254-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='1.8'/><category scheme='http://www.blogger.com/atom/ns#' term='version'/><category scheme='http://www.blogger.com/atom/ns#' term='1.9'/><category scheme='http://www.blogger.com/atom/ns#' term='rvm'/><category scheme='http://www.blogger.com/atom/ns#' term='ruby version manager'/><title type='text'>Ruby Version Manager</title><content type='html'>&lt;a href="http://www.rubyinside.com/rvm-ruby-version-manager-2347.html"&gt;http://www.rubyinside.com/rvm-ruby-version-manager-2347.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Since I keep forgetting, it's rvm!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-1664201962280123991?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/1664201962280123991/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/12/ruby-version-manager.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/1664201962280123991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/1664201962280123991'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/12/ruby-version-manager.html' title='Ruby Version Manager'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-8415735613249036387</id><published>2010-11-29T18:28:00.000-05:00</published><updated>2011-07-08T20:03:34.851-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Academic'/><title type='text'>What I just learned not to do:</title><content type='html'>to boldly split infinitives that no man had split before.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-8415735613249036387?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/8415735613249036387/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/11/what-i-just-learned-not-to-do.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/8415735613249036387'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/8415735613249036387'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/11/what-i-just-learned-not-to-do.html' title='What I just learned not to do:'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-4227686714519462801</id><published>2010-11-28T12:05:00.000-05:00</published><updated>2010-11-28T12:05:29.883-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Statespace'/><category scheme='http://www.blogger.com/atom/ns#' term='DDLab'/><title type='text'>Pretty flowers in the state space.</title><content type='html'>Here is a simple explanation of transients, attractors, and basins: &lt;a href="http://www.informatics.sussex.ac.uk/users/andywu/boa_idea.html"&gt;State-space and basins of attraction&lt;/a&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.informatics.sussex.ac.uk/users/andywu/boa1.gif" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="685" width="171" src="http://www.informatics.sussex.ac.uk/users/andywu/boa1.gif" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Don't they just look like pretty flowers?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-4227686714519462801?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/4227686714519462801/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/11/pretty-flowers-in-state-space.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/4227686714519462801'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/4227686714519462801'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/11/pretty-flowers-in-state-space.html' title='Pretty flowers in the state space.'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-5191039830108553576</id><published>2010-11-26T20:36:00.001-05:00</published><updated>2011-07-08T20:03:34.810-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Academic'/><category scheme='http://www.blogger.com/atom/ns#' term='publication'/><category scheme='http://www.blogger.com/atom/ns#' term='writing'/><title type='text'>My favorite words ...</title><content type='html'>... here's my list of words that I'm always struggling to come up with when writing a technical paper: &lt;br /&gt;&lt;br /&gt;natural&lt;br /&gt;emphasis&lt;br /&gt;arising in&lt;br /&gt;vital, crucial&lt;br /&gt;innovative&lt;br /&gt;foster&lt;br /&gt;driving&lt;br /&gt;instantaneous&lt;br /&gt;challenge&lt;br /&gt;all aspects of&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-5191039830108553576?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/5191039830108553576/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/11/my-favorite-words.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/5191039830108553576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/5191039830108553576'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/11/my-favorite-words.html' title='My favorite words ...'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-8039211176429970084</id><published>2010-09-23T14:44:00.002-04:00</published><updated>2010-09-23T19:59:09.333-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='git'/><category scheme='http://www.blogger.com/atom/ns#' term='git-status'/><title type='text'>git status</title><content type='html'>git status --untracked-files=no&lt;br /&gt;&lt;br /&gt;or &lt;br /&gt;&lt;br /&gt;git config alias.stat "status --untracked-files=no"&lt;br /&gt;&lt;br /&gt;and then &lt;br /&gt;&lt;br /&gt;git stat&lt;br /&gt;&lt;br /&gt;I'm trying to trace a bug in some big subversion repository, and decided to put the relevant files under git control. Let's see how that works.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-8039211176429970084?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/8039211176429970084/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/09/git-status.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/8039211176429970084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/8039211176429970084'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/09/git-status.html' title='git status'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-780645564032608370</id><published>2010-09-21T19:20:00.000-04:00</published><updated>2010-09-21T19:20:05.912-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Agent based model'/><category scheme='http://www.blogger.com/atom/ns#' term='NIH'/><category scheme='http://www.blogger.com/atom/ns#' term='ABM'/><title type='text'>Agent Based Models FTW</title><content type='html'>&lt;a href="http://www.nigms.nih.gov/News/Results/h1n1_092110.htm"&gt;NIH Study Models H1N1 Flu Spread&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-780645564032608370?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/780645564032608370/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/09/agent-based-models-ftw.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/780645564032608370'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/780645564032608370'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/09/agent-based-models-ftw.html' title='Agent Based Models FTW'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-1434214207372618770</id><published>2010-08-23T09:54:00.000-04:00</published><updated>2010-08-23T09:54:28.380-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='ATT'/><category scheme='http://www.blogger.com/atom/ns#' term='Apple'/><title type='text'>AT&amp;T disabling unauthorized iPhones</title><content type='html'>Dear iPhone,&lt;br /&gt;I love you, but &lt;a href="http://slatest.slate.com/id/2264756/entry/4/"&gt;Apple Applies For a Patent To Control Unauthorized Use of iPhones&lt;/a&gt;, really?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-1434214207372618770?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/1434214207372618770/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/08/at-disabling-unauthorized-iphones.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/1434214207372618770'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/1434214207372618770'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/08/at-disabling-unauthorized-iphones.html' title='AT&amp;T disabling unauthorized iPhones'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-6410896956088811663</id><published>2010-08-22T21:58:00.000-04:00</published><updated>2010-08-22T21:58:47.836-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='xUnit'/><category scheme='http://www.blogger.com/atom/ns#' term='tdd'/><category scheme='http://www.blogger.com/atom/ns#' term='testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Python'/><title type='text'>TDD</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_5tv6kVzVuJE/THHVpqpVRHI/AAAAAAAAADk/F5rimC4Dgrc/s1600/513PZWJDH7L._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA300_SH20_OU01_.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_5tv6kVzVuJE/THHVpqpVRHI/AAAAAAAAADk/F5rimC4Dgrc/s1600/513PZWJDH7L._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA300_SH20_OU01_.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href="http://www.amazon.com/Test-Driven-Development-Kent-Beck/dp/0321146530"&gt;This&lt;/a&gt; is a really good book on test driven development. Probably not for somebody who has never tested, but if you have a little testing experience, you'll find it very useful!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-6410896956088811663?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/6410896956088811663/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/08/tdd.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/6410896956088811663'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/6410896956088811663'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/08/tdd.html' title='TDD'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_5tv6kVzVuJE/THHVpqpVRHI/AAAAAAAAADk/F5rimC4Dgrc/s72-c/513PZWJDH7L._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA300_SH20_OU01_.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-4098739437584787493</id><published>2010-08-18T21:17:00.002-04:00</published><updated>2010-08-18T21:17:52.129-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='require'/><category scheme='http://www.blogger.com/atom/ns#' term='gem'/><title type='text'>`require': no such file to load</title><content type='html'>I keep forgetting this:&amp;nbsp; &lt;br /&gt;require 'rubygems'&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-4098739437584787493?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/4098739437584787493/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/08/require-no-such-file-to-load.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/4098739437584787493'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/4098739437584787493'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/08/require-no-such-file-to-load.html' title='`require&apos;: no such file to load'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-5365687198039994212</id><published>2010-08-09T01:15:00.001-04:00</published><updated>2010-08-09T01:15:18.040-04:00</updated><title type='text'>Rails is painful :(</title><content type='html'>&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-5365687198039994212?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/5365687198039994212/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/08/rails-is-painful.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/5365687198039994212'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/5365687198039994212'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/08/rails-is-painful.html' title='Rails is painful :('/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-8785176761475627603</id><published>2010-07-28T23:27:00.000-04:00</published><updated>2010-07-28T23:27:35.780-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mathjax'/><category scheme='http://www.blogger.com/atom/ns#' term='Latex'/><category scheme='http://www.blogger.com/atom/ns#' term='html'/><title type='text'>LaTeX in HTML</title><content type='html'>&lt;span style="font-size: large;"&gt;&lt;a href="http://www.mathjax.org/"&gt;MathJax&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;"MathJaxTM is an open source, Ajax-based math display solution designed with a goal of consolidating advances in many web technologies in a single definitive math-on-the-web platform supporting all major browsers."&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-8785176761475627603?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/8785176761475627603/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/07/latex-in-html.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/8785176761475627603'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/8785176761475627603'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/07/latex-in-html.html' title='LaTeX in HTML'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-5352883298216193813</id><published>2010-07-22T11:57:00.000-04:00</published><updated>2010-07-22T11:57:16.730-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cpu'/><category scheme='http://www.blogger.com/atom/ns#' term='ulimit'/><category scheme='http://www.blogger.com/atom/ns#' term='memory'/><category scheme='http://www.blogger.com/atom/ns#' term='bashrc'/><title type='text'>change ulimit permanently</title><content type='html'>When a user changes the limit of system-wide resources with &lt;br /&gt;ulimit -St 36000&lt;br /&gt;this is only valid, for as long, as he is logged in. To set a value permanently, he can edit his .bashrc&lt;br /&gt;&lt;br /&gt;ulimit -St 36000&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-5352883298216193813?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/5352883298216193813/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/07/change-ulimit-permanently.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/5352883298216193813'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/5352883298216193813'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/07/change-ulimit-permanently.html' title='change ulimit permanently'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-1962588020869878398</id><published>2010-07-22T10:02:00.000-04:00</published><updated>2010-07-22T10:02:31.860-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='tmpfile'/><category scheme='http://www.blogger.com/atom/ns#' term='tempfile'/><category scheme='http://www.blogger.com/atom/ns#' term='temporary'/><category scheme='http://www.blogger.com/atom/ns#' term='testing'/><title type='text'>temporary files for testing</title><content type='html'>&lt;script type="syntaxhighlighter" class="brush: ruby"&gt;&lt;![CDATA[  def get_tmp_filename    f = Tempfile.new("gif")    tmpfilename = f.path    f.close!    tmpfilename  end]]&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-1962588020869878398?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/1962588020869878398/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/07/temporary-files-for-testing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/1962588020869878398'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/1962588020869878398'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/07/temporary-files-for-testing.html' title='temporary files for testing'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-1830423222713391263</id><published>2010-07-20T15:00:00.000-04:00</published><updated>2010-07-20T15:00:54.790-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cpu'/><category scheme='http://www.blogger.com/atom/ns#' term='ulimit'/><category scheme='http://www.blogger.com/atom/ns#' term='memory'/><title type='text'>How much cpu time in ulimits?</title><content type='html'>You can set the cpu time using ulimit, but to what? &lt;br /&gt;On our 4 quad-core machine, we have set the soft limit to 80 minutes (4800 seconds) but allow the user to increase it to up to two days. On our company wide file server it is set to 20 minutes (1200 seconds). &lt;br /&gt;&lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush: html"&gt;&lt;![CDATA[ulimit -a core file size          (blocks, -c) 0data seg size           (kbytes, -d) unlimitedscheduling priority             (-e) 0file size               (blocks, -f) unlimitedpending signals                 (-i) 257781max locked memory       (kbytes, -l) 64max memory size         (kbytes, -m) 28052972open files                      (-n) 1024pipe size            (512 bytes, -p) 8POSIX message queues     (bytes, -q) 819200real-time priority              (-r) 0stack size              (kbytes, -s) 8192cpu time               (seconds, -t) 4800max user processes              (-u) 50virtual memory          (kbytes, -v) 29758240file locks                      (-x) unlimited]]&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-1830423222713391263?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/1830423222713391263/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/07/how-much-cpu-time-in-ulimits.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/1830423222713391263'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/1830423222713391263'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/07/how-much-cpu-time-in-ulimits.html' title='How much cpu time in ulimits?'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-2025526690029225075</id><published>2010-07-20T14:57:00.001-04:00</published><updated>2010-07-20T14:58:10.912-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cpuinfo'/><category scheme='http://www.blogger.com/atom/ns#' term='cpu'/><category scheme='http://www.blogger.com/atom/ns#' term='ulimit'/><category scheme='http://www.blogger.com/atom/ns#' term='memory'/><title type='text'>ulimit - high memory utilization</title><content type='html'>If you have too many high memory processes running, your machine probably won't like it. You can set the maximum CPU time per user in &lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush: html"&gt;&lt;![CDATA[/etc/security/limits.conf]]&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush: html"&gt;&lt;![CDATA[# cpu time in minutes# soft limit can be increased by users to hard limit (2 days)*               soft    cpu             80*               hard    cpu             2880]]&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;This gives every user 80 minutes of cpu time. You can check with: &lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush: html"&gt;&lt;![CDATA[ulimit -a ]]&gt;&lt;/script&gt;&lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush: html"&gt;&lt;![CDATA[core file size          (blocks, -c) 0data seg size           (kbytes, -d) unlimitedscheduling priority             (-e) 0file size               (blocks, -f) unlimitedpending signals                 (-i) 257781max locked memory       (kbytes, -l) 64max memory size         (kbytes, -m) 28052972open files                      (-n) 1024pipe size            (512 bytes, -p) 8POSIX message queues     (bytes, -q) 819200real-time priority              (-r) 0stack size              (kbytes, -s) 8192cpu time               (seconds, -t) 4800max user processes              (-u) 50virtual memory          (kbytes, -v) 29758240file locks                      (-x) unlimited]]&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;If a user needs more cpu (and is aware of that), he can increase it to up to two days but not more than that. &lt;br /&gt;&lt;br /&gt;Be careful, ulimit specifies cpu time in seconds, limits.conf in minutes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-2025526690029225075?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/2025526690029225075/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/07/ulimit-high-memory-utilization.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/2025526690029225075'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/2025526690029225075'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/07/ulimit-high-memory-utilization.html' title='ulimit - high memory utilization'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-1146537221844149371</id><published>2010-07-20T13:15:00.001-04:00</published><updated>2010-07-20T13:16:26.048-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Latex'/><category scheme='http://www.blogger.com/atom/ns#' term='sty'/><title type='text'>Latex: .sty files</title><content type='html'>TeX will locate any file in ~/Library/texmf/tex or in a subfolder of this folder; LaTeX will locate any file in ~/Library/texmf/tex/latex or a subfolder of this folder.&lt;br /&gt;&lt;br /&gt;For TeXshop on a Mac, .sty files are found in  &lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush: html"&gt;&lt;![CDATA[~/Libary/texmf/tex ]]&gt;&lt;/script&gt;&lt;br /&gt;and all its subfolders. &lt;br /&gt;After placing a new file there, run &lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush: html"&gt;&lt;![CDATA[sudo texhash]]&gt;&lt;/script&gt;&lt;br /&gt;to update the entries.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-1146537221844149371?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/1146537221844149371/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/07/latex-sty-files.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/1146537221844149371'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/1146537221844149371'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/07/latex-sty-files.html' title='Latex: .sty files'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-4265957287102639415</id><published>2010-07-07T19:20:00.001-04:00</published><updated>2010-07-07T19:20:55.047-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='git'/><title type='text'>git checkout -b drunk</title><content type='html'>This should be safe.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-4265957287102639415?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/4265957287102639415/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/07/git-checkout-b-drunk.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/4265957287102639415'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/4265957287102639415'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/07/git-checkout-b-drunk.html' title='git checkout -b drunk'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-8295728691205925519</id><published>2010-07-05T15:29:00.001-04:00</published><updated>2010-07-20T15:04:51.883-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cpuinfo'/><category scheme='http://www.blogger.com/atom/ns#' term='cpu'/><category scheme='http://www.blogger.com/atom/ns#' term='mac os'/><category scheme='http://www.blogger.com/atom/ns#' term='darwin'/><title type='text'>no /proc/cpuinfo on my MAC OS</title><content type='html'>Oh no :( &lt;br /&gt;&lt;br /&gt;system_profiler SPHardwareDataType|grep "Processor Speed"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-8295728691205925519?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/8295728691205925519/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/07/no-proccpuinfo-on-my-mac-os.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/8295728691205925519'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/8295728691205925519'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/07/no-proccpuinfo-on-my-mac-os.html' title='no /proc/cpuinfo on my MAC OS'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-175389164196764473</id><published>2010-07-01T12:57:00.001-04:00</published><updated>2010-07-01T12:57:17.184-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='git'/><category scheme='http://www.blogger.com/atom/ns#' term='branch'/><category scheme='http://www.blogger.com/atom/ns#' term='goal'/><title type='text'>Git branches</title><content type='html'>Goal for the next 7 days: Use more branches.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-175389164196764473?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/175389164196764473/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/07/git-branches.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/175389164196764473'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/175389164196764473'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/07/git-branches.html' title='Git branches'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-185470461811648597</id><published>2010-06-30T10:26:00.000-04:00</published><updated>2010-06-30T10:26:28.167-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ring'/><category scheme='http://www.blogger.com/atom/ns#' term='Macaulay2'/><category scheme='http://www.blogger.com/atom/ns#' term='M2'/><category scheme='http://www.blogger.com/atom/ns#' term='polynomials'/><title type='text'>M2: keeping track of your ring</title><content type='html'>When using a quotient ring, make it a global variable, otherwise you'll end up in the base ring. When you work with a list of polynomials, best store them as a 1xn matrix, this way, they're all in the same ring: &lt;br /&gt;&lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush: html"&gt;&lt;![CDATA[QR = ZZ/2[x,y]/(x^2+x, y^2+y) -- instead of L = {x+y, 1, x} useL = matrix {{x+y, 1,x}}o2 = | x+y 1 x |              1        3o2 : Matrix QR  &lt;--- QR-- or use the ring explicitlyL = matrix(QR, {{x+y, 1,x}})-- this is useful, if none of the polynomials use a variableL = matrix(QR, {{1, 1, 0}} )o4 = | 1 1 0 |              1        3o4 : Matrix QR  &lt;--- QR L_(0,0)o5 = 1o5 : QR-- which otherwise would be integers in ZZLL = {1,1,0}o6 = {1, 1, 0}o6 : ListLL_0o7 = 1]]&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-185470461811648597?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/185470461811648597/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/06/m2-keeping-track-of-your-ring.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/185470461811648597'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/185470461811648597'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/06/m2-keeping-track-of-your-ring.html' title='M2: keeping track of your ring'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-2179193373443110360</id><published>2010-06-30T10:20:00.002-04:00</published><updated>2010-06-30T10:20:31.431-04:00</updated><title type='text'>git submodule</title><content type='html'>yea, submodules rock!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-2179193373443110360?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/2179193373443110360/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/06/git-submodule.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/2179193373443110360'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/2179193373443110360'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/06/git-submodule.html' title='git submodule'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-3863551748125578187</id><published>2010-06-25T18:18:00.000-04:00</published><updated>2010-06-25T18:18:30.540-04:00</updated><title type='text'>Rings in M2 with "my variables"</title><content type='html'>M2 can easily create a ring with many variables&lt;br /&gt;&lt;br /&gt;R = ZZ[vars(0..10)]&lt;br /&gt;&lt;br /&gt;But I need my variables to be called x1, ..., x10 (in particular, not x_i) &lt;br /&gt;&lt;br /&gt; l = apply(10, i-&gt; value concatenate("x",toString i))&lt;br /&gt;&lt;br /&gt;I make strings "xi" and applying value turns the strings into symbols, the correct input for a ring: &lt;br /&gt;&lt;br /&gt;R = ZZ[l]&lt;br /&gt;gens R&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-3863551748125578187?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/3863551748125578187/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/06/rings-in-m2-with-my-variables.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/3863551748125578187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/3863551748125578187'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/06/rings-in-m2-with-my-variables.html' title='Rings in M2 with &quot;my variables&quot;'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-5698333869620645952</id><published>2010-06-25T18:15:00.000-04:00</published><updated>2010-06-25T18:15:35.687-04:00</updated><title type='text'>What I learned today</title><content type='html'>Blueskying&lt;br /&gt;&lt;br /&gt;No technical terms on user stories, but write the stories out with your "costumer" on cute flash cards.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-5698333869620645952?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/5698333869620645952/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/06/what-i-learned-today.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/5698333869620645952'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/5698333869620645952'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/06/what-i-learned-today.html' title='What I learned today'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-3601943220355023808</id><published>2010-05-20T17:49:00.001-04:00</published><updated>2010-05-20T17:51:59.579-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='craig venter'/><category scheme='http://www.blogger.com/atom/ns#' term='genome'/><category scheme='http://www.blogger.com/atom/ns#' term='science'/><title type='text'>Creation of a Bacterial Cell Controlled by a Chemically Synthesized Genome</title><content type='html'>&lt;a href="http://www.sciencemag.org/cgi/content/abstract/science.1190719"&gt;Science Magazin&lt;/a&gt;&lt;br /&gt;&lt;a href="http://slatest.slate.com/id/2254535"&gt;&lt;br /&gt;Slatest Latest&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.zeit.de/wissen/2010-05/Bakterium-kuenstliches-Leben"&gt;&lt;br /&gt;Die Zeit&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;Colbert&lt;/b&gt;: What makes you think you can do a better job than God? &lt;br /&gt;&lt;b&gt;Venter&lt;/b&gt;: We had computers.&lt;br /&gt;&lt;br /&gt;Craig Venter on the Colbert Report&lt;br /&gt;&lt;a href="http://www.colbertnation.com/the-colbert-report-videos/82848/february-27-2007/craig-venter"&gt;2-27-2007&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.colbertnation.com/the-colbert-report-videos/127603/october-30-2007/j--craig-venter"&gt;10-30-2007&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-3601943220355023808?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/3601943220355023808/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/05/creation-of-bacterial-cell-controlled.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/3601943220355023808'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/3601943220355023808'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/05/creation-of-bacterial-cell-controlled.html' title='Creation of a Bacterial Cell Controlled by a Chemically Synthesized Genome'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-1377897547362849146</id><published>2010-05-16T11:45:00.001-04:00</published><updated>2010-05-16T11:45:37.458-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='undefined control sequence'/><category scheme='http://www.blogger.com/atom/ns#' term='Latex'/><category scheme='http://www.blogger.com/atom/ns#' term='listctr'/><category scheme='http://www.blogger.com/atom/ns#' term='bibtex'/><title type='text'>\@listctr undefined control sequence</title><content type='html'>When including special citation packages, but using &lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush: html"&gt;&lt;![CDATA[\bibliographystyle{plain}]]&gt;&lt;/script&gt;&lt;br /&gt;latex will complain and not compile the document&lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush: html"&gt;&lt;![CDATA[\@listctr undefined control sequence]]&gt;&lt;/script&gt;&lt;br /&gt;Just make sure you comment out the special package&lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush: html"&gt;&lt;![CDATA[%\usepackage{authordate1-4}]]&gt;&lt;/script&gt;&lt;br /&gt;trash the aux files, and you're good to go!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-1377897547362849146?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/1377897547362849146/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/05/listctr-undefined-control-sequence.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/1377897547362849146'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/1377897547362849146'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/05/listctr-undefined-control-sequence.html' title='\@listctr undefined control sequence'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-7879953108376935538</id><published>2010-05-11T18:25:00.000-04:00</published><updated>2010-05-11T18:25:23.812-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='git'/><category scheme='http://www.blogger.com/atom/ns#' term='branch'/><title type='text'>Branching with git</title><content type='html'>git branch new-branch&lt;br /&gt;git checkout new-branch&lt;br /&gt;&lt;br /&gt;remote push/pull&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-7879953108376935538?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/7879953108376935538/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/05/branching-with-git.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/7879953108376935538'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/7879953108376935538'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/05/branching-with-git.html' title='Branching with git'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-1929608822876867212</id><published>2010-05-08T23:33:00.000-04:00</published><updated>2010-05-08T23:33:17.020-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='git'/><category scheme='http://www.blogger.com/atom/ns#' term='subversion'/><category scheme='http://www.blogger.com/atom/ns#' term='svn'/><title type='text'>git-svn</title><content type='html'>&lt;script type="syntaxhighlighter" class="brush: html"&gt;&lt;![CDATA[git svn clone svn-urlmake some changesgit commit -a -m "some changes"git svn dcommit]]&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;You can make sure these changes were committed to the svn repository, by doing a svn up in a regular svn clone of the repo. To fetch changes from the svn repo, instead of &lt;b&gt;svn up&lt;/b&gt;, do &lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush: html"&gt;&lt;![CDATA[git svn fetch]]&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-1929608822876867212?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/1929608822876867212/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/05/git-svn.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/1929608822876867212'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/1929608822876867212'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/05/git-svn.html' title='git-svn'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-3367787745006106160</id><published>2010-05-05T18:05:00.001-04:00</published><updated>2010-05-05T18:06:23.976-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='lapack'/><category scheme='http://www.blogger.com/atom/ns#' term='suse'/><category scheme='http://www.blogger.com/atom/ns#' term='blas_LINUX.a: No such file or directory'/><title type='text'>Installing Lapack on Suse</title><content type='html'>Unpack the tar file &lt;a href="http://www.netlib.org/lapack/lapack.tgz"&gt;lapack.tgz&lt;/a&gt;. &lt;br /&gt;Copy the Makefile and make it&lt;br /&gt;&lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush: html"&gt;&lt;![CDATA[cp make.inc.example make.incmakemake blaslib testing]]&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-3367787745006106160?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/3367787745006106160/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/05/installing-lapack-on-suse.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/3367787745006106160'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/3367787745006106160'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/05/installing-lapack-on-suse.html' title='Installing Lapack on Suse'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-5904940514510139978</id><published>2010-05-05T14:59:00.000-04:00</published><updated>2010-05-05T14:59:29.676-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PDF'/><category scheme='http://www.blogger.com/atom/ns#' term='Black and White PDF'/><category scheme='http://www.blogger.com/atom/ns#' term='Adobe'/><category scheme='http://www.blogger.com/atom/ns#' term='grayscale'/><category scheme='http://www.blogger.com/atom/ns#' term='black and white picture'/><title type='text'>How to Make a Black &amp; White PDF File</title><content type='html'>Open the image with Adobe Acrobat 9 Pro. In the &lt;i&gt;Advanced&lt;/i&gt; Tab click on &lt;i&gt;Print Production&lt;/i&gt; -&gt; &lt;i&gt;Preflight&lt;/i&gt;. Open the menu for &lt;i&gt;PDF fixups&lt;/i&gt; by clicking on the triangle next to it and choose &lt;i&gt;Convert to grayscale&lt;/i&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-5904940514510139978?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/5904940514510139978/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/05/how-to-make-black-white-pdf-file.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/5904940514510139978'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/5904940514510139978'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/05/how-to-make-black-white-pdf-file.html' title='How to Make a Black &amp; White PDF File'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-6167110717497646449</id><published>2010-05-04T23:33:00.003-04:00</published><updated>2010-05-04T23:33:55.975-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='500 server error'/><category scheme='http://www.blogger.com/atom/ns#' term='youtube'/><category scheme='http://www.blogger.com/atom/ns#' term='monkeys'/><title type='text'>Youtube 500 error</title><content type='html'>&lt;i&gt;"500 Internal Server Error Sorry, something went wrong. A team of highly trained &lt;b&gt;monkeys&lt;/b&gt; has been dispatched to deal with this situation."&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;I knew it! Monkeys &lt;b&gt;can&lt;/b&gt; program.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-6167110717497646449?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/6167110717497646449/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/05/youtube-500-error.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/6167110717497646449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/6167110717497646449'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/05/youtube-500-error.html' title='Youtube 500 error'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-509957323964872880</id><published>2010-05-03T21:35:00.001-04:00</published><updated>2010-05-03T21:37:01.241-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='perl5.10'/><category scheme='http://www.blogger.com/atom/ns#' term='perl'/><category scheme='http://www.blogger.com/atom/ns#' term='perl5.8'/><title type='text'>Perl 5.8 vs 5.10</title><content type='html'>Apparently this used to work in Perl5.8.9 but no in Perl5.10.0 anymore: &lt;br /&gt;&lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush: perl"&gt;&lt;![CDATA[foreach (@$function_data) { #$function_data is a 2 dimensional array.   $line =  ${@{$_}}[0];  print $line;} ]]&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;$line is empty when run with 5.10.0, but the correct data, when run with 5.8.9. In 5.10.0, omit the extra ${}: &lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush: perl"&gt;&lt;![CDATA[foreach (@$function_data) { #$function_data is a 2 dimensional array.   $line =  @{$_}[0];  print $line;} ]]&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;So be careful, when updating to Snowleopard (comes with Perl5.10.0) and your scripts don't work as expected.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-509957323964872880?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/509957323964872880/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/05/perl-58-vs-510.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/509957323964872880'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/509957323964872880'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/05/perl-58-vs-510.html' title='Perl 5.8 vs 5.10'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-6457915100728454250</id><published>2010-04-26T23:39:00.003-04:00</published><updated>2010-04-29T10:28:17.447-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cronjob'/><category scheme='http://www.blogger.com/atom/ns#' term='cron'/><category scheme='http://www.blogger.com/atom/ns#' term='crontab'/><title type='text'>crontab</title><content type='html'>What you need to know:&lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush: html"&gt;&lt;![CDATA[crontab -l (list)crontab -e (edit)minute hour day month day-of-week command-line-to-executecrontab -r (delete)]]&gt;&lt;/script&gt;&lt;br /&gt;Either use the &lt;br /&gt;&lt;i&gt;minute hour day month day-of-week&lt;/i&gt; format, or shortcuts like &lt;i&gt;@daily&lt;/i&gt;. The script should be placed in /etc/cron with permission to be executable, i.e. 755.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-6457915100728454250?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/6457915100728454250/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/04/crontab.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/6457915100728454250'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/6457915100728454250'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/04/crontab.html' title='crontab'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-7428159884336104496</id><published>2010-04-26T23:09:00.002-04:00</published><updated>2010-04-26T23:11:00.077-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mod_rewrite'/><category scheme='http://www.blogger.com/atom/ns#' term='website'/><category scheme='http://www.blogger.com/atom/ns#' term='perl'/><category scheme='http://www.blogger.com/atom/ns#' term='apache'/><category scheme='http://www.blogger.com/atom/ns#' term='redirect'/><title type='text'>Simple website redirect with perl</title><content type='html'>For when you're too lazy to fiddle with mod_rewrite, you can use a simple Perl script to redirect file a.pl to b.pl.&lt;br /&gt;&lt;br /&gt;Upload a file a.pl with the following content:&lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush: perl"&gt;&lt;![CDATA[#!/usr/bin/perlprint "Status: 302 Moved Temporarily\r\n" .      "Location: http://my-domain.com/b.pl\r\n" .      "\r\n";]]&gt;&lt;/script&gt;&lt;br /&gt;chmod a.pl with the right permissions - and, of course, make sure, Perl is supported.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-7428159884336104496?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/7428159884336104496/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/04/simple-website-redirect-with-perl.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/7428159884336104496'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/7428159884336104496'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/04/simple-website-redirect-with-perl.html' title='Simple website redirect with perl'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-8528323797029702886</id><published>2010-04-26T23:05:00.001-04:00</published><updated>2010-04-26T23:05:54.019-04:00</updated><title type='text'>Nothing better than drunk programming...</title><content type='html'>well maybe one thing ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-8528323797029702886?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/8528323797029702886/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/04/nothing-better-than-drunk-programming.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/8528323797029702886'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/8528323797029702886'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/04/nothing-better-than-drunk-programming.html' title='Nothing better than drunk programming...'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-5692617574937893180</id><published>2010-04-26T17:59:00.004-04:00</published><updated>2010-04-26T18:28:49.968-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='remote repository'/><category scheme='http://www.blogger.com/atom/ns#' term='git'/><category scheme='http://www.blogger.com/atom/ns#' term='bare'/><title type='text'>Setting up remote git repository</title><content type='html'>On your remote machine, create a new directory and start a new git repository. &lt;br /&gt;&lt;script class="brush: html" type="syntaxhighlighter"&gt;&lt;![CDATA[remote&gt; cd /home/fhinkelremote&gt; mkdir project1.gitremote&gt; cd project1.gitremote&gt; git init --bare]]&gt;&lt;/script&gt;&lt;br /&gt;On your local machine, or wherever you have the files, start a git repository, add the files you need, and commit them. &lt;br /&gt;&lt;script class="brush: html" type="syntaxhighlighter"&gt;&lt;![CDATA[local&gt; cd project1local&gt; git init .local&gt; git add files-you-needlocal&gt; git commit -a -m "initial import of project1"]]&gt;&lt;/script&gt;&lt;br /&gt;Now you have your files under revision control, but only locally, which is bad if your hard drive breaks or if you work from more than one machine. So add the repository on the remote machine as another remote directory and push to it.&lt;br /&gt;&lt;script class="brush: html" type="syntaxhighlighter"&gt;&lt;![CDATA[local&gt; git remote add origin fhinkel@remote:/home/fhinkel/git/project1.gitlocal&gt; git push origin master]]&gt;&lt;/script&gt;&lt;br /&gt;To get the files on another machine, do &lt;br /&gt;&lt;script class="brush: html" type="syntaxhighlighter"&gt;&lt;![CDATA[local2&gt; git initlocal2&gt; git remote add origin fhinkel@remote:/home/fhinkel/git/project1.gitlocal2&gt; git pull origin master]]&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-5692617574937893180?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/5692617574937893180/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/04/setting-up-remove-git-repository.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/5692617574937893180'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/5692617574937893180'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/04/setting-up-remove-git-repository.html' title='Setting up remote git repository'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-3372754462429135002</id><published>2010-04-26T11:42:00.000-04:00</published><updated>2010-04-26T11:42:52.156-04:00</updated><title type='text'>converting files to .ps</title><content type='html'>You can use Preview -&amp;gt; print -&amp;gt; Save as PostScript to turn a pdf or jpg into ps. Only problem is, that the new image is the size of the paper you printed to, not the original image size. As on the picuture below, there's extra space added at top and bottom of the picture. &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_5tv6kVzVuJE/S9W0WYtF_WI/AAAAAAAAADc/MDdY27B994A/s1600/Screen+shot+2010-04-26+at+11.39.14+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_5tv6kVzVuJE/S9W0WYtF_WI/AAAAAAAAADc/MDdY27B994A/s320/Screen+shot+2010-04-26+at+11.39.14+AM.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-3372754462429135002?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/3372754462429135002/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/04/converting-files-to-ps.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/3372754462429135002'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/3372754462429135002'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/04/converting-files-to-ps.html' title='converting files to .ps'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_5tv6kVzVuJE/S9W0WYtF_WI/AAAAAAAAADc/MDdY27B994A/s72-c/Screen+shot+2010-04-26+at+11.39.14+AM.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-8926346826306101078</id><published>2010-04-25T14:14:00.001-04:00</published><updated>2010-04-25T14:24:28.158-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eps'/><category scheme='http://www.blogger.com/atom/ns#' term='ghostscript'/><category scheme='http://www.blogger.com/atom/ns#' term='Latex'/><category scheme='http://www.blogger.com/atom/ns#' term='postscript'/><category scheme='http://www.blogger.com/atom/ns#' term='figure'/><title type='text'>Generating ps files from pictures</title><content type='html'>If you have, you can use Adobe Acrobat Pro on an image in pdf format and use "Save As" &lt;i&gt;PostScript&lt;/i&gt;. If you don't have it, cross your fingers and hope that &lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush: html"&gt;&lt;![CDATA[pdf2ps]]&gt;&lt;/script&gt;&lt;br /&gt;works.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-8926346826306101078?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/8926346826306101078/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/04/generating-ps-files.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/8926346826306101078'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/8926346826306101078'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/04/generating-ps-files.html' title='Generating ps files from pictures'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-3580059744929795822</id><published>2010-04-21T10:41:00.000-04:00</published><updated>2011-07-08T20:04:52.277-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Nature'/><category scheme='http://www.blogger.com/atom/ns#' term='Academic'/><category scheme='http://www.blogger.com/atom/ns#' term='publication'/><title type='text'>No gain from brain training</title><content type='html'>I wish, we could always have 11,430 participants for a study as in &lt;a href="http://www.nature.com/nature/journal/vnfv/ncurrent/pdf/nature09042.pdf"&gt;this Nature article&lt;/a&gt;, "No gain from brain training".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-3580059744929795822?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/3580059744929795822/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/04/no-gain-from-brain-training.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/3580059744929795822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/3580059744929795822'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/04/no-gain-from-brain-training.html' title='No gain from brain training'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-6078899677762980181</id><published>2010-04-14T17:25:00.001-04:00</published><updated>2011-07-08T20:04:52.330-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hairball'/><category scheme='http://www.blogger.com/atom/ns#' term='Academic'/><category scheme='http://www.blogger.com/atom/ns#' term='BMC'/><category scheme='http://www.blogger.com/atom/ns#' term='systems biology'/><title type='text'>The edges of understanding, Arthur D Lander</title><content type='html'>"A culture’s icons are a window onto its soul. Few would &lt;br /&gt;disagree that, in the culture of molecular biology that &lt;br /&gt;dominated much of the life sciences for the last third &lt;br /&gt;of the 20th century, &lt;span style="font-weight:bold;"&gt;the dominant icon was the double &lt;br /&gt;helix. In the present, post-modern, 'systems biology' era, &lt;br /&gt;however, it is, arguably, the hairball&lt;/span&gt;." &lt;br /&gt;-- doi:10.1186/1741-7007-8-40&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-6078899677762980181?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/6078899677762980181/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/04/edges-of-understanding-arthur-d-lander.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/6078899677762980181'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/6078899677762980181'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/04/edges-of-understanding-arthur-d-lander.html' title='The edges of understanding, Arthur D Lander'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-9068205997264755712</id><published>2010-04-09T13:05:00.004-04:00</published><updated>2011-07-08T20:04:52.393-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Virginia Tech'/><category scheme='http://www.blogger.com/atom/ns#' term='Academic'/><category scheme='http://www.blogger.com/atom/ns#' term='publication ethics'/><category scheme='http://www.blogger.com/atom/ns#' term='Garner'/><category scheme='http://www.blogger.com/atom/ns#' term='arXiv'/><category scheme='http://www.blogger.com/atom/ns#' term='publication'/><category scheme='http://www.blogger.com/atom/ns#' term='plagiarism'/><category scheme='http://www.blogger.com/atom/ns#' term='VBI'/><title type='text'>A study of scientific publication ethics</title><content type='html'>Just went to a great talk about publication ethics. The next time you review a paper, use &lt;a href="http://innovation.vbi.vt.edu/"&gt;this easy tool (&lt;span style="font-weight:bold;"&gt;eTBLAST&lt;/span&gt;) &lt;/a&gt; to check for plagiarism. Just copy and paste the abstract to it.  &lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt; "Identification of duplicate citations in the bio-medical literature&lt;br /&gt;The project aims at identified highly similar citations (based on their abstract) to flag potential cases of unethical publications, using a text comparator algorithm named eTBLAST."&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Right now it only searches medical databases (Medline, Pubmed, NASA, ...) but it will search the &lt;a href="http://arxiv.org/"&gt;arXiv&lt;/a&gt; soon!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-9068205997264755712?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/9068205997264755712/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/04/study-of-scientific-publication-ethics.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/9068205997264755712'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/9068205997264755712'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/04/study-of-scientific-publication-ethics.html' title='A study of scientific publication ethics'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-5050800396067465319</id><published>2010-04-09T12:59:00.003-04:00</published><updated>2011-07-08T20:04:52.309-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Academic'/><title type='text'>Can a Systems Biologist Fix a Tamagotchi?</title><content type='html'>&lt;a href="http://lucacardelli.name/Papers/Can%20a%20Systems%20Biologist%20Fix%20a%20Tamagotchi.pdf"&gt;Here&lt;/a&gt;'s a great paper that humorously lays out the challenges of reverse engineering.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt; "Another common inspection tool in biology is gene perturbation experiments. As already mentioned, this technique can provide useful information, but it is also used more blindly, e.g., by deleting in turn every single gene in an organism to see what happens. In software engineering, no one has ever seriously proposed to remove each instruction in a program in turn to see what breaks. One might have a slightly better chance of acquiring useful knowledge by removing all pairs or triplets of instructions, but this immediately becomes unfeasible."&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-5050800396067465319?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/5050800396067465319/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/04/can-systems-biologist-fix-tamagotchi.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/5050800396067465319'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/5050800396067465319'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/04/can-systems-biologist-fix-tamagotchi.html' title='Can a Systems Biologist Fix a Tamagotchi?'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-2737906000923723179</id><published>2010-04-06T08:47:00.002-04:00</published><updated>2010-04-06T08:50:04.270-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='text processing'/><title type='text'>Merging multiple files columnwise</title><content type='html'>Here's a little parser script, to merge multiple files. Each file has a header and a time course. I need all time courses in a single file, next to each other. &lt;br /&gt;&lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush: ruby"&gt;&lt;![CDATA[&lt;br /&gt;basedir = "./MassSpectrum/"&lt;br /&gt;&lt;br /&gt;allData = [] # ms data from all files&lt;br /&gt;&lt;br /&gt;filelist = Dir.new(basedir).entries&lt;br /&gt;filelist.each {|f|&lt;br /&gt;  if f !~ /\.txt/ # f is not a data file&lt;br /&gt;    next&lt;br /&gt;  end&lt;br /&gt;&lt;br /&gt;  data = [] # ms data from this files&lt;br /&gt;  massToCharge = 50&lt;br /&gt;  readData = false # set to true once we are reading in ms data&lt;br /&gt;  File.open( basedir+f).each { |line|&lt;br /&gt;    case line&lt;br /&gt;    when /^SPECTRUM/&lt;br /&gt;      next&lt;br /&gt;    when /raw/&lt;br /&gt;      data.push line.chop.rstrip&lt;br /&gt;      puts ":#{line.chop.rstrip}:"&lt;br /&gt;      next&lt;br /&gt;    when /^Mass/&lt;br /&gt;      puts "starting"&lt;br /&gt;      readData= true&lt;br /&gt;      next&lt;br /&gt;    end&lt;br /&gt;&lt;br /&gt;    if readData # we are reading ms data, should go from 50 to 650&lt;br /&gt;      arr = line.split&lt;br /&gt;      while arr.first.to_i != massToCharge # a mass to charge ratio was skipped&lt;br /&gt;        data.push 0&lt;br /&gt;        massToCharge = massToCharge + 1&lt;br /&gt;      end&lt;br /&gt;      data.push arr.last&lt;br /&gt;      massToCharge = massToCharge + 1&lt;br /&gt;    end&lt;br /&gt;  }&lt;br /&gt;  allData.push data&lt;br /&gt;}&lt;br /&gt;open("results.xls","w") { |out|&lt;br /&gt;  for i in 0..allData.first.size do&lt;br /&gt;    allData.each{ |l|&lt;br /&gt;      out &lt;&lt; l[i]&lt;br /&gt;      out &lt;&lt; "\t"&lt;br /&gt;    }&lt;br /&gt;    out &lt;&lt; "\n"&lt;br /&gt;  end&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;]]&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-2737906000923723179?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/2737906000923723179/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/04/merging-multiple-files-columnwise.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/2737906000923723179'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/2737906000923723179'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/04/merging-multiple-files-columnwise.html' title='Merging multiple files columnwise'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-375884520988437463</id><published>2010-04-04T16:44:00.001-04:00</published><updated>2011-07-08T20:04:52.285-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Academic'/><title type='text'>Nature Podcast</title><content type='html'>&lt;a href="http://www.nature.com/nature/podcast/index.html"&gt;Nature Podcast&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-375884520988437463?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/375884520988437463/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/04/nature-podcast.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/375884520988437463'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/375884520988437463'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/04/nature-podcast.html' title='Nature Podcast'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-3388165116815786310</id><published>2010-04-04T12:01:00.003-04:00</published><updated>2011-07-08T20:04:52.241-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Publishing'/><category scheme='http://www.blogger.com/atom/ns#' term='Academic'/><title type='text'>Publishing your Thesis</title><content type='html'>Dear Igor,&lt;br /&gt;&lt;br /&gt;no thank you, my (not yet written) thesis should not be published as a book. The individual sections have been published in different magazines, so it is available to a "wider audience" already. Let's save some trees and not turn every collection of written words into a book.&lt;br /&gt;&lt;br /&gt;FH&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;Dear  Hinkel Franz,&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;I am writing on behalf of the International publishing house, Lambert Academic Publishing.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;In the course of a research on the The Department of Mathematics at Virginia Tech, I came across a reference to your work in the field of Mathematics.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;We are an International publisher whose aim is to make academic research available to a wider audience.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;LAP Publishing would be especially interested in publishing your dissertation in the form of a printed book.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Your reply including an e-mail address to which I can send an e-mail with further information in an attachment&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;will be greatly appreciated.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;I look forward to hear from you.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Kind regards,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Igor Manole&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Acquisition Editor&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;LAP LAMBERT Academic Publishing AG &amp;amp; Co. KG&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Saarbrücken&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Dudweiler Landstraße 99, 66123 Saarbrücken Germany&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Fon +49 681 3720-310&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Fax +49 681 3720-3109&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;i.manole@lappublishing.com / www.lappublishing.com&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Handelsregister Amtsgericht Saarbrücken HRA 10752&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Partner with unlimited liability:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;VDM Verwaltung Aktiengesellschaft&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Board of Directors: Dr. Wolfgang Müller (CEO), Christoph Schulligen, Jürgen Gerber, Esther von Krosigk&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Supervisory Board: Prof. Dr. Johannes G. Bischoff (Chairman), RA Thomas Bischoff, RA André Gottschalk&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-3388165116815786310?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/3388165116815786310/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/04/publishing-your-thesis.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/3388165116815786310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/3388165116815786310'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/04/publishing-your-thesis.html' title='Publishing your Thesis'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-7548450112872196267</id><published>2010-04-04T11:55:00.006-04:00</published><updated>2010-04-04T11:59:43.407-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='spellcheck'/><category scheme='http://www.blogger.com/atom/ns#' term='vi'/><category scheme='http://www.blogger.com/atom/ns#' term='vim'/><title type='text'>Vim Spellchecking</title><content type='html'>Vim 7 has built in spellchecking. You can turn it on and off with &lt;f11&gt; and F11 and F10 &lt;f10&gt; &lt;f10&gt;.&lt;br /&gt;To add a word to your dictionary, use &lt;span style="font-style: italic;"&gt;zg&lt;/span&gt;. But even better, to delete a word from the dictionary, use &lt;span style="font-style: italic;"&gt;zw&lt;/span&gt; (for &lt;span style="font-weight: bold;"&gt;w&lt;/span&gt;rong word).&lt;br /&gt;You can also manually edit your dictionary, it is in .vim/spellfile.add.&lt;/f10&gt;&lt;/f10&gt;&lt;/f11&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-7548450112872196267?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/7548450112872196267/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/04/vim-spellchecking.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/7548450112872196267'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/7548450112872196267'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/04/vim-spellchecking.html' title='Vim Spellchecking'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-764556903330135743</id><published>2010-04-04T11:28:00.003-04:00</published><updated>2010-04-04T11:31:27.506-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Latex'/><category scheme='http://www.blogger.com/atom/ns#' term='reference'/><category scheme='http://www.blogger.com/atom/ns#' term='caption'/><category scheme='http://www.blogger.com/atom/ns#' term='table'/><title type='text'>Caption before Label</title><content type='html'>If you need to reference a table in a latex document, make sure you set the caption before the label, otherwise the table will be incorrectly referenced as the section it is in. &lt;br /&gt;&lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush: html"&gt;&lt;![CDATA[&lt;br /&gt;\begin{table}  \begin{center}&lt;br /&gt;    \begin{tabular} {|l|r|}&lt;br /&gt;      \hline&lt;br /&gt;      Protein &amp; number of functions\\&lt;br /&gt;      \hline&lt;br /&gt;      Cln3 &amp; 1\\      &lt;br /&gt;      MBF&amp;5\\&lt;br /&gt;      SBF&amp;5\\&lt;br /&gt;      Cln1,2&amp;4\\      &lt;br /&gt;      Cdh1&amp;15\\      &lt;br /&gt;      Swi5&amp;17\\      &lt;br /&gt;      Cdc20\&amp;Cdc14&amp;7\\      &lt;br /&gt;      Clb5,6&amp;6\\      &lt;br /&gt;      Sic1&amp;339\\      &lt;br /&gt;      Clb1,2&amp;64\\      &lt;br /&gt;      Mcm1/SFF&amp;5\\&lt;br /&gt;      \hline&lt;br /&gt;    \end{tabular}&lt;br /&gt;  \end{center}&lt;br /&gt;  \caption{Number of possible functions for each protein}&lt;br /&gt;  \label{table:numFun}&lt;br /&gt;\end{table}&lt;br /&gt;]]&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-764556903330135743?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/764556903330135743/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/04/caption-before-label.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/764556903330135743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/764556903330135743'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/04/caption-before-label.html' title='Caption before Label'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-4035176068641647173</id><published>2010-04-02T14:32:00.019-04:00</published><updated>2010-04-04T11:51:01.125-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='multirow'/><category scheme='http://www.blogger.com/atom/ns#' term='Latex'/><category scheme='http://www.blogger.com/atom/ns#' term='wrap'/><category scheme='http://www.blogger.com/atom/ns#' term='table'/><title type='text'>Latex Table with multirow</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_5tv6kVzVuJE/S7i0fWnY4mI/AAAAAAAAADU/tfnnGvzHvuM/s1600/Screen+shot+2010-04-04+at+11.46.35+AM.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 200px;" src="http://4.bp.blogspot.com/_5tv6kVzVuJE/S7i0fWnY4mI/AAAAAAAAADU/tfnnGvzHvuM/s400/Screen+shot+2010-04-04+at+11.46.35+AM.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5456309399299088994" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If you ever have to make a table, where you need multiple lines for one entry, this is one way to do it:&lt;br /&gt;&lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush: html"&gt;&lt;![CDATA[ \usepackage{multirow} ]]&gt;&lt;/script&gt;&lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush: perl"&gt;&lt;![CDATA[\begin{table} &lt;br /&gt;\makebox[\textwidth][c]{     &lt;br /&gt;\begin{tabular}{ccccccc c cccc}       &lt;br /&gt;  \multirow{2}{*}{Time} &amp; \multirow{2}{*}{Cln3} &amp; &lt;br /&gt;    \multirow{2}{*}{MBF} &amp; \multirow{2}{*}{SBF} &amp; &lt;br /&gt;    \multirow{2}{*}{Cln1,2} &amp; \multirow{2}{*}{Cdh1} &amp;&lt;br /&gt;    \multirow{2}{*}{Swi5} &amp; &lt;br /&gt;    Cdc20 and &amp; % This is the part to be split&lt;br /&gt;    \multirow{2}{*}{Clb5,6} &amp; \multirow{2}{*}{Sic1} &amp; &lt;br /&gt;    \multirow{2}{*}{Clb1,2} &amp; \multirow{2}{*}{Mcm1/SFF}\\       &lt;br /&gt;  &amp;&amp;&amp;&amp;&amp;&amp;&amp; Cdc14 \\  % This is the second row     &lt;br /&gt;  \hline       &lt;br /&gt;  1&amp;1&amp;0&amp;0&amp;0&amp;1&amp;0&amp;0&amp;0&amp;1&amp;0&amp;0\\       &lt;br /&gt;  2&amp;0&amp;1&amp;1&amp;0&amp;1&amp;0&amp;0&amp;0&amp;1&amp;0&amp;0\\     &lt;br /&gt;  3&amp;0&amp;1&amp;1&amp;1&amp;1&amp;0&amp;0&amp;0&amp;1&amp;0&amp;0\\      &lt;br /&gt;  4&amp;0&amp;1&amp;1&amp;1&amp;0&amp;0&amp;0&amp;0&amp;0&amp;0&amp;0\\     &lt;br /&gt;  5&amp;0&amp;1&amp;1&amp;1&amp;0&amp;0&amp;0&amp;1&amp;0&amp;0&amp;0\\     &lt;br /&gt;  6&amp;0&amp;1&amp;1&amp;1&amp;0&amp;0&amp;0&amp;1&amp;0&amp;1&amp;1\\      &lt;br /&gt;  7&amp;0&amp;0&amp;0&amp;1&amp;0&amp;0&amp;1&amp;1&amp;0&amp;1&amp;1\\     &lt;br /&gt;  8&amp;0&amp;0&amp;0&amp;0&amp;0&amp;1&amp;1&amp;0&amp;0&amp;1&amp;1\\     &lt;br /&gt;  9&amp;0&amp;0&amp;0&amp;0&amp;0&amp;1&amp;1&amp;0&amp;1&amp;1&amp;1\\     &lt;br /&gt;  10&amp;0&amp;0&amp;0&amp;0&amp;0&amp;1&amp;1&amp;0&amp;1&amp;0&amp;1\\     &lt;br /&gt;  11&amp;0&amp;0&amp;0&amp;0&amp;1&amp;1&amp;1&amp;0&amp;1&amp;0&amp;0\\      &lt;br /&gt;  12&amp;0&amp;0&amp;0&amp;0&amp;1&amp;1&amp;0&amp;0&amp;1&amp;0&amp;0\\      &lt;br /&gt;  13&amp;0&amp;0&amp;0&amp;0&amp;1&amp;0&amp;0&amp;0&amp;1&amp;0&amp;0\\       &lt;br /&gt;  \hline     &lt;br /&gt;\end{tabular} &lt;br /&gt;}  &lt;br /&gt;\caption{Temporal evolution of cell-cycle network}  &lt;br /&gt;\label{table:timecourse} &lt;br /&gt;\end{table}&lt;br /&gt;]]&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-4035176068641647173?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/4035176068641647173/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/04/latex-table-with-multirow.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/4035176068641647173'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/4035176068641647173'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/04/latex-table-with-multirow.html' title='Latex Table with multirow'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_5tv6kVzVuJE/S7i0fWnY4mI/AAAAAAAAADU/tfnnGvzHvuM/s72-c/Screen+shot+2010-04-04+at+11.46.35+AM.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-8578043244226857413</id><published>2010-03-30T15:13:00.001-04:00</published><updated>2011-07-08T20:04:52.380-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Macaulay2'/><category scheme='http://www.blogger.com/atom/ns#' term='Academic'/><category scheme='http://www.blogger.com/atom/ns#' term='workshop'/><title type='text'>Another Macaulay2 Workshop...</title><content type='html'>... is coming up. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://groups.google.com/group/macaulay2/browse_thread/thread/7339edd83eba4ef1/fbf12b7b619721ea?lnk=gst&amp;q=workshop#fbf12b7b619721ea"&gt;Workshop Announcement&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.math.uiuc.edu/Macaulay2/"&gt;&lt;br /&gt;Macaulay2 Website&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://groups.google.com/group/macaulay2"&gt;Macaulay2 Group&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-8578043244226857413?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/8578043244226857413/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/03/another-macaulay2-workshop.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/8578043244226857413'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/8578043244226857413'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/03/another-macaulay2-workshop.html' title='Another Macaulay2 Workshop...'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-3460932402762955254</id><published>2010-03-30T15:06:00.004-04:00</published><updated>2010-03-30T15:12:12.754-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='scroll'/><category scheme='http://www.blogger.com/atom/ns#' term='screen'/><category scheme='http://www.blogger.com/atom/ns#' term='buffer'/><title type='text'>scrolling inside screen</title><content type='html'>I love screen, I use it for everything (&lt;a href="http://mathandprogramming.blogspot.com/2010/01/screen-to-return-to-remote-session.html"&gt;remote session&lt;/a&gt;, &lt;a href="http://mathandprogramming.blogspot.com/2010/01/vim-for-irb.html"&gt;slime.vim&lt;/a&gt;). But sometimes I hate it. I can't scroll! Well, no that is not true. I didn't know how to scroll. &lt;br /&gt;&lt;br /&gt;First you have to turn on the buffer. Create a .screenrc in your home directory with the following content: &lt;br /&gt;&lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush: html"&gt;&lt;![CDATA[&lt;br /&gt;# define a bigger scrollback, default is 100 lines&lt;br /&gt;defscrollback 10000&lt;br /&gt;]]&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;You can access the scrollback buffer by entering "copy mode", which is accomplished by typing&lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush: html"&gt;&lt;![CDATA[&lt;br /&gt;C-a ESC&lt;br /&gt;]]&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.kuro5hin.org/story/2004/3/9/16838/14935"&gt;Here&lt;/a&gt; is the full explanation.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-3460932402762955254?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/3460932402762955254/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/03/scrolling-inside-screen.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/3460932402762955254'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/3460932402762955254'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/03/scrolling-inside-screen.html' title='scrolling inside screen'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-5526468412183278436</id><published>2010-03-30T14:18:00.000-04:00</published><updated>2010-03-30T15:07:18.116-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='screen'/><category scheme='http://www.blogger.com/atom/ns#' term='ssh'/><category scheme='http://www.blogger.com/atom/ns#' term='remote session'/><title type='text'>Screen to return to a remote session</title><content type='html'>Oftentimes I need to run long computations on a remote machine. Sometimes it's enough to just pipe the results into a text file&lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush: html"&gt;&lt;![CDATA[&lt;br /&gt;&gt; start the computation &gt; results.txt&lt;br /&gt;]]&gt;&lt;/script&gt;&lt;br /&gt;In many cases this is not enough, when something goes wrong, or when you need to work with the results, or when you're inside an important irb session and want to come back later. The thing to use then is &lt;span style="font-weight:bold;"&gt;screen&lt;/span&gt;. It allows you to come back, when the ssh connection has been closed, and find your old terminal just the way you left it. &lt;br /&gt;&lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush: html"&gt;&lt;![CDATA[&lt;br /&gt;&gt; screen -s what-I-want-to-come-back-to&lt;br /&gt;&gt; start the computation &lt;br /&gt;]]&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;When coming back to the remote machine, you can check on the results: &lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush: html"&gt;&lt;![CDATA[&lt;br /&gt;&gt; screen -ls&lt;br /&gt;&gt; screen -x what-I-want-to-come-back-to&lt;br /&gt;&gt; work with results from computation &lt;br /&gt;]]&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-5526468412183278436?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/5526468412183278436/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/01/screen-to-return-to-remote-session.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/5526468412183278436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/5526468412183278436'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/01/screen-to-return-to-remote-session.html' title='Screen to return to a remote session'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-7037480015756526018</id><published>2010-03-22T22:00:00.007-04:00</published><updated>2010-03-30T15:00:27.332-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Video'/><category scheme='http://www.blogger.com/atom/ns#' term='Latex'/><category scheme='http://www.blogger.com/atom/ns#' term='Beamerclass'/><category scheme='http://www.blogger.com/atom/ns#' term='Presentation'/><category scheme='http://www.blogger.com/atom/ns#' term='Animated'/><category scheme='http://www.blogger.com/atom/ns#' term='Movie'/><title type='text'>Movies in Presentations</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_5tv6kVzVuJE/S7JHho07veI/AAAAAAAAAB8/L33QLEr54jM/s1600/Game_of_life_pulsar.gif"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 137px; height: 137px;" src="http://2.bp.blogspot.com/_5tv6kVzVuJE/S7JHho07veI/AAAAAAAAAB8/L33QLEr54jM/s320/Game_of_life_pulsar.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5454500741919784418" /&gt;&lt;/a&gt;&lt;br /&gt;Shifting farther and farther away from blackboard talks, I sometimes need animated gifs or movies in my presentations. &lt;br /&gt;&lt;br /&gt;And it works perfectly with &lt;span style="font-weight:bold;"&gt;Latex Beamerclass&lt;/span&gt;. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ipgp.fr/~lucas/Contrib/animbeamer.html"&gt;Here&lt;/a&gt; is a good tutorial for &lt;span style="font-weight:bold;"&gt;animated gifs&lt;/span&gt; like the one you see. Just make sure, that &lt;span style="font-weight:bold;"&gt;convert&lt;/span&gt; really converted the file to pngs, if not, use &lt;span style="font-weight:bold;"&gt;Preview&lt;/span&gt; and &lt;span style="font-style:italic;"&gt;Save As&lt;/span&gt; to turn it into the right format. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.uoregon.edu/~noeckel/PDFmovie.html"&gt;Here&lt;/a&gt; is a wonderful tutorial on including movies. The movie is saved within the pdf file, so no fiddling around with multiple files when giving the presentation using an installed presentation system or a shared laptop. &lt;br /&gt;&lt;br /&gt;Before giving the presentation, go through the slides, and click ok on the warning message about playing the movie, then give a wonderful talk! &lt;br /&gt;&lt;br /&gt;I used &lt;a href="http://www.screencast-o-matic.com"&gt;Screen-O-Matic &lt;/a&gt;to create a movie. To get rid of the Watermark, you have to pay a small fee - or you make the movie bigger (i.e. longer from top to bottom) than your slide. When you include it in your tex document with &lt;br /&gt;&lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush: html"&gt;&lt;![CDATA[&lt;br /&gt;\includemovie[]{\textwidth}&lt;br /&gt;]]&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;the bottom will be cut off so nobody sees the watermark.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-7037480015756526018?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/7037480015756526018/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/03/movies-in-presentations.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/7037480015756526018'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/7037480015756526018'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/03/movies-in-presentations.html' title='Movies in Presentations'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_5tv6kVzVuJE/S7JHho07veI/AAAAAAAAAB8/L33QLEr54jM/s72-c/Game_of_life_pulsar.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-2434211765879078700</id><published>2010-03-06T15:31:00.002-05:00</published><updated>2010-03-06T15:35:27.099-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='rbp'/><category scheme='http://www.blogger.com/atom/ns#' term='ruby best practices'/><title type='text'>Ruby Best Practices</title><content type='html'>There are more chapters &lt;a href="http://blog.rubybestpractices.com/"&gt;available of Ruby Best Practices available&lt;/a&gt;. &lt;br /&gt;Chapter 5 is on &lt;span style="font-style:italic;"&gt;Functional Programming Techniques&lt;/span&gt;, and chapter 6 on &lt;span style="font-style:italic;"&gt;When Things Go Wrong&lt;/span&gt;. Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-2434211765879078700?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/2434211765879078700/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/03/ruby-best-practices.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/2434211765879078700'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/2434211765879078700'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/03/ruby-best-practices.html' title='Ruby Best Practices'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-6108316461163539058</id><published>2010-03-06T15:17:00.003-05:00</published><updated>2010-03-06T15:28:17.830-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='not space left on device'/><category scheme='http://www.blogger.com/atom/ns#' term='du'/><category scheme='http://www.blogger.com/atom/ns#' term='df'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>No space left on device</title><content type='html'>An innocent &lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush: html"&gt;&lt;![CDATA[&lt;br /&gt;git push origin master &lt;br /&gt;]]&gt;&lt;/script&gt;&lt;br /&gt;told me this: &lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush: html"&gt;&lt;![CDATA[&lt;br /&gt;No space left on device&lt;br /&gt;]]&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;Now, what went wrong? First of all, is it really full?  &lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush: html"&gt;&lt;![CDATA[&lt;br /&gt;~&gt; df -h&lt;br /&gt;Filesystem            Size  Used Avail Use% Mounted on&lt;br /&gt;/dev/mapper/system-root&lt;br /&gt;                      2.0G  195M  1.9G  10% /&lt;br /&gt;udev                   16G  212K   16G   1% /dev&lt;br /&gt;/dev/sda1              92M   19M   68M  22% /boot&lt;br /&gt;/dev/mapper/system-home&lt;br /&gt;                       60G   60G   20K 100% /home&lt;br /&gt;/dev/mapper/system-opt&lt;br /&gt;                      6.0G  1.8G  4.3G  30% /opt&lt;br /&gt;/dev/mapper/system-srv&lt;br /&gt;                      2.0G  2.0G   20K 100% /srv&lt;br /&gt;/dev/mapper/system-tmp&lt;br /&gt;                      2.0G  5.1M  2.0G   1% /tmp&lt;br /&gt;/dev/mapper/system-usr&lt;br /&gt;                      4.0G  2.3G  1.8G  56% /usr&lt;br /&gt;/dev/mapper/system-var&lt;br /&gt;                      2.0G  552M  1.5G  28% /var&lt;br /&gt;/dev/mapper/system-install&lt;br /&gt;                      3.0G  1.9G  1.1G  64% /install&lt;br /&gt;/dev/mapper/system-usr--local&lt;br /&gt;                      3.0G  122M  2.9G   4% /usr/local&lt;br /&gt;&lt;br /&gt;]]&gt;&lt;/script&gt;&lt;br /&gt;I guess you could say so. But why? I can track it down with: &lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush: html"&gt;&lt;![CDATA[&lt;br /&gt;du -h --max-depth=1&lt;br /&gt;]]&gt;&lt;/script&gt;&lt;br /&gt;And follow it recursively down. A sorted ls gives me the largest file. &lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush: html"&gt;&lt;![CDATA[&lt;br /&gt;ls -lahs&lt;br /&gt;]]&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;Turns out a some script went nuts and created a 30G .gif file.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-6108316461163539058?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/6108316461163539058/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/03/no-space-left-on-device.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/6108316461163539058'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/6108316461163539058'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/03/no-space-left-on-device.html' title='No space left on device'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-3181328855436439397</id><published>2010-02-16T13:52:00.002-05:00</published><updated>2010-02-16T13:53:05.177-05:00</updated><title type='text'></title><content type='html'>I'm sorry it's German, but it's just too funny: &lt;br /&gt;&lt;br /&gt;"Diese Vermarktungsstrategie ist hochgradig sexistisch, wer jetzt meint, er könne sich endlich auch mal an einen Roman wagen und "Fucking Karlsruhe: Bekenntnisse eines deutschen Maschinenbaustudenten" verfassen, wird es schwer haben, einen Verlag zu finden." (&lt;a href="http://www.spiegel.de/unispiegel/wunderbar/0,1518,677555,00.html"&gt;spiegel.de&lt;/a&gt;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-3181328855436439397?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/3181328855436439397/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/02/im-sorry-it-german-but-its-just-too.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/3181328855436439397'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/3181328855436439397'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/02/im-sorry-it-german-but-its-just-too.html' title=''/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-4712814759472203023</id><published>2010-02-04T11:23:00.006-05:00</published><updated>2010-02-11T23:49:47.815-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='tdd'/><category scheme='http://www.blogger.com/atom/ns#' term='testing'/><title type='text'>I wish I'd have more time reading</title><content type='html'>&lt;a href="http://blog.rubybestpractices.com/posts/gregory/015-rbp-ch1.html?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+RubyBestPractices+%28Ruby+Best+Practices+-+Blog%29"&gt;&lt;br /&gt;Weekend Reading: Ruby Best Practice Chapter 1, Driving Code Through Tests&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Yes, I'm a little behind with my reading, but it was definitely worth while. &lt;br /&gt;&lt;br /&gt;I was happy to find such a good chapter on testing, because most other books only cover trivial testing, but they don't show how to build &lt;span style="font-style:italic;"&gt;useful&lt;/span&gt; tests. &lt;br /&gt;&lt;br /&gt;What did I learn? &lt;br /&gt;* use single tests for every different case. This results in better readability, and in case an assertion fails, I know exactly in which scenario it failed and all assertions in different tests, will be tried, so I'll know right away if all of them failed or just a particular one&lt;br /&gt;* use tests more as a way to drive your software, not only as regression tests&lt;br /&gt;* there's a &lt;span style="font-style:italic;"&gt;when&lt;/span&gt;? Yes, switch-case is a case-when in Ruby&lt;br /&gt;* goal for next time Ruby programming: force myself to use a stub/mock&lt;br /&gt;* embedding tests in library files&lt;br /&gt;&lt;br /&gt;For my math programming (Macaulay2) I rely heavily on tests: for every little function a handful of tests, and a few functional tests, checking the full algorithm. Functional tests are so immensely helpful for math programming, because it's hard to test by hand, if a set of polynomials is exactly the same as expected.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-4712814759472203023?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/4712814759472203023/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/02/i-wish-id-have-more-time-reading.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/4712814759472203023'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/4712814759472203023'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/02/i-wish-id-have-more-time-reading.html' title='I wish I&apos;d have more time reading'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-1222625582775058163</id><published>2010-01-17T14:03:00.006-05:00</published><updated>2010-01-17T14:10:36.946-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='screen'/><category scheme='http://www.blogger.com/atom/ns#' term='detach'/><category scheme='http://www.blogger.com/atom/ns#' term='remote'/><category scheme='http://www.blogger.com/atom/ns#' term='attach'/><category scheme='http://www.blogger.com/atom/ns#' term='terminal'/><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><title type='text'>Screen for long remote tasks</title><content type='html'>use &lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush: html"&gt;&lt;![CDATA[ &lt;br /&gt;screen -S mySession&lt;br /&gt;]]&gt;&lt;/script&gt;&lt;br /&gt;to start a session named mySession on your remote machine. Start the things you want to run, for example a &lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush: html"&gt;&lt;![CDATA[ &lt;br /&gt;make&lt;br /&gt;]]&gt;&lt;/script&gt;&lt;br /&gt;close the shell by quitting terminal (don't Ctrl C out!)&lt;br /&gt;When you come back, and want to see how far your make went, attach to the old screen with &lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush: html"&gt;&lt;![CDATA[ &lt;br /&gt;screen -x mySession&lt;br /&gt;]]&gt;&lt;/script&gt;&lt;br /&gt;If you don't remember what you called the session, try &lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush: html"&gt;&lt;![CDATA[ &lt;br /&gt;screen -ls&lt;br /&gt;]]&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-1222625582775058163?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/1222625582775058163/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/01/screen-for-long-remote-tasks.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/1222625582775058163'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/1222625582775058163'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/01/screen-for-long-remote-tasks.html' title='Screen for long remote tasks'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-5780412759115775248</id><published>2010-01-13T18:14:00.001-05:00</published><updated>2010-01-13T18:16:51.532-05:00</updated><title type='text'>Boolean Gröbner Basis in Macaulay2</title><content type='html'>&lt;a href="http://http://wiki.macaulay2.com/Macaulay2/index.php?title=Boolean_GB"&gt;Boolean Groebner basis algorithm&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-5780412759115775248?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/5780412759115775248/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/01/boolean-grobner-basis-in-macaulay2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/5780412759115775248'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/5780412759115775248'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/01/boolean-grobner-basis-in-macaulay2.html' title='Boolean Gröbner Basis in Macaulay2'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-1683464327821281437</id><published>2010-01-12T14:18:00.008-05:00</published><updated>2011-07-08T20:04:52.230-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Academic'/><title type='text'>Working here</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5tv6kVzVuJE/S2r4JtqgaaI/AAAAAAAAAB0/8ID9R1p8r6g/s1600-h/photo.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 240px; height: 320px;" src="http://3.bp.blogspot.com/_5tv6kVzVuJE/S2r4JtqgaaI/AAAAAAAAAB0/8ID9R1p8r6g/s320/photo.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5434428746136316322" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now I know where I want to work, it's just a matter of working hard enough to get there.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-1683464327821281437?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/1683464327821281437/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/01/working-here.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/1683464327821281437'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/1683464327821281437'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/01/working-here.html' title='Working here'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_5tv6kVzVuJE/S2r4JtqgaaI/AAAAAAAAAB0/8ID9R1p8r6g/s72-c/photo.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-2156880660647945956</id><published>2010-01-06T17:13:00.003-05:00</published><updated>2010-01-13T18:14:42.928-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='FedEx'/><category scheme='http://www.blogger.com/atom/ns#' term='Delivery Exception'/><category scheme='http://www.blogger.com/atom/ns#' term='Incorrect address'/><title type='text'>FedEx Incorrect Adress</title><content type='html'>Ordered something and didn't put our house number in front of the street name. So FedEx Tracking shows a &lt;span style="font-weight:bold;"&gt;Delivery exception - Incorrect address&lt;/span&gt;. I quick call to 1-800-463-3339, and a quick conversation with a representative, and they put the correct address in and said it will be delivered tomorrow. &lt;br /&gt;&lt;br /&gt;A+ for this costumer service!&lt;br /&gt;&lt;br /&gt;Edit: it would have been better, if he'd correctly understood the address, so I called again, and they should deliver soon.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-2156880660647945956?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/2156880660647945956/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/01/fedex-incorrect-adress.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/2156880660647945956'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/2156880660647945956'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/01/fedex-incorrect-adress.html' title='FedEx Incorrect Adress'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-7468798608480988036</id><published>2010-01-06T13:26:00.005-05:00</published><updated>2011-07-08T20:04:52.356-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Macaulay2'/><category scheme='http://www.blogger.com/atom/ns#' term='algebraic geometry'/><category scheme='http://www.blogger.com/atom/ns#' term='Macaulay'/><category scheme='http://www.blogger.com/atom/ns#' term='Academic'/><category scheme='http://www.blogger.com/atom/ns#' term='workshop'/><title type='text'>Macaulay2 Workshop</title><content type='html'>&lt;a href="http://www.math.uiuc.edu/Macaulay2/Events/Workshop2010January/"&gt;is happening soon&lt;/a&gt;. I hope to gain some new wisdom that will be worth sharing. &lt;br /&gt;&lt;br /&gt;Macaulay2 is a software system for research in algebraic geometry - and it rocks, and we were &lt;a href="http://wiki.macaulay2.com/Macaulay2/index.php?title=MSRI2010_-_Main_Page"&gt;very productive&lt;/a&gt;!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-7468798608480988036?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/7468798608480988036/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/01/macaulay-2-workshop.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/7468798608480988036'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/7468798608480988036'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/01/macaulay-2-workshop.html' title='Macaulay2 Workshop'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-1363830641710373465</id><published>2010-01-05T23:52:00.007-05:00</published><updated>2010-01-06T00:08:56.197-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='ruby 1.9'/><category scheme='http://www.blogger.com/atom/ns#' term='obj.send'/><category scheme='http://www.blogger.com/atom/ns#' term='send'/><category scheme='http://www.blogger.com/atom/ns#' term='ruby 1.9.1'/><title type='text'>obj.send in ruby 1.9</title><content type='html'>It might say &lt;a href="http://eigenclass.org/hiki.rb?Changes+in+Ruby+1.9#l23"&gt;here&lt;/a&gt;, that send doesn't work for private methods in Ruby 1.9, but that's &lt;a href="http://github.com/rails/rails/commit/a1eb4e11c2cccb91483fa15f1a1a0b2ae518d2cf"&gt;not true anymore&lt;/a&gt;. You can also compare  the  &lt;a href="http://ruby-doc.org/ruby-1.9/classes/Object.html#M000204"&gt;1.9&lt;/a&gt; and &lt;a href="http://ruby-doc.org/core/classes/Object.html#M000332"&gt;1.8.6&lt;/a&gt; documentation - identical for obj.send. &lt;br /&gt;&lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush: ruby"&gt;&lt;![CDATA[&lt;br /&gt;class Foo; private; def foo; puts "Private!"; end; end&lt;br /&gt;Foo.new.send(:foo)&lt;br /&gt;Foo.new.send!(:foo)   # =&gt; nil&lt;br /&gt;&lt;br /&gt;$ ruby -v&lt;br /&gt;ruby 1.9.1p376 (2009-12-07 revision 26041) [i386-darwin10.2.0]&lt;br /&gt;$ ruby tmp.rb&lt;br /&gt;Private!&lt;br /&gt;tmp:3:in `&lt;main&gt;': undefined method `send!' for #&lt;Foo:0x0000010084c3f0&gt; (NoMethodError)&lt;br /&gt;]]&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-1363830641710373465?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/1363830641710373465/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/01/objectsend-in-ruby-19.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/1363830641710373465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/1363830641710373465'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/01/objectsend-in-ruby-19.html' title='obj.send in ruby 1.9'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-4955986271185513548</id><published>2010-01-05T11:21:00.002-05:00</published><updated>2010-01-05T11:22:18.096-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='partial'/><category scheme='http://www.blogger.com/atom/ns#' term='rails'/><category scheme='http://www.blogger.com/atom/ns#' term='analytics'/><category scheme='http://www.blogger.com/atom/ns#' term='html'/><title type='text'>Google Analytics and Rails</title><content type='html'>&lt;a href="http://www.mendable.com/google-analytics-and-rails-in-60-seconds/"&gt;Google Analytics and Rails in 60 seconds&lt;/a&gt;. Let the tracking begin!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-4955986271185513548?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/4955986271185513548/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/01/google-analytics-and-rails.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/4955986271185513548'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/4955986271185513548'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/01/google-analytics-and-rails.html' title='Google Analytics and Rails'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-252213734510851964</id><published>2010-01-05T10:22:00.007-05:00</published><updated>2010-01-05T10:58:32.279-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='git'/><category scheme='http://www.blogger.com/atom/ns#' term='remote'/><category scheme='http://www.blogger.com/atom/ns#' term='git-config'/><category scheme='http://www.blogger.com/atom/ns#' term='alias'/><category scheme='http://www.blogger.com/atom/ns#' term='repository'/><title type='text'>Git pushing to multiple repositories</title><content type='html'>If for some reason you have to push to multiple repositories, add an alias to your .git/config (obviously you don't want this in your ~/.gitconfig): &lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush: ruby"&gt;&lt;![CDATA[&lt;br /&gt;[remote "repo1"]&lt;br /&gt; fetch = +refs/heads/*:refs/remotes/repo1/*&lt;br /&gt; url = git@github.com:fhinkel/myapp.git&lt;br /&gt;&lt;br /&gt;[alias]&lt;br /&gt; pushall = !git push repo1 master &amp;&amp; git push repo2 master&lt;br /&gt;]]&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;The exclamation mark runs the alias as a command, without an exclamation mark, it's assumed that you run a git command.&lt;br /&gt; &lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush: ruby"&gt;&lt;![CDATA[&lt;br /&gt;$ git config --global alias.ci commit&lt;br /&gt;]]&gt;&lt;/script&gt;&lt;br /&gt;results in a change in your ~/.gitconfig&lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush: ruby"&gt;&lt;![CDATA[&lt;br /&gt;[alias]&lt;br /&gt; ci = commit&lt;br /&gt;]]&gt;&lt;/script&gt;&lt;br /&gt;which you can delete with &lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush: ruby"&gt;&lt;![CDATA[&lt;br /&gt;$  git config --global --unset alias.ci&lt;br /&gt;]]&gt;&lt;/script&gt;&lt;br /&gt;or delete all aliases. &lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush: ruby"&gt;&lt;![CDATA[&lt;br /&gt;$ git config --global --remove-section alias&lt;br /&gt;]]&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-252213734510851964?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/252213734510851964/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/01/git-pushing-to-multiple-repositories.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/252213734510851964'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/252213734510851964'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/01/git-pushing-to-multiple-repositories.html' title='Git pushing to multiple repositories'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-5560990100991291513</id><published>2010-01-03T00:09:00.000-05:00</published><updated>2010-01-03T00:10:09.854-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='syntax highlighting'/><category scheme='http://www.blogger.com/atom/ns#' term='html'/><category scheme='http://www.blogger.com/atom/ns#' term='css'/><title type='text'>Syntax Highlighting on Blogger</title><content type='html'>&lt;a href="http://blog.cartercole.com/2009/10/awesome-syntax-highlighting-made-easy.html" title="code to do quick syntax highlighting"&gt;easy syntax highlighting for blogger&lt;/a&gt;&lt;br /&gt;Works for me.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-5560990100991291513?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/5560990100991291513/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/01/syntax-highlighting-on-blogger.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/5560990100991291513'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/5560990100991291513'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/01/syntax-highlighting-on-blogger.html' title='Syntax Highlighting on Blogger'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-8344794363895536223</id><published>2010-01-02T23:20:00.019-05:00</published><updated>2010-01-03T20:53:24.590-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='slime'/><category scheme='http://www.blogger.com/atom/ns#' term='ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='vi'/><category scheme='http://www.blogger.com/atom/ns#' term='screen'/><category scheme='http://www.blogger.com/atom/ns#' term='vim'/><category scheme='http://www.blogger.com/atom/ns#' term='slime.vim'/><category scheme='http://www.blogger.com/atom/ns#' term='irb'/><title type='text'>Vim for irb</title><content type='html'>Ever used irb and wished you had safed your commands or could edit them using Vi? Ever tried something new in irb, and then had to painfully copy and paste it to the .rb file? &lt;a href="http://s3.amazonaws.com/mps/slime.vim"&gt;Slime.vim&lt;/a&gt; from Jonathan Palardy will be your new best friend.&lt;br /&gt;&lt;br /&gt;Slime.vim lets you send highlighted text to a different terminal. This means you can write a few commands, send them to a terminal running irb, notice you want to change something in your first command, modify that line in Vi and resend it to irb, and so on.&lt;br /&gt;&lt;br /&gt;Put slime.vim into ~/.vim/plugins&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;In one terminal&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;1. start a named screen&lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush: html"&gt;&lt;![CDATA[  $ screen -S irb_session ]]&gt;&lt;/script&gt;&lt;br /&gt;2. name the window&lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush: html"&gt;&lt;![CDATA[  $ C-a A ]]&gt;&lt;/script&gt;&lt;br /&gt;You'll be prompted for the window's name, "Set window's title to:"&lt;br /&gt;irb_window&lt;br /&gt;3. start irb&lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush: html"&gt;&lt;![CDATA[     $ irb ]]&gt;&lt;/script&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;In a different terminal&lt;/span&gt;, start vi and type irb commands, highlight one or multiple commands (ESC V to highlight the current line, ESC vip to highlight a paragraph), type C-c C-c to execute the highlighted text in the other terminal. The first time you'll be prompted for session and window, enter irb_session and irb_window (or whatever name you gave it).&lt;br /&gt;&lt;br /&gt;&lt;object width="400" height="252"&gt;&lt;param name="movie" value="http://www.youtube.com/v/UhLrHf1d_Kk&amp;hl=en_US&amp;fs=1&amp;rel=0&amp;border=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/UhLrHf1d_Kk&amp;hl=en_US&amp;fs=1&amp;rel=0&amp;border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="400" height="252"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;This works for anything in your terminal, I like it for very long commands (using files in some crazy far away subdirectory), Singular, Macaulay2, mysql, and of course irb.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-8344794363895536223?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/8344794363895536223/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/01/vim-for-irb.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/8344794363895536223'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/8344794363895536223'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/01/vim-for-irb.html' title='Vim for irb'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-6082610926018727886</id><published>2010-01-02T14:24:00.001-05:00</published><updated>2010-01-02T14:25:19.379-05:00</updated><title type='text'>The pink was just a little too much</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5tv6kVzVuJE/Sz-dlvNLt_I/AAAAAAAAAAc/_zbN84M70Dc/s1600-h/Picture+3.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 189px;" src="http://3.bp.blogspot.com/_5tv6kVzVuJE/Sz-dlvNLt_I/AAAAAAAAAAc/_zbN84M70Dc/s320/Picture+3.png" alt="" id="BLOGGER_PHOTO_ID_5422225748029847538" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-6082610926018727886?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/6082610926018727886/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/01/pink-was-just-little-too-much.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/6082610926018727886'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/6082610926018727886'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/01/pink-was-just-little-too-much.html' title='The pink was just a little too much'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_5tv6kVzVuJE/Sz-dlvNLt_I/AAAAAAAAAAc/_zbN84M70Dc/s72-c/Picture+3.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-4008297424817647749</id><published>2010-01-02T14:08:00.002-05:00</published><updated>2010-01-02T14:11:16.329-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='conway&apos;s game of life'/><category scheme='http://www.blogger.com/atom/ns#' term='rubyforge'/><category scheme='http://www.blogger.com/atom/ns#' term='optimal control'/><category scheme='http://www.blogger.com/atom/ns#' term='gemcutter'/><title type='text'>Ruby gem for Optimal Control for Conway's Game of Life</title><content type='html'>&lt;span style="font-family: courier new;"&gt;$ gem install optimal-control&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://rubyforge.org/projects/optimal-control/"&gt;http://rubyforge.org/projects/optimal-control/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;My little gem to find an optimal control strategy for Conway's Game of Life is available. Documentation will follow ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-4008297424817647749?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/4008297424817647749/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/01/ruby-gem-for-optimal-control-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/4008297424817647749'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/4008297424817647749'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/01/ruby-gem-for-optimal-control-for.html' title='Ruby gem for Optimal Control for Conway&apos;s Game of Life'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-6532789907667741970</id><published>2010-01-02T14:02:00.005-05:00</published><updated>2011-07-08T20:04:52.340-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Academic'/><category scheme='http://www.blogger.com/atom/ns#' term='website'/><category scheme='http://www.blogger.com/atom/ns#' term='Google sites'/><category scheme='http://www.blogger.com/atom/ns#' term='html'/><category scheme='http://www.blogger.com/atom/ns#' term='applied discrete mathematics group'/><title type='text'>Google Sites for quick and easy websites</title><content type='html'>I like &lt;a href="http://www.math.vt.edu/people/fhinkel/"&gt;my (stolen) design&lt;/a&gt;, but &lt;a href="http://sites.google.com/site/applieddiscretemathematics/"&gt;Google sites&lt;/a&gt; is just so much faster - and you barely know it's Google Sites &lt;a href="http://admg.vbi.vt.edu"&gt;admg.vbi.vt.edu&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;And of course we can &lt;a href="http://sites.google.com/support/bin/answer.py?hl=en&amp;answer=99448"&gt;change the URL&lt;/a&gt;, just waiting on the CNAME changes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-6532789907667741970?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/6532789907667741970/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/01/google-sites-for-quick-and-easy.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/6532789907667741970'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/6532789907667741970'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/01/google-sites-for-quick-and-easy.html' title='Google Sites for quick and easy websites'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4438099303023592298.post-6931681767989059099</id><published>2010-01-02T13:51:00.032-05:00</published><updated>2010-01-03T11:53:09.428-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='singleton method'/><category scheme='http://www.blogger.com/atom/ns#' term='private method'/><category scheme='http://www.blogger.com/atom/ns#' term='testing'/><category scheme='http://www.blogger.com/atom/ns#' term='eigenmethod'/><title type='text'>Ruby: testing private methods</title><content type='html'>Sometimes you want to test a private method. You can make your method public and ignore the principle of encapsulation, or use &lt;a href="http://jasonrudolph.com/blog/2007/11/02/evan-phoenix-on-testing-private-methods-in-ruby/" target="_blank"&gt;this nice trick&lt;/a&gt;. &lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush: ruby"&gt;&lt;![CDATA[&lt;br /&gt;class Ninja&lt;br /&gt;  private &lt;br /&gt;    def a_very_private_method&lt;br /&gt;      puts "Yikes! This is supposed to be private!"&lt;br /&gt;    end&lt;br /&gt;end&lt;br /&gt;]]&gt;&lt;/script&gt;&lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush: ruby"&gt;&lt;![CDATA[&lt;br /&gt;baby_ninja = Ninja.new&lt;br /&gt;&lt;br /&gt;&gt;&gt; baby_ninja.a_very_private_method&lt;br /&gt;NoMethodError: undefined method `a_very_private_method' for #&lt;Ninja:0x56075c&gt;&lt;br /&gt;]]&gt;&lt;/script&gt;&lt;br /&gt;As expected, a private method cannot be accessed. &lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush: ruby"&gt;&lt;![CDATA[&lt;br /&gt;def baby_ninja.a_very_private_method_publicly(*args)&lt;br /&gt;  the_super_private_method(*args)&lt;br /&gt;end&lt;br /&gt;]]&gt;&lt;/script&gt;&lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush: ruby"&gt;&lt;![CDATA[&lt;br /&gt;&gt;&gt; baby_ninja.a_very_private_method_publicly&lt;br /&gt;Yikes! This is supposed to be private!&lt;br /&gt;=&gt; nil&lt;br /&gt;]]&gt;&lt;/script&gt;   &lt;br /&gt;Wait a second. How does that work? Ruby allows you to define methods for an object, a so called singleton method. After instantiating an object, you can define a method for it. Within the singleton method, self is the instantiated object, so you can access its private methods. &lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush: ruby"&gt;&lt;![CDATA[&lt;br /&gt;def baby_ninja.what_is_going_on&lt;br /&gt;  puts "I can access #{self}'s private methods"&lt;br /&gt;  private_methods.sort&lt;br /&gt;end&lt;br /&gt;]]&gt;&lt;/script&gt;&lt;br /&gt;&lt;script type="syntaxhighlighter" class="brush: ruby"&gt;&lt;![CDATA[&lt;br /&gt;&gt;&gt; baby_ninja.what_is_going_on&lt;br /&gt;I can access #&lt;Ninja:0x56075c&gt;'s private methods&lt;br /&gt;=&gt; ["Array", "Float", "Integer", "Rational", "String", "URI", "`", "a_very_private_method", "abort", "at_exit", "autoload", "autoload?", "binding", "block_given?", "callcc", "caller", "catch", "chomp", "chomp!", "chop", "chop!", "eval", "exec", "exit", "exit!", "fail", "fork", "format", "gem", "gem_original_require", "getc", "gets", "global_variables", "gsub", "gsub!", "initialize", "initialize_copy", "irb_binding", "iterator?", "lambda", "load", "local_variables", "loop", "method_missing", "open", "p", "print", "printf", "proc", "putc", "puts", "raise", "rand", "readline", "readlines", "remove_instance_variable", "require", "scan", "select", "set_trace_func", "singleton_method_added", "singleton_method_removed", "singleton_method_undefined", "sleep", "split", "sprintf", "srand", "sub", "sub!", "syscall", "system", "test", "the_super_private_method", "throw", "timeout", "trace_var", "trap", "untrace_var", "warn", "y"]&lt;br /&gt;]]&gt;&lt;/script&gt;&lt;br /&gt;Mystery solved.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4438099303023592298-6931681767989059099?l=mathandprogramming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mathandprogramming.blogspot.com/feeds/6931681767989059099/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mathandprogramming.blogspot.com/2010/01/ruby-testing-private-methods.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/6931681767989059099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4438099303023592298/posts/default/6931681767989059099'/><link rel='alternate' type='text/html' href='http://mathandprogramming.blogspot.com/2010/01/ruby-testing-private-methods.html' title='Ruby: testing private methods'/><author><name>Fhinkel</name><uri>http://www.blogger.com/profile/08427164295562597632</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_5tv6kVzVuJE/Sz-etAYby4I/AAAAAAAAAAo/3NkR6NOnRpc/S220/1194986474801021798smiley120.svg.med.png'/></author><thr:total>0</thr:total></entry></feed>
