<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>jjfoley.me</title>
    <description>Website</description>
    <link>https://jjfoley.me/</link>
    <atom:link href="https://jjfoley.me/feed.xml" rel="self" type="application/rss+xml"/>
    <pubDate>Tue, 04 Nov 2025 18:00:10 +0000</pubDate>
    <lastBuildDate>Tue, 04 Nov 2025 18:00:10 +0000</lastBuildDate>
    <generator>Jekyll v3.10.0</generator>
    
      <item>
        <title>New year, new job</title>
        <description>&lt;p&gt;When 2024 started, I was working hard with my team on a new product launch for Fortanix. Their leadership switched focus to AI after that launch, and that product hasn’t been announced.&lt;/p&gt;

&lt;p&gt;I joined Second Front Systems in August, taking an observability focused role at a company that works to help startups gain approval to sell in military and government contexts; with a strong emphasis on security. I studied for and passed my &lt;a href=&quot;https://www.credly.com/badges/524a8599-2631-4ddf-9c75-863e640658c7/public_url&quot;&gt;CompTIA Security+&lt;/a&gt; exam; and for a while I was an admin on an official government network. I also helped build out a scrubbing service and pipeline for removing sensitive data from alerts in high security systems so they could be monitored from insecure systems, like slack or email.&lt;/p&gt;

&lt;p&gt;Around November, I was contacted by the head of AI at Valence; Jeff Dalton, who was a senior graduate student when I started my PhD at UMass Amherst. Long story short, the folks at Valence convinced me to move jobs again, and I find myself working on classification, evaluation, and LLMs, now branded as Generative AI, but the technology is pretty much the same as it was when transformers and attention came onto the research scene seven years ago.&lt;/p&gt;

&lt;p&gt;In a time of economic and political uncertainty, I’m lucky to have some job options and a founding-role in a startup that seems to have a strong, valid business use-case for large-language models.&lt;/p&gt;
</description>
        <pubDate>Sun, 02 Feb 2025 04:00:00 +0000</pubDate>
        <link>https://jjfoley.me/2025/02/02/new-year-new-job.html</link>
        <guid isPermaLink="true">https://jjfoley.me/2025/02/02/new-year-new-job.html</guid>
        
        <category>life</category>
        
        
      </item>
    
      <item>
        <title>Writing to /dev/null</title>
        <description>&lt;h1 id=&quot;devnull&quot;&gt;/dev/null&lt;/h1&gt;

&lt;p&gt;For the unfamiliar, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/dev/null&lt;/code&gt; is an example character device on linux. That is, it’s a file that’s not a file, but a device, used for communicating with the kernel (one of the lowest level of hardware control) from user space (where your apps live).&lt;/p&gt;

&lt;p&gt;You can &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;fwrite&lt;/code&gt; to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/dev/null&lt;/code&gt; all you want, nobody’s listening. This is often used in bash scripts, to redirect errors or output you don’t want to see away from the terminal.&lt;/p&gt;

&lt;h1 id=&quot;people-read-this-sometimes&quot;&gt;People read this sometimes&lt;/h1&gt;

&lt;p&gt;I definitely do a double-take anytime someone in the real world mentions browsing my website, my github, or particularly my blog. The first time it happened was at TREC, where another team found my articles on experiments we did on TREC News &lt;a href=&quot;https://jjfoley.me/2019/07/24/trec-news-bm25.html&quot;&gt;filtering by time&lt;/a&gt; and &lt;a href=&quot;https://jjfoley.me/2019/08/06/clickbait.html&quot;&gt;clickbait&lt;/a&gt;… like all academics, my need to gather citations and build reputation led me to even build bibtex into this blog template.&lt;/p&gt;

&lt;p&gt;Certainly, there’s a link to my website on my mastodon, github, and resumé so of course, so occasionally I interview with people or discuss with real human beings something they read on my website. Always a strange experience.&lt;/p&gt;

&lt;h1 id=&quot;my-fullbright-student-has-a-blog&quot;&gt;My fullbright student has a blog&lt;/h1&gt;

&lt;p&gt;My former student May is working on computer science education in the Dominican Republic, and keeping track of the journey on her blog:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;I love telling people how I feel and what I am thinking about, specially with my intended audience: friends and mentors. This blog will likely be tells of personal struggles, identity crises, cultural nuances and just, things that happen. All of those experiences will, of course, inform and sway the research in different ways …&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href=&quot;https://mayelinepenacabrer.wixsite.com/mays-fulbright/post/welcome-to-my-fulbright-journey-bridging-gender-gap-with-code-in-dominican-republic&quot;&gt;May’s Fulbright Journey&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Enjoy the 1-3 extra views per year, May. When you make it big, I’ll expect referral codes.&lt;/p&gt;
</description>
        <pubDate>Fri, 25 Oct 2024 04:00:00 +0000</pubDate>
        <link>https://jjfoley.me/2024/10/25/dev-null.html</link>
        <guid isPermaLink="true">https://jjfoley.me/2024/10/25/dev-null.html</guid>
        
        <category>life</category>
        
        
      </item>
    
      <item>
        <title>Linux on my 2017 Macbook Air</title>
        <description>&lt;p&gt;My 2017 Macbook Air has seen better days. I bought it in 2018, knowing that I would be starting teaching at Smith College in the fall, and wanting access to both Powerpoint and the terminal.&lt;/p&gt;

