I'm wondering if the field is accessible beyond pure theory for people who doesn't have exclusive access to datasets or powerful machines.
Can a regular programmer with a macbook achieve something at home? Or would I be stuck doing the same 3/4 basic programs like character recognition and hit a wall after the basics?
ML can be used in a number of different facets. On one hand you can grab pre-trained models that people have sitting on github and glue them together to make working projects for your own use. The other extreme is working through the theory to create a new method on a dataset you've collected yourself. Most of the tradeoff is in how much time you want to invest in solving a problem or learning something new.
The major thing for hobby problems is learning how to best use what's already out there given your own restrictions on data and computational resources. The algorithms themselves can be quite complex, but as long as you're not targeting state of the art results, there should be plenty of tools to help get yourself started.
My general recommendation is to dive into some of the papers out there and blog posts on different methods to get a feel for the breadth of options as well as the cases which may not currently be within your own personal grasp.