Hacker News new | past | comments | ask | show | jobs | submit | rcruzeiro's comments login

Would you be comfortable sharing a bit about the kind of work you do? I’m asking because I mostly write iOS code in Swift, and I feel like AI hasn’t been all that helpful in that area. It tends to confidently spit out incorrect code that, even when it compiles, usually produces bad results and doesn’t really solve the problem I’m trying to fix.

That said, when I had to write a Terraform project for a backend earlier this year, that’s when generative AI really shined for me.


For ios/swift the results reflect the quality of the information available to the LLM.

There is a lack of training data; Apple docs arent great or really thorough, much documentation is buried in WWDC videos and requires an understanding of how the APIs evolved over time to avoid confusion when following stackoverflow posts, which confused newcomers as well as code generators. Stackoverflow is also littered with incorrect or outdated solutions to iOS/Swift coding questions.


Cannot comment on swift but I presume training data for it might be less avaialble online. Whereas Python, what I use and in my anecdotal experience, it can produce quite decent code, and some sparks of brilliance here and there. But I use it for boilerplate code I find boring, not the core stuff. I would say as time progresses and these models get more data it may help with Swift too (though this issue may take a while cause I remember a convo with another person online who said the swift code GPT3.5 produced was bad, referencing libraries that did not exist.)

Which LLMs have you used? Everything from o3-mini has been very useful to me. Currently I use o3 and gemini-2.5 pro.

I do full stack projects, mostly Python, HTML, CSS, Javascript.

I have two decades of experience. Not just my work time during these two decades but also much of my free time. As coding is not just my work but also my passion.

So seeing my productivity double over the course of a few months is quite something.

My feeling is that it will continue to double every few months from now on. In a few years we can probably tell the AI to code full projects from scratch, no matter how complex they are.


I think LLMs are just better at Python and JS than other languages, probably because that's what they're more extensively trained on.

Depends on what one defines as a criteria for "better". Getting something to run and work, or actually writing good, readable, mostly self-explanatory, maintainable, easily testable, parallelizable, code.

better is relative, code that works but is kind of bad is still better than code that doesn't work and is also kind of bad. whether LLMs produce good code is another question

LLMs are better at languages that are forgiving, like those two, because if something is not exactly right the interpreter will often be able to just continue on

As long as you're just rebuilding what already exists, yes.

I’ve found it to be really helpful with golang.

With swift it was somewhat helpful but not nearly as much. Eventually stopped using it for swift.


Sometimes it’s PEBCAK. You have to push back on bad code and it will do better. Also not specifying the model used is a red flag.

I spent over one year being served sponsored content advertising sales of firearms, cloned credit cards and drugs. Last time I logged in, I’ve noticed that I was being served content based on interests of my close friends. For example, a close friend got really into rock climbing, so I got tons of rock climbing meme accounts.

I have now grown tired of all of that and, when I realised that it had been ages since I had seen someone I actually know post anything, I deactivated it all.


Worse than that. Subcutaneous fat (which is the one you can trim off with liposuction) usually expands relying more in cell expansion and not in hyperplasia. Visceral fat on the other hand, is way more likely to involve hyperplasia and you cannot use liposuction against this type of fat. This is also the fat that is very hormonally active and increases the risks of diabetes, heart disease, cancers, strokes.


Is it unremovable because it's inside the core muscles and near internal organs?


See the second half of this video: https://www.youtube.com/watch?v=Bav_IBsuXEM

Visceral fat is literally enclosing the intestines, major blood vessels, organs, etc. of the abdomen.

Nevertheless, it is possible to surgically remove this sheet of fat that's covering your organs, it's called an omentectomy. But it's a big surgery, and done only in case of cancer, not for weight loss. That is, in humans: https://pubmed.ncbi.nlm.nih.gov/29367725/


Right. A surgeon can't just stick a liposuction tube into the abdominal cavity and poke around. This would be major invasive surgery with a high risk of complications, far worse than leaving the adipose tissue in place.


A catch-all term used to label anything they disagree with. It is also used to describe people they believe are part of the conspiracies they subscribe to


Someone who worked on a non-English environment years ago here: sometimes you do use the local language in some contexts, but, more often than not, you end up using English for the majority of stuff since it's a bit off-putting to mix another language with the English of programming languages and APIs.


Our US company sent me to France to help out with an implementation. The guy I worked with spoke very little English and my French is terrible. Both of us had done Latin, however - so the comments were hilarious as we used that as our common link. One of those projects I'd expect to show on the daily WTF at some point.

I did try my hand at a translation tool, as it was all i18n up proper. Watched one guy blow coffee through his nose when I demo'ed - and the 'BACK' navigation was the French word for a persons back or something like that.


Isn't it true that schoolboys in many countries would learn Latin 100+ years ago? I suppose it would've been used sometimes in international communication?