&lt;p&gt;In Summer 2020, the Zoom app started causing kernel panics. Unable to find any information about this crash on the internet, I assumed there was a hardware failure, and put the laptop (sadly) into a pile of hardware that couldn’t be trusted to teach online, which was quite the requirement at the time.&lt;/p&gt;

&lt;p&gt;I pulled it out that fall to do Nanowrimo, since I preferred the keyboard (and still do) to many more modern designs.&lt;/p&gt;

&lt;p&gt;Having had a hardware catastrophe in the family, and rarely using my own personal computers anymore, I traded the newer laptop to another human, and pulled out my elderly laptop into more frequent usage.&lt;/p&gt;

&lt;p&gt;And boy, does MacOS rot once it stops being supported. The behavior of trying to reopen the apps you had open every time you log in; the plague of Microsoft auto-updaters, and other software desperately trying to update in the background…&lt;/p&gt;

&lt;h2 id=&quot;installing-linux-on-the-2017-macbook-air&quot;&gt;Installing Linux on the 2017 Macbook Air&lt;/h2&gt;

&lt;p&gt;Anyway, I installed linux. I had the latest &lt;a href=&quot;https://pop.system76.com/&quot;&gt;Pop-OS&lt;/a&gt; (the 22.04 version) sitting around on a flash drive.&lt;/p&gt;

&lt;p&gt;It went pretty smoothly, with two exceptions, both of which are due to the broadcom wifi: Oh, Broadcom Wifi, I remember your pains from 2009. Suffice to say that the landscape has changed a lot since then.&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;The wifi did not work on the live-CD, but I have a little USB TP-link adapter that plays very nice with Linux.&lt;/li&gt;
  &lt;li&gt;I needed to switch to the proprietary &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wl&lt;/code&gt; driver, which meant downloading it (see point 1) and preventing the in-tree drivers from loading.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2 id=&quot;preferring-the-proprietary-broadcom-driver&quot;&gt;Preferring the Proprietary Broadcom Driver&lt;/h2&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;lspci | &lt;span class=&quot;nb&quot;&gt;grep &lt;/span&gt;BCM
&lt;span class=&quot;nb&quot;&gt;sudo &lt;/span&gt;rmmod b43
&lt;span class=&quot;nb&quot;&gt;sudo &lt;/span&gt;rmmod bcma
&lt;span class=&quot;nb&quot;&gt;sudo &lt;/span&gt;vim /etc/modprobe.d/blacklist.conf
&lt;span class=&quot;c&quot;&gt;# blacklist bcma&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# blacklist b43&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;sudo &lt;/span&gt;apt &lt;span class=&quot;nb&quot;&gt;install &lt;/span&gt;broadcom-sta-dkms 
&lt;span class=&quot;nb&quot;&gt;sudo &lt;/span&gt;modprobe wl
&lt;span class=&quot;nb&quot;&gt;sudo &lt;/span&gt;vim /etc/modules 
&lt;span class=&quot;c&quot;&gt;# wl&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;update-nov-2024-webcam&quot;&gt;Update (Nov 2024): webcam&lt;/h2&gt;

&lt;p&gt;I claimed everything worked under linux, but I haven’t gotten the magical incantation for the webcam right yet.&lt;/p&gt;
</description>
        <pubDate>Fri, 25 Oct 2024 04:00:00 +0000</pubDate>
        <link>https://jjfoley.me/2024/10/25/linx-macbook.html</link>
        <guid isPermaLink="true">https://jjfoley.me/2024/10/25/linx-macbook.html</guid>
        
        <category>life</category>
        
        
      </item>
    
      <item>
        <title>No Test for Maturity: Lead Climbing and Tech Interviews</title>
        <description>&lt;h1 id=&quot;rock-climbing-is-dangerous&quot;&gt;Rock climbing is dangerous&lt;/h1&gt;

&lt;p&gt;My partner and I have been climbing since 2018; for me it’s been one of the best ways to keep up the muscle mass in my hands and arms to compensate for my particular brand of repetitive strain injuries: without exercise, my hand muscles disappear, and I begin to feel pain from relying on tendons to do basic, day-to-day activities, like typing.&lt;/p&gt;

&lt;p&gt;I was not good at rock climbing when we started. Despite doing yoga quite regularly at the time, and being in the best running shape of my life; I really struggled with building the muscles in my hands – still do – I actually own a hand dynamometer, something that I was introduced to by my hand therapist; and after years of climbing, I can proudly say that after &lt;em&gt;years of climbing&lt;/em&gt; my grip strength has basically approached normal human grip strength for my age. My rock climbing friends can output almost double-that level of pressure; and with more endurance.&lt;/p&gt;

&lt;p&gt;But I loved yoga, and climbing pretty quickly. So I watched &lt;a href=&quot;https://www.youtube.com/playlist?list=PLBCRwO0FN0zMTqSfFW9SMbK2tncTrI25r&quot;&gt;&lt;em&gt;the masterclass&lt;/em&gt; (youtube)&lt;/a&gt;. I learned a lot of technique to get the weight off my hands and into my feet. I got a pulley injury, climbing a V1 while tired. I’m generally too afraid to boulder really hard; the first time I went to the top of a V3, I flashed it; I don’t like climbing up things I don’t think I can down-climb.&lt;/p&gt;

&lt;p&gt;So we finally, after many years – and the COVID-hiatus almost everyone took – signed up for the lead class.&lt;/p&gt;

&lt;p&gt;Lead climbing is the form of climbing most common outdoors; you tie into rope, and bring it up with you, clipping into safety points as you go. If you slip and fall before you have enough safety points; you can get seriously hurt. If you clip in wrong, the rope can pop out as you fall. If you step wrong, you can get tangled in the rope as you fall. If you weigh more than your belayer; they’ll go flying into the air if you fall.&lt;/p&gt;

&lt;p&gt;It’s dangerous.&lt;/p&gt;

&lt;p&gt;At the end of the lead class, our instructor sat down the group to tell them that taking the class was no guarantee we would pass the test. Four hours of training did not make us experts. Lead climbing is still incredibly dangerous, and treating it lightly can literally cost you your life.&lt;/p&gt;

&lt;p&gt;We listened carefully to our instructor’s stories. He warned us that most people do not pass the test on their first try. If they do well enough, they may be granted conditional approval to lead climb in the gym for a day, where they can focus on what they are not doing safely.&lt;/p&gt;

&lt;p&gt;The next day, I walked in the gym and told our instructor that we were ready to fail the test for the first time.&lt;/p&gt;

&lt;p&gt;We passed.&lt;/p&gt;

&lt;p&gt;We’re not perfect climbers. I almost skipped a clip on my climb (the first two are very close together) but I caught myself, and so I can still be considered to hvae passed. My belaying motion is still robotic, still not smooth enough for the climber. I don’t enjoy falling.&lt;/p&gt;

&lt;h1 id=&quot;swe-interviews-and-maturity&quot;&gt;SWE Interviews and Maturity&lt;/h1&gt;

&lt;p&gt;Climbing aside, the thing that stood out in my mind was that the lead instructor was attempting to test for the same things I think we should interview for in tech.&lt;/p&gt;

&lt;p&gt;We have convoluted coding, system design, and behavioral expectations of candidates, in a make-believe environment that doesn’t feel like reality. The stress of having someone watch you does not make most people better coders, or better engineers. Worse still, the average interviewer is evaluating you on some arbitrary problem they always give, or they suffered through in an interview once.&lt;/p&gt;

&lt;p&gt;Maturity.&lt;/p&gt;

&lt;p&gt;The thing we want to test for is maturity. My gym wants to pass people who don’t think they’re great lead climbers after four hours. They want to pass people who take the danger seriously and try to improve. Our gym staff knows we will climb the same easy climb over and over until clipping becomes second nature and missing a clip is no longer a concern.&lt;/p&gt;

&lt;p&gt;Maturity is what I look for in senior software engineers. I told a number of my teammates what I’m looking for in leading or owning an initiative: you don’t have to know all the answers, or solve it by yourself, or even solve it without asking for help.&lt;/p&gt;

&lt;p&gt;You need to know what you know. You need to know when you need help. And you need to ask good questions. When the ticket is vague; you should take steps to update the description yourself; to identify experts who can help you narrow down the problem.&lt;/p&gt;

&lt;p&gt;As an engineering lead who was interviewing for senior candidates, I want to work with &lt;em&gt;mature&lt;/em&gt; engineers who can own things without solving everything – I can’t solve everything either!&lt;/p&gt;

&lt;p&gt;Lead climbing will literally cause you bodily injury if you’re overconfident, and yet you can’t be so nervous you’ll get overtired and make stress mistakes.&lt;/p&gt;

&lt;p&gt;Software engineering can have very real consequences for people in the world; usually those we do not know.&lt;/p&gt;

&lt;p&gt;They are not the same. But the similarities really resonated for me when listening to the instructor try to explain what they’re trying to accomplish with the lead test.&lt;/p&gt;

&lt;p&gt;There’s no quick test for maturity. We rely on our flawed impressions of people, and bias and confusion and the test itself creeps in; making this determination really difficult.&lt;/p&gt;

&lt;p&gt;If you find yourself giving an interview, and &lt;em&gt;all&lt;/em&gt; you do is pull the “appropriate-level” leetcode question, or give the same question you always give… maybe ask yourself what you’re testing for. Why is that a measure of worth to you? Is it even a measure of worth? What are you looking for in candidates?&lt;/p&gt;

