And in developing countries too. People may not realize that when there's no industrialization, people still need fuel. So they cut down tree that they could walk to. Just look at the pictures missionaries and travelers took in China a hundred years ago. Wherever there were people, there were only barren land. Heck, it was like that even in the early 80s in some places.
HN user
g9yuayon
How much of the job is a structured set of tasks vs. taking accountability?
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.
Lattner found nothing innovative in the code generated by AI
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.
I like the Chinese alternative better: 古法编程. It feels like playful self-deprecation, suggesting old-school, handcrafted coding with a wink.
Ape coding sounds harsher and more insulting, implying mindless or sloppy work rather than humor.
Honest question: why are we so afraid of population decline? For people on the left, it means less consumption, less environment impact, less carbon footprint, and in general fewer damn evil people who are destroying the mother earth. For the right, everyone is responsible for their own destiny including their retirement life so they worry about their retirement spending solely on their own anyway. In practice, Japan seems to be fine. In particular their young people have so many job openings to fill.
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)?
https://stanfordreview.org/jo-boaler-and-the-woke-math-death..., and wikipedia on Math Wars: https://en.wikipedia.org/wiki/Math_wars
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.
so we have been unwilling to invest in our own children.
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)
I'm curious why Lisp didn't gain mass popularity despite its advantages. In fact, I was wondering if it's popularity has event decreased in the past decade or so. I remember in the 2000s and even early 2010s, there were active discussion on Clojure, Scheme, and functional/logic programming in general. There seems much less discussion or usage nowadays. One theory is that popular languages have absorbed many features of functional programming, so the mainstream programmers do not feel the need to switch. My pet theory is that many of us mortals get the productivity boost from the ecosystem, in particular powerful libraries and frameworks. Given that, the amazing features of lisp, such as its s-expression, may not be powerful enough to sway users to switch.
I think both can true. I learned a lot in my university, and my learning has been carrying me ever since. Case in point, it was never a problem for me to pick up functional programming or programming-language concepts in general because the courses on programming languages were so wonderful. I had no problem tap into formal verifications or data science or distributed systems because my universities gave me solid fundamentals. Heck, I was not even a good student back then. It was Sam Toueg of the failure detector fame who taught us distributed systems, yet I was lost most of the time and I thought he was talking some abstract nonsense. Only after I graduated could I appreciate the framework of analyzing distributed systems that he taught us.
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.
My own experience: https://www.quora.com/Could-online-coding-programs-and-codin...
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.
I guess I have a different philosophy: whoever owns the problem should learn everything necessary to solve the problem. In my case, the engineers showed no interests in learning the algorithm and the math behind it. For instance, when they built the dashboard for the testing, they omitted a few important columns and got the column names wrong. When I tested them on their understanding of the method, there was none. To say the least, my team should know enough to challenge me in case I made any mistake, or so I assume.
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.
I can attest how useful Bayesian analysis is. My team recently needed to sample from many millions of items to test their qualities. The question is that given a certain budget and expectation, what's the minimum or maximum number of items that we need to sample. There was an elegant solution to this problem.
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.
And the competition from Airbus may not make Boeing better either. On the contrary, Boeing may well get into a death spiral and a slow but painful death. What competition really means is that incumbents can die without impacting customers as other more competent alternatives will fill the void.
The example in the article does not look like LLM Inflation, but that LLM can't reduce the waste in a bureaucratic process.
I used to try services like Blinkist. Did anyone have similar experience as I had: I simply couldn't remember what I read, let alone what I listened to. The summaries, despite being reasonably detailed and having key points and representative examples, were still bland and boring, to the point that they left little impression on me.
That’s why Patrick said it helps to have a strong reputation going in. Still, you can absolutely negotiate—just make sure you have real leverage. That usually means a competing offer from another solid company (ideally a competitor).
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?
Thanks! I used to use the same pattern library hosted in either CMU or PSU, IIRC. Glad that it has a new home.
Specifying a system correctly can be hard with the previous generation of tools. For instance, using LTL to describe system properties is not necessarily easy. I remember there used to be pattern library for model checking or for temporal logic. For something as simple as checking bounded existence, one has to write LTL formula like below. That certainly is out of most people's interest. Fortunately tools have improved a lot, and engineers do not really need to study temporal logic deeply for many cases.
``` []((Q & <>R) -> ((!P & !R) U (R | ((P & !R) U (R | ((!P & !R) U (R | ((P & !R) U (R | (!P U R)))))))))) ```
Do "AI Startups" even make sense?
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.
how Duolingo started using streaks and other gamification techniques to optimize their numbers
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.
I often read that EU is incredibly bureaucratic and risk averse. On the other hand, I also read stories how startups can successfully bootstrap themselves via generous support of the government, like tax deduction for small companies, unemployment benefits for founders, low-interest loans, venture investment, free mentorship by very experienced and connected executives, and etc. The stories about French and Denmark companies are especially impressive. So, I was wondering if there's a difference between the governments of individual countries in EU and the EU government.
I'm more curious about how much cost of customer service can Klarna cut by using AI , and how much marginal improvement to their customer service can Klarna achieve. Customer service should be an amazing application to AI: AI solves X% of the problems, and for the remaining 1 - X% of the problems, customers will tell the system deterministically, which means the company can continuously improve their systems with customer feedbacks.
I actually think the intention of the tariff here is to bring jobs back to the American filming industry - not that I agree with this approach. Just an assessment of mine. But speaking of cultural influence, I think something interesting has been happening.
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.
It will be incredibly lucrative to be one of the "ones who knows" in the relatively near future.
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.
My thesis is that AI will fragment the role of software engineering. It will become a role with a large pool of low-skilled coders who move forward with AI and a few specialists that will unblock those coders when stuck as well as address performance bottlenecks for production-scale.
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.
H3's algorithms involve some intricate maths, but the library itself is conceptually simple. Check this page out for some really fun and neat ideas: https://www.redblobgames.com/grids/hexagons/.
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.
When I was in Uber back in 2015, my org was trying to convert zip-code-based geo partitioning with a hexagon-based scheme. Instead of partitioning a city into on average tens of zip codes, we may partition the city into potentially hundreds of thousands of hexagons and dynamically create areas. The first launch was in Phoenix, and the team who was responsible for the launch stayed up all night for days because they could barely scale our demand-pricing systems. And then the global launch of the feature was delayed first by days, then by weeks, and then by months.
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.
Once it has finally released, it usually remains stagnant in terms of having its knowledge updated....meaning that models will not be able to service users requesting assistance with new technologies, thus disincentivising their use.
I find such argument weak. We can say the same thing about a book, like "Once The Art of Computer Program is finally published, it usually remains stagnant in terms of having its knowledge updated, thus disincentivizing people to learn new algorithms".
Solve all the problems at the end of the chapters in the textbook
It really depends on the textbook, isn't it? I find it impossible to solve all the problems in CLRS, for example. Our professor assigned one of the problems about universal hashing, and it took me hours to get the key insights to find the correct proof. I can't imagine how one can solve all the problems given so many competing priorities, except for a few truly talented.
Pushback: Is math acceleration equitable?
The fact that the author felt necessary to even discuss this shows how sick the US culture has become. Was it equitable that Newton could invent Calculus before he was 26? Was it equitable that Poincaré could manage to work only 4 hours a day yet still be the most successful mathematician in the world? Was it equitable that someone could get the idea of limit in one pass yet some kids struggled to understand even what percentage is? Was it equitable someone could beat the shit out of everyone in her class by merely engaging in class, while someone could flounder their math class despite taking 20 hours of tutoring every week?
Since when the US elites have not been able to recognize that we should nurture talent instead of suppressing it?