eli knaap
@knaaptime.com
550 followers 1.1K following 210 posts
urban planning & public policy prof @ UC Irvine | core dev @ PySAL & QuantEcon | urban social science & spatial data science | open source https://knaaptime.com
Posts Media Videos Starter Packs
Pinned
knaaptime.com
there's a ~complete rough draft of Urban Analysis up on my website (as in, code executes all the way through)

knaaptime.com/urban_analysis

still lots of editing to do, but if you're into cities, Python, or spatial analysis, give it a look and let me know what's wrong :)
table of contents for Urban Analysis and Spatial Science

Introduction
Spatial Data
1  Data Sets
2  Geoprocessing
3  Geovisualization
Interpolation and Change of Support
4  Areal Interpolation
5  Dasymetric Interpolation
6  Boundary Harmonization
Spatial Analysis
7  The Spatial Graph
8  Spatial Autocorrelation
9  Space-Time Event Clustering
Accessibility and Interaction
10  Travel Isochrones
11  Accessibility
12  Multimodal and More
Urban Spatial Structure
13  Location and Land Use
14  Concentration and Agglomeration
15  Employment Centers
Segregation
16  Segregation Measures
17  Space, Scale & Dynamics
18  Single and Comparative Inference
Urban Factor Models
19  Latent Spatial Processes
20  Factor Ecology
21  Ecometrics and Composite Indices
Neighborhood Delineation
22  Social Areas & Urban Typology
23  Geodemographic Clustering
24  Regionalization
Neighborhood Change
25  Spatial Dynamics in Math Achievement
26  Stochastic Cellular Automata
27  Neighborhood Dynamics
Spatial Econometrics
28  Applied Spatial Econometrics
29  The Hedonic Housing Price Model
30  Hedonic Models in Space
Location Models
31  Location Models
32  Location Choice
33  Spatial Optimization graph of economic "bid-rent" model showing the relationship between land rent and distance from the market center for three types of land consumers
knaaptime.com
also it would've been a riot had one of the senators called her on this in the moment. especially since it was kinda obvious what she was doing

"...are you reading from a set of prepared insults instead of answering the question? You're not equipped to even remember the insults?"
knaaptime.com
i interviewed remotely at UCL during the pandemic (with several faculty that i *deeply* admire). They had to stop me halfway through my opening spiel to let me know i was sharing the screen with my notes instead of slides. Mortifying.

...this feels dramatically worse

bsky.app/profile/patt...
patti4040.bsky.social
Best part of all … a photographer (Jonathan Ernst) caught all her prepared cheat notes for attacking any Senator. What a total tool …
knaaptime.com
is central time as a base gonna help, or destroy you? I have a miserable time going east these days. If you're in the middle i can imagine the marginal change being mildly easier unless you have big swings
knaaptime.com
yep. imperfect data but it's got the smoothness @stephenjacobsmith.com was expecting; definitely looks like a rent distribution

admittedly a bit surprised by the result!
knaaptime.com
gotcha. still the shape is a bit different? and my weighted median is still lower *without* the zeros?
knaaptime.com
weighted results are also simple (70k observations this time). The histogram is still different from the original graph though (and the median rent actually drops a bit to 2270)

@besttrousers.bsky.social are you doing something i'm missing?

bsky.app/profile/knaa...
occ_rent = occ_rent.set_index('CONTROL')

weighted_idx = occ_rent.index.repeat(occ_rent['FW'])

weighted_idx

weighted_rent = occ_rent.merge(weighted_idx.to_frame(), left_index=True, right_index=True, how='right')

weighted_rent.RENT_AMOUNT.hist(bins=20)

weighted_rent.RENT_AMOUNT.describe()
knaaptime.com
(this is specific to *"market rate"* 3br in brooklyn [by unit, not person], so the downward skew isnt from rent control or some other subsidy)

would be very curious to see the original code
knaaptime.com
extremely quick and dirty, but ignoring the survey weights, you can basically recreate these numbers from NYCHVS in ~9 lines. Only gives you 138 observations and the histogram is a little different (original seems to include $0? among a few other diffs), but the 2300 number shows up, fwiw.
import pandas as pd

units = pd.read_csv("https://www.nyc.gov/assets/hpd/data/allunits_puf_23.csv")

# brooklyn 3br
units = units[(units.BORO==2) & (units.BEDROOMS==3)]
# "market rate"
units = units[units.CSR==80]

# occupied table has rents
occ = pd.read_csv("https://www.nyc.gov/assets/hpd/data/occupied_puf_23.csv")
occ = occ.set_index('CONTROL')

occ_rent = occ.merge(units[['CONTROL']], left_index=True, right_on='CONTROL')

occ_rent = occ_rent[~occ_rent.RENT_AMOUNT.isin([0,-1,-2])]

occ_rent.RENT_AMOUNT.hist(bins=20)

occ_rent.RENT_AMOUNT.describe()
Reposted by eli knaap
seema.bsky.social
Our new paper shows that men benefit from couples' long-distance joint moves more than women do, in both Germany and Sweden. Is this just b/c men are usually the main breadwinner? No, it's hard to explain the patterns we see w/o a gender norm prioritizing men's careers. www.nber.org/papers/w32970
Moving to Opportunity, Together

Many couples face a trade-off between advancing one spouse’s career or the other’s. We study this trade-off using administrative data from Germany and Sweden. We first conduct an event-study analysis of couples moving across commuting zones and find that relocation increases men’s earnings more than women’s, with strikingly similar patterns in Germany and Sweden. Using a sample of mass layoff events, we then find that couples in both countries are more likely to relocate in response to the man being laid off compared to the woman. We investigate whether these gendered patterns reflect men’s higher potential earnings or a gender norm that prioritizes men’s career advancement. We provide suggestive evidence of a gender norm using variation in norms within Germany. We then develop and estimate a model of household decision-making in which households can place more weight on the income earned by the man compared to the woman.
knaaptime.com
oh man that was awesome. reid sucks, maholmes sucks, kelce sucks. lets all get trevor lawrence tattoos

watching the chiefs implode > waching the bears implode > watching the eagles implode
Reposted by eli knaap
conradhackett.bsky.social
International student arrivals to the US dropped 19% this year, the biggest drop on record aside from the 2020 pandemic low.
upshot.nytimes.com
The decline is occurring as the Trump administration has delayed visa processing, instituted travel bans or restrictions for 19 countries, threatened to deport international students for pro-Palestinian speech, and heightened the vetting of student visa applicants.

www.nytimes.com/interactive/...
Nearly 20 Percent Fewer International Students Traveled to the U.S. in August
The data shows the steepest decline in August international student arrivals since the pandemic.
www.nytimes.com
Reposted by eli knaap
knaaptime.com
every single year i'm confident baseball is finally over. And every single year you losers disappoint me

bsky.app/profile/lowr...
lowrhoufo.bsky.social
I think it'd be healthy if this site's sports discourse was slightly more toxic. There's a natural human need for toxicity and dunking, and we'd be better served if more of that was about something broadly understood to be frivolous
knaaptime.com
the new ios design is ridiculous. But it's so incredibly useful (and overdue) to have Preview that syncs with icloud and dropbox
knaaptime.com
weird choice. must be cheap and widely disliked

bsky.app/profile/chri...
chrislhayes.bsky.social
Was at a South Jersey sports bar/restaurant last night where one of the offerings on the menu was the Tush Push Burger 🥴
knaaptime.com
is it like like conda-forge but just for R?

also, out of curiousity, do you send (R) recipes to conda-forge too? this one looks like it's maybe something else? prefix.dev/channels/con...
prefix.dev – solving software package management
The software package management platform for Python, C++, R, Rust and more
prefix.dev
knaaptime.com
one thing i do miss from twitter is having people like Gillies around (he's not here, right?)

also: it's bullshit.
post from sean gillies blog https://sgillies.net/

I've been on the Project Steering Committee (PSC) of the GDAL project for a few years now. It's a hugely significant software project, one that I'm very fond of, and I like to think that I've had an impact in my time on the committee.

Recently, though, the steering part has become less rewarding. By granting Amazon S3 and its imitators special, featured storage protocols, GDAL is stuck carrying water for big and lucrative cloud service providers and a few hyper-scaling customers that don't adequately support the project. It's a crappy situation, not unique to GDAL. A lot of open source projects find themselves ruthlessly exploited these days. This is my personal view. I don't speak for GDAL.

More importantly, I'm doing less geospatial work these days, and thus I'm increasingly uncertain about the rapidly-changing currents in which the PSC is steering the project. Do things like "GeoParquet" and "GeoArrow" really matter to practitioners who aren't working for a handful of hyper-scaling organizations? Is "GeoAI" for real or is it bullshit? Do we steer the project towards these interests or away from them? I truly don't know. I wish I did.

Can I fully engage with the problems that GDAL faces over the next year? That's my criteria for participating in the PSC. I can't, and so it's time to go. The project is in good shape, I believe, and I hope that I'm making room for someone with a great vision to join it.
knaaptime.com
i have no great love for amazon, or monopolies in general (though they do host my data for free... open.quiltdata.com/b/spatial-ucr/)

but the alternative is slamming **an ftp** with sql for hours at a time (on multiple occasions)
Quilt Data
Quilt is a versioned data portal for AWS. Quilt integrates files into datasets that your whole company can discover, understand, and trust. Quilt is instant infrastructure to bring discoveries to mark...
open.quiltdata.com
knaaptime.com
completely agree (which is why geosnap was serializing WKT and writing to parquet before conversations on the spec even started :P)

every blockgroup boundary in the country with 100 ACS variables, clocking under 1gb, without hitting the census server? yes please.

bsky.app/profile/pale...
Reposted by eli knaap
eric-reinhart.com
ICE just blatantly violated the law and arrested sitting Chicago Alderperson Jessie Fuentes while seeking to illegally arrest a patient in a hospital. Fuck these fascists.
knaaptime.com
it's not a new school and i'm confident the windows need some work. Definitely cool to tear gas second graders at their desks