&lt;p&gt;Maybe there’s a better way to use that time.&lt;/p&gt;
</description>
        <pubDate>Fri, 07 Jun 2024 04:00:00 +0000</pubDate>
        <link>https://jjfoley.me/2024/06/07/maturity.html</link>
        <guid isPermaLink="true">https://jjfoley.me/2024/06/07/maturity.html</guid>
        
        <category>industry</category>
        
        <category>life</category>
        
        <category>climbing</category>
        
        <category>interviews</category>
        
        
      </item>
    
      <item>
        <title>June</title>
        <description>&lt;h1 id=&quot;work-updates&quot;&gt;Work updates&lt;/h1&gt;

&lt;p&gt;We launched some significant new features this year; I’m a co-discoverer of my very first &lt;a href=&quot;https://github.com/rustls/rustls/security/advisories/GHSA-6g7w-8wpp-frhj#event-170317&quot;&gt;CVE in rustls&lt;/a&gt; – debugging that in our test environment was quite interesting and challenging.&lt;/p&gt;

&lt;p&gt;Life debugging lessons: it’s always somewhere in the riskiest change made recently. For us, it was the new&lt;em&gt;ish&lt;/em&gt; TLS library that was the breadcrumb.&lt;/p&gt;

&lt;p&gt;As of March, I’m now a “Technical Director”, which is Fortanix-speak for something like a Staff or Principal Engineer. I’m frequently meeting with product, marketing, leadership, reporting on progress, discussing how to implement bigger picture items, and that has been both challenging and rewarding.&lt;/p&gt;

&lt;h1 id=&quot;life-updates&quot;&gt;Life updates&lt;/h1&gt;

&lt;p&gt;One of my former Smith students came up with a proposal and received the &lt;a href=&quot;https://us.fulbrightonline.org/&quot;&gt;Fulbright&lt;/a&gt; which is kind of a BIG DEAL, and I’m incredibly proud of her. I’m delighted to still be in touch with a number of my former students.&lt;/p&gt;

&lt;p&gt;Central Rock Gym, where I climb frequently, runs a “mile high challenge” every year; due to some work travel, my partner and I finished this month-long challenge (climb 5,280 feet; a typical climbing wall is between 30 and 50ft tall) in about a week. It was really tough, but we did it!&lt;/p&gt;

&lt;p&gt;We now have a metal roof, because asphalt roofs are designed to fail every 12-15 years and are terrible for the environment. With a lifetime estimate of 50 years, we should basically never have to replace it. Once all the inspections are done, we’ll have a bunch of solar panels clipped to the roof.&lt;/p&gt;

&lt;p&gt;I feel like all search engines have gotten noticeably worse recently. Perhaps some of it is the content on the internet degrading in quality; but I like to be able to ask the internet simple factoid questions, like the temperature which to cook certain meats without the risk of getting a disease for either my computer or my stomach.&lt;/p&gt;

&lt;h1 id=&quot;reflections&quot;&gt;Reflections&lt;/h1&gt;

&lt;p&gt;I’ve been looking over some of my digital archive; and found a pile of quotes I loved as a high school student. It’s been fun to look over some of my earlier creativity and reflect.&lt;/p&gt;

&lt;blockquote&gt;&quot;Peor será esto que los molinos de viento -- dijo Sancho --&quot; &lt;br /&gt; - Cervantes&lt;/blockquote&gt;

&lt;p&gt;I loved learning Spanish and the bits of Don Quijote that we read. One of my lifelong regrets is that I received a 5/5 on the AP Spanish Language exam and I didn’t need to continue studying it in college; I’d earned all the credits I could. Apologies for the humblebrag, but what else is a blog for?&lt;/p&gt;
</description>
        <pubDate>Fri, 07 Jun 2024 04:00:00 +0000</pubDate>
        <link>https://jjfoley.me/2024/06/07/lessons.html</link>
        <guid isPermaLink="true">https://jjfoley.me/2024/06/07/lessons.html</guid>
        
        <category>industry</category>
        
        <category>life</category>
        
        
      </item>
    
      <item>
        <title>New year thoughts</title>
        <description>&lt;p&gt;Life has been quite the blur since 2020. In 2022, I left academia for industry, joined Fortanix, broke my ankle while teaching in Alaska, and my partner and I worked to figure out the new directions in our lives.&lt;/p&gt;

&lt;p&gt;In 2023, I learned a lot about security and cryptography through my work, and got promoted to Sr. Software Engineer.&lt;/p&gt;

&lt;p&gt;I’ve never moved so much in a year before; we spent a chunk of the winter in Maine, and then moved to an apartment in Worcester in the Spring, sold our house in VT, and then bought a house in Worcester, and begin some fairly extensive renovations on it. I sincerely hope to never pack all of our stuff and move again.&lt;/p&gt;

&lt;p&gt;I have become a person who is terrible at checking, keeping track of, and answering my personal email, which has been kind of a shock to my self-identity; I’m usually so organized, but a lot of that energy has gone to our personal projects, moving, and work.&lt;/p&gt;

&lt;p&gt;The dog has determined that we live to serve him. He’s taken to sitting down in the living room in the evenings, and pointing his nose towards the mantle above the fireplace, where we used to keep some of his treats. He’ll make eye contact with you if you take too long or say no, and then point at the mantle, as though we’re just too stupid to understand what he wants, and not telling him that he’s objectively still overweight and he doesn’t need any more treats.&lt;/p&gt;

&lt;p&gt;I don’t normally set out goals for the year, and haven’t really been one for new year resolutions, but I’m hoping that 2024 can be a better year for those I know, and for the world.&lt;/p&gt;
</description>
        <pubDate>Thu, 18 Jan 2024 23:50:00 +0000</pubDate>
        <link>https://jjfoley.me/2024/01/18/updates.html</link>
        <guid isPermaLink="true">https://jjfoley.me/2024/01/18/updates.html</guid>
        
        <category>industry</category>
        
        <category>life</category>
        
        
      </item>
    
      <item>
        <title>The Job Lottery</title>
        <description>&lt;p&gt;When I realized I was leaving academia, I had an idea of the direction I wanted to go. According to the StackOverflow survey (many years running), &lt;a href=&quot;https://www.rust-lang.org/&quot;&gt;Rust&lt;/a&gt; is the most loved language amongst respondents.&lt;/p&gt;

&lt;p&gt;My job search began by searching for job openings mentioning Rust, crossing out the jobs that were cryptocurrency, and applying to the remaining jobs. In an almost poetic turn of events, I believe that &lt;a href=&quot;https://www.fortanix.com&quot;&gt;Fortanix&lt;/a&gt; was the very first job I applied to. In the weeks that followed, I applied to other places, reached out to peers from graduate school, and thought about what I wanted.&lt;/p&gt;

&lt;p&gt;On July 1, I started at Fortanix. I’m not empowered to speak for them, but the t-shirt that arrived today talks of “Data-First Multicloud Security”. It’s very cool stuff, and it’s giving me the chance to “become” more of a security person. I’ve written some C code, but am now on a new project and am writing backend Rust code. It’s been a refreshing change.&lt;/p&gt;

&lt;p&gt;One of my personal goals for switching to industry was to rebuild and maintain healthier life habits. I’m cooking more frequently, and have been going regularly to the climbing gym since the job started. Compared to academia, it’s refreshing to see how quiet the company slack is on weekends and holidays.&lt;/p&gt;

&lt;p&gt;Again, I do not speak for Fortanix, my thoughts are my own, but I’m certainly happy getting the ability to learn from security experts and code in Rust full time.&lt;/p&gt;

&lt;p&gt;Teaching is not over for me, but I’m not sure I’m rushing back to academia. We adopted a 6.5 year old rescue dog named Doug in January, and he wants me to work from home. He’s cute enough to get what he wants most of the time.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/static/doug-couch.jpg&quot; alt=&quot;Doug on the couch demanding I take standup with him rather than at my desk&quot; width=&quot;250&quot; /&gt;&lt;/p&gt;

&lt;p&gt;My partner is working out the last few details with her likely destination, but it’s freeing to know that my job will continue remote-first even if she takes an opportunity in a different location than we were originally planning.&lt;/p&gt;

&lt;p&gt;Maybe now I’ll start making progress on that data structures textbook I always talked about.&lt;/p&gt;
</description>
        <pubDate>Tue, 30 Aug 2022 14:33:35 +0000</pubDate>
        <link>https://jjfoley.me/2022/08/30/the-job-lottery.html</link>
        <guid isPermaLink="true">https://jjfoley.me/2022/08/30/the-job-lottery.html</guid>
        
        <category>industry</category>
        
        <category>rust</category>
        
        
      </item>
    
      <item>
        <title>Leaving Middlebury College</title>
        <description>&lt;p&gt;One might say that it is not possible to leave an academic position (even temporarily) without writing a blog post about it. I suppose many people do leave academia without writing about it, but I’ve been meaning to write more blog posts for about two years now, and so here goes.&lt;/p&gt;

&lt;p&gt;Let me dissuade anyone looking for gossip, I like and respect all of my peers at Middlebury College, and this post will be relatively contentless. I will reflect more on teaching at a small Liberal Arts College (SLAC) in the future.&lt;/p&gt;

&lt;p&gt;The short version of my departure from Middlebury College is this: my partner is not safe or supported in her current academic position, and the realities of the academic job market is that you have little to no control over where you will end up. My colleagues at Middlebury were incredibly supportive of me, and the college as a whole is no stranger to losing faculty whose spouses cannot find satisfying work in rural Vermont.&lt;/p&gt;

&lt;p&gt;I truly enjoy teaching, although, right now, I am desperate for a break.
Like many of my peers (perhaps every faculty member with teaching obligations…), I am currently extremely burned out by trying to deal with the fallout of COVID, student stress levels, and the need to accomodate more situations and learning option variety while dealing with large class sizes.&lt;/p&gt;

&lt;p&gt;I am excited for the remote software engineering opportunity I have lined up to begin in July, but I’m not going to announce my destination on my website or blog nobody reads … at least not until the job actually begins.&lt;/p&gt;

&lt;p&gt;I believe that I will continue teaching in some form. Provided I have the bandwidth at my new position, I hope to adjunct an elective for Middlebury (remotely, if possible) this upcoming year. I’ve already heard from some other offers. While it is unlikely I would be able to succeed on the tenure-track SLAC market if I chose to return from industry, I don’t think I will ever be unable to find some opportunity to teach CS content.&lt;/p&gt;

&lt;p&gt;Middlebury students can always contact me via the &lt;a href=&quot;mailto:midd@jjfoley.me&quot;&gt;midd@jjfoley.me&lt;/a&gt; email address.&lt;/p&gt;
</description>
        <pubDate>Wed, 01 Jun 2022 14:33:35 +0000</pubDate>
        <link>https://jjfoley.me/2022/06/01/departing-midd.html</link>
        <guid isPermaLink="true">https://jjfoley.me/2022/06/01/departing-midd.html</guid>
        
        <category>teaching</category>
        
        <category>industry</category>
        
        <category>slac</category>
        
        
      </item>
    
      <item>
        <title>Empathy for Students, a Listicle.</title>
        <description>&lt;h2 id=&quot;tldr-have-empathy-for-your-students&quot;&gt;TL;DR: Have Empathy for your Students.&lt;/h2&gt;

&lt;p&gt;COVID (and remote learning) has exacerbated economic and social barriers to learning. We have a moral imperative to build as much flexibility into our courses as possible.&lt;/p&gt;

&lt;h2 id=&quot;empathy-for-students-a-listicle&quot;&gt;Empathy for Students: A Listicle&lt;/h2&gt;

&lt;p&gt;I wrote this list of things to do or not do for the fall in part for myself, as I embark on teaching CS1 for the first time. Some things are general to all courses and topics, but I’m mostly thinking about teaching CS.&lt;/p&gt;

&lt;p&gt;2020 is a year of suffering for everyone.&lt;/p&gt;

&lt;p&gt;I see faculty peers suffering. I see students suffering. I see medical professionals suffering.&lt;/p&gt;

&lt;p&gt;We all develop compassion fatigue. It’s hard work to empathize. So I wrote this cheat-sheet, while I have some emotional bandwidth. I have the privilege to think about this, so please copy off of me, and if I’m wrong, please tell me what I missed.&lt;/p&gt;

&lt;h3 id=&quot;1-reduce-inequity-mark-guzdial&quot;&gt;1. Reduce Inequity (Mark Guzdial)&lt;/h3&gt;

&lt;p&gt;In the spirit of copying off of others with good thoughts, you should really check out Mark Guzdial’s thoughts (CACM Article):&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://cacm.acm.org/blogs/blog-cacm/246550-3-proposals-to-change-how-we-teach-computing-in-order-to-reduce-inequality/fulltext&quot;&gt;“3 Proposals to Change How We Teach Computing In Order to Reduce Inequality”&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;His three proposals (each links to blog posts) are:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;a href=&quot;https://computinged.wordpress.com/2020/07/20/proposal-1-to-change-cs-education-to-reduce-inequity-teach-computer-science-to-advantage-the-students-with-less-background/&quot;&gt;Use research-based methods that advantage the least prepared students&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://computinged.wordpress.com/2020/07/27/proposal-2-to-change-cs-education-to-reduce-inequity-stop-allocating-rationing-or-curving-down-grades/&quot;&gt;Make the highest grades achievable by all students&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://computinged.wordpress.com/2020/07/30/proposal-3-to-change-cs-education-to-reduce-inequity-call-a-truce-on-academic-misconduct-cases-on-programming-assignments/&quot;&gt;Call a truce on prosecuting plagiarism on programming assignments&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I fully agree with his proposals, and I’m not going to go over that content here, I merely wish to ensure there is well-researched content before I go adding my own uncited anecdotes and opinions.&lt;/p&gt;

&lt;h3 id=&quot;2-believe-students-when-their-internet-doesnt-work&quot;&gt;2. Believe Students when their Internet Doesn’t Work.&lt;/h3&gt;

&lt;p&gt;The quality of your access correlates VERY STRONGLY with the wealth of your neighborhood, and therefore your family. In my more-synchronous class this past Spring, I frequently had internet access issues – living in the same apartment I rented as a “poor”-ish graduate student. My students had worse.&lt;/p&gt;

&lt;p&gt;We ran a lot of those sections voice-only with Google Docs as backup notes for discussion.&lt;/p&gt;

&lt;p&gt;As a follow-up to this: plan for failure. Assume they won’t be able to get to Moodle/Canvas/etc. on a deadline. Assume they’re not lying.&lt;/p&gt;

&lt;p&gt;What’s your backup-plan?&lt;/p&gt;

&lt;h3 id=&quot;3-prefer-auto-graded-or-self-graded-activities&quot;&gt;3. Prefer Auto-Graded or Self-Graded Activities&lt;/h3&gt;

&lt;p&gt;Because I made my larger Spring course auto-graded (simplifying a bit of some assignments), I was able to say “Yes” to every request for an extension before grades closed.&lt;/p&gt;

&lt;p&gt;In my opinion, this positive (saying “Yes” to extensions) vastly outweighs the negatives.&lt;/p&gt;

&lt;h3 id=&quot;4-dont-brag-about-your-zoom-background&quot;&gt;4. Don’t Brag About Your Zoom Background.&lt;/h3&gt;

&lt;p&gt;I know not all students can afford computers that support real-time image processing of their camera feed, because my MacBook Air (2017) could not.&lt;/p&gt;

&lt;p&gt;A ~2-year old ~$900 laptop couldn’t handle it. That’s still a good laptop for students.&lt;/p&gt;

&lt;h3 id=&quot;5-dont-require-synchronous-video-from-students&quot;&gt;5. Don’t Require Synchronous Video from Students.&lt;/h3&gt;

&lt;p&gt;No access to Zoom background editing means that students with the least means must let strangers view into their homes when you demand their video be on.&lt;/p&gt;

&lt;p&gt;If you, as a faculty member, wouldn’t do it, why would you ask a student to do it?&lt;/p&gt;

&lt;p&gt;Be open to working around your student’s constraints and be mindful of what you ask them to do.&lt;/p&gt;

&lt;h3 id=&quot;6-dont-assume-students-have-your-workspace-ac&quot;&gt;6. Don’t Assume Students Have Your Workspace (A/C)&lt;/h3&gt;

&lt;p&gt;You are a professor and you are significantly more likely than your students to (1) own a house or a nice apartment, and (2) have central air.&lt;/p&gt;

&lt;p&gt;As a graduate student, my apartment could not comfortably support air conditioning because of the old wiring and this didn’t matter until 2020.&lt;/p&gt;

&lt;p&gt;Since March, I could not go to the library. Or to work. Or to a public restaurant. My partner and I were trapped in our overheated apartment with no chance to cool down and recover.&lt;/p&gt;

&lt;p&gt;Access to cool spaces for most people has disappeared. This will affect the beginning of the Fall Semester. You know what makes heat worse? Running Zoom for hours on end (See #4,5)&lt;/p&gt;

&lt;h3 id=&quot;7-dont-assume-students-have-your-workspace-sqft&quot;&gt;7. Don’t Assume Students Have Your Workspace (SqFt)&lt;/h3&gt;

&lt;p&gt;You know what helps people work? Quiet.&lt;/p&gt;

&lt;p&gt;Do you know where quiet comes from? Space.&lt;/p&gt;

&lt;p&gt;Do you know where space comes from? Money.&lt;/p&gt;

&lt;p&gt;Your rich students &lt;strong&gt;&lt;em&gt;already have their own apartments paid by their parents&lt;/em&gt;&lt;/strong&gt; if they weren’t welcome back to campus.&lt;/p&gt;

&lt;p&gt;Meanwhile, one of my former students is doing a remote internship from her kitchen table. She will do all of Fall 2020 in full view of her family, without a private, quiet space to participate in coursework.&lt;/p&gt;

&lt;p&gt;Don’t make it any harder for her to earn her grades than her peers.&lt;/p&gt;

&lt;h3 id=&quot;8-be-flexible-on-deadlines&quot;&gt;8. Be flexible on deadlines.&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Your students will be caregivers AND bread-winners, too.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Whether they are parenting or educating their siblings, or their relatives are sick, or their paycheck is necessary to pay the bills, the quiz you want to be due on Friday at 5pm is a MASSIVE problem for someone, through no fault of their own.&lt;/p&gt;

&lt;p&gt;Be flexible on deadlines.&lt;/p&gt;

&lt;h3 id=&quot;9-dont-force-your-students-to-engage-with-covid-examples&quot;&gt;9. Don’t Force Your Students To Engage With COVID Examples.&lt;/h3&gt;

&lt;p&gt;There’s some cool stuff out there about how we can more efficiently use COVID testing resources to test more people if we do logarithmic grouping of samples, like binary search. Thanks, ACM TechNews.&lt;/p&gt;

&lt;p&gt;I’ve gone back and forth on this, but part of the reason I can think that’s cool is because I have not yet lost any loved ones to COVID.&lt;/p&gt;

&lt;p&gt;Can you or your students say the same? This is a traumatic time. Respect that.&lt;/p&gt;

&lt;p&gt;I’m planning to mark videos or examples that reference COVID, and make sure students know they’re optional. They can come back, if they like, in their own time.&lt;/p&gt;

&lt;h3 id=&quot;10-build-social-connections-with-and-between-your-students&quot;&gt;10. Build Social Connections with and between your students!&lt;/h3&gt;

&lt;p&gt;One of the reasons I’m willing to get a 12th Slack instance for the Fall is because I will have ~60 students who have probably not interacted meaningfully with anyone their age for months.&lt;/p&gt;

&lt;p&gt;Students starting College now will struggle to make friends and connections in a way that (probably?) nobody fully understands.&lt;/p&gt;

&lt;p&gt;Email &amp;amp; Piazza don’t build social bonds. Without social bonds, your students will be more stressed out (at least!).&lt;/p&gt;

&lt;p&gt;One of my regrets about using only Email &amp;amp; Piazza for my large class last Spring was that I had no informal means of communication with students. To ask “How are you doing?” I needed to write an email. To get a response, they had to write an email to an authority figure.&lt;/p&gt;

&lt;p&gt;With Slack, I can post “Today I feel…” and have those who feel comfortable react with Emoji.&lt;/p&gt;

&lt;h2 id=&quot;if-you-do-nothing-else-be-honest&quot;&gt;If you do nothing else, be honest.&lt;/h2&gt;

&lt;p&gt;Admit that everyone is stressed out and this sucks.&lt;/p&gt;

&lt;p&gt;Nobody wants to learn remotely. Nobody wants to have their lives threatened by a disease we still don’t have control over.&lt;/p&gt;

&lt;p&gt;Things are really hard, and isolation, financial stress, sickness, loss of loved ones, and whatever else has been happening in peoples’ lives is REALLY HARD.&lt;/p&gt;

&lt;p&gt;Your students know this. Tell them you know it, too. And make your course policies reflect it.&lt;/p&gt;
</description>
        <pubDate>Mon, 03 Aug 2020 04:00:00 +0000</pubDate>
        <link>https://jjfoley.me/2020/08/03/empathy.html</link>
        <guid isPermaLink="true">https://jjfoley.me/2020/08/03/empathy.html</guid>
        
        <category>teaching</category>
        
        <category>remote-learning</category>
        
        <category>CSEd</category>
        
        
      </item>
    
      <item>
        <title>Letter to Smith Students</title>
        <description>&lt;div class=&quot;align-right&quot;&gt;
&lt;address class=&quot;letter-from&quot;&gt;
John &quot;JJ&quot; Foley&lt;br /&gt;
Visiting Assistant Professor&lt;br /&gt;
Smith College  &lt;br /&gt;
Fall 2018-Spring 2020 &lt;br /&gt;
&lt;a href=&quot;mailto:smith@jjfoley.me&quot;&gt;smith@jjfoley.me&lt;/a&gt;
&lt;/address&gt;
&lt;/div&gt;

&lt;p&gt;Dear Smith Students,&lt;/p&gt;

&lt;p&gt;My time as a Visiting Assistant Professor at Smith College is coming to an end. This fall, I will be starting as a tenure-track Assistant Professor of Computer Science at Middlebury College in Vermont. My partner will be starting a similar job at the University of Vermont, nearby. We are excited to have secured tenure-track jobs in a beautiful location but are sad to leave Northampton, and our current communities.&lt;/p&gt;

&lt;p&gt;When I accepted this position at Smith, I was quickly and warmly welcomed to the community by the students – first at the presentation of the Major in Spring 2018, and then at HackSmith, and then when I started – teaching data structures – the next fall.&lt;/p&gt;

&lt;p&gt;It has been my great honor and privilege to spend these semesters at Smith, teaching and learning with you, the students. The conversations I have had with you have forever improved my teaching and my research; I could not imagine being hired for my new job without the experiences we had together.&lt;/p&gt;

&lt;p&gt;Due to the unprecedented situation we find ourselves in, I am unable to invite you all to stop by my office during the rest of the year, or to bribe you with Oreos one last time – I will have to eat them by myself. I hope &amp;amp; plan to visit Smith around next year’s Spring Break (2021).&lt;/p&gt;

&lt;p&gt;My job at Smith officially ends on 30 June 2020, and at some point, my official email address will be removed – but – I hope and expect that some of you will want to ask for advice, letters of recommendation, or just generally, to keep in touch.&lt;/p&gt;

&lt;p&gt;We professors love hearing from students. You can reach me in the future through the &lt;a href=&quot;mailto:smith@jjfoley.me&quot;&gt;smith@jjfoley.me&lt;/a&gt; address – which I own and will keep operating indefinitely.&lt;/p&gt;

&lt;div class=&quot;signature&quot;&gt;
Thank you, &lt;br /&gt;
JJ
&lt;/div&gt;
</description>
        <pubDate>Mon, 27 Apr 2020 04:00:00 +0000</pubDate>
        <link>https://jjfoley.me/2020/04/27/dear-smith-students.html</link>
        <guid isPermaLink="true">https://jjfoley.me/2020/04/27/dear-smith-students.html</guid>
        
        <category>teaching</category>
        
        <category>smith</category>
        
        
      </item>
    
  </channel>
</rss>
