admin

Twitter and Facebook moderating Trump campaign accounts on Covid-19 misinformation

Heather Kelly in the Washington Post:

Facebook and Twitter on Wednesday took extraordinary action against President Trump for spreading coronavirus misinformation after his official and campaign accounts broke their rules, respectively.

Facebook removed from Trump’s official account the post of a video clip from a Fox News interview in which he said children are “almost immune” from covid-19. Twitter required his Team Trump campaign account to delete a tweet with the same video, blocking it from tweeting in the interim.

In the removed video, President Trump can be heard in a phone interview saying schools should open. He goes on to say, “If you look at children, children are almost — and I would almost say definitely — but almost immune from this disease,” and that they have stronger immune systems.

The source video, however, is still on YouTube. It’s simply not true that children are immune from the disease, nor should we forget that there are children and adults in schools.

Apple Pledges to Be Carbon Neutral by 2030

Sarah E. Needleman in the Wall Street Journal:

Apple Inc. is pledging to become carbon neutral across its business, including its mostly overseas supply chain, within the next 10 years, the latest corporate giant planning to shift its operations to battle climate change.

The iPhone maker said Tuesday that the new commitment means that by 2030, every Apple device sold will have been produced with no net release of carbon into the atmosphere. The company plans to reduce its emissions by 75% and develop carbon-removal solutions for the remaining 25% of its footprint.

Apple said its global corporate operations are already carbon neutral and that all of its iPhone, iPad, Mac and Apple Watch devices released in the past year are made with some recycled content.

This move doesn’t directly address the right to repair, though in part feels like an attempt to fight off right to repair legislation. But to Apple’s credit, this extends on their commitments in 2017 to make their supply chain a “closed loop.” Plus, Apple is pretty good about encouraging people to hold onto their devices even as it introduces new ones every year: the next version of iOS will run on five year old phones, and macOS Big Sur will run on seven year old Macs.

Twitter Begins Limiting the Spread of QAnon Conspiracy Theories

Ben Collins and Brandy Zadrozny:

Twitter will stop recommending accounts and content related to QAnon, including material in email and follow recommendations, and it will take steps to limit circulation of content in features like trends and search. The action will affect about 150,000 accounts, said a spokesperson, who asked to remain unnamed because of concerns about the targeted harassment of social media employees.

The spokesperson said that as part of its new policy, the company had taken down more than 7,000 QAnon accounts in the last few weeks for breaking its rules on targeted harassment.

The sweeping enforcement action will ban QAnon-related terms from appearing in trending topics and the platform’s search feature, ban known QAnon-related URLs and prohibit “swarming” of people who are baselessly targeted by coordinated harassment campaigns pushed by QAnon followers.

This has crossed over from Internet fringe to real-world violent extremism, so it’s a welcome step from Twitter.

John Lewis Dies at 80

Tamar Hallerman in the Atlanta Journal-Constitution:

In June 1963, [John Lewis] moved to Atlanta, the headquarters of SNCC, taking up residence in a sparse second-floor walk-up in the southwest corner of the city. He had barely unpacked his bags before he and other civil rights leaders were invited to White House. President John F. Kennedy, who would be assassinated a few months later, had concerns about the impending march.

The peaceful event drew more than 200,000 people to the National Mall, all pushing for more federal attention to the electoral, social and economic plight of African Americans. That muggy August day lives on in America’s collective memory as the day King articulated his dream for an equal society. But Lewis, then 23, delivered the event’s most controversial address, rife with frustration and anger at the “cheap politicians” whose inaction perpetuated inequality. The Kennedy administration and march leaders implored him to soften the speech at the eleventh hour.

“To those who have said, ‘Be patient and wait,’ we must say that ‘patience is a dirty and nasty word,’” Lewis stated in his original speech. “We cannot be patient, we do not want to be free gradually. We want our freedom, and we want it now.”

The crowd’s applause interrupted Lewis 14 times.

Barack Obama:

I first met John when I was in law school, and I told him then that he was one of my heroes. Years later, when I was elected a U.S. Senator, I told him that I stood on his shoulders. When I was elected President of the United States, I hugged him on the inauguration stand before I was sworn in and told him I was only there because of the sacrifices he made. And through all those years, he never stopped providing wisdom and encouragement to me and Michelle and our family. We will miss him dearly.

Superfund Package

Mainly based on some of my own research, but also as a resource for teaching, I pulled together a small data package for R a little while ago called SuperfundR. It contains Superfund site data for the United States that pulls data from the Environmental Protection Agency, and does some normalization to keep things tidy. I plan to keep things up-to-date for a while, and if I have a chance maybe I’ll write up a walkthrough on creating R data packages. The main table looks something like this.
library(tidyverse)
library(superfundr)
superfunds
#> # A tibble: 66,386 x 20
#> site_name epa_id city county state zipcode region npl_status
#> <chr> <chr> <chr> <chr> <chr> <chr> <dbl> <chr> 
#> 1 ATLAS TA… MAD00… FAIR… BRIST… MA 02719 1 Currently…
#> 2 ATLAS TA… MAD00… FAIR… BRIST… MA 02719 1 Currently…
#> 3 ATLAS TA… MAD00… FAIR… BRIST… MA 02719 1 Currently…
#> 4 ATLAS TA… MAD00… FAIR… BRIST… MA 02719 1 Currently…
#> 5 ATLAS TA… MAD00… FAIR… BRIST… MA 02719 1 Currently…
#> 6 ATLAS TA… MAD00… FAIR… BRIST… MA 02719 1 Currently…
#> 7 ATLAS TA… MAD00… FAIR… BRIST… MA 02719 1 Currently…
#> 8 ATLAS TA… MAD00… FAIR… BRIST… MA 02719 1 Currently…
#> 9 ATLAS TA… MAD00… FAIR… BRIST… MA 02719 1 Currently…
#> 10 ATLAS TA… MAD00… FAIR… BRIST… MA 02719 1 Currently…
#> # … with 66,376 more rows, and 12 more variables:
#> # superfund_agreement <chr>, federal_facility <chr>, op_unit_no <dbl>,
#> # seq_id <dbl>, decision_type <chr>, completion_date <dttm>,
#> # fiscal_year <dbl>, media <chr>, contaminant <chr>, address <fct>,
#> # latitude <dbl>, longitude <dbl>
The data is structured just as it comes from the Environmental Protection Agency, which lists out each contaminant at each site. SuperfundR adds additional information from the EPA’s basic spreadsheet, including latitude and longitude coordinates and addresses, and converts data as necessary (title case for text, dates as date objects, etc). This makes it easy to count the number of contaminants across sites.
superfunds %>%
group_by(contaminant) %>%
tally(sort = TRUE)
#> # A tibble: 663 x 2
#> contaminant n
#> <chr> <int>
#> 1 ARSENIC 2667
#> 2 LEAD 2531
#> 3 TRICHLOROETHENE 2049
#> 4 BENZENE 1659
#> 5 TETRACHLOROETHENE 1645
#> 6 CHROMIUM 1589
#> 7 CADMIUM 1538
#> 8 ZINC 1380
#> 9 MANGANESE 1288
#> 10 TOLUENE 1268
#> # … with 653 more rows
Or do things like count the number of active or inactive sites.
superfunds %>%
distinct(site_name, .keep_all = TRUE) %>%
group_by(npl_status) %>%
tally(sort = TRUE)
#> # A tibble: 7 x 2
#> npl_status n
#> <chr> <int>
#> 1 Currently on the Final NPL 1141
#> 2 Deleted from the Final NPL 362
#> 3 Not on the NPL 32
#> 4 Proposed for NPL 3
#> 5 Removed from Proposed NPL 2
#> 6 Site is Part of NPL Site 2
#> 7 <NA> 1
This is an open source project, so I’d welcome any contributions folks would like to make.

Moments

Today is day 44 since my family and I self-isolated at home. We have, for the most part, achieved some sort of normal in our household. Thankfully, our weather has been beautiful in the last week or so. We’ve taken the opportunity to eat meals in the backyard, work outside in the garden, or take walks around the neighborhood.

Through all of this, these small moments have been essential:

  • Taking walks around the neighborhood as a family in the evenings.
  • Clearing and simplifying my at-home workspace.
  • Coffee. Morning and afternoon.
  • Board games with the kids.
  • Daily exercise. The Peloton app and Fitbod have been essential for me.
  • Journaling in Day One.
  • Impromptu phone calls or FaceTime with friends and family.
  • Continuing with my Norwegian language lessons.

As part of this, I also battened down the informational hatches: I’m spending almost no time on Twitter except for some of the Twitter lists I follow. Apple News gets checked once a day, but is otherwise not on my home screens nor is it allowed to send me notifications. I didn’t do this early on, and the never-ending flow of news on COVID-19 was too much. I also think it’s worth seeking out media that give you joy. (Parks and Rec’s S4E11 “The Comeback Kid” is perfect television.)

Basecamp

It’s been quite the week. Today will be the full second week I’ve been self-isolating and working from home, and as of last week most of the staff at UNO Libraries likewise went remote. At the start of next week, UNO is transitioning to online learning for the remainder of the semester. We’ve managed this shift in the library by using Basecamp.   Basecamp We already have a very transparent culture in the library. Our internal wiki, which runs on Confluence, tracks everything from guidelines, to meeting notes, to schedules and events, and much more. All of that content is open for us to read, which really helps out keeping everyone aware of what folks are up to in the library. But being out of the office means we no longer have encounters with each other in the library. Thankfully, we bought a Basecamp license about two years ago as a way to help manage tasks and it’s now become, paired with Confluence, a central place for us to chat and interact with one another.1 So, how’s it working for us? Speaking here as a single contributor (not a director or manager), here’s where I see Basecamp really shining for us.

Communicating clearly

One thing I’ve always admired about Basecamp the company is their commitment to good writing. That commitment is reflected in the design of Basecamp. Basecamp shines as a place for communication. The opportunity for thoughtful writing is everywhere. That to-do item you just created? You can thread conversations below it, all related to that one item. That check-in question you answered? There’s a discussion area for it for others to weigh in. Making a pitch for an idea or project? The Message Board gives you the space to write out detailed thoughts. While we certainly spend plenty of time in the chat—what Basecamp refers to as the Campfire—it’s not the only mode of communication. Basecamp invites longer-form writing more often than it invites short quips. Of course, we break out conversations to a variety of Teams and Projects in Basecamp. So far, our conversations seem to shake out like this: conversations, announcements, or resources for everyone appear in the HQ. Teams serve as a kind of umbrella, more specific than HQ that brings people together that work on a specific thing. In my case, this might mean our Research Data Services Team or my department. Projects get even more specific — while high-level conversations might happen in a Team, the Projects are where the detail goes: more in-depth conversation, specific resources or pitches, and specific to-do items that aid in that Project reaching done. In my case, I also have Projects that are, more or less, perpetual and only contain me because they’re tasks that only involve me — things like a Librarianship project, where I track instruction planning or outreach, or a project for things related to my annual review and RPT.

Maintaining the culture

We’ve attempted to keep in touch with each other in a variety of ways mainly through themed threads on the Message Board. While our Social Engagement Committee has some plans for different remote activities we can do, several of us have taken it upon ourselves to start threads to share out a variety of things. So far, we’ve already had fun threads on sharing our at-home workspaces, sharing pictures of little ones (both the human and the furry kind), and a thread on funny or lighthearted links. In addition to those threads, we’ve long had an automatic check-in that asks “Read any good books lately?” and “What’s inspired you lately?” We’ve increased the frequency of those asks to every other week (versus once a month that we had previously) as another way for us to share goings-on in our lives. The questions above happen in our overall UNO Libraries HQ, but we also have a few social groups that limit conversations to a topic – an All Cars team, for example, for us car aficionados, or All Parents for parenting conversations or resources, or our Mindful Practice team for cultivating mindfulness. These are non-work spaces that let us pursue interests and conversations beyond the work-specific conversations and tasks that happen elsewhere. In addition to the things we’re doing internally, we also have some external faculty connecting with us as well. An example of this is our writing group, which typically meets every Friday morning for an hour. Part of that hour included a quick shoutout or update on writing goals (or complaints about Reviewer 2). We now replicate that in Basecamp with a check-in every Friday morning about our accomplishments for the week, or plans for writing on Friday. This, of course, has slowed considerably as we all make rapid shifts into online teaching and support. But hopefully it remains a space for all of us to keep connected with each other. Culture is all-important. Basecamp helps cultivate it.

Tracking work

One key reason I urged the library to purchase a Basecamp license was for task management. Task management in Confluence is not great. But Basecamp makes this easy: grouping tasks by themes or topics, assigning tasks to others, notifying those who need to know when tasks are completed, due dates, and notes/discussion can all happen in one place.2 For me, this means I don’t have to keep work tasks in Things – I can keep side projects or personal tasks separate from work tasks. This, of course, makes it so much easier to see what’s on my plate or what needs further planning. And Basecamp does this in a very humane way. I can see everything assigned to me, filter down to things that have dates (and show me overdue, the next week, and things further out), or filter to tasks I’ve assigned to others. There’s no kanban boards, no tickets, no issues – all of which, I find, is too much overhead no matter the project. Just a list of tasks, who is working on them, when they’re due, and the project they belong to. Another important component of our work over the last two weeks has been making sure our student employees can continue to be paid. We’ve compiled several ways our students can continue to contribute to the library from their homes, and we’re using Basecamp to help communicate and track tasks.

Yeah but, Slack!

Yeah. Slack. Look, I’m in a lot of Slack teams. I helped usher in the Stanford Libraries developers and technologists onto Slack while I was there. But you know what Slack is, ironically, not great for? Asynchronous communication. Anytime I come back to one of my Slack teams, particularly if it’s a large group (one of the teams I’m in has over 10,000 members) it is entirely overwhelming to catch up with conversations, or even figure out what the conversation was. Basecamp would probably suffer the same problem if it had 10,000 people in one account, but even small teams in Slack can quickly get overwhelming. But the other problem—maybe the core problem—is Slack’s design as a chat room. It begs for immediate responses, not consideration. For a constant flow of text, not thoughtful communication. While Basecamp has a chat feature like this, it isn’t the central way that communication and information is organized. That alone makes Basecamp a better environment for work.
If you’re in a similar boat—whether in academia making the rapid shift to online support and teaching, or a business or non-profit making the shift to remote work—I’d strongly recommend giving Basecamp a look.

  1. Ideally Basecamp would be the One True Place for everything and we wouldn’t use Confluence, but the wiki has a much longer history than my time at UNO.
  2. Our system certainly isn’t perfect, and we do have some distribution of content among Basecamp, Confluence, emails, GitHub issues, and Box. I’d prefer everything live only in Basecamp, but for the work we’re doing and the kind of things we work on this system works fairly well for us.

BootcampR

This semester I am piloting a new six-week workshop series on the R programming language called BootcampR.

I’ve been teaching R workshops for a few years now and I’ve seen a few things that keep recurring in these. First, I seem to run out of time. Every time. So, the easy fix is to make the workshop a little longer – of course, I want to be respectful of people’s schedules, so I didn’t add much time to the workshops. But expanding from one hour to an hour-and-a-half might help make these workshops a bit more managable.

One thing that does work well is the hands-on component of the workshops. When I co-taught my first R workshop at the Digital Humanities Summer Institute a few years ago with Lincoln, we developed RMarkdown worksheets as a way to interactively work through the language together with the class. I’ve continued to develop these worksheets, and I think overall it works pretty well for getting people hands-on with the language in addition to including additional information and explanation about why they’re doing certain things with the language.

For a while now I’ve been teaching the tidyverse to R novices, but I’m trying something new this year: in the first two workshops, all of the work we’re doing is happening in Base R. In week three, we’ll start learning the tidyverse – and what I’m hoping to achieve here is a strong contrast between Base R Ways™ and Tidyverse Ways™ of doing the same task. My goal here is two-fold: to reiterate that there are multiple ways to do the same task in programming, and to show that there’s a cleaner and easier way of doing the task instead of using Base R. This is the highly opinionated section of the workshop: I remain convinced that the way to work with R is by using tidyverse methods.

Finally, the last thing the workshop series is trying to do is build upon itself. In previous workshops, I’ve had to cram in a lot of information: an intro to R, to RStudio, and to the Tidyverse is a lot to fit into one hour. I’ve now broken out the intro to R material into its own workshop, which means by the time we get to class for the Tidyverse I can spend a lot more time explaining how the methods work and why you’d want to use them.

All of the content I’m creating for the course is released CC-BY, so please feel free to use anything I’m creating. Included for each workshop are readings (to be completed before the workshop, so we’re all coming at this with some prior knowledge), an interactive worksheet, resources for after the workshop to keep practicing or read more explanation, and slides from the lecture portion.

It’s the pilot version of this series and I’ll be assessing how it all went at the end. But so far, it seems to be going smoothly.

Email

Email is kind of amazing. Lots of us slag on it, and I’m quick to admit I’m happy as a Slack user or Basecamp user who appreciates the chance to cut down on the amount of work email I receive. But I also get lots of great stuff, like newsletters (from Anne, Lincoln, Alan, Dan).1 The best of that email are those who encounter my work.

One of my absolute favorite things about being a digital historian is how public it is – we’re not just writing things for other people in academia, we’re producing work that’s intentionally public-facing and invites engagement. And that engagement happens all the time. As a writer, that is thrilling.

It’s hard to express just how powerful it is to have someone drop you a note, explaining that your little history project on the Internet about Buffalo Bill Cody and his hiring of Native Americans for the Wild West expeditions caught their attention. To get a note from someone whose grandfather was once part of the Wild West expedition, and asking if I had more information about them. To get a note from a high school student telling me they appreciate me sharing some work openly. To hear from college students that find a project enlightening for thinking about a historical process. To be invited to participate in related projects or new initiatives.

All because I made something for the Internet. All because I included an easy way to reach me by email.


  1. Maybe it’s a confirmation bias, but I think there’s something to be said about how newletters have seeming taken the place of blogging.

Democratic Typography

  Democratic candidate logos Between March 2019 and today (2/10/2020), we’ve had twenty-eight candidates for the Democratic nomination in the United States. I went through candidate websites and grabbed their primary logo, which I mostly find fascinating to see the moods that are conveyed by color and typography.1 By design alone, I think Buttigieg, Beto, and Castro have strong, memorable designs. Bennet and Buttigieg share similar vibes, Sanders’s is a classic, Inslee’s is somewhat forgettable (his later one was much better).

  1. I’ll try and keep this updated if anyone else enters the race.

The IndieWeb

Lincoln has published his first newsletter called “Working on It,” and the first topic is near and dear to me: the importance of the IndieWeb.

There’s so much to agree with and so many parts of his piece that I see reflected in myself that it’s hard to know what else I want to say here. Like Lincoln, I’ve had my own presence on the web for a while now–I bought this domain around 2008, and has been an important space for me in learning how to build, how to write, how to program, how to break things and fix them. There’s no doubt in my mind that without a place of my own on the Internet I wouldn’t be much of a historian now. There’s no way I would’ve ended up hired ABD at Stanford University, no way I would’ve had the privilege of collaborating on cutting edge and innovative digital history projects, no way I would’ve avoided the horrors of the academic job market.

I’ve watched as friends and people I deeply respect have left the large social platforms—Lincoln, Dan, Alan, and others—that has me rethinking my own relationship with these spaces. I do think there’s an important role for historians on Twitter, and I believe that Kevin, Heather, Kevin, Joanne, David, Nicole, and so many others are doing a great service to combatting disinformation and sharing their deep knowledge of history. I think I offer that kind of public service as well, but have found that outlet elsewhere—the Washington Post, The Conversation, or this blog, where the information has more permanance than the fleeting attention of Twitter’s timeline. I simply don’t have the time to follow the next Twitter outrage and engage with that in any meaningful way. I’m glad others do, but that isn’t for me.

And like Lincoln, I have a strong bias towards building things. I fell in love with this medium as a place for making, writing, research, scholarship. I find the process of building things for the scholarly web exhilarating and meaningful. And this, from Lincoln, really resonated with me:

For a long time, I felt stuck—mired, really. But over the past couple months, I’ve gone back to tinkering with the basic building blocks of the web and figuring out what to do with the blank canvas of an open <html> tag.

For almost the same reason as Lincoln writes, I find myself spending more time with Observable notebooks (as way to learn the new parts of JavaScript I haven’t spent much time with in a couple years), investing less time (or leaving entirely) the big social networks, learning new languages (like Go, now that this website runs on Hugo) and reinvesting time into old ones (like JavaScript and R). That’s a far better use of my time than scrolling through Twitter.

And while I’ve long been an advocate/activist for the open web, my work with the Mozilla Foundation has further cemented those ideas. The Internet needs help; it’s not a healthy place right now. I’m not convinced the indies can topple the corporate web, but it is the space I’d rather spend my time building for and fighting for. I’m not leaving Twitter, at least not yet. But I am spending less time there, aided by Apple’s App Limits. You’ll find me more frequently at Micro.blog, Observable, and writing here.

Anyway, I’ll echo Lincoln: I love you, IndieWeb. I’ll be spending a lot more time with you.

Paper notes

From about 2011 through 2018, I was mostly a digital note-taker. Armed with a phone, laptop, or tablet, I always had the ability to take notes as well as access them anytime and anywhere. But lately, I find myself taking far more paper notes, a subset of which become digital transcriptions. Here’s a few things I’ve come to notice when doing paper notes. My notebooks are append-only. There is only one exception to this: a writing journal I keep as I work on books, chapters, or articles. But otherwise I don’t find it helpful to keep notebooks on specific subjects, mainly because I can’t organize paper notes the same way I can digital notes. Instead, anything and everything ends up in notebooks. I leave the first page blank, and return to it after I’m done with a notebook to add a table of contents. This does two things: 1) captures the content of the notebook for easier discovery, and 2) ensures that I’ve transcribed notes that need to be in digital form. What needs to be in digital form? Reading notes, meeting notes, sometimes random ideas or reminders. I want a notebook that is extremely portable. This means I’m not using Moleskine. I love Field Note notebooks, which gives me a simple 40-some-page notebook with a simple but sturdy cover stapled together. I typically fill one of these up in a month. Since the notebooks aren’t organized by subject, I keep all of these notebooks organized by date in a Field Notes archival box. Field Notes archive The other great thing about Field Notes is how awesome their cover designs are. If you want simple, they offer simple. But some of my favorites – Autumn Trilogy, National Parks, Mile Marker – are so well designed. The only exceptions to this are Panobooks and GoodNotes. The Panobook by Studio Neat (along with the best pen I’ve ever owned) is the place where I do a lot of sketching and planning for projects. Anything related to data visualization, software engineering, or digital history typically end up in the Panobook, which gives me a lot more space to sketch out ideas than the Field Notes. Another frequent tool I’ll turn to is my iPad Air and Apple Pencil, often for the same reason: sketching out ideas in a space larger than my small notebooks. GoodNotes is a fantastic tool for this. The breakdown is pretty simple: if I’m working on something that needs sketching or annotation, it’s in Panobook or GoodNotes. Most other notes end up in Field Notes. Nearly everyting that’s created on paper ends up digital, as a transcription or photograph that’s tagged, noted, and stored away for later retrieval. Digital notes end up in Drafts. I was a Bear user for quite a while, but with recent changes to Drafts and its arrival to macOS I find myself turning to it more frequently for longer-term storage of digital notes. Plus, Drafts actions means if a piece of text needs to end up somewhere else – as an email, twitter quip, longer piece of writing, text message, Things 3, Basecamp – I can easily send the content off to a different service. And since Drafts is purely a Markdown editor, the text is extremely portable and can be moved if or when the need arrives.

Twitter Use at WHA2019

Every year following the Western History Association’s annual meeting I like to dig into the Twitter usage around the conference. We just wrapped up #WHA2019 and it’s time to dig into the data a bit. Compare this to last year’s data and analysis. First up, we can chart the frequency of tweets over the past nine days. These are aggregated using three-hour intervals of tweets using the #WHA2019 hashtag. Unsurprisingly, there’s a build-up before the conference before it’s cyclical use thereafter. We can also see how the top people tweeting at the conference were in the past nine days. @EvOutWest really ran away with the hashtag usage (fun fact: it was so far above everyone else that I thought it was a bot at first. Sorry, @EvOutWest.) Lindsey, the official WHA account, Brian, Brenden, and Megan led the way in tweeting at the conference. We can also see what words most frequently appeared over the course of the conference. Here’s what we have for this year (color and size simply indicate frequency of words) alongside the past conferences I’ve tracked. Click on any of these to get a larger image. Finally, a semantic network to visualize user connections via retweets, quotes, mentions, or replies. Each line indicates a connection between users, and the larger nodes indicate a higher number of connections. And for the first time ever, I’ve created an interactive version of the network for easier exploration. You’ll have to jump over here to use the interactive version.

Omaha Zoning

A few days ago the New York Times Upshot ran a piece on single-family zoning and the emergence of political energy that is seeking to curtail the prevalence of single-family zoning. We see this happening in Oregon, California, and Minneapolis in particular as cities try to confront affordability, climate change, and inequality. I wanted to take a look at Omaha, and tried to generate a similar map. Pink represents single-family zoning, green is multifamily zoning. Omaha zoning map The housing units here fall into what Omaha zones as Rn residential that varies from high density to low density, as well as what Omaha calls “urban family residential” which includes single-family housing, duplexes, and townhouses. While Omaha allows for additional housing in areas not necessarily zoned for residences (such as apartments built over offices), the map looks only at land set aside exclusively for housing. The higher resolution version is here. Thanks to the City of Omaha for providing open datasets for building footprints, zoning, and city limits.