I learned Latin in the 90s-00s

If you're from Europe knowing Latin definitely gives you a deeper appreciation of a bunch of stuff.

It's a useful way of formalising verb conjugation and tenses which is common across the major European languages. Something they all take for granted but I watch my poor mother's mind melt when she tried learning German as a Chinese speaker. Especially as a lot of these forms are looser and more forgiving in English.

A lot of vocabulary has its origins in Latin and biology and medicine still like to borrow from it.

It's niche but only today I was playing some Mozart on the piano and saw "M. S." where I was meant to cross the hands and I considered for a sec and guessed it must be mano sinistra (forgive the declension) even though I've never learned Italian thanks to Latin.


100+ years is still pretty recent. The immediate predecessor to English as a world language was French. Matter of fact, my country has only dropped French translations from its passport with the most recent design update a decade ago or so.

Latin would have been used pre-Renaissance. Our grandparents might have still had to learn it as a part of an educated person's toolkit, but it was long not intended for communication anymore back then.


> The immediate predecessor to English as a world language was French

From what I remember, there was a divide between Catholicism and Protestantism, where some of the smaller countries that followed Protestantism used German as a common language due to its origins. I think knowledge of German in Norway was something that was expected of students attending the universities until the mid 1900s (due to geopolitical changes)


Japanese scholars famously learned Dutch because they were the only foreigners who were allowed to bring in Western books.

Luckily if you are intelligent enough to read Dutch learning English is a walk in the park.


It's still mandatory (1-2 years) in non-vocational high schools in Croatia, for the stupidest of reasons ("culture" and "you might need it in law or medical higher education").


It was mandatory at the schools I attended from 7 to 14, which was in the 90s, although this was at what British people call "prep/public schools", a group of a few hundred fancy fee-paying schools. Most people dropped it at 14 (GCSEs), and almost everyone dropped it by 16 (A Levels)


My high school ( late 00s) had Latin classes for some students on the live sciences track.


I was offered it in the 90s in school.


Lol, I learned it in the 80s - 90s. If you chose to learn Latin & Greek in high school here in Belgium then you're seen as being a top student. It's still a big thing.


LLMs seem pretty great at helping with the translation like this. I asked chatgpt about "back" and it gave me tons of options.

https://chatgpt.com/share/679b43af-e770-800a-92ee-b27bd87194...


Yep, myself as well. I've heard non-English programmers who've worked with non-English codebases call them "very weird".


I've been working on a project for the former Polish state telco and the codebase was mostly Java EE as written in the mid-00's. Since you cannot really be productive in Java without an IDE, standard English conventions for naming have been pushed onto the devs from early on - a getter must start with `get` or `is` if the return type is boolean, class names have to contain standardized postfixes corresponding to the design pattern used, such as `AbstractFactoryBean` etc. But since few people spoke English back then, they ended up with awful hybrid names such as `getCennikSluchawkiKeySet` or `OfertaManagerPrzylaczeProxy`.


From famous examples, ;)

function czyWybranoPsa() {

var isPies = false; var bil_dod_psy_arr = [17, 18, 19]; // psa, psa-asystenta, psa-przewodnika

$(".bilet_dodatkowy").each(function(idx, elem) { if (bil_dod_psy_arr.indexOf(parseInt($(elem).val())) > -1) { isPies = true; } });

return isPies; }


A lot of software design from the English world centers around "design patterns." And these "design patterns" have advanced nomenclature and often make things more convoluted then necessary. The whole concept of these "patterns" are actually an arbitrary style that got invented in the English speaking world. In non-english countries people program in ways that are more straightforward.


Can you provide an example?


First, we create an AbstractFactory to generate objects that conform to our standardized output structure, ensuring extensibility in case "Hello, World!" ever needs additional variants. The Singleton manages our PrintManager, enforcing a single, controlled point of access to the output stream while Double-Checked Locking ensures thread-safe initialization. Dependency Injection provides our PrintHandler with a flexible logging system, allowing it to notify an Observer whenever "Hello, World!" is printed. The Mediator coordinates between components to ensure the PrintHandler doesn’t have direct dependencies on the OutputStrategy.

To maintain optimal efficiency, a Flyweight is used for the "Hello, World!" string, preventing redundant memory allocation. The Proxy regulates access to the print function, ensuring only authorized modules can invoke it. The Composite structure organizes potential multiple output streams, making it easy to expand the system beyond just console printing. A Factory of Factories, or MetaFactory, oversees creation of our AbstractFactories to maintain consistency and scalability.

Before execution, Encapsulation hides implementation details while Cohesion ensures the PrintHandler remains single-responsibility. Loose Coupling ensures that changing one component won’t break the system. Interfaces dictate behavior, and Abstract Classes provide reusable codebases. Dynamic Dispatch selects the appropriate OutputStrategy at runtime.

