HNHacker News
TopNewBestAskShowJobs

m_nyongesa

55 karma · joined May 21, 2020

submissionscomments
m_nyongesa··on 3rd Edition of Programming: Principles and Practice Using C++ by Stroustrup
Do you have a recommended link to a book or tutorial that teaches one how to do composition rather than inheritance in C++ (the way you are describing)?

Thank you in advance!

m_nyongesa··on New U.S. immigration rules spur more visa approvals for STEM workers
I'm a U.S. citizen who does 1 hour of linear algebra first thing in the morning, when I'm not getting crushed by PhD-related deadlines. Currently working through Lang's _Linear Algebra_ for a new take on the material.

(side note: for the first 5 months of 2023 I did 1.5 hours a day of real analysis. I'll probably get back to doing that after getting through most of Lang.)

Can you give me a hint of the types of employers I should be looking for who would value this? How should I go about finding them?

m_nyongesa··on How to self study pure math – a step-by-step guide [video]
I have worked through some of Carothers myself and like it a lot.

Are there other math books you think highly of that are similar, i.e. good for explaining why the definitions are the way they are as well as teaching the material?

m_nyongesa··on On Chomsky and the Two Cultures of Statistical Learning
The major difference between the airplane flying example and the computer language reproduction model example is that we actually understand how aerodynamics and flight work, so we understand very well how an airplane flies (it doesn't just "replicate" flight).

We don't understand how the human brain works so that our minds can acquire language.

m_nyongesa··on Rust front-end merged in GCC trunk
I upvoted you. I have no idea why your comment received downvotes.

I responded in a similar way to a conversation about Julia less than a week ago.

For people who have trouble understanding this reasoning, a message from the GCC mailing list (https://gcc.gnu.org/legacy-ml/gcc/2014-01/msg00247.html) provides some of the explanation, which I reproduce here:

In the free software movement, we campaign for the freedom of the users of computing. The values of free software are fundamentally different from the values of open source, which make "better code" the ultimate goal. If GCC were to change from a free compiler into a platform for nonfree compilers, it would no longer serve the goal of freedom very well. Therefore, we had to take care to prevent that.

(See http://www.gnu.org/philosophy/open-source-misses-the-point.h... for more explanation of the difference between free software and open source. See also https://thebaffler.com/salvos/the-meme-hustler for Evgeny Morozov's article on the same point.)

The Clang and LLVM developers reach different conclusions from ours because they do not share our values and goals. They object to the measures we have taken to defend freedom because they see the inconvenience of them and do not recognize (or don't care about) the need for them. I would guess they describe their work as "open source" and do not talk about freedom. They have been supported by Apple, the company which hates our freedom so much that its app store for the ithings _requires_ all apps to be nonfree. (*)

The nonfree compilers that are now based on LLVM prove that I was right -- that the danger was real. If I had "opened" up GCC code for use in nonfree combinations, that would not have prevented a defeat; rather, it would have caused that defeat to occur very soon.

For GCC to be replaced by another technically superior compiler that defended freedom equally well would cause me some personal regret, but I would rejoice for the community's advance. The existence of LLVM is a terrible setback for our community precisely because it is not copylefted and can be used as the basis for nonfree compilers -- so that all contribution to LLVM directly helps proprietary software as much as it helps us.

The cause of the setback is the existence of a non-copylefted compiler that therefore becomes the base for nonfree compilers. The identity of that compiler -- whether it be LLVM, GCC, or something else -- is a secondary detail. To make GCC available for such use would be throwing in the towel. If that enables GCC to "win", the victory would be hollow, because it would not be a victory for what really matters: users' freedom.

If you think we ought to "compromise" on this point, please see http://www.gnu.org/philosophy/compromise.html.

The only code that helps us and not our adversaries is copylefted code. Free software released under a pushover license is available for us to use, but available to our adversaries just as well. If you want your work to give freedom an advantage, use the leverage available to you -- copyleft your code. I invite those working on major add-ons to LLVM to release them under GNU GPL version-3-or-later.

* If a binary is made from published source code, but you can't install your binary of a modified version of that source code, the binary is proprietary even if the source code is free. (See http://www.gnu.org/philosophy/free-sw.html.) A binary in Apple's app store may be made from published free source code, but under Apple's rules and Apple's DRM, the binary can't be free.

m_nyongesa··on What's Great about Julia?
Sorry I wasn't clear enough before. I should have said "I wish Julia worked on a compiler licensed under the GPL." The only major one I know of is GCC. This is not just a "minor" benefit. To quote from the post I linked to:

"The nonfree compilers that are now based on LLVM prove that I was right -- that the danger was real. If I had "opened" up GCC code for use in nonfree combinations, that would not have prevented a defeat; rather, it would have caused that defeat to occur very soon.

...The existence of LLVM is a terrible setback for our community precisely because it is not copylefted and can be used as the basis for nonfree compilers -- so that all contribution to LLVM directly helps proprietary software as much as it helps us."

m_nyongesa··on What's Great about Julia?
Interesting. I've heard that complaint before and I'm not sure how to address it since I have only used reStructuredText in what are likely smaller projects.

I think it's strange for a language to absolutely rely on the architecture of one compiler. Ideally it should have at least two that are both under FLO (free/libre/open) licenses.

Regarding LLVM specifically, see here: https://gcc.gnu.org/legacy-ml/gcc/2014-01/msg00247.html

m_nyongesa··on What's Great about Julia?
My point was that the Markdown format itself is not complete enough for the task at hand i.e. making documentation. So all the people involved have to 1) learn all the customized extensions specific to this one project (and remember to differentiate them from the other custom versions for other projects, e.g. Rust's one), and 2) learn a custom deployment system.

I'd rather just learn one thing and use it for many different projects.

m_nyongesa··on What's Great about Julia?
I don't understand what the Julia language offers over for example OCaml, which has a solid type system yet also has a REPL as well as a scientific computing library:

https://ocaml.xyz/

https://ocaml.xyz/docs/

m_nyongesa··on What's Great about Julia?
I'd like to point out two things I _don't_ like about Julia that seem to be idiosyncratic but nevertheless matter to me:

1. Rather than use something like reStructuredText or Texinfo they used Markdown, and then of course had to define a bunch of custom additional stuff to make it work for documentation, plus a custom program to publish the documentation to a limited number of formats. Unlike the two documentation languages I mentioned, the Juila "customized Markdown" isn't publishable to Info, so it can't be used in Emacs: rather, it's basically just a bunch of web pages.

2. Julia is completely dependent on LLVM. Even Rust (which was initially like that) now has a GCC-based implementation.

m_nyongesa··on Ask HN: I seem to lack personality beyond my work / university. What can I do?
I don't come from a poor background but I'm basically in your exact situation, but probably older and less smart with regards to studying and technical stuff than you are.

I'm doing a PhD right now. It's a pretty good experience, but it won't solve your problem of the "emptiness." In fact, it will take up a ton of your mental time: the current state you're in is good for a PhD since you have to think a lot about what you're working on.

If I were you I would question whether or not your current mindset is actually a problem. Maybe you truly like thinking about certain types of problems irrespective of external demands of an employer. If so, in my opinion that's okay. On the other hand if you decide that your current mindset is actually a problem and that you should broaden your horizons or change, you can! For example you can try new hobbies that have nothing to do with work and see how you feel doing those things (preferably join a club so you can do it with other people).

m_nyongesa··on Monumental (if correct) advance in number theory posted to ArXiv by Yitang Zhang
Thanks for that link. Wish I could read Mandarin Chinese so I could read the original too.

Clearly a flawed person. Not sure why he blew off his family so hardcore for so many years. Too bad to hear he was arrogant as a kid too, although a lot of smart kids are. Some of them turn out to be Peter Thiel, luckily this guy just wanted to work on math.

Anyway, I wish he had been better to his parents. On the other hand, he needed that big breakthrough to save his life as a mathematician: until that point, he was just an adjunct lecturer with no stability at all. Life is weird and complicated and we don't have full control of the choices we make, some choices can seem really hard to some people. I'm not excusing his behavior toward his family but I would be interested to know why he made that choice.

m_nyongesa··on Monumental (if correct) advance in number theory posted to ArXiv by Yitang Zhang
He did work behind the counter sometimes.

Source: https://yewtu.be/watch?v=88Q2v6FTSBI 49:03 - 49:56

m_nyongesa··on Monumental (if correct) advance in number theory posted to ArXiv by Yitang Zhang
As an older person currently working on a PhD, this guy was and is a something of a hero to me. He has an interesting life story. He was very into math at an early age, so he's different from people like me who got interested in it later in life, but he's also different in that his family was sent down to the countryside in China. I remember reading a lot about him a few years ago and relating to some of the professional difficulties he had and also to some of his ways of thinking and approach to doing math.

I never expected to see his name in a context like this again. I'm glad he's still being himself and working hard on what he loves.

m_nyongesa··on Monumental (if correct) advance in number theory posted to ArXiv by Yitang Zhang
In the earlier version I saw (I guess it consists of the non-bold parts), he didn't mention as much negative stuff about Zhang. His claim that Zhang "want to be famous all the time" I regard with suspicion.
m_nyongesa··on Ask HN: How are you, a dev/programmer, preparing for the probable recession?
Do you have suggestions for finding jobs that support this kind of work arrangement? For example, do the jobs advertise themselves as 100% remote from the beginning, or is that something you negotiated with them during the interview process? Also, how do you deal with the time difference?
m_nyongesa··on The case against CS master’s degrees
My experience: I was interested in machine learning and was working in industry with no CS background. I was accepted to an MS in CS based on my undergraduate work and also programming experience. The program was in-person, not online. Through the courses and contact with professors both in CS and in other departments (Mathematics, Statistics) I developed a far better understanding of the field than I would have without being at a university.

All of the courses were the same regardless of whether or not you were an MS student or a PhD student. Professors actively encouraged MS students to continue on to the PhD.

The article says "If your undergrad degree was in some other field, you can get through an MS in CS without ever taking an algorithms or data structures class." In my department you had to take a minimum number of courses from a few categories. For the category that included the Algorithms course, I would say at least 90% of all students took that course rather than the others on offer. It followed CLRS and moved really quickly for someone with no undergrad background like me. The course had no programming in it so I have no idea what the author is talking about when per mentions programming experience.

I think if the program were online it would have been harder to have the multidisciplinary experience I got in-person. But for people who didn't want that aspect of it, I think an online program might work just fine.

m_nyongesa··on NetScape: A Sneak Preview of the shape of WWW Browsers to come (1994)
XUL is still under development as UXP, by the Pale Moon community: https://repo.palemoon.org/MoonchildProductions/UXP

I'm not sure how they are dealing with documentation. Someone posted this link on Reddit's r/palemoon less than a year ago: https://udn.realityripple.com/docs/Archive/Add-ons/Overlay_E...

m_nyongesa··on Ask HN: Why do we pay taxes if the Fed can just print money?
What would be "factored in," to what?
m_nyongesa··on Ask HN: Why do we pay taxes if the Fed can just print money?
For a moment, pretend the Fed and the Treasury are one institution instead of two. Call it "the government" for simplicity.

When the government spends money into the economy, it creates money (also, increases demand). When the government taxes money out of the economy, it deletes money (also, reduces demand).

The main issue is how much is created over how much is deleted, in a given time frame.

Assume more is created than deleted in a given time frame, so there is a net demand increase over that time frame.

Now compare the net demand increase to that required to bring the economy up to the full employment level. If the net demand increase is less than or equal to that required amount, there is no inflation. If it is more, then there is inflation.

If you didn't have any taxes at all, the net demand increase would be massive and inflation would happen much more easily.