First, this is great information in an area I know very little about.
But I’m curious - from your experience - how do you know the OP isn’t pretending in order to learn about new avenues to block or attack or to track down people who are trying to circumvent?
I don’t mean that as a “be careful”. You’re the expert compared to me and for all I know these are unblockable. Or maybe those doing the blocking would already know about them? So I’m interested in just understanding more.
By that logic, if modern LLMs existed in the 80s, you’d have never learned Haskell, Ocaml, Rust, Go, Erlang, … and all the cool concepts and ideas that came with them. You’d still be programming Basic and Fortran, simply because that’s all the models knew.
AI may be helpful at times, but to limit one’s self to only the knowledge and experience they have is… short sighted at best.
You got a point here however I would just flip his argument. It is best to rely on LLMs that have a lot of training data exposure, and here is Python etc. dominating over Delphi.
I for example find LLMs not useful in regards to coding on 6510 or 68000 especially in assembler when developing code for a product of the demo scene.
x86 became pretty useful lately, but still, on certain machines with bit manipulation, you would better take your time to triple check your code and don't rely on LLM.
Unfortunately this is what AI is leading to. People will stop learning new languages and companies will stop developing new ones because AI is now supposed to write code.
I tried to make some LLMs write (GW-)BASIC and they failed miserably. Maybe they were only trained on some modern BASIC that doesn't look like BASIC at all? Could not convince them to use line numbers at all. Maybe with a lot of context they could do it, but my prompts did not work, even making I clear I wanted line numbers.
(Free)Pascal seems to work great though. I think enough of that is in training data that it can be used as well as any language. There isn't much special to consider to get it right. It is not like figuring out how to do Rust or C++.
You might be right. Have you seriously considered that you're wrong though? What if you're investing a dead craft and it never pays off? have you engaged with that idea and rejected it?
Regarding the former, I’m nearing retirement age, so personally I don’t care as much; I’m no longer “investing [in] a dead craft”. Assuming it is dead (I don’t think it is).
Re the latter, I have rejected it. I love problem solving. And I consider programming a tool I use to solve problems. Regardless of whether it’s an LLM or my old C text book, if I limited myself to only what came before me, then I can’t possibly improve on the current situation. My solutions would be in a perpetual state of stagnation. I can’t speak for others, but that sounds boring AF to me.
So then it's a life stage thing. You're already well established in your career, and you'd rather some intellectual engagement. There's nothing wrong with that.
A 22 year old fresh out of undergrad almost certainly wants actual money far more than they want intellectual engagement. Most of them are better served by picking up a boring workhorse language that they can reliably get paid to write. Inevitably some will speciate into more esoteric fields, but that's the exception, not the rule.
I haven’t lived in NYC, but I have lived in Boston. Isn’t the real concern winter? Has Waymo (or any other self driving tech company) shown that it can handle the snow well: non-visible lanes, downshifting to avoid braking, etc.?
Having a seasonal service is not a bad idea. The big problem with that is cutoff times. Too early and people will complain when they can't get a ride when no snow is on the ground. Too late and you're liable for everything that happens when the road is covered in thin ice or sleet, including leaving someone stranded. You will need very accurate weather predictions for operating over the winter months.
This feels very similar to the “radio” or “restaurant” problem:
You’re driving down the street trying to decide which restaurant to stop at (or scanning through the radio trying to decide which song to stop on).
If you stop at the first, there’s a good chance something better is ahead. But if you wait too long then you risk getting stuck with something you don’t really like (the problem assumes you can’t go back).
If I remember correctly, mathematically you skip the first 1/3, but keep track of your “best”. Then stop at the next option that’s >= than your current best or maybe the next thing you like.
With respect to skis, I have the same issue every year with a ride on lawn mower. Do I just pay someone weekly or buy one outright and do it myself? In this case I loathe mowing, so I don’t mind paying. But with skis it’s a question of just how much I’ll ski after this stretch, regardless of whether or not this stretch is 1 or 20 days. Because there are additional costs (and benefits) to ownership beyond the initial purchase.
In the secretary problem, you're trying to maximize the probability of selecting the absolutely best candidate. In other words you assume that you “win” if you select the best candidate and “lose” otherwise (even if you end up picking the second best who is almost as good!), and you're trying to maximize the probability of winning. (The optimal solution says you can win with probability 1/e ≈ 37%, meaning that ≈63% of the time you lose!)
This has always seemed the most unsatisfying assumption in the problem to me, with application to no real-life case that I can think of. The Wikipedia article has some stuff on relaxing this assumption, in its section titled “Cardinal payoff variant” (it seems that the optimal at least under one set of assumptions is √n rather than n/e, though those assumptions also seem unrealistic): https://en.wikipedia.org/w/index.php?title=Secretary_problem...
I would add that (having simulated this problem in code myself), the reason you have bad outcomes is that you run out of candidates and take a bad one because you have no choice. In real life, at some point you would grab a decent candidate even if s/he were not as good as a prior passed candidate.
It is also true that even under the original assumptions, there is a wide range of thresholds around 1/e that yield a similar outcome.
I think most people learning CS101 will at some point attempt to merge-sort a stack of physical papers alphabetically, and give up half way through. Everyone should have this experience: it teaches a lot about the importance of assumptions about the problem. Not to say that the math isn't important, but you have to think critically, because spherical cows are pretty rare.
It also assumes that the sequence is random and that there is no a priori information about the quality of the candidates.
A similar problem occurs in dating today, when people tend to dismiss the current option in the hope or expectation of finding someone better later, intuitively treating it as a secretary problem. But too many people fail to take full advantage of the knowledge they have of themselves and the type of partner they can attract, of the dating market and of the world in general, and end up bitter and disappointed and victims of their own poor choices.
Interesting. I once read somewhere that you should date at least... 6? people and leave before it gets too serious, before settling down with anyone. It seemed to imply there was math involved but it didn't explain. I think it must be the same statistics here, with some estimate of how many people you could meet and burn through without getting too old. I think people just don't really work this way but otherwise it makes some sense.
I highly disagree with this, whats the point of dating others if you are perfectly happy with the one you are dating right now? Do you really lose out in life if there might be someone "better", even though you are happy?
I've seen stats that correlated number of previous partners with divorce risk. But I always wondered if that was a correlation rather than causation (i.e. both of those factors sharing underlying causes).
An obvious example is that a person from a culture where sex before marriage is unacceptable is also from a culture where divorce is frowned upon.
Someone from Uzbekistan told me that a girl can only date one man, and must marry him or her reputation is ruined forever. So when her now-husband wanted to date her, he had to take care to avoid making it official before they were sure to marry.
The US has a lot of subcultures, so I too doubt the usefulness of such studies.
Then again, for some leaving the subculture they know carries a very high social cost. Hopefully new generations will break some of these barbarous traditions.
> I have the same issue every year with a ride on lawn mower. Do I just pay someone weekly or buy one outright and do it myself? In this case I loathe mowing,
I bought mine, ran great for 4 years, then ran into a bunch of trouble, which made me recognize the other hidden cost of ownership is simply just maintenance. A very expensive mower just sitting there, nearest potential repair shop far away, no idea how I'd even get it there let alone the cost. And if I decide I don't want it, I've got to pay to get rid of it now too.
Luckily I was able to watch a bunch of youtube videos and order myself some parts to get it up and running again, but definitely sunk quite a bit of time and energy into it.
I just scrapped an ICE mower for a battery powered one. No more winterizing, changing oil, or worrying about filling with gas. I still don’t like mowing, but it sucks a little less now
Sure, but you're just deferring moderate yearly maintenance cost for a rig that will need to be totally overhauled in 5 years due to battery degradation with current battery tech offered in mowers
At least, that's the conclusion I came to this year when researching ride-on battery mowers vs ICE. Electric push mowers seem like a no brainer though
That's actually the situation I was in though. When your electric mower breaks you're probably on your own. I would not want to go back, but going forward definitely has it's own issues.
I think the distinction (from the OP’s perspective) is that it’s “just an app” to the end user.
When I download the Slack desktop app, I might know it’s running on electron because I’m a programmer. But I didn’t have to download and install nodejs or anything else. As far as I’m concerned it’s a completely self contained application.
The end user needn’t download and install Janet or even know that Janet exists.
That can obviously be done with any interpreted language, but Janet makes it really simple out of the box.
Something they do when they initiate a call to me on the phone is they start by making sure they are talking to me (they don’t ask me to prove it) and making sure I have the app on the my phone or access to a web page.
Then they initiate a MFA check within the app. I have to get it and read back a number. Then they ask me for my phone PIN or password. Once that’s done, then we can start talking.
Walk me through the chain you’re thinking of. I want to understand it better.
If you’re thinking that - for example - someone is attempting to log into my account online and simultaneously call me pretending to be the bank. They are presented with an MFA check and tell me they initiated it. I give it to them unwittingly, and note they are in.
My understanding is that isn’t possible here, because this “MFA check” is different than the login one. The login one is the “Google Authenticator, 6 numbers”. This is a different code entirely. Obviously I didn’t specify that in the original post. My bad.
If that wasn’t what you were thinking and you can think of how this fails, I need to know and learn more!
Well, if I wanted to get into your account, apparently I just call the bank and then call you. Any time they ask me something I ask you the same thing and pass it along to them, and you'll faithfully tell me. They trigger the codegen and ask me to read it back and I ask you and you happily tell me. Then I "confirm your account is safe" to you, and continue my call with the bank except now I've authenticated as you.
The scammer calls the bank rather than trying to login. When calling, they will be asked to verify with info and the code which they will get from you. Think mitm but telephone based. The verification info (maybe just a zip code or last 4 of ssn or something publicly available) can be acquired beforehand so they only need the code to be relayed. Obviously they have to get the timing right, so you might be on the phone for a few minutes before they find a reason to ask for the code.
The bank I used to use had a per-verification request code that the app showed. If the party dealing with you knew the code, you could be sure they were the party who initiated the verification request.
But you said you read back the code. It should be the other way around--*you* compare the code they give you with the code the app gives you. Give zero information until identity is confirmed.
I’m currently using Onion (https://onionbrowser.com/ - from the people who make Kagi search) and it’s been quite good. Not perfect, but it’s getting there. I recommend giving it a try.
But I’m curious - from your experience - how do you know the OP isn’t pretending in order to learn about new avenues to block or attack or to track down people who are trying to circumvent?
I don’t mean that as a “be careful”. You’re the expert compared to me and for all I know these are unblockable. Or maybe those doing the blocking would already know about them? So I’m interested in just understanding more.
reply