Except when I wanted to get ChatGPT or Claude to criticize a religion or religious figure, namely Khamenei. It never backed down and if forced too much and I pointed out its contradiction, it would switch to 2~3-word sentences response mode (i.e. passive-aggressive).
It was a long time ago, Claude 3 or maybe ChatGPT's v3. It felt so dehumanizing that I never tried again.
It didn't seem like trained behavior though, it felt much like hardcoded behavior.
{Personal experience} many many years when beginning SWE, I used to think the same. I didn't want to admit but it meant I didn't have to learn DSA. There was plenty of evidence to back me up with the same thinking as this article. Life happened and I had to painfully spend time and slowly learn it. Comparing the person before & after, the difference in my software building skills were very tangible. Sadly I cannot point it out and say "I'm wiser and I know how not to make a mess in the codebase, because I learned such & such algorithm and data structures" yet I can fully imagine how the previous person would've been lost in the jungle.
{Less of personal experience but more of a anecdotal observation} I see the same pattern in hiring. Those who know DSA, build systems that cost less overal.
So maybe it's better not to throw DSA right out out the window, but also not stick to either ends of the spectrum?
Proton let's me bring my own subdomain for those random emails and does a pretty good job of tracking which email is given to whom, and also supports hiding your email even if you want to initiate the email contact, not just reply (plus scheme in mail address doesn't allow this). Otherwise you can also use their domain too, to stay fully anonymous.
I've been happy with Proton too. I use my own domain and Proton's catch all for this. I always register using addresses like service.name@matheusmoreira.com.
I always thought to do this visualization in 3d and maybe with VR. Not sure how useful or pleasing experience it would be. Kudos to the author of the project to get this done!
This kind of approach might be what (finally) unlocks visual programming?
I feel like most good programmers are like good chess players. They don't need to see the board (code). But for inputting the code transformation into the system this might be a good programmer's chessboard.
Though to make it work concretely for arbitrary codebases I feel like a coding agent behind the scenes is 100% required.
A 3d environment (VR-headset with Tom Cruise-style-swiping, or Doom-style with WASD navigation) would be cool, one could be "in orbit", observing the system, watching the nodes and their interactions, and pause and see what messages they're passing to each other. How about time-travel-debugging to allow rewinds too!
As a bonus, porting Doom to it should be "trivial".
> I feel like most good programmers are like good chess players.
A specific type or area of developers, I'd say. There are many types and not all of them require understanding sizeable code bases to do their work well.
Understanding your large codebase is a few prompts away. You can ask a model to trace through and provide reports on the project's design, architectural and implementation. From there, you can drill in with followups.
Done right, you may not know specific lines or chunks of code by heart, but much like a tuned-in company CEO, you have eyes and ears on the ground and retain global oversight and insight of the project itself. For specifics, you can learn what you need as you need it. If that means knowing how every single module works, that's just a conversation with your agent.
I think it's where one plugs the external world into in their brain. For my daily work, I plug the desktop to my current thought stream (or short term memory?). Anything not immediately relevant to what I'm thinking about is an unnecessary speed bump or stutter in my speech, which means minimal window decoration, no status bars, ... and anything not visible can be summoned by a quick single "label" somehow, not by navigating a structure. This is more similar to what the author suggested.
{And if I'm getting what you said correctly}
What you described, is similar to how I organize my drawers in my room. Everything is visible at once, but navigating them usually takes 2 or 3 steps. Without this visual map I'm completely lost.
I declare a `my_die() { echo "$" 1>&2; exit 1; }` on top of each file. Makes life easier by knowing why the script failed instead of having only exit code or having to turn `set -x` on and rerun.
Only if I could somehow mix `if` & `set -e`in a readable way... I wanted it to only capture errors of explicit `return 1` from bash functions, not from commands within those bash functions. But I guess I'm doing too much* of the job in bash now and it's getting messy.
I agree with your both of your observations; And I also think what's missing is the acknowledgement that connects the two. Students come with the expectation of "chew it for me" and schools have the expectation of "I'm going to throw the material at you, you can & will handle it yourself".
But it doesn't need to be that hopeless. Learning is a skill and schools can help each individual find the ways working best for them. Starting by not packing gazillion number of people in a class.
Reminds me of Nokia/Symbian. To install a `.sis(x)` with any useful capabilities (permissions in Android) one needed to sign it with Nokia's keys; which they normally couldn't, at least with non-business email addresses. Until someone found a way to hack the roms and it became a Tom&Jerry struggle between hackers & Nokia who wanted to suffocate them by patching those loopholes.
Then came Android. The freedom to sideload any `.apk` on any device was magical. And now we've come full circle.
Except that Symbian wasn't source-available, so there was a bigger hope for a successful rebelion.
Same but banks are cramming in more and more app-only features.
That's why a dedicated device for them is going to be my workaround. I could see myself having GrapheneOS on my primary device and having that act as a hotspot for my small "certified" device that I do my banking on.
Why do you need a banking app, do you want to share your contact list and geolocation with the bank so badly? Do you need a bank app's antivirus to scan your phone and flag you as a suspicious user? Are you missing notifications offering a credit card with 45% yearly rate? Do you want to make investments while riding on a train while several suspiciously looking beggars carefully look at the numbers? Do you want to allow anyone who has a Linux kernel exploit to access your bank account?
You need a banking app to use the bank's provided 2FA to log into the bank's website (no, they don't support TOTP or passkeys or other vendor-neutral solutions) if you want to do any online banking on your other devices.
You also need it to receive the PIN for the credit/debit/bank card that allows you to pay for things in stores, or to withdraw money from the ATM if you'd rather use cash.
If you'd like to send money to your friend, for example to split a bill or for any other reason, then you either need to do that in the app, or do it on the website but with 2FA on the app.
---
This is the norm for all the banks here, citing PSD2 compliance. I'm sure it's not the only way they could have complied, but it's the lowest effort and banks are nothing if not conservative, so once one bank gets the OK for a given solution, they all follow suit.
No country should generally decide something for people of another country, but let's say it's a exceptional case and it's a war tactic, as a response to an external threat.
Then half a decade shows that point is not relevant or, the overthrowing is not the point at all.
I too wished the wolrd was that simple. But there are dictatorships, who kill, slaughter, coerce, ... and also all the international affairs from which those people are kept an outsider with zero say by the said government. I don't think we can reduce it to "it's people's fault".
It was a long time ago, Claude 3 or maybe ChatGPT's v3. It felt so dehumanizing that I never tried again.
It didn't seem like trained behavior though, it felt much like hardcoded behavior.
reply