To enhance modularity, a Decorator wraps the PrintHandler for additional formatting options, an Adapter ensures compatibility with different logging frameworks, a Memento preserves state in case a rollback is needed, and a Facade simplifies access for higher-level modules. The Chain of Responsibility delegates different logging levels, while the Command Pattern encapsulates the printing request for possible queuing or delayed execution.

By adhering to Open-Closed, we can extend our print functionality without modifying core logic. Liskov Substitution ensures all output strategies remain interchangeable. Interface Segregation ensures smaller, focused contracts. Dependency Inversion prioritizes abstractions over concrete implementations.

Finally, SOLID principles uphold scalability, reusability, and maintainability. UML diagrams map out relationships, Sequence flows depict interactions, and Design Contracts enforce constraints, ensuring the system remains adaptable.

After all this, we simply call PrintManager.getInstance().print("Hello, World!"); and marvel at our masterpiece.


In the English-speaking world, what you're describing is referred to as "enterprise software".

See e.g. FizzBuzz Enterprise Edition https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpris...


This is very much a Java phenomenon. These things do have value .. when correctly applied. But sometimes it's like seeing someone make a gadget with fifty different types of bolts rather than one or two simply because they want to use all the bits of their socket set.


No it’s from a book called design patterns. It forever influenced a huge number of American programmers to think about programming in a very specific way following very specific patterns.

I’m working for a company that’s doing things in typescript using IOC and dependency injection everywhere. It pervades the minds of Americans such that they walk and talk like a parrot parroting that book.

What Americans don’t realize is that those patterns are arbitrarily made up. It’s as arbitrary and localized as the Japanese having to bow for politeness. There’s nothing intrinsically hugely beneficial for following this style. In fact, modern languages push against it. Languages like golang and rust are examples. Even JavaScript was an example although recent es6 syntax makes patterns more easier now


> No it’s from a book called design patterns

I think you will find most Java programmers were using these patterns before they came across the book. The language naturally leads you in that direction. The book just put a name on them.


The book was published in 1994 with examples in C++ and Smalltalk.

Java was released in 1995.


Yes oop was and still is religiously followed by many. But during that time it was new and thought of as revolutionary.


My mistake, I misremembered it.


September 17, 1987 "Using Pattern Languages for Object-Oriented Programs"

https://c2.com/doc/oopsla87.html


Dumb question, but it would then seem that you have to know English to program??


This is a bit environment dependent is my impression. Like France and Japan both have enough people shitty at English to generate either translations or home grown programming learning material to fight against this barrier. But my impression is that, like, a German programmer isn't getting far in life without being comfy reading stuff in English


Many non-English-language countries end up with most people who've been through higher education knowing at least some English, not only so they can handle sources but also so they can talk internationally to any other country as well as consume American media.

It's also a status symbol.

The smaller the language pool is the stronger this effect is. Japan is large enough that it's less guaranteed. Places like India and Indonesia that have a lot of internal languages end up using English as a lingua franca (+) as well.

(+) latin term!


Not literally required, because languages typically support UTF-8 source files, but it would be difficult to use most popular software libraries without being able to at least read English.


Now I want to program in Mandarin and be l33t



Actually, most "most popular software libraries" have either translated docs, or guides in a non-English language. Furthermore, modern browsers can translate text on the fly. Some (like Yandex.Browser [1] not_an_ad) can even translate videos on the fly.

[1] https://yandex.ru/project/browser/streams/technology (RU only)


Sure, most of them have docs in some non-English languages, but rarely all of them. And things like StackOverflow answers, bug reports and discussions, tutorials, and blog posts tend to be mostly in English. Autotranslate works to some extent but can be misleading or confusing when dealing with specialized terms that aren't well represented in its corpus. My Japanese coworkers certainly need to be able to comprehend written English.


Sure docs for massively popular libraries are translated but think about using autocomplete, reading the actual library code, or even just reading other code in your organization. I have to imagine it would be difficult without any English proficiency.


Kinda. Some of them know all the English words in the programming language they code in, and not much else.


Subset of the english language, is the right term I believe.

(someone who had to learn english to do programming)


A lot would probably be loan words anyway, and they're words many English speakers would also need to learn. Array, socket, database, loop, float, function, etc.

If the stack overflow examples are in English, you might as well use it. That's also why JavaScript is maybe a better choice than Typescript even if Typescript is better.


Probably at least some, because most tools’ documentation are not going to be in your language – at least that’s how it is here in Japan. That said plenty of Japanese engineers who have very low English skill.


It’s harder to learn for sure. Majority of the resources are in English and it’s harder to internalise the keywords. But it’s definitely possible to program without knowing English.


But like, you can’t program Java without English right? A for-loop has to be written in English?? I’m so confused haha


You don't need to know that the keywords are actually english words. So to start the first program on a floppy on a C64 you would type

load "*",8,1

and back then I didn't understand what load means any more than I understood what ,8,1 means, I just knew that if I press this sequence of letters it will start summer olympics.


> But like, you can’t program Java without English right?

Sure you can, if you know Java, which is its own language distinct from any natural language.

Conversely, you can't program in Java if you know English, but not Java.

> A for-loop has to be written in English??

No, it has to be written in Java. It's true that Java keywords are mostly themselves borrowed from English (often by way of C++ or other computer languages rather than directly) with a use in Java that has some connection to the meaning in English, so its probably easier to learn Java if you already know English (even before considering that there is probably more and better documentation in English than other languages), but that's not the same as English being a requirement for programming Java.


A for loop and other syntax keywords are barely the only English people have to understand in programming. One could say that these could just as well be arbitrary symbols, and programmers would just memorize them. But think of all the concepts named in English such as exception, factory, facade, adapter, interface, iterator, needle, haystack, constructor, queue... you name it. Not to mention documentation. So yeah, some English is mandatory, even if we're not able to communicate properly. In some projects though it's not uncommon to use local language for the domain while still keeping technical concepts in English, like getAnniversaire() or PersonneTable.


It's like names of Pokemons. Every kids know that Bulbasaur is grass-poison typed and evolves into Ivysaur at Level 16. You have to memorize them all to be a good player and that's a whole load of nonsense! But that's not relatively huge undertaking, and nothing remotely like the full language.


Yes, for Java in particular you need to know the various English keywords. At least I don’t think anyone has written a non-English Java variant that compiles to the JVM just as Java would.


If you know another language than English, try Microsoft Excel in that other language. And even if not, just for fun install a non-English version of Excel.

They translated the keywords. Even if you've programmed in proper programming languages for years without knowing English, all the regular keywords to get stuff done you will know in English. And you won't be able to do a single thing in Excel coz none of the keywords work.

One good thing I guess: You can honestly say when they ask you "hey, you know how to program computers, right? Can you help me with this problem in Excel" and you can honestly say: Nope, can't, no idea how that works. See it doesn't even have a simple IF.

Example: https://easy-excel.com/excel-in-other-languages/excel-formul...


Yes, but you don't need to know what "for" and "while" mean in your language, you just need to know their behavior. The same way Arnold Schwarzenegger was acting without knowing much English - everything was phonetically spelled for him in early roles.


Or when Kennedy said in Berlin "ich bin ein Berliner" reading from a cue card that said "bear-leaner" :)


I imagine you could have a non-English toolchain, it's just uncommon. You may have to write a bunch of it yourself.

Come to think of it, I wonder if there are language concepts that don't map to English that artificially restrict what we can program?

For example would programming U->D, R->L in Chinese (vs L->R, U->D in English) result in easier to read programs somehow?

Would being able to program using iconography (like a bunch of FE languages) result in more "screens" of text to aid understanding?


I learned Pascal before I learned many English words like "if". You don't need to know what "if" or "for" mean to remember those keywords or to know what they do.


for all intents and purposes, yes.

relying on machine-translated documentation or limiting yourself to only using libraries written in your native language would be a huge impediment.


This was not my experience at all. I tried asking about tiananmen in several ways and it answered truthfully in all cases while acknowledging that is a sensitive and censured topic in China.


Ask in the oficial website.


I assume the web version has a wrapper around it that filters out what it considers harmful content (kind of what OpenAI has around ChatGPT, but much more aggressive and, of course, tailored to topics that are considered harmful in China). Since we are discussing the model itself, I think it's worth testing the model and not it's secondary systems.

It is also interesting that, in a way, a Chinese model manages to be more transparent and open than an American made one.


I think the conclusion is a stretch, tho, you can only know they are as transparent as you can know an american made one is, as far as I know the biases can be way worse, or they can be the exact same as of american models (as they supposedly used those models to produce synthetic training data as well). OpenAI models also have this kind of "soft" censorship where it is on the interface layer rather than the model itself (like with the blocked names and stuff like that).


Interesting. It didn't censor itself when I tried, but it did warn me it is a sensitive subject in China.


Please point out where the parent comment said that deportations were the only metric used to make that statement.


They mentioned nothing about any metrics at all and if you're discussing a politician's stance, having at least one useful, relevant metric is a good idea. That's all I pointed to.


Precisely. One commenter above got close to the point but then completely missed it: they suggested that people get into “wokeism” with good intentions, such as wanting to reduce things like sexual harassment. Then, they ponder whether there is a way to reduce sexual harassment without becoming “woke.” They fail to realize that you don’t simply declare yourself “woke.” It is a label others assign to you once you decide you are no longer going to tolerate things like sexual harassment.


I fear people like you and me might become extinct.


Consider applying for YC's Summer 2025 batch! Applications are open till May 13

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: