Ignore the name (neural networks might as well be a footnote). A more appropriate title would be “generic problems and algorithms”.
(Artificial Intelligence: A modern approach by Russell and Norvig)
I agree, and here’s a few different avenues of examples:
If trying to get past interviews, Leet code and hacker rank can be great. They’re not so great for real world problems, but not bad.
Advent of code is a good middle ground between theory and practice in my opinion.
To really learn real world problem solving, I’d recommend implement a specification, without looking at existing implementations. For example, make a basic regex engine (formal Regular Expressions not PCRE expressions), or try to implement the C Preprocessor, or the JS event loop.
“Algorithms to live by” https://www.amazon.com/Algorithms-Live-Computer-Science-Decisions/dp/1627790365
Less technical than you probably want, but it is useful for mapping real world problems to known algorithms.
(I know I’m two months late)
To back up what you’re saying, I work with ML, and the guy next to me does ML for traffic signal controllers. He basically established the benchmark for traffic signal simulators for reinforcement learning.
Nothing works. All of the cutting edge reinforment algorithms, all the existing publications, some of which train for months, all perform worse than “fixed policy” controllers. The issue isn’t the brains of the system, its the fact that stoplights are fricken blind to what is happing.
Kinda surprised nobody has said this: start your own instance. Seriously, thats the power of the fediverse.
If you paid a true professional to sit down 1-on-1 with you everyday for 6 months, and you are good at learning I think yes, for most but not all software positions. But unless you’re forking over $200k I don’t think any professional dev is going to do that for you.
The sorting algorithm(s)
Ever since the accidental event that was interpreted as war, no not the one in 1957, not the one in 1958, or the other one in 1958, not the one in the 60’s or 70’s. The one in the 80’s. No not that one, the other one in the 80’s. Yeah that one. Anyways, ever since that one happened and triggered nuclear armageddon there hasn’t been much activity at all. Give it another couple millennia and maybe more complex organisms will roam the earth again.
This could actually be a pretty big deal
Wow that’s super interesting to know. So its still got some resistance, but a lot less than I thought. Thanks again for sharing!
Thank you for such a long and detailed post! I indeed did not know about things beyond the SIM, and I didn’t know about the extra details about the country codes either. That is extremely interesting to me.
With the phone spoofing though, does that mean two factor with a phone number is basically useless? If I had authentication based on a MAC address, it would take seconds to break it. But I think, and sure hope, that auth based on phone numbers is more secure.
I think your domain name answer – that for the most part computers didnt need them – is a very satisfying answer.
If I’m understanding correctly, you’re saying that right now the network doesn’t have an exhaustive table of IP addresses to physical locations. It has a cache, and a hierarchy, and the path to a location of the IP is fluid.
But a system where every device could be directly contacted/identified like a Sim card, would effectively require a complete table of “what network is device ABC at”. A table that is updated every time the device changes network connections. It would be like trying to change domain name to point to a different IP address.
The problem is, updating a domain to point to a new IP takes hours or days not seconds, so doing that every time a phone changes WiFi is not practical.
Is that a good summary?
You’re right it depends on the definition of phone number, and I edited the original post to try and be more clear that I meant the phone number including the country code and area code.
If you’re talking about something other than country/area code though, then that’s news to me.
This I’m interested in, because its at the edge/limits of my knowledge when it comes to domains and cellular networking.
Are you saying if cell phones had a larger address space, let’s say 32 digits base 10, and every device was given a cell phone number, it would overwhelm the existing infrastructure?
Fair, I could have said fully qualified number, including country code.
And also fair, instead of saying a MAC could be edited, I should’ve said each phone number has one global owner, while each MAC address could have many owners.
Corrections have been made 👍
AFAIK a static IP does not fix that. If I’m wrong, which is possible, I’d be very happy to find that out.
Its a tough problem. You have to find something that you want to exist; like an app or a website or a game. For example, try making a GUI for managing SSH keys. You know, like the ones github makes you create in order to clone and push to a repo. Make a visual representation of those keys (stored in the .ssh folder), and tools to add/delete them.
Along the way you’ll find tons of missing things, tools that should exist but don’t. Those are the “real” projects that will really expand your capabilities as a developer.
For example, I was coding in python and wanted to make a function that caches the output because the code was inherently slow.