1,328 karma · joined March 3, 2007
I wonder practically how useful it is. It should be very useful, right? Say you're a hiring manager, and now you can hire thousands of students who have almost eidetic memory across pretty much all the subjects. The students can produce amazing work if you give them specific instructions. They are also very good at mechanical pattern matching. That is, they are the uttermost crammers. They are like the students who don't really get STEM yet they could, through memorizing all the problem-solving patterns, ace any national college entrance examinations, IMOs, PHOs, Putnams, you name it, and all the way to solving hard problems like Sendov Conjecture - they even found out elegant elementary solutions! Mind you, Terrance Tao proved a weaker conclusion when studying the Sendov Conjecture and got to publish his work on The Big Four. That said, the students won't take initiatives, and they sometimes make very silly or even impossible mistakes, to the point that it requires your supervision and review. Would you hire them to do your company's work? I'd assume that answer is a resounding yes.
More accurately, how many jobs are probabilistically mechanical. That is, how many jobs are really the execution of a serious Bayesian decisions with a strong prior. LLMs are really great at displacing such jobs.
I don't think the replacement is binary. Instead, it’s a spectrum. The real concern for many software engineers is whether AI reduces demand enough to leave the field oversupplied. And that should be a question of economy: are we going to have enough new business problems to solve? If we do, AI will help us but will not replace us. If not, well, we are going to do a lot of bike-shedding work anyway, which means many of us will lose our jobs, with or without AI.
Ape coding sounds harsher and more insulting, implying mindless or sloppy work rather than humor.
So, what exactly are we worrying about? The social security is not sustainable? The medical cost will go through the roof? There's no enough military power? There won't be enough consumption to support the growth (in that case, why do we have to keep growing? Why can't we just stay where we are? Again, not rhetorical questions but honestly curious about the answers)?
Personally, I find Boaler's advocacy extreme. Her famous quote: "Every student is capable of understanding every theorem in mathematics – and beyond – the mathematics curriculum. They just need the opportunity to struggle with rich tasks and see mathematics as a conceptual, creative subject.” This sounds inspiring, but in practice she advocated the policy of truly dumbing down math curriculums and text books. To say the least, shouldn't she at least demonstrate that she could understand any theorem? But instead, she advocated that SFUSD eliminate algebra from 8th Grade . Another example was that the curriculum that she advocated, College Preparatory Mathematics, was so boring and trivial. She also said something along the line "Traditional mathematics teaching is repetitive and uninspiring. We give students 30 similar problems to do over and over again, and it bores them and turns them off math for life.” What's funny is that the alternatives that Boaler prescribed were quite uninspiring and low level: https://www.youcubed.org/tasks/. All I can derive from her policies and complaints is that she couldn't do math. Why people would listen to someone who sucked at math about math education is beyond me.
The school districts like SFUSD are actually sabotaging the growth of our kids in the name of equity. They're committed to ideas from people like Jo Boaler, and they tried very hard to dumb down the curriculum. The real tragedy is that kids from wealthy families will just get other means of education to make up the difference. It's the kids who desperately need the quality education who are going to be left behind.
If it were up to me, I'd send those people to jail (yes yes, I know. I'm just angry and lashing out)
On the other hand, we certainly learned more after graduation (or something is wrong, right?). When I was in the AI course, the CS department was all about symbolic reasoning I didn't even know that Hinton was in the same department. I think what matters is the core training stayed with me and helped me learn new stuff year after year.
And my wife's experience: https://www.quora.com/What-is-it-like-to-learn-computer-scie...
In short, the training that we got from our universities was invaluable, and I always feel fortunate and grateful to my CS department.
On a side note, I believe it is an individual's responsibility to find the coolness in their project. What's the fun of building a dashboard that I have done a thousand times? What's the fun of carrying out a routine that does not challenge me? But solving a problem in a most rigorous and generalized way? That is something in which an engineer can find some fun. Or maybe it's just me.
What was surprising, though, was how reluctant the engineers are to learn such basic techniques. It's not like the math was hard. They all went through the first-year college math and I'm sure they did reasonably well.
Keep this in mind: it’s really hard for companies to hire good engineers. The onsite-to-offer ratio might be 20:1 or worse. So when a recruiter says they’ll just move on to the next candidate, they’re probably bluffing.
But what if they do have 20 people lined up? Then you don’t have leverage with that company—and that’s fine. Take the offer if it’s good enough, or walk and try elsewhere.
P.S., a fun anecdote: when Netflix was extending an offer to a renowned engineer, he brought his PR to negotiate. Apparently, it worked well for him.
P.P.S, always interview for a higher title. I get it — it’s tough with hot companies like OpenAI. But for most places, it’s worth a shot. At the very least, don’t aim lower than your current level. It’s funny how the human mind works—interviewers anchor their expectations to your title. And ironically, a senior engineer interview is often just as hard as a staff-level one. If you’re feeling cynical, just remember: title inflation is real and everywhere, and plenty of high-level ICs are great at navigating politics, drawing boxes, and sounding confident, but not necessarily skilled at offering real values like solving hard engineering problems. So if you can’t beat the game, why not play it?
``` []((Q & <>R) -> ((!P & !R) U (R | ((P & !R) U (R | ((!P & !R) U (R | ((P & !R) U (R | (!P U R)))))))))) ```
I'm doubtful. Remember when Google said their strategy was AI First? Baidu too? I'm old enough to remember that the criticism then was along the line "AI is technology. What problems do you want to solve?". The line of thinking seems still relevant to me today.
These two tactics per se are alright, right? If anything, I'd appreciate that Duolingo tries to keep me engaged. Besides, the more one spends time on learning language, the faster they learn.
The issue with Duolingo is not about gamification, but that translation is ineffective and boring, no matter how much gamification there is. Personally I find that the most effective way to learn a new language is starting with Comprehensible Input and then moving on with tons of output. Take Spanish for example, Easy Spanish, Dreaming in Spanish, Español Sí!, Extra, and Destinos offers lots of fun input for beginners. Paco Ardit's graded readers are great too.
Another problem with Duolingo is that it does not help listening comprehension at all. It turns out that we can only pick up sounds in context with tons of repetitions and combinations in consecutive sentences - a feature that is exactly what Duolingo misses. Yes, it has introduced listening and stories, but the amount of them is too little to be useful. Another lesson is that reading does not help improving listening much. When we read, we see individual words and phrases easily, while it's really hard to pick up individual words when listening. I didn't understand the difference and spent a lot more time reading than listening. As a result, my reading was at the level C1 yet I could only understand slow Spanish at the level of A2.
> that doesn’t change the fact that Hollywood projects American culture around the world in a way that the government could never do itself
I'll all for the "soft power" of the US, including cultural influence. Just wanted to point out that things have been changing slowly. More and more people started to be more credulous about Hollywood's values. Case in point, Blank Panther won Oscar, yet it was widely criticized in China and its box office in China was miserable. Below is the translation of a popular criticism of Black Panther:
Imagine you made a movie about China, kind of like Black Panther. In it, China is this isolated country with crazy-advanced technology, way ahead of the rest of the world. But instead of a modern government, it's run by tribal warlords—each one basically a dictator. To choose their top leader, they fight each other with knives and spears on top of the Forbidden City.
In your story, Chinese people still do foot binding like it’s totally normal. The elite chieftains live in ridiculous luxury inside the imperial palace. Their medicine is so advanced it’s basically magic—people come back from the dead—and they’ve got levitating trains that look like they’re from another planet.
But regular folks? They live in grass huts, spend their days feeding rhinos (or maybe pandas), and there are barely any roads in the whole country.
Then you take this movie to China and tell everyone it’s a tribute to Chinese culture? People would be so insulted, they might actually beat you up.
I'm not so optimistic on this if AI prevails. Think about the chip industry. It's an incredibly challenging field for only the top few to truly understand the art of chip design, yet even the top engineers may not necessarily have the same "lucrative" packages compared to the software engineers in the same percentile, let alone the pay of industry average.
In the end, it is the supply and demand that determines our packages. AI can suppress demand to the point that the entire industry needs fewer senior engineers than now, and we will then be paid less accordingly.
This sounds like outsourcing on steroids. Joke aside, what the software engineering will become really depends on the growth of the industry. Many people thought that most of the software engineering jobs would be outsourced to India and software engineer as a profession would soon die in the US. It turned out that the investment to software engineering far outpaced outsourcing, and as software engineers we were incredibly lucky to work in this field. The trend will not last forever, though. If it turns out that the growth areas in the world do not require much of novel software engineering, then the demand of this profession will dwindle, and the investment will diminish. As a result, our jobs will be outsourced or replaced by AI to a large degree, as AI is really good at slicing and dicing mature code for mature use cases.
Uber internally had extensive research on what kind of grid system to use. In fact, we started with S2 and geo-hash, but H3 is superior. Long story short, hexagons are like discretized circles, and therefore offer more symmetry than S2 cells[1]. Consequently, hexagons offer more uniform shapes when we compose hierarchical structures. Besides, H3 cells have more consistent sizes in different latitudes, which is very important for uber to compute supply and demand of cars.
[1] One of the complications is that H3 has to have pentagons to tile the entire world, just like a soccer ball. We can easily see why by Euler's characteristic formula.
It turned out Uber engineers just loved Redis. Having a need to distribute your work? Throw that to Redis. I remember debating with some infra engineers why we couldn't throw in more redis/memcached nodes to scale our telemetry system, but I digressed. So, the price service we built was based on Redis. The service fanned out millions of requests per second to redis clusters to get information about individual hexagons of a given city, and then computed dynamic areas. We would need dozens of servers just to compute for a single city. I forgot the exact number, but let's say it was 40 servers per an average-sized city. Now multiply that by the 200+ cities we had. It was just prohibitively expensive, let alone that there couldn't other scalability bottlenecks for managing such scale.
The solution was actually pretty simple. I took a look at the algorithms we used, and it was really just that we needed to compute multiple overlapping shapes. So, I wrote an algorithm that used work-stealing to compute the shapes in parallel per city on a single machine, and used Elasticsearch to retrieve hexagons by a number of attributes -- it was actually a perfect use case for a search engine because the retrieval requires boolean queries of multiple attributes. The rationale was pretty simple too: we needed to compute repetitively on the same set of data, so we should retrieve the data only once for multiple computations. The algorithm was of merely dozens of lines, and was implemented and deployed to production over the weekend by this amazing engineer Isaac, who happens to be the author of the library H3. As a result, we were able to compute dynamic areas for 40 cities, give or take, on a single machine, and the launch was unblocked.