1<!DOCTYPE html><html lang="en" class="" style="scroll-padding:60px"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1"/><title>Fernando's website.</title><meta property="og:title" content="Fernando's website."/><meta name="generator" content="mystmd"/><meta name="description" content="My personal and professional Website."/><meta property="og:description" content="My personal and professional Website."/><meta name="keywords" content=""/><meta name="image" content="/build/top_mountains_clouds-64dba35bb29dabdeb0f5d5ebfc566a0a.jpg"/><meta property="og:image" content="/build/top_mountains_clouds-64dba35bb29dabdeb0f5d5ebfc566a0a.jpg"/><link rel="stylesheet" href="/build/_assets/app-HG4THSM4.css"/><link rel="stylesheet" href="/build/_assets/thebe-core-VKVHG5VY.css"/><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/css/mpl_widget.css"/><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.css"/><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.css" integrity="sha384-MlJdn/WNKDGXveldHDdyRP1R4CTHr3FeuDNfhsLPYrq2t0UBkUdK2jyTnXPEK1NQ" crossorigin="anonymous"/><link rel="icon" href="/favicon.ico"/><link rel="stylesheet" href="/myst-theme.css"/>
1<script> 2 const savedTheme = localStorage.getItem("myst:theme"); 3 const theme = window.matchMedia("(prefers-color-scheme: light)").matches ? 'light' : 'dark'; 4 const classes = document.documentElement.classList; 5 const hasAnyTheme = classes.contains('light') || classes.contains('dark'); 6 if (!hasAnyTheme) classes.add(savedTheme ?? theme); 7</script>
7</head><body class="m-0 transition-colors duration-500 bg-white dark:bg-stone-900"><div class="fixed top-1 left-1 h-[0px] w-[0px] focus-within:z-40 focus-within:h-auto focus-within:w-auto bg-white overflow-hidden focus-within:p-2 focus-within:ring-1" aria-label="skip to content options"><a href="#skip-to-frontmatter" class="block px-2 py-1 text-black underline">Skip to article frontmatter</a><a href="#skip-to-article" class="block px-2 py-1 text-black underline">Skip to article content</a></div><div class="bg-white/80 backdrop-blur dark:bg-stone-900/80 shadow dark:shadow-stone-700 p-3 md:px-8 sticky w-screen top-0 z-30 h-[60px]"><nav class="flex items-center justify-between flex-nowrap max-w-[1440px] mx-auto"><div class="flex flex-row xl:min-w-[19.5rem] mr-2 sm:mr-7 justify-start items-center shrink-0"><div class="block xl:hidden"><button class="flex items-center border-stone-400 text-stone-800 hover:text-stone-900 dark:text-stone-200 hover:dark:text-stone-100"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon" width="2rem" height="2rem" class="m-1"><path fill-rule="evenodd" d="M3 6.75A.75.75 0 0 1 3.75 6h16.5a.75.75 0 0 1 0 1.5H3.75A.75.75 0 0 1 3 6.75ZM3 12a.75.75 0 0 1 .75-.75h16.5a.75.75 0 0 1 0 1.5H3.75A.75.75 0 0 1 3 12Zm0 5.25a.75.75 0 0 1 .75-.75h16.5a.75.75 0 0 1 0 1.5H3.75a.75.75 0 0 1-.75-.75Z" clip-rule="evenodd"></path></svg><span class="sr-only">Open Menu</span></button></div><a class="flex items-center ml-3 dark:text-white w-fit md:ml-5 xl:ml-7" href="/"><div class="p-1 mr-3 dark:bg-white dark:rounded"><img src="/build/fperez-tiny-bw-f257da4cde964e4ae06f7210c9146393.png" class="h-9" height="2.25rem"/></div><span class="text-md sm:text-xl tracking-tight sm:mr-5 sr-only">Made with MyST</span></a></div><div class="flex items-center flex-grow w-auto"><div class="flex-grow hidden text-md lg:block"><div class="relative inline-block mx-2 grow-0"><a class="inline-flex items-center justify-center w-full mx-2 py-1 text-md font-medium dark:text-white focus:outline-none focus-visible:ring-2 focus-visible:ring-white focus-visible:ring-opacity-75" href="/research">Science</a></div><div class="relative inline-block mx-2 grow-0"><a class="inline-flex items-center justify-center w-full mx-2 py-1 text-md font-medium dark:text-white focus:outline-none focus-visible:ring-2 focus-visible:ring-white focus-visible:ring-opacity-75" href="/teaching">Teaching</a></div><div class="relative inline-block mx-2 grow-0"><a class="inline-flex items-center justify-center w-full mx-2 py-1 text-md font-medium dark:text-white focus:outline-none focus-visible:ring-2 focus-visible:ring-white focus-visible:ring-opacity-75" href="/py4science">Code</a></div><div class="relative inline-block mx-2 grow-0"><a class="inline-flex items-center justify-center w-full mx-2 py-1 text-md font-medium dark:text-white focus:outline-none focus-visible:ring-2 focus-visible:ring-white focus-visible:ring-opacity-75" href="/about">About</a></div></div><div class="flex-grow block"></div><button type="button" aria-haspopup="dialog" aria-expanded="false" aria-controls="radix-:R3iop:" data-state="closed" class="flex items-center h-10 aspect-square sm:w-64 text-left text-gray-400 border border-gray-300 dark:border-gray-600 rounded-lg bg-gray-50 dark:bg-gray-700 hover:ring-blue-500 dark:hover:ring-blue-500 hover:border-blue-500 dark:hover:border-blue-500"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon" class="p-2.5 h-10 w-10 aspect-square"><path fill-rule="evenodd" d="M10.5 3.75a6.75 6.75 0 1 0 0 13.5 6.75 6.75 0 0 0 0-13.5ZM2.25 10.5a8.25 8.25 0 1 1 14.59 5.28l4.69 4.69a.75.75 0 1 1-1.06 1.06l-4.69-4.69A8.25 8.25 0 0 1 2.25 10.5Z" clip-rule="evenodd"></path></svg><span class="hidden sm:block grow">Search</span><div aria-hidden="true" class="items-center hidden mx-1 font-mono text-sm text-gray-400 sm:flex gap-x-1"><kbd class="px-2 py-1 border border-gray-300 dark:border-gray-600 rounded-md shadow-[0px_2px_0px_0px_rgba(0,0,0,0.08)] dark:shadow-none hide-mac">CTRL</kbd><kbd class="px-2 py-1 border border-gray-300 dark:border-gray-600 rounded-md shadow-[0px_2px_0px_0px_rgba(0,0,0,0.08)] dark:shadow-none show-mac">â</kbd><kbd class="px-2 py-1 border border-gray-300 dark:border-gray-600 rounded-md shadow-[0px_2px_0px_0px_rgba(0,0,0,0.08)] dark:shadow-none ">K</kbd>
7<script> 8;(() => { 9const script = document.currentScript; 10const root = script.parentElement; 11 12const isMac = /mac/i.test( 13 window.navigator.userAgentData?.platform ?? window.navigator.userAgent, 14 ); 15root.querySelectorAll(".hide-mac").forEach(node => {node.classList.add(isMac ? "hidden" : "block")}); 16root.querySelectorAll(".show-mac").forEach(node => {node.classList.add(!isMac ? "hidden" : "block")}); 17})()</script>
17</div></button><button class="theme rounded-full aspect-square border border-stone-700 dark:border-white hover:bg-neutral-100 border-solid overflow-hidden text-stone-700 dark:text-white hover:text-stone-500 dark:hover:text-neutral-800 w-8 h-8 mx-3" title="Toggle theme between light and dark mode." aria-label="Toggle theme between light and dark mode."><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon" class="h-full w-full p-0.5 hidden dark:block"><path fill-rule="evenodd" d="M9.528 1.718a.75.75 0 0 1 .162.819A8.97 8.97 0 0 0 9 6a9 9 0 0 0 9 9 8.97 8.97 0 0 0 3.463-.69.75.75 0 0 1 .981.98 10.503 10.503 0 0 1-9.694 6.46c-5.799 0-10.5-4.7-10.5-10.5 0-4.368 2.667-8.112 6.46-9.694a.75.75 0 0 1 .818.162Z" clip-rule="evenodd"></path></svg><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon" class="h-full w-full p-0.5 dark:hidden"><path stroke-linecap="round" stroke-linejoin="round" d="M12 3v2.25m6.364.386-1.591 1.591M21 12h-2.25m-.386 6.364-1.591-1.591M12 18.75V21m-4.773-4.227-1.591 1.591M5.25 12H3m4.227-4.773L5.636 5.636M15.75 12a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0Z"></path></svg></button><div class="block sm:hidden"><div class="relative" data-headlessui-state=""><div><button class="flex text-sm bg-transparent rounded-full focus:outline-none" id="headlessui-menu-button-:Rdiop:" type="button" aria-haspopup="menu" aria-expanded="false" data-headlessui-state=""><span class="sr-only">Open Menu</span><div class="flex items-center text-stone-200 hover:text-white"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon" width="2rem" height="2rem" class="p-1"><path fill-rule="evenodd" d="M10.5 6a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Zm0 6a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Zm0 6a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Z" clip-rule="evenodd"></path></svg></div></button></div></div></div><div class="hidden sm:block"><a href="https://fdoperez.blogspot.com" target="_blank" rel="noopener noreferrer" class="inline-block px-4 py-2 mx-1 mt-0 leading-none border rounded text-md border-stone-700 dark:border-white text-stone-700 dark:text-white hover:text-stone-500 dark:hover:text-neutral-800 hover:bg-neutral-100">Blog</a></div></div></nav></div><div class="fixed xl:article-grid grid-gap xl:w-screen xl:pointer-events-none overflow-auto max-xl:min-w-[300px] hidden z-10" style="top:60px"><div class="pointer-events-auto xl:col-margin-left flex-col overflow-hidden hidden xl:flex"><div class="flex-grow py-6 overflow-y-auto primary-scrollbar"><nav aria-label="Navigation" class="overflow-y-hidden transition-opacity ml-3 xl:ml-0 mr-3 max-w-[350px] lg:hidden"><div class="w-full px-1 dark:text-white"><a class="p-2 my-1 rounded-lg hover:bg-slate-300/30 block break-words focus:outline outline-blue-200 outline-2 rounded" href="/research">Science</a><a class="p-2 my-1 rounded-lg hover:bg-slate-300/30 block break-words focus:outline outline-blue-200 outline-2 rounded" href="/teaching">Teaching</a><a class="p-2 my-1 rounded-lg hover:bg-slate-300/30 block break-words focus:outline outline-blue-200 outline-2 rounded" href="/py4science">Code</a><a class="p-2 my-1 rounded-lg hover:bg-slate-300/30 block break-words focus:outline outline-blue-200 outline-2 rounded" href="/about">About</a></div></nav><div class="my-3 border-b-2 lg:hidden"></div><nav aria-label="Table of Contents" class="flex-grow overflow-y-hidden transition-opacity ml-3 xl:ml-0 mr-3 max-w-[350px]"><div class="w-full px-1 dark:text-white"><a title="Fernando's website." aria-current="page" class="block break-words focus:outline outline-blue-200 outline-2 rounded p-2 my-1 rounded-lg bg-blue-300/30 font-bold active" href="/">Fernando's website.</a><a title="News" class="block break-words focus:outline outline-blue-200 outline-2 rounded p-2 my-1 rounded-lg hover:bg-slate-300/30" href="/news">News</a><div data-state="closed" class="w-full"><div class="flex flex-row w-full gap-2 px-2 my-1 text-left rounded-lg outline-none hover:bg-slate-300/30"><div title="Science" class="block break-words rounded py-2 grow cursor-pointer">Science</div>
17<button class="self-center flex-none rounded-md group hover:bg-slate-300/30 focus:outline outline-blue-200 outline-2" aria-label="Open Folder" type="button" aria-controls="radix-:Rfd8p:" aria-expanded="false" data-state="closed"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon" class="transition-transform duration-300 group-data-[state=open]:rotate-90 text-text-slate-700 dark:text-slate-100" height="1.5rem" width="1.5rem"><path fill-rule="evenodd" d="M16.28 11.47a.75.75 0 0 1 0 1.06l-7.5 7.5a.75.75 0 0 1-1.06-1.06L14.69 12 7.72 5.03a.75.75 0 0 1 1.06-1.06l7.5 7.5Z" clip-rule="evenodd"></path></svg></button></div><div data-state="closed" id="radix-:Rfd8p:" hidden="" class="pl-3 pr-[2px] collapsible-content"></div></div><div data-state="closed" class="w-full"><div class="flex flex-row w-full gap-2 px-2 my-1 text-left rounded-lg outline-none hover:bg-slate-300/30"><div title="Teaching" class="block break-words rounded py-2 grow cursor-pointer">Teaching</div>
17<button class="self-center flex-none rounded-md group hover:bg-slate-300/30 focus:outline outline-blue-200 outline-2" aria-label="Open Folder" type="button" aria-controls="radix-:Rjd8p:" aria-expanded="false" data-state="closed"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon" class="transition-transform duration-300 group-data-[state=open]:rotate-90 text-text-slate-700 dark:text-slate-100" height="1.5rem" width="1.5rem"><path fill-rule="evenodd" d="M16.28 11.47a.75.75 0 0 1 0 1.06l-7.5 7.5a.75.75 0 0 1-1.06-1.06L14.69 12 7.72 5.03a.75.75 0 0 1 1.06-1.06l7.5 7.5Z" clip-rule="evenodd"></path></svg></button></div><div data-state="closed" id="radix-:Rjd8p:" hidden="" class="pl-3 pr-[2px] collapsible-content"></div></div><div data-state="closed" class="w-full"><div class="flex flex-row w-full gap-2 px-2 my-1 text-left rounded-lg outline-none hover:bg-slate-300/30"><div title="Code" class="block break-words rounded py-2 grow cursor-pointer">Code</div>
17<button class="self-center flex-none rounded-md group hover:bg-slate-300/30 focus:outline outline-blue-200 outline-2" aria-label="Open Folder" type="button" aria-controls="radix-:Rnd8p:" aria-expanded="false" data-state="closed"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon" class="transition-transform duration-300 group-data-[state=open]:rotate-90 text-text-slate-700 dark:text-slate-100" height="1.5rem" width="1.5rem"><path fill-rule="evenodd" d="M16.28 11.47a.75.75 0 0 1 0 1.06l-7.5 7.5a.75.75 0 0 1-1.06-1.06L14.69 12 7.72 5.03a.75.75 0 0 1 1.06-1.06l7.5 7.5Z" clip-rule="evenodd"></path></svg></button></div><div data-state="closed" id="radix-:Rnd8p:" hidden="" class="pl-3 pr-[2px] collapsible-content"></div></div><a title="About Me" class="block break-words focus:outline outline-blue-200 outline-2 rounded p-2 my-1 rounded-lg hover:bg-slate-300/30" href="/about">About Me</a><a title="Contact" class="block break-words focus:outline outline-blue-200 outline-2 rounded p-2 my-1 rounded-lg hover:bg-slate-300/30" href="/contact">Contact</a></div></nav></div><div class="flex-none py-6 transition-all duration-700 translate-y-6 opacity-0"><a class="flex mx-auto text-gray-700 w-fit hover:text-blue-700 dark:text-gray-200 dark:hover:text-blue-400" href="https://mystmd.org/made-with-myst" target="_blank" rel="noreferrer"><svg style="width:24px;height:24px" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" stroke="none"><g id="icon"><path fill="currentColor" d="M23.8,54.8v-3.6l4.7-0.8V17.5l-4.7-0.8V13H36l13.4,31.7h0.2l13-31.7h12.6v3.6l-4.7,0.8v32.9l4.7,0.8v3.6h-15 18 v-3.6l4.9-0.8V20.8H65L51.4,53.3h-3.8l-14-32.5h-0.1l0.2,17.4v12.1l5,0.8v3.6H23.8z"></path><path fill="#F37726" d="M47,86.9c0-5.9-3.4-8.8-10.1-8.8h-8.4c-5.2,0-9.4-1.3-12.5-3.8c-3.1-2.5-5.4-6.2-6.8-11l4.8-1.6 19 c1.8,5.6,6.4,8.6,13.8,8.8h9.2c6.4,0,10.8,2.5,13.1,7.5c2.3-5,6.7-7.5,13.1-7.5h8.4c7.8,0,12.7-2.9,14.6-8.7l4.8,1.6 20 c-1.4,4.9-3.6,8.6-6.8,11.1c-3.1,2.5-7.3,3.7-12.4,3.8H63c-6.7,0-10,2.9-10,8.8"></path></g></svg>
20<span class="self-center ml-2 text-sm">Made with MyST</span></a></div></div></div><article class="article content article-grid grid-gap"><main class="article-grid subgrid-gap col-screen"><div class="hidden"></div><div id="skip-to-article"></div><div class="banner-container"><img id="KHv8MTmWre" style="margin:0 auto" src="/build/top_mountains_clouds-64dba35bb29dabdeb0f5d5ebfc566a0a.jpg" alt="Colorado mountains with clouds" data-canonical-url="resources/top_mountains_clouds.jpg"/><div class="banner-text"><p>Fernando Pérez 21<span class="banner-subtext">open science, open source, data & AI for life on earth</span></p></div></div><aside class="my-5 shadow-md dark:shadow-2xl dark:shadow-neutral-900 bg-gray-50/10 dark:bg-stone-800 overflow-hidden rounded border-l-4 border-amber-600"><div class="m-0 font-medium py-1 flex min-w-0 text-lg text-amber-600 bg-amber-50 dark:bg-slate-900"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon" width="2rem" height="2rem" class="inline-block pl-2 mr-2 self-center flex-none text-amber-600"><path fill-rule="evenodd" d="M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003ZM12 8.25a.75.75 0 0 1 .75.75v3.75a.75.75 0 0 1-1.5 0V9a.75.75 0 0 1 .75-.75Zm0 8.25a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Z" clip-rule="evenodd"></path></svg><div class="text-neutral-900 dark:text-white grow self-center overflow-hidden break-words">Rebuilding with <a target="_blank" rel="noreferrer" href="https://mystmd" class="">MyST</a> - technology from the future!</div></div><div class="px-4 py-1"><p>I am slowly rebuilding my website, as I lost my previous <code>fperez.org</code> domain. I will port some content, while the rest is available at the old site through <a target="_blank" rel="noreferrer" href="https://fperez.github.io/fperez.org" class="">fperez<wbr/>.github<wbr/>.io<wbr/>/fperez<wbr/>.org</a>.</p></div></aside><h1 id="welcome" class="relative group"><span class="heading-text">Welcome</span><a class="no-underline text-inherit hover:text-inherit inline-block w-0 px-0 translate-x-[10px] font-normal select-none transition-opacity opacity-0 focus:opacity-100 group-hover:opacity-70" href="#welcome" title="Link to this Section" aria-label="Link to this Section">¶</a></h1><p>I am an associate professor in the <a target="_blank" rel="noreferrer" href="http://statistics.berkeley.edu" class="">Department of Statistics</a> at UC Berkeley, and a Faculty Scientist at the <a target="_blank" rel="noreferrer" href="https://crd.lbl.gov/departments/data-science-and-technology" class="">Data Science and Technology Division</a> of Lawrence Berkeley National Laboratory. I am the faculty director for the Berkeley Institute for Data Science (<a target="_blank" rel="noreferrer" href="http://bids.berkeley.edu" class="">BIDS</a>), and co-director for the Eric and Wendy Schmidt Center for Data Science & Environment (<a target="_blank" rel="noreferrer" href="https://dse.berkeley.edu/" class="">DSE</a>). I co-founded, and continue to advise, the <a target="_blank" rel="noreferrer" href="https://2i2c.org" class="">International Interactive Computing Collaboration - 2i2c</a>.</p><p>My research interests were shaped by years of working on a number of applied problems in physics, mathematics, neuroscience and earth science. Today, I focus on building open, reproducible science, and scientific uses of AI for problems in earth and the environment, as well as healthcare.</p><p>I am convinced that we need better tools for scientific computing, and that our efforts to build them based on the <a target="_blank" rel="noreferrer" href="http://www.python.org" class="">Python</a> language can make a significant difference to how research is conducted and disseminated. I created the <a target="_blank" rel="noreferrer" href="http://ipython.org" class="">IPython</a> project while a graduate student in 2001, which has now evolved into the large and collaborative <a target="_blank" rel="noreferrer" href="" class="">Project Jupyter</a>
21, where a talented team does all the hard work. I am an active member of the community that creates freely available scientific computing tools around the <a target="_blank" rel="noreferrer" href="http://scientific-python.org" class="">Scientific Python stack</a>.</p><h1 id="news" class="relative group"><span class="heading-text">News</span><a class="no-underline text-inherit hover:text-inherit inline-block w-0 px-0 translate-x-[10px] font-normal select-none transition-opacity opacity-0 focus:opacity-100 group-hover:opacity-70" href="#news" title="Link to this Section" aria-label="Link to this Section">¶</a></h1><dl class="my-5" id="rheBDAVhU3"><dt id="XaRE5fipcO"><strong>March 2013</strong></dt><dd>I was awarded the 2012 <a target="_blank" rel="noreferrer" href="http://www.fsf.org/news/2012-free-software-award-winners-announced-2" class="">Award for the Advancement of Free 22Software</a> 23for the creation of IPython and my contributions to the Open Source 24Scientific Python ecosystem. UC Berkeley also put out a <a target="_blank" rel="noreferrer" href="http://vcresearch.berkeley.edu/news/wresting-new-tricks-python-fernando-perez-wins-2012-award-advancement-free-software" class="">more 25detailed 26release</a>.</dd></dl><details class="my-5 shadow-md dark:shadow-2xl dark:shadow-neutral-900 bg-gray-50/10 dark:bg-stone-800 overflow-hidden rounded border-l-4 border-blue-500 dropdown"><summary class="m-0 font-medium py-1 flex min-w-0 text-lg text-blue-600 bg-blue-50 dark:bg-slate-900 cursor-pointer hover:shadow-[inset_0_0_0px_30px_#00000003] dark:hover:shadow-[inset_0_0_0px_30px_#FFFFFF03]"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon" width="2rem" height="2rem" class="inline-block pl-2 mr-2 self-center flex-none text-blue-600"><path stroke-linecap="round" stroke-linejoin="round" d="m11.25 11.25.041-.02a.75.75 0 0 1 1.063.852l-.708 2.836a.75.75 0 0 0 1.063.853l.041-.021M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9-3.75h.008v.008H12V8.25Z"></path></svg><div class="text-neutral-900 dark:text-white grow self-center overflow-hidden break-words">Photo note: the mountains</div><div class="self-center flex-none text-sm font-thin text-neutral-700 dark:text-neutral-200"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon" width="2rem" height="2rem" class="inline-block pl-2 mr-2 self-center flex-none transition-transform details-toggle"><path fill-rule="evenodd" d="M16.28 11.47a.75.75 0 0 1 0 1.06l-7.5 7.5a.75.75 0 0 1-1.06-1.06L14.69 12 7.72 5.03a.75.75 0 0 1 1.06-1.06l7.5 7.5Z" clip-rule="evenodd"></path></svg></div></summary><div class="px-4 py-1 details-body"><p>The picture at the top is Coloradoâs incredible Continental Divide, specifically the Indian Peaks range, shot from <a target="_blank" rel="noreferrer" href="http://maps.google.com/maps/place?cid=1317471477502605538&q=brainard+lake,+colorado&hl=en" class="">Brainard Lake</a> during a <a target="_blank" rel="noreferrer" href="https://photos.app.goo.gl/a3T1FoFUuaskh41JA" class="">beautiful fall day in 2006</a>. On the descent from that hike I spotted a great-looking <a target="_blank" rel="noreferrer" href="https://photos.app.goo.gl/NQQKFGVR3QklzPZ52" class="">little couloir</a> that provided for a very nice <a target="_blank" rel="noreferrer" href="https://photos.app.goo.gl/NQQKFGVR3QklzPZ52" class="">alpine day</a> one week later. Having that terrain 45 minutes from home is one thing (among many) that makes the Colorado Front Range the most amazing place to live Iâve known.</p></div></details><details class="my-5 shadow-md dark:shadow-2xl dark:shadow-neutral-900 bg-gray-50/10 dark:bg-stone-800 overflow-hidden rounded border-l-4 border-blue-500 dropdown"><summary class="m-0 font-medium py-1 flex min-w-0 text-lg text-blue-600 bg-blue-50 dark:bg-slate-900 cursor-pointer hover:shadow-[inset_0_0_0px_30px_#00000003] dark:hover:shadow-[inset_0_0_0px_30px_#FFFFFF03]"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon" width="2rem" height="2rem" class="inline-block pl-2 mr-2 self-center flex-none text-blue-600"><path stroke-linecap="round" stroke-linejoin="round" d="m11.25 11.25.041-.02a.75.75 0 0 1 1.063.852l-.708 2.836a.75.75 0 0 0 1.063.853l.041-.021M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9-3.75h.008v.008H12V8.25Z"></path></svg><div class="text-neutral-900 dark:text-white grow self-center overflow-hidden break-words">Contact</div>
26<div class="self-center flex-none text-sm font-thin text-neutral-700 dark:text-neutral-200"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon" width="2rem" height="2rem" class="inline-block pl-2 mr-2 self-center flex-none transition-transform details-toggle"><path fill-rule="evenodd" d="M16.28 11.47a.75.75 0 0 1 0 1.06l-7.5 7.5a.75.75 0 0 1-1.06-1.06L14.69 12 7.72 5.03a.75.75 0 0 1 1.06-1.06l7.5 7.5Z" clip-rule="evenodd"></path></svg></div></summary><div class="px-4 py-1 details-body"><p><strong>Email:</strong> <code>fernando.perez-AT-berkeley.edu</code></p><p>Unfortunately I receive far more email than I can manage; I am perennially far behind. For urgent matters that absoultely require a reply, please cc <a target="_blank" rel="noreferrer" href="mailto:[email protected]" class="">fperez.support</a>, who will try to assist.</p><p><strong>Office:</strong> <a target="_blank" rel="noreferrer" href="https://www.berkeley.edu/map/evans-hall" class="">Evans Hall 419</a></p><p><strong>Post</strong></p><div class="relative group not-prose overflow-auto shadow hover:shadow-md dark:shadow-2xl dark:shadow-neutral-900 my-5 text-sm bg-stone-200/10"><pre class="block p-3 hljs" style="background-color:unset"><code class="language-text" style="white-space:pre">Fernando Pérez 27Statistics Department 28367 Evans Hall 29University of California, Berkeley 30Berkeley, CA 94720-3860</code></pre><button title="Copy to Clipboard" class="inline-flex items-center opacity-0 group-hover:opacity-100 hover:opacity-100 focus:opacity-100 active:opacity-100 cursor-pointer ml-2 transition-color duration-200 ease-in-out text-blue-400 hover:text-blue-500 absolute right-1 top-1" aria-pressed="false" aria-label="Copy code to clipboard"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon" width="24" height="24"><path stroke-linecap="round" stroke-linejoin="round" d="M15.75 17.25v3.375c0 .621-.504 1.125-1.125 1.125h-9.75a1.125 1.125 0 0 1-1.125-1.125V7.875c0-.621.504-1.125 1.125-1.125H6.75a9.06 9.06 0 0 1 1.5.124m7.5 10.376h3.375c.621 0 1.125-.504 1.125-1.125V11.25c0-4.46-3.243-8.161-7.5-8.876a9.06 9.06 0 0 0-1.5-.124H9.375c-.621 0-1.125.504-1.125 1.125v3.5m7.5 10.375H9.375a1.125 1.125 0 0 1-1.125-1.125v-9.25m12 6.625v-1.875a3.375 3.375 0 0 0-3.375-3.375h-1.5a1.125 1.125 0 0 1-1.125-1.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H9.75"></path></svg></button></div></div></details><div></div><div class="flex pt-10 mb-10 space-x-4"><a class="flex-1 block p-4 font-normal text-gray-600 no-underline border border-gray-200 rounded shadow-sm group hover:border-blue-600 dark:hover:border-blue-400 hover:text-blue-600 dark:hover:text-blue-400 dark:text-gray-100 dark:border-gray-500 hover:shadow-lg dark:shadow-neutral-700" href="/news"><div class="flex h-full align-middle"><div class="flex-grow"><div class="text-xs text-gray-500 dark:text-gray-400">Fernando's website.</div>News</div><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon" width="1.5rem" height="1.5rem" class="self-center transition-transform group-hover:translate-x-1 shrink-0"><path stroke-linecap="round" stroke-linejoin="round" d="M13.5 4.5 21 12m0 0-7.5 7.5M21 12H3"></path></svg></div></a></div></main></article>
30<script>((a,d)=>{if(!window.history.state||!window.history.state.key){let h=Math.random().toString(32).slice(2);window.history.replaceState({key:h},"")}try{let f=JSON.parse(sessionStorage.getItem(a)||"{}")[d||window.history.state.key];typeof f=="number"&&window.scrollTo(0,f)}catch(h){console.error(h),sessionStorage.removeItem(a)}})("positions", null)</script>
30<link rel="modulepreload" href="/build/entry.client-UNPC4GT3.js"/><link rel="modulepreload" href="/build/_shared/chunk-OCTKKCIL.js"/><link rel="modulepreload" href="/build/_shared/chunk-UAI5KRM7.js"/><link rel="modulepreload" href="/build/_shared/chunk-2NH4LW52.js"/><link rel="modulepreload" href="/build/_shared/chunk-IZFMW3M4.js"/><link rel="modulepreload" href="/build/_shared/chunk-HBJK6BW3.js"/><link rel="modulepreload" href="/build/_shared/chunk-HYMQ7M2K.js"/><link rel="modulepreload" href="/build/_shared/chunk-OHOXABTA.js"/><link rel="modulepreload" href="/build/_shared/chunk-OCWQY3HK.js"/><link rel="modulepreload" href="/build/_shared/chunk-CPTH56EW.js"/><link rel="modulepreload" href="/build/_shared/chunk-3CVK3PYF.js"/><link rel="modulepreload" href="/build/_shared/chunk-J6FHCSRC.js"/><link rel="modulepreload" href="/build/_shared/chunk-S4SWV34C.js"/><link rel="modulepreload" href="/build/_shared/chunk-GUCIBHGO.js"/><link rel="modulepreload" href="/build/root-QGLRP2PL.js"/><link rel="modulepreload" href="/build/_shared/chunk-CB3BH7WY.js"/><link rel="modulepreload" href="/build/routes/_index-VVYA6PKZ.js"/>
30<script>window.__remixContext = {"url":"/","state":{"loaderData":{"root":{"config":{"version":1,"myst":"1.3.25","options":{"favicon":"/build/favicon-067b5fbaeca0b8631c81afc219b510d4.ico","logo":"/build/fperez-tiny-bw-f257da4cde964e4ae06f7210c9146393.png","folders":true,"style":"/build/style-1391629c1ae376ec379334f41afd6433.css"},"nav":[{"title":"Science","url":"/research"},{"title":"Teaching","url":"/teaching"},{"title":"Code","url":"/py4science"},{"title":"About","url":"/about"}],"actions":[{"title":"Blog","url":"https://fdoperez.blogspot.com","internal":false,"static":false}],"projects":[{"license":{"content":{"id":"CC-BY-4.0","url":"https://creativecommons.org/licenses/by/4.0/","name":"Creative Commons Attribution 4.0 International","free":true,"CC":true}},"title":"Fernando's website.","description":"My personal and professional Website.","github":"https://github.com/fperez/fernandoperez.org","id":"91faf804-411b-4761-88ca-7b552cc27bc5","toc":[{"file":"index.md"},{"file":"news.md"},{"children":[{"file":"research/index.md"},{"file":"research/attic.md"},{"file":"papers/index.md"}],"title":"Science"},{"children":[{"file":"teaching/index.md"},{"file":"teaching/scicomp_course.md"},{"file":"teaching/udea_2010.md"},{"file":"teaching/uniandes_2010.md"},{"children":[{"file":"teaching/git-intro/intro.ipynb"},{"file":"teaching/git-intro/configuration.ipynb"},{"file":"teaching/git-intro/local.ipynb"},{"file":"teaching/git-intro/branch.ipynb"},{"file":"teaching/git-intro/remote.ipynb"},{"file":"teaching/git-intro/conflict.ipynb"},{"file":"teaching/git-intro/git-visuals.ipynb"}],"title":"Git"}],"title":"Teaching"},{"children":[{"file":"code/index.md"},{"file":"code/indefero_dreamhost.md"},{"children":[{"file":"py4science/index.md"},{"file":"py4science/code_reviews.md"},{"file":"py4science/decorators.md"},{"file":"py4science/expert_python_programming_review.md"},{"file":"py4science/git.md"},{"file":"py4science/pymvpa_nipy_sprint_200904.md"},{"file":"py4science/starter_kit.md"},{"file":"py4science/warts.md"},{"file":"py4science/why_python.md"},{"file":"py4science/workshop_berkeley_2008.md"},{"file":"py4science/workshop_geilo_2013.md"},{"file":"py4science/workshop_hawaii_2012.md"},{"file":"py4science/profiling/index.md"}],"title":"Py4Science"}],"title":"Code"},{"file":"about.md"},{"file":"contact.md"}],"thumbnail":"/build/top_mountains_clouds-64dba35bb29dabdeb0f5d5ebfc566a0a.jpg","exports":[],"bibliography":[],"index":"index","pages":[{"slug":"news","title":"News","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":1},{"level":1,"title":"Science"},{"slug":"research.index","title":"Research","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":2},{"slug":"research.attic","title":"The research attic","description":"","date":"","thumbnail":"/build/mayavi_snapshot_thum-fc7d54c9cf73a4e19d6c8cc25f88bb87.png","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":2},{"slug":"papers.index","title":"Publication archive","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":2},{"level":1,"title":"Teaching"},{"slug":"teaching.index","title":"Teaching","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":2},{"slug":"teaching.scicomp-course","title":"Modern Scientific Computing","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":2},{"slug":"teaching.udea-2010","title":"Computación cientÃfica moderna","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":2},{"slug":"teaching.uniandes-2010","title":"Conferencia y taller, Universidad de los Andes","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":2},{"level":2,"title":"Git"},{"slug":"teaching.git-intro.intro","title":"An interactive Git Tutorial: the tool you didnât know you needed","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"slug":"teaching.git-intro.configuration","title":"Configuration","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"slug":"teaching.git-intro.local","title":"Local, single-user, linear workflow","description":"","date":"","thumbnail":"/build/commit_anatomy-2d7c967c37f66a5d0bdc87521e19cc6c.png","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"slug":"teaching.git-intro.branch","title":"Local user, branching","description":"","date":"","thumbnail":"/build/masterbranch-e9b77c76d8dc1466c87a0b67d83f8ac8.png","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3}
30,{"slug":"teaching.git-intro.remote","title":"Remotes","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"slug":"teaching.git-intro.conflict","title":"Conflict management","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"slug":"teaching.git-intro.git-visuals","title":"Git Visuals","description":"","date":"","thumbnail":"/build/3def66ecb69d0224b127f6c9e570e10f.png","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"level":1,"title":"Code"},{"slug":"code.index","title":"Software Tools","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":2},{"slug":"code.indefero-dreamhost","title":"Sharing Git repositories on Dreamhost with InDefero","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":2},{"level":2,"title":"Py4Science"},{"slug":"py4science.index","title":"Python for scientific computing","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"slug":"py4science.code-reviews","title":"Code reviews: the lab meeting for code","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"slug":"py4science.decorators","title":"Decorators and execution context","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"slug":"py4science.expert-python-programming-review","title":"Book Review: Expert Python Programming by Tarek Ziadé","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"slug":"py4science.git","title":"Version control with Git: resources","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"slug":"py4science.pymvpa-nipy-sprint-200904","title":"PyMVPA - NiPy week","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"slug":"py4science.starter-kit","title":"Py4Science: a Starter Kit","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"slug":"py4science.warts","title":"Python for scientific computing: a personal list of âwartsâ","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"slug":"py4science.why-python","title":"Why use Python for scientific computing?","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"slug":"py4science.workshop-berkeley-2008","title":"A hands-on 2-day workshop at UC Berkeley","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"slug":"py4science.workshop-geilo-2013","title":"Installation instructions for Geilo Winter School","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"slug":"py4science.workshop-hawaii-2012","title":"A hands-on 2-day Software Carpentry workshop at U. Hawaii","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"slug":"py4science.profiling.index","title":"Profiling Python codes with KCacheGrind","description":"","date":"","thumbnail":"/build/pycachegrind-fdf637b16525eb1bc7cede7f39974a06.png","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"slug":"about","title":"About Me","description":"","date":"","thumbnail":"/build/fperez-headshot-sq-s-4e70cce4b15d00e82c7526a6accbfea3.jpg","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":1},{"slug":"contact","title":"Contact","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":1}]}]},"CONTENT_CDN_PORT":"3100","MODE":"static"},"routes/_index":{"config":{"version":1,"myst":"1.3.25","options":{"favicon":"/build/favicon-067b5fbaeca0b8631c81afc219b510d4.ico","logo":"/build/fperez-tiny-bw-f257da4cde964e4ae06f7210c9146393.png","folders":true,"style":"/build/style-1391629c1ae376ec379334f41afd6433.css"},"nav":[{"title":"Science","url":"/research"},{"title":"Teaching","url":"/teaching"},{"title":"Code","url":"/py4science"},{"title":"About","url":"/about"}],"actions":[{"title":"Blog","url":"https://fdoperez.blogspot.com","internal":false,"static":false}],"projects":[{"license":{"content":{"id":"CC-BY-4.0","url":"https://creativecommons.org/licenses/by/4.0/","name":"Creative
30Commons Attribution 4.0 International","free":true,"CC":true}},"title":"Fernando's website.","description":"My personal and professional Website.","github":"https://github.com/fperez/fernandoperez.org","id":"91faf804-411b-4761-88ca-7b552cc27bc5","toc":[{"file":"index.md"},{"file":"news.md"},{"children":[{"file":"research/index.md"},{"file":"research/attic.md"},{"file":"papers/index.md"}],"title":"Science"},{"children":[{"file":"teaching/index.md"},{"file":"teaching/scicomp_course.md"},{"file":"teaching/udea_2010.md"},{"file":"teaching/uniandes_2010.md"},{"children":[{"file":"teaching/git-intro/intro.ipynb"},{"file":"teaching/git-intro/configuration.ipynb"},{"file":"teaching/git-intro/local.ipynb"},{"file":"teaching/git-intro/branch.ipynb"},{"file":"teaching/git-intro/remote.ipynb"},{"file":"teaching/git-intro/conflict.ipynb"},{"file":"teaching/git-intro/git-visuals.ipynb"}],"title":"Git"}],"title":"Teaching"},{"children":[{"file":"code/index.md"},{"file":"code/indefero_dreamhost.md"},{"children":[{"file":"py4science/index.md"},{"file":"py4science/code_reviews.md"},{"file":"py4science/decorators.md"},{"file":"py4science/expert_python_programming_review.md"},{"file":"py4science/git.md"},{"file":"py4science/pymvpa_nipy_sprint_200904.md"},{"file":"py4science/starter_kit.md"},{"file":"py4science/warts.md"},{"file":"py4science/why_python.md"},{"file":"py4science/workshop_berkeley_2008.md"},{"file":"py4science/workshop_geilo_2013.md"},{"file":"py4science/workshop_hawaii_2012.md"},{"file":"py4science/profiling/index.md"}],"title":"Py4Science"}],"title":"Code"},{"file":"about.md"},{"file":"contact.md"}],"thumbnail":"/build/top_mountains_clouds-64dba35bb29dabdeb0f5d5ebfc566a0a.jpg","exports":[],"bibliography":[],"index":"index","pages":[{"slug":"news","title":"News","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":1},{"level":1,"title":"Science"},{"slug":"research.index","title":"Research","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":2},{"slug":"research.attic","title":"The research attic","description":"","date":"","thumbnail":"/build/mayavi_snapshot_thum-fc7d54c9cf73a4e19d6c8cc25f88bb87.png","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":2},{"slug":"papers.index","title":"Publication archive","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":2},{"level":1,"title":"Teaching"},{"slug":"teaching.index","title":"Teaching","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":2},{"slug":"teaching.scicomp-course","title":"Modern Scientific Computing","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":2},{"slug":"teaching.udea-2010","title":"Computación cientÃfica moderna","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":2},{"slug":"teaching.uniandes-2010","title":"Conferencia y taller, Universidad de los Andes","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":2},{"level":2,"title":"Git"},{"slug":"teaching.git-intro.intro","title":"An interactive Git Tutorial: the tool you didnât know you needed","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"slug":"teaching.git-intro.configuration","title":"Configuration","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"slug":"teaching.git-intro.local","title":"Local, single-user, linear workflow","description":"","date":"","thumbnail":"/build/commit_anatomy-2d7c967c37f66a5d0bdc87521e19cc6c.png","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"slug":"teaching.git-intro.branch","title":"Local user, branching","description":"","date":"","thumbnail":"/build/masterbranch-e9b77c76d8dc1466c87a0b67d83f8ac8.png","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3}
30,{"slug":"teaching.git-intro.remote","title":"Remotes","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"slug":"teaching.git-intro.conflict","title":"Conflict management","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"slug":"teaching.git-intro.git-visuals","title":"Git Visuals","description":"","date":"","thumbnail":"/build/3def66ecb69d0224b127f6c9e570e10f.png","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"level":1,"title":"Code"},{"slug":"code.index","title":"Software Tools","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":2},{"slug":"code.indefero-dreamhost","title":"Sharing Git repositories on Dreamhost with InDefero","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":2},{"level":2,"title":"Py4Science"},{"slug":"py4science.index","title":"Python for scientific computing","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"slug":"py4science.code-reviews","title":"Code reviews: the lab meeting for code","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"slug":"py4science.decorators","title":"Decorators and execution context","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"slug":"py4science.expert-python-programming-review","title":"Book Review: Expert Python Programming by Tarek Ziadé","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"slug":"py4science.git","title":"Version control with Git: resources","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"slug":"py4science.pymvpa-nipy-sprint-200904","title":"PyMVPA - NiPy week","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"slug":"py4science.starter-kit","title":"Py4Science: a Starter Kit","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"slug":"py4science.warts","title":"Python for scientific computing: a personal list of âwartsâ","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"slug":"py4science.why-python","title":"Why use Python for scientific computing?","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"slug":"py4science.workshop-berkeley-2008","title":"A hands-on 2-day workshop at UC Berkeley","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"slug":"py4science.workshop-geilo-2013","title":"Installation instructions for Geilo Winter School","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"slug":"py4science.workshop-hawaii-2012","title":"A hands-on 2-day Software Carpentry workshop at U. Hawaii","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"slug":"py4science.profiling.index","title":"Profiling Python codes with KCacheGrind","description":"","date":"","thumbnail":"/build/pycachegrind-fdf637b16525eb1bc7cede7f39974a06.png","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"slug":"about","title":"About Me","description":"","date":"","thumbnail":"/build/fperez-headshot-sq-s-4e70cce4b15d00e82c7526a6accbfea3.jpg","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":1},{"slug":"contact","title":"Contact","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":1}]}]},"page":{"version":1,"kind":"Article","sha256":"f5b02e15b2d6de85c7ca0dea0e9315ac7ab8bb3e933c8be1007cb0f7a2b1bb7a","slug":"index","location":"/index.md","dependencies":[{"url":"/contact","label":"contact","kind":"Article","slug":"contact","location":"/contact.md"}],"frontmatter":{"title":"Welcome","content_includes_title":true,"site":{"hide_outline":true,"hide_title_block":true},"license":{"content":{"id":"CC-BY-4.0","url":"https://creativecommons.org/licenses/by/4.0/","name":"Creative
30Commons Attribution 4.0 International","free":true,"CC":true}},"github":"https://github.com/fperez/fernandoperez.org","edit_url":"https://github.com/fperez/fernandoperez.org/blob/main/index.md","thumbnail":"/build/top_mountains_clouds-64dba35bb29dabdeb0f5d5ebfc566a0a.jpg","exports":[{"format":"md","filename":"index.md","url":"/build/index-e181e247a97e6589c70840bd6209cca5.md"}]},"mdast":{"type":"root","children":[{"type":"block","children":[{"type":"div","children":[{"type":"image","url":"/build/top_mountains_clouds-64dba35bb29dabdeb0f5d5ebfc566a0a.jpg","alt":"Colorado mountains with clouds","align":"center","class":"banner-image","key":"KHv8MTmWre","urlSource":"resources/top_mountains_clouds.jpg"},{"type":"div","children":[{"type":"paragraph","position":{"start":{"line":20,"column":1},"end":{"line":23,"column":1}},"children":[{"type":"text","value":"Fernando Pérez\n","position":{"start":{"line":20,"column":1},"end":{"line":20,"column":1}},"key":"pm9epIZv3S"},{"type":"span","class":"banner-subtext","children":[{"type":"text","value":"open science, open source, data \u0026 AI for life on earth","key":"EyzeItAKEH"}],"key":"LV06BW0pfK"}],"key":"IUFTo75MkC"}],"class":"banner-text","key":"wH2HRvM7uH"}],"class":"banner-container","key":"W2VtIP9Cxu"},{"type":"admonition","kind":"warning","children":[{"type":"admonitionTitle","children":[{"type":"text","value":"Rebuilding with ","position":{"start":{"line":29,"column":1},"end":{"line":29,"column":1}}
30,"key":"UoZmjnVZIj"},{"type":"link","url":"https://mystmd","position":{"start":{"line":29,"column":1},"end":{"line":29,"column":1}},"children":[{"type":"text","value":"MyST","position":{"start":{"line":29,"column":1},"end":{"line":29,"column":1}},"key":"lM47VlHUvM"}],"urlSource":"https://mystmd","key":"o7a9sivFMh"},{"type":"text","value":" - technology from the future!","position":{"start":{"line":29,"column":1},"end":{"line":29,"column":1}},"key":"GMcCzpXec1"}],"key":"v6aJ3ta6EM"},{"type":"paragraph","position":{"start":{"line":31,"column":1},"end":{"line":31,"column":1}},"children":[{"type":"text","value":"I am slowly rebuilding my website, as I lost my previous ","position":{"start":{"line":31,"column":1},"end":{"line":31,"column":1}},"key":"YCHXELHCma"},{"type":"inlineCode","value":"fperez.org","position":{"start":{"line":31,"column":1},"end":{"line":31,"column":1}},"key":"s4l2W6mUFx"},{"type":"text","value":" domain. I will port some content, while the rest is available at the old site through ","position":{"start":{"line":31,"column":1},"end":{"line":31,"column":1}}
30,"key":"sy80nYpmon"},{"type":"link","url":"https://fperez.github.io/fperez.org","position":{"start":{"line":31,"column":1},"end":{"line":31,"column":1}},"children":[{"type":"text","value":"fperezâ.githubâ.ioâ/fperezâ.org","position":{"start":{"line":31,"column":1},"end":{"line":31,"column":1}},"key":"IZwfgIUv4W"}],"urlSource":"https://fperez.github.io/fperez.org","key":"lkWehGWoaH"},{"type":"text","value":".","position":{"start":{"line":31,"column":1},"end":{"line":31,"column":1}},"key":"gkp32uuNHr"}],"key":"HCfhrZvfv8"}],"key":"UuHw7Sm4af"},{"type":"heading","depth":1,"position":{"start":{"line":35,"column":1},"end":{"line":35,"column":1}},"children":[{"type":"text","value":"Welcome","position":{"start":{"line":35,"column":1},"end":{"line":35,"column":1}},"key":"K3iUprxQD3"}],"identifier":"welcome","label":"Welcome","html_id":"welcome","implicit":true,"key":"g5P6rjEBvc"},{"type":"paragraph","position":{"start":{"line":37,"column":1},"end":{"line":37,"column":1}},"children":[{"type":"text","value":"I am an associate professor in the ","position":{"start":{"line":37,"column":1},"end":{"line":37,"column":1}}
30,"key":"qEgFccW08T"},{"type":"link","url":"http://statistics.berkeley.edu","position":{"start":{"line":37,"column":1},"end":{"line":37,"column":1}},"children":[{"type":"text","value":"Department of Statistics","position":{"start":{"line":37,"column":1},"end":{"line":37,"column":1}},"key":"ilHgSmvOak"}],"urlSource":"http://statistics.berkeley.edu","key":"JnuyGPFiDe"},{"type":"text","value":" at UC Berkeley, and a Faculty Scientist at the ","position":{"start":{"line":37,"column":1},"end":{"line":37,"column":1}},"key":"UhwP2Upql5"},{"type":"link","url":"https://crd.lbl.gov/departments/data-science-and-technology","position":{"start":{"line":37,"column":1},"end":{"line":37,"column":1}},"children":[{"type":"text","value":"Data Science and Technology Division","position":{"start":{"line":37,"column":1},"end":{"line":37,"column":1}},"key":"NDp31iiipY"}],"urlSource":"https://crd.lbl.gov/departments/data-science-and-technology","key":"iOVsaM3m2N"},{"type":"text","value":" of Lawrence Berkeley National Laboratory. I am the faculty director for the Berkeley Institute for Data Science (","position":{"start":{"line":37,"column":1},"end":{"line":37,"column":1}}
30,"key":"vhXpRhBRsh"},{"type":"link","url":"http://bids.berkeley.edu","position":{"start":{"line":37,"column":1},"end":{"line":37,"column":1}},"children":[{"type":"text","value":"BIDS","position":{"start":{"line":37,"column":1},"end":{"line":37,"column":1}},"key":"QsxrZUYalC"}],"urlSource":"http://bids.berkeley.edu","key":"BzHRCWsCYB"},{"type":"text","value":"), and co-director for the Eric and Wendy Schmidt Center for Data Science \u0026 Environment (","position":{"start":{"line":37,"column":1},"end":{"line":37,"column":1}},"key":"HpmvWE9dZb"},{"type":"link","url":"https://dse.berkeley.edu/","position":{"start":{"line":37,"column":1},"end":{"line":37,"column":1}},"children":[{"type":"text","value":"DSE","position":{"start":{"line":37,"column":1},"end":{"line":37,"column":1}},"key":"SCay8o9r4X"}],"urlSource":"https://dse.berkeley.edu/","key":"w8AljHsLVM"},{"type":"text","value":"). I co-founded, and continue to advise, the ","position":{"start":{"line":37,"column":1},"end":{"line":37,"column":1}},"key":"wyY3jiSOJ7"},{"type":"link","url":"https://2i2c.org","position":{"start":{"line":37,"column":1},"end":{"line":37,"column":1}},"children":[{"type":"text","value":"International Interactive Computing Collaboration - 2i2c","position":{"start":{"line":37,"column":1},"end":{"line":37,"column":1}}
30,"key":"NAVSfSztMp"}],"urlSource":"https://2i2c.org","key":"m3jGP43mJx"},{"type":"text","value":".","position":{"start":{"line":37,"column":1},"end":{"line":37,"column":1}},"key":"g8EYEhvTHZ"}],"key":"KU5Bn7i3gz"},{"type":"paragraph","position":{"start":{"line":39,"column":1},"end":{"line":39,"column":1}},"children":[{"type":"text","value":"My research interests were shaped by years of working on a number of applied problems in physics, mathematics, neuroscience and earth science. Today, I focus on building open, reproducible science, and scientific uses of AI for problems in earth and the environment, as well as healthcare.","position":{"start":{"line":39,"column":1},"end":{"line":39,"column":1}},"key":"YpdWyMsCTf"}],"key":"ONZ7uJ4zyE"},{"type":"paragraph","position":{"start":{"line":41,"column":1},"end":{"line":41,"column":1}},"children":[{"type":"text","value":"I am convinced that we need better tools for scientific computing, and that our efforts to build them based on the ","position":{"start":{"line":41,"column":1},"end":{"line":41,"column":1}}
30,"key":"dLemIgyOH6"},{"type":"link","url":"http://www.python.org","position":{"start":{"line":41,"column":1},"end":{"line":41,"column":1}},"children":[{"type":"text","value":"Python","position":{"start":{"line":41,"column":1},"end":{"line":41,"column":1}},"key":"zU8EZmFEUN"}],"urlSource":"http://www.python.org","key":"QT8AEv4TK7"},{"type":"text","value":" language can make a significant difference to how research is conducted and disseminated. I created the ","position":{"start":{"line":41,"column":1},"end":{"line":41,"column":1}},"key":"kB0diPELWZ"},{"type":"link","url":"http://ipython.org","position":{"start":{"line":41,"column":1},"end":{"line":41,"column":1}},"children":[{"type":"text","value":"IPython","position":{"start":{"line":41,"column":1},"end":{"line":41,"column":1}},"key":"UXqQqBNzYi"}],"urlSource":"http://ipython.org","key":"UsP7FryWfw"},{"type":"text","value":" project while a graduate student in 2001, which has now evolved into the large and collaborative ","position":{"start":{"line":41,"column":1},"end":{"line":41,"column":1}}
30,"key":"yOmaKh2ZP6"},{"type":"link","url":"","position":{"start":{"line":41,"column":1},"end":{"line":41,"column":1}},"children":[{"type":"text","value":"Project Jupyter","position":{"start":{"line":41,"column":1},"end":{"line":41,"column":1}},"key":"jYikeEhGqk"}],"urlSource":"","key":"UaVz8PxIg2"},{"type":"text","value":", where a talented team does all the hard work. I am an active member of the community that creates freely available scientific computing tools around the ","position":{"start":{"line":41,"column":1},"end":{"line":41,"column":1}},"key":"Xruok37lcF"},{"type":"link","url":"http://scientific-python.org","position":{"start":{"line":41,"column":1},"end":{"line":41,"column":1}},"children":[{"type":"text","value":"Scientific Python stack","position":{"start":{"line":41,"column":1},"end":{"line":41,"column":1}},"key":"MHr9Fmvlsw"}],"urlSource":"http://scientific-python.org","key":"zfTtqVBDoc"},{"type":"text","value":".","position":{"start":{"line":41,"column":1},"end":{"line":41,"column":1}},"key":"kUSMfdahc3"}],"key":"p4JAb9fV1w"},{"type":"include","file":"news.md","literal":false,"lang":"markdown","filter":{"endBefore":"stop-recent-news"},"children":[{"type":"heading","depth":1,"position":{"start":{"line":1,"column":1},"end":{"line":1,"column":1}},"children":[{"type":"text","value":"News","position":{"start":{"line":1,"column":1},"end":{"line":1,"column":1}}
30,"key":"YFsAIAFThq"}],"identifier":"news","label":"News","html_id":"news","implicit":true,"key":"kh2Py4UlY7"},{"type":"definitionList","position":{"start":{"line":3,"column":1},"end":{"line":12,"column":1}},"children":[{"type":"definitionTerm","position":{"start":{"line":3,"column":1},"end":{"line":2,"column":1}},"children":[{"type":"text","value":"March 2013","position":{"start":{"line":3,"column":1},"end":{"line":3,"column":1}},"key":"YvuRwCLG7e"}],"key":"XaRE5fipcO"},{"type":"definitionDescription","position":{"start":{"line":5,"column":1},"end":{"line":12,"column":1}},"children":[{"type":"text","value":"I was awarded the 2012 ","position":{"start":{"line":5,"column":1},"end":{"line":5,"column":1}},"key":"XW6SJFUJYJ"},{"type":"link","url":"http://www.fsf.org/news/2012-free-software-award-winners-announced-2","position":{"start":{"line":5,"column":1},"end":{"line":5,"column":1}},"children":[{"type":"text","value":"Award for the Advancement of Free\nSoftware","position":{"start":{"line":5,"column":1},"end":{"line":5,"column":1}}
30,"key":"mpQbCqtXwo"}],"urlSource":"http://www.fsf.org/news/2012-free-software-award-winners-announced-2","key":"BR5cPciA5v"},{"type":"text","value":"\nfor the creation of IPython and my contributions to the Open Source\nScientific Python ecosystem. UC Berkeley also put out a ","position":{"start":{"line":5,"column":1},"end":{"line":5,"column":1}},"key":"AGuPNLufiX"},{"type":"link","url":"http://vcresearch.berkeley.edu/news/wresting-new-tricks-python-fernando-perez-wins-2012-award-advancement-free-software","position":{"start":{"line":5,"column":1},"end":{"line":5,"column":1}},"children":[{"type":"text","value":"more\ndetailed\nrelease","position":{"start":{"line":5,"column":1},"end":{"line":5,"column":1}},"key":"ysYb3gpf9d"}],"urlSource":"http://vcresearch.berkeley.edu/news/wresting-new-tricks-python-fernando-perez-wins-2012-award-advancement-free-software","key":"xJwls5Htl1"},{"type":"text","value":".","position":{"start":{"line":5,"column":1},"end":{"line":5,"column":1}},"key":"y1Uv3eeIys"}],"key":"md7ba0GHWG"}],"key":"rheBDAVhU3"},{"type":"comment","position":{"start":{"line":13,"column":1},"end":{"line":13,"column":1}}
30,"key":"X8lkNJLEdy"}],"key":"s0mXn8WUYA"},{"type":"admonition","kind":"note","children":[{"type":"admonitionTitle","children":[{"type":"text","value":"Photo note: the mountains","position":{"start":{"line":48,"column":1},"end":{"line":48,"column":1}},"key":"fa3s4V3H5r"}],"key":"F4AaoreF0r"},{"type":"paragraph","position":{"start":{"line":51,"column":1},"end":{"line":51,"column":1}},"children":[{"type":"text","value":"The picture at the top is Coloradoâs incredible Continental Divide, specifically the Indian Peaks range, shot from ","position":{"start":{"line":51,"column":1},"end":{"line":51,"column":1}},"key":"wzxktzM44c"},{"type":"link","url":"http://maps.google.com/maps/place?cid=1317471477502605538\u0026q=brainard+lake,+colorado\u0026hl=en","position":{"start":{"line":51,"column":1},"end":{"line":51,"column":1}},"children":[{"type":"text","value":"Brainard Lake","position":{"start":{"line":51,"column":1},"end":{"line":51,"column":1}},"key":"ZkZPc1OUPK"}],"urlSource":"http://maps.google.com/maps/place?cid=1317471477502605538\u0026q=brainard+lake,+colorado\u0026hl=en","key":"VmgLzcaRzA"},{"type":"text","value":" during a ","position":{"start":{"line":51,"column":1},"end":{"line":51,"column":1}}
30,"key":"hNxHyURcZ0"},{"type":"link","url":"https://photos.app.goo.gl/a3T1FoFUuaskh41JA","position":{"start":{"line":51,"column":1},"end":{"line":51,"column":1}},"children":[{"type":"text","value":"beautiful fall day in 2006","position":{"start":{"line":51,"column":1},"end":{"line":51,"column":1}},"key":"C8M12bdjWy"}],"urlSource":"https://photos.app.goo.gl/a3T1FoFUuaskh41JA","key":"wJxoezpcZ3"},{"type":"text","value":". On the descent from that hike I spotted a great-looking ","position":{"start":{"line":51,"column":1},"end":{"line":51,"column":1}},"key":"d5noA6hVS4"},{"type":"link","url":"https://photos.app.goo.gl/NQQKFGVR3QklzPZ52","position":{"start":{"line":51,"column":1},"end":{"line":51,"column":1}},"children":[{"type":"text","value":"little couloir","position":{"start":{"line":51,"column":1},"end":{"line":51,"column":1}},"key":"P0yvmsk4WU"}],"urlSource":"https://photos.app.goo.gl/NQQKFGVR3QklzPZ52","key":"mMcKv5EuYf"},{"type":"text","value":" that provided for a very nice ","position":{"start":{"line":51,"column":1},"end":{"line":51,"column":1}}
30,"key":"vTt1fSnqYh"},{"type":"link","url":"https://photos.app.goo.gl/NQQKFGVR3QklzPZ52","position":{"start":{"line":51,"column":1},"end":{"line":51,"column":1}},"children":[{"type":"text","value":"alpine day","position":{"start":{"line":51,"column":1},"end":{"line":51,"column":1}},"key":"xvlDgeeX4A"}],"urlSource":"https://photos.app.goo.gl/NQQKFGVR3QklzPZ52","key":"xiBIoVd5ap"},{"type":"text","value":" one week later. Having that terrain 45 minutes from home is one thing (among many) that makes the Colorado Front Range the most amazing place to live Iâve known.","position":{"start":{"line":51,"column":1},"end":{"line":51,"column":1}},"key":"PqXrNUoOQw"}],"key":"N6ycuDFHdw"}],"class":"dropdown","key":"arQh2ibeiA"},{"type":"embed","source":{"url":"/contact","label":"contact","kind":"Article","slug":"contact","location":"/contact.md"},"children":[{"type":"admonition","kind":"note","children":[{"type":"admonitionTitle","children":[{"type":"text","value":"Contact","position":{"start":{"line":1,"column":1},"end":{"line":1,"column":1}}
30,"key":"K2VMvnSflh"}],"key":"R8slMkU0Vd"},{"type":"paragraph","position":{"start":{"line":5,"column":1},"end":{"line":5,"column":1}},"children":[{"type":"strong","position":{"start":{"line":5,"column":1},"end":{"line":5,"column":1}},"children":[{"type":"text","value":"Email:","position":{"start":{"line":5,"column":1},"end":{"line":5,"column":1}},"key":"oLHNInOPVv"}],"key":"ZJonXWAkwQ"},{"type":"text","value":" ","position":{"start":{"line":5,"column":1},"end":{"line":5,"column":1}},"key":"MnYLJyWTF2"},{"type":"inlineCode","value":"fernando.perez-AT-berkeley.edu","position":{"start":{"line":5,"column":1},"end":{"line":5,"column":1}},"key":"WKehFt8Qm7"}],"key":"KhHrw1dqBj"},{"type":"paragraph","position":{"start":{"line":7,"column":1},"end":{"line":7,"column":1}},"children":[{"type":"text","value":"Unfortunately I receive far more email than I can manage; I am perennially far behind. For urgent matters that absoultely require a reply, please cc ","position":{"start":{"line":7,"column":1},"end":{"line":7,"column":1}},"key":"un4fPsP7Bf"},{"type":"link","url":"mailto:[email protected]","position":{"start":{"line":7,"column":1},"end":{"line":7,"column":1}},"children":[{"type":"text","value":"fperez.support","position":{"start":{"line":7,"column":1},"end":{"line":7,"column":1}}
30,"key":"gu07chR1Co"}],"urlSource":"mailto:[email protected]","key":"SqEw84LznD"},{"type":"text","value":", who will try to assist.","position":{"start":{"line":7,"column":1},"end":{"line":7,"column":1}},"key":"bOwjsiIyA3"}],"key":"GvEZcNg1Vc"},{"type":"paragraph","position":{"start":{"line":9,"column":1},"end":{"line":9,"column":1}},"children":[{"type":"strong","position":{"start":{"line":9,"column":1},"end":{"line":9,"column":1}},"children":[{"type":"text","value":"Office:","position":{"start":{"line":9,"column":1},"end":{"line":9,"column":1}},"key":"AAsI3h1idl"}],"key":"tlM3PFvRGo"},{"type":"text","value":" ","position":{"start":{"line":9,"column":1},"end":{"line":9,"column":1}},"key":"HBi8jd1Ym8"},{"type":"link","url":"https://www.berkeley.edu/map/evans-hall","position":{"start":{"line":9,"column":1},"end":{"line":9,"column":1}},"children":[{"type":"text","value":"Evans Hall 419","position":{"start":{"line":9,"column":1},"end":{"line":9,"column":1}},"key":"udutTMYWjc"}],"urlSource":"https://www.berkeley.edu/map/evans-hall","key":"ZIo5hSUdl2"}],"key":"FT2sXKnA2H"},{"type":"paragraph","position":{"start":{"line":11,"column":1},"end":{"line":11,"column":1}},"children":[{"type":"strong","position":{"start":{"line":11,"column":1},"end":{"line":11,"column":1}},"children":[{"type":"text","value":"Post","position":{"start":{"line":11,"column":1},"end":{"line":11,"column":1}}
30,"key":"JaOwWrQU2W"}],"key":"kY3Ycgw3su"}],"key":"ZdoNYlcIs6"},{"type":"code","lang":"","value":"Fernando Pérez\nStatistics Department\n367 Evans Hall\nUniversity of California, Berkeley\nBerkeley, CA 94720-3860","position":{"start":{"line":13,"column":1},"end":{"line":19,"column":1}},"key":"UYikpBVa7R"}],"class":"dropdown","key":"avDpvifiep"}],"key":"M3QqWtFkT5"}],"key":"Vw1sCvIOwg"}],"key":"H53PSBFoAy"},"references":{"cite":{"order":[],"data":{}}},"footer":{"navigation":{"next":{"title":"News","url":"/news","group":"Fernando's website."}}},"domain":"http://localhost:3000"},"project":{"license":{"content":{"id":"CC-BY-4.0","url":"https://creativecommons.org/licenses/by/4.0/","name":"Creative Commons Attribution 4.0 International","free":true,"CC":true}},"title":"Fernando's website.","description":"My personal and professional Website.","github":"https://github.com/fperez/fernandoperez.org","id":"91faf804-411b-4761-88ca-7b552cc27bc5","toc":[{"file":"index.md"},{"file":"news.md"},{"children":[{"file":"research/index.md"},{"file":"research/attic.md"},{"file":"papers/index.md"}],"title":"Science"},{"children":[{"file":"teaching/index.md"},{"file":"teaching/scicomp_course.md"},{"file":"teaching/udea_2010.md"},{"file":"teaching/uniandes_2010.md"},{"children":[{"file":"teaching/git-intro/intro.ipynb"},{"file":"teaching/git-intro/configuration.ipynb"},{"file":"teaching/git-intro/local.ipynb"},{"file":"teaching/git-intro/branch.ipynb"},{"file":"teaching/git-intro/remote.ipynb"},{"file":"teaching/git-intro/conflict.ipynb"},{"file":"teaching/git-intro/git-visuals.ipynb"}],"title":"Git"}],"title":"Teaching"},{"children":[{"file":"code/index.md"},{"file":"code/indefero_dreamhost.md"},{"children":[{"file":"py4science/index.md"},{"file":"py4science/code_reviews.md"},{"file":"py4science/decorators.md"},{"file":"py4science/expert_python_programming_review.md"},{"file":"py4science/git.md"},{"file":"py4science/pymvpa_nipy_sprint_200904.md"},{"file":"py4science/starter_kit.md"},{"file":"py4science/warts.md"},{"file":"py4science/why_python.md"},{"file":"py4science/workshop_berkeley_2008.md"},{"file":"py4science/workshop_geilo_2013.md"},{"file":"py4science/workshop_hawaii_2012.md"},{"file":"py4science/profiling/index.md"}],"title":"Py4Science"}],"title":"Code"},{"file":"about.md"},{"file":"contact.md"}],"thumbnail":"/build/top_mountains_clouds-64dba35bb29dabdeb0f5d5ebfc566a0a.jpg","exports":[],"bibliography":[],"index":"index","pages":[{"slug":"news","title":"News","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":1},{"level":1,"title":"Science"},{"slug":"research.index","title":"Research","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":2},{"slug":"research.attic","title":"The research attic","description":"","date":"","thumbnail":"/build/mayavi_snapshot_thum-fc7d54c9cf73a4e19d6c8cc25f88bb87.png","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":2},{"slug":"papers.index","title":"Publication archive","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":2},{"level":1,"title":"Teaching"},{"slug":"teaching.index","title":"Teaching","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":2},{"slug":"teaching.scicomp-course","title":"Modern Scientific Computing","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":2},{"slug":"teaching.udea-2010","title":"Computación cientÃfica moderna","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":2},{"slug":"teaching.uniandes-2010","title":"Conferencia y taller, Universidad de los Andes","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":2},{"level":2,"title":"Git"},{"slug":"teaching.git-intro.intro","title":"An interactive Git Tutorial: the tool you didnât know you needed","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"slug":"teaching.git-intro.configuration","title":"Configuration","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"slug":"teaching.git-intro.local","title":"Local, single-user, linear workflow","description":"","date":"","thumbnail":"/build/commit_anatomy-2d7c967c37f66a5d0bdc87521e19cc6c.png","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"slug":"teaching.git-intro.branch","title":"Local user, branching","description":"","date":"","thumbnail":"/build/masterbranch-e9b77c76d8dc1466c87a0b67d83f8ac8.png","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3}
30,{"slug":"teaching.git-intro.remote","title":"Remotes","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"slug":"teaching.git-intro.conflict","title":"Conflict management","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"slug":"teaching.git-intro.git-visuals","title":"Git Visuals","description":"","date":"","thumbnail":"/build/3def66ecb69d0224b127f6c9e570e10f.png","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"level":1,"title":"Code"},{"slug":"code.index","title":"Software Tools","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":2},{"slug":"code.indefero-dreamhost","title":"Sharing Git repositories on Dreamhost with InDefero","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":2},{"level":2,"title":"Py4Science"},{"slug":"py4science.index","title":"Python for scientific computing","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"slug":"py4science.code-reviews","title":"Code reviews: the lab meeting for code","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"slug":"py4science.decorators","title":"Decorators and execution context","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"slug":"py4science.expert-python-programming-review","title":"Book Review: Expert Python Programming by Tarek Ziadé","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"slug":"py4science.git","title":"Version control with Git: resources","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"slug":"py4science.pymvpa-nipy-sprint-200904","title":"PyMVPA - NiPy week","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"slug":"py4science.starter-kit","title":"Py4Science: a Starter Kit","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"slug":"py4science.warts","title":"Python for scientific computing: a personal list of âwartsâ","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"slug":"py4science.why-python","title":"Why use Python for scientific computing?","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"slug":"py4science.workshop-berkeley-2008","title":"A hands-on 2-day workshop at UC Berkeley","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"slug":"py4science.workshop-geilo-2013","title":"Installation instructions for Geilo Winter School","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"slug":"py4science.workshop-hawaii-2012","title":"A hands-on 2-day Software Carpentry workshop at U. Hawaii","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"slug":"py4science.profiling.index","title":"Profiling Python codes with KCacheGrind","description":"","date":"","thumbnail":"/build/pycachegrind-fdf637b16525eb1bc7cede7f39974a06.png","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":3},{"slug":"about","title":"About Me","description":"","date":"","thumbnail":"/build/fperez-headshot-sq-s-4e70cce4b15d00e82c7526a6accbfea3.jpg","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":1},{"slug":"contact","title":"Contact","description":"","date":"","thumbnail":"","thumbnailOptimized":"","banner":"","bannerOptimized":"","tags":[],"level":1}]}}},"actionData":null,"errors":null},"future":{"unstable_dev":false,"unstable_postcss":false,"unstable_tailwind":false,"v2_errorBoundary":true,"v2_headers":true,"v2_meta":true,"v2_normalizeFormMethod":true,"v2_routeConvention":true}};</script>
30<script type="module" async="">import "/build/manifest-B4831781.js"; 31import * as route0 from "/build/root-QGLRP2PL.js"; 32import * as route1 from "/build/routes/_index-VVYA6PKZ.js"; 33window.__remixRouteModules = {"root":route0,"routes/_index":route1}; 34 35import("/build/entry.client-UNPC4GT3.js");</script>
35</body></html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.