Another experiment in LLM writing, I had gemini write a quick blog post on the tools to review papers, and how without any hard benchmarks it is just a market for lemons
andrewpwheeler.com/2026/04/21/t...
links to gemini chat session at end of post
Posts by Andy Wheeler
One of the limitations of LLMs when asking for multiple potential outcomes, when just looking at the final produced text, they do not map to probabilities.
You can look at the individual token probabilities though, and control false-positive/recall rates directly crimede-coder.com/blogposts/20...
Come see my talk on how long to conduct your experiment, and meet not only myself but many other professionals in the field. Both academics/pracademics as well as working officers in the field.
New blog post, policing scholars should join the American Society of Evidence Based Policing, it is a much better org for collaborating with police than either ASC/ACJS.
Renee Mitchell is the modern day Vollmer.
crimede-coder.com/blogposts/20...
A tale of students taking easy online courses in lieu of more rigorous ones at Uni of Oregon, eighteenthelephant.com/2026/04/13/o...
If you check out the notebook, github.com/apwheele/cri..., it has a method to do specific space time clusters (e.g. 7 days and 1000 feet apart).
Folium map clustering in that pic is just the default cluster-marker, which changes depending on the zoom.
Weekly chart with error bars for BMVs in Chapel Hill
Citation hallucination
I go over a few errors (quite minor, but one clear citation hallucination!), any why learning python coding with these tools is likely going to be *more important* in the future (as it provides feedback for the tools)
Folium map of car break ins in Chapel Hill
New blog post, I show an example session of using the Gemini CLI to conduct crime analysis. Car breakins in Chapel Hill using public data.
The current agent coding tools (not just Claude Code, also Codex and Gemini) are very good.
crimede-coder.com/blogposts/20...
Perfect (it is convenient to test, since they just have a button "download all articles in the issue" that gives me 100 at once!)
When it is ready I will invite you to beta test!
Working on something, if folks have examples where people had hallucinated citations (either journal articles or court proceedings is fine), appreciate send me the papers.
Did a coding session yesterday for an app idea I had. I have no clue how people are saying they are doing 10k lines of code a day in the coding apps (unless it is just crazy boilerplate).
I did like 1k in 4 hours, but many iterations/tests.
Interview with Jason Elder on the LEA Podcast is out about my recent book
www.leapodcasts.com/e/llms-for/
Check it out, and has the first promo code for the paperback version of the book
New blog post, Don't focus on the kids for gun violence prevention. The majority of gun offenders and victims are adults.
crimede-coder.com/blogposts/20...
The Use-of-Force Continuum is intended to provide guidance for police officers on the appropriate level of force to use to gain compliance. Check the podcast (www.buzzsprout.com/2413505/epis...) where Dr. Scott Mourtgos discusses the "muddy middle" of the continuum.
If the writing is bad enough for you to obviously notice, just desk reject for that reason. Typically it is correlated with poor research (but not always). If the research is actually good can just say "please copy-edit before resubmitting".
That again is your personal preference, not a fact based in evidence.
It is fine if you personally prefer R. The point of the blog post was to show the private sector market's preferences. I think it is a disservice to students to ignore very clear market preferences.
The LLM coding tools definitely lower the barrier. If you have good R labs, it is likely Claude Code can nearly one-shot translate them to python.
I do not deny R is better for various esoteric stat models. It is a disservice though for preparing students for alt-ac market.
That is not correct - they are exchangeable for the vast majority of tasks.
Here is the relevant passage where I state my premise -- goal I state here is to get students jobs. (Which I understand some professors do not agree with.)
This is for graduate student education, will update the post to make that clear.
I do think undergrad should teach more tech skills though, business dept students for example tend to be much better prepared for knowledge economy work IMO.
Professors in social science should be teaching students Python, not R.
This blog post goes over a sample on job postings on LinkedIn for data science to illustrate the disparity.
andrewpwheeler.com/2026/03/22/s...
New blog post on how I use Claude Code to help me write.
Using it for copy-editing should not be controversial at all. But if you want to use it for writing, have it review your prior writing before generating new content based on an outline.
andrewpwheeler.com/2026/03/20/u...
New blog post, comparing local models vs API usage. Even if you have a GPU where you can run a model locally, it often does not make sense given the low cost of using APIs.
crimede-coder.com/blogposts/20...
I have a read a few of the books in those series, I think they are fairly well done -- both in terms of the topical material they cover and the quality of the summaries.
Combined cover pages LLMs for Mortals and Data Science for Crime Analysis with Python
I have a few different promo codes floating around the for the book. LLMDEVS gets you $25 off of the epub. TWOFOR1 gets you $30 off if you purchase multiple books.
crimede-coder.com/store
I have seen a few different groups use supervised models for this, so does not need to even be real fancy (could build one on CPU with historical changes).
Fellow criminologists -- is there anyone teaching gen AI courses in CJ programs? Let me know and will send them a copy of the book.
If no one is, feel free to get in touch. Happy to discuss doing a seminar/short course.
A couple of images from the old Nano Banana model I made for a presentation. I am not going to use these, but they are basically infographics out of the box.
This is a good reason to learn the LLM APIs -- this is not the case when you call the models directly instead of using the GUI interface.
It is particularly annoying to have LLMs write code to query their own APIs! I have them read documentation via web-search first if I notice an error, then resume.