Austin Henley, a computer science researcher and former professor, writes about programming projects, AI coding tools and developer tooling.
Commenters link his project idea lists for learning to code, his Copilot Workspace review, and his posts on leaving and rejoining academia.
You got it! By approximate category and in no particular order:
## MISCELLANEOUS
- [Low Tech Magazine](https://solar.lowtechmagazine.com), a solar-powered website showcasing the amazing low-tech things you can do with a little ingenuity,
- [Stephen Wolfram's Blog](https://writings.stephenwolfram.com) on math, compsci, and everything else,
- [Cool Macrophotography](https://www.barrywebbimages.co.uk/Images/Macro/Slime-Moulds-Myxomycetes) for amazing pictures of tiny things (WARNING: Time Sink!),
## COMPUTER SCIENCE
- [While-True-Do](https://blog.while-true-do.io) has lots of stuff on Linux administration and self-hosting,
- [Backend Banter](https://www.backendbanter.fm) for a great podcast on backend development,
- [Two Wrongs](https://two-wrongs.com) for statistics and functional programming,
- [Math ∩ Programming](https://www.jeremykun.com/) where math and programming intersect! Written by a Googler...
- [Paul Bourke's site](https://paulbourke.net/) where you can get happily lost exploring old pages on every topic CS touches,
- [Jason Punyon's blog](https://jasonpunyon.com) for some fun algorithms and things,
- [Yossi Kreinin's blog](https://yosefk.com/blog) for C, Python, and plenty of non-technical topics,
- [Adrian Sampson's academic blog](https://www.cs.cornell.edu/~asampson/blog) for an academic's perspective,
- [Cool polyhedra viewer project](https://georgehart.com/virtual-polyhedra/vp.html) if you like geometry,
- [Another academic blog on…
Read good books like Designing Data Intensive Applications and High Performance Browser Networking.
Learn how to communicate with folks outside of engineering. i.e. by spending time with peers in product management, customer support, marketing, etc.
Do projects that push your understanding: https://austinhenley.com/blog/challengingprojects.html and https://austinhenley.com/blog/morechallengingprojects.html.
Join a startup if you haven't worked for a startup. Join a massive corporation if you have only worked for startups.
Read more source code of projects and your dependencies. Make contributions to the docs, improve the error messages of projects you use.
Write blog posts or just notes to yourself to organize your thoughts and ensure you understand what you think you do.
Join companies or teams within your company where you feel challenged to grow, not being complacent. Don't worry about feeling like an idiot.
Just a couple of ideas.
Hi Austin! Was just checking your blog and the vowels detection post (< https://austinhenley.com/blog/vowels.html>).
What exactly do you mean by “use SIMD directly without calling out to another language”?
In some way Assembly will probably anyways be another language… but that’s a technicality.
I guess the spectrum of SIMD-related work in relation to Python is quite broad. There are projects like PeachPy, to help one write x86 Asm in Python, new Python’esque languages like Mojo, or SIMD libraries with thin CPython bindings. Do you mean one of those?
PS: I’m in the last camp. And in case you are focused on ASCII, for vowel search, have you tried StringZilla’s `find_first_of` (< https://github.com/ashvardanian/StringZilla/blob/960967d78c7facf6de2de9d5eecc0ac7f5ce19b8/scripts/bench_search.py#L78>)? I think it should perform well ;)
Thanks!
> did you measure the correlation between CodeAid use and test scores?
Unfortunately, we couldn't measure such correlations due to many external factors that can impact students' performance on test scores.
However, our previous research specifically compared students learning python coding for the first time with and without LLM code generators. Austin and I wrote a summary on it here: https://austinhenley.com/blog/learningwithai.html
We found that students who performed higher on our Scratch programming pre-tests (before starting the Python lessons), performed significantly better if they had access to the code generator. However, the system that we used in that study was very different, it showed the exact code solution to the students' query. Here with CodeAid we were trying to avoid producing direct code solutions!
This might be shocking to some, but when a researcher receiver a federal grant (for example), the university takes a significant cut which they refer to as Facilities and Administrative (F&A) costs [1]. The F&A covers the so-called "indirect" costs of conducting research on university facilities: buildings, utilities, admin and accounting, support staff for compliance with federal regulations, etc.
Each university has its own F&A rate, which can be as much as 60% of received federal funds [2]. This rate has historically trended upward.
An example of funds allocation for a typical small NSF grant: https://austinhenley.com/blog/grantbudget.html
[1] https://files.eric.ed.gov/fulltext/ED517263.pdf
[2] https://financeandbusiness.ucdavis.edu/finance/costing-policy-analysis/facilities-administrative-rates
I just wrote up my experiences of using it for a week: https://austinhenley.com/blog/copilotworkspace.html
TL;DR: Copilot Workspace is a great concept. But the UX and framing is entirely wrong and sets the wrong expectation for users. The current prototype is very slow (5+ minutes for one-line code changes) and the generated code is often buggy or has nothing to do with the specification. It doesn’t help me understand the code. The generated plan is usually good. ChatGPT does a much better job in my head-to-head comparisons (assuming I already know exactly what code is relevant). I'm still optimistic of where it can go from here.
I recommend everyone sign up to try it and give the team feedback.