Thanks! Have these actively helped you? There's too much noise around this business...
HN user
romesmoke
cappadokes.github.io
I'm comfortable with Rust. Why the HW focus? I've heard about FPGAs being used for HFT, but I'm not going for sub-ms frequencies--except if it's unavoidable.
You sound lucky enough to have dodged self-hate. Happy for you. Enjoy your day.
Everyone has their values. It's OK if there's no universal system. I don't want to feel bad if a day passes and I haven't learned or done anything; I trust my intuition and experience to discern between peaceful and warlike periods. I'm all for doing hard stuff when needed; I'm all against the ideal of always; and yes, that ideal is tyrannical.
Life is not binary. Routines are not classified into hippie XOR hardcore. Not feeling bad for not improving yourself is a good sign of having actually improved. But that's just my opinion. Take care.
I wouldn't have commented if the article kept neutral on when to apply its ideas. But the push for daily learning-reflecting-etc is there. Even the segment you're quoting uses days for accounting. You're downplaying one's potential to read something like this on the Internet and try to literally live by it.
As for machines and tyranny, they're terms capturing the Zeitgeist all too well.
Learn something every day.
It's fine if it doesn't happen every day. Don't be obsessed about this stuff. Forgive yourself if you ever behave sub-optimally. You're not a machine, neither should you be one.
Tyranny starts with the best of intentions.
The joke's on anyone outside of China thinking they're free.
A version of Greg's research was published in the Wall Street Journal.
This is not research; it's an opinion piece by a Bridgewater employee that may prove right in the years to come.
Plus, the rhetoric of differentiating China from the "free world" paints a Big Red Flag over the article's face.
I spent the most part of my PhD trying to convince people that allocators are not simple. But the not-simple part is design, specifically the strategy/policy part. In other words, minimizing fragmentation by adapting to linked program behavior. From what I know, no product-level allocator and very few research-level ones go beyond a "one size fits all" approach.
The reason why this is so is pragmatic: fancy strategies take extra compute time that is too expensive when one's sitting on the critical path. So what follows has a good chance of not bearing practical value but (i) there are setups where memory capacity is a bottleneck and (ii) hey, it's just a PhD anyway.
So what does a fancy strategy even look like? Let's look at the simplest non-trivial version of the problem. Say, we know the sizes and lifetimes of all objects in advance, and we want to pack them in as tight a contiguous address space as possible. Mathematicians call this the Dynamic Storage Allocation (DSA) problem and it's NP-complete, i.e., no known optimal algorithm exists for the general case. Deep learning compilers battling the AI memory wall have been returning to DSA lately (it's an old problem).
The implication of the above is that a real allocator, that is, one forced to work under uncertainty w.r.t. object sizes and lifetimes down the line, can always fail remarkably. So going for a general-purpose solution begs that you know what you're doing (one could argue that most programs out there are "well-behaved", and I would agree up until the point where this observation is turned into a universal law).
Nevertheless, it remains a fact that writing a toy allocator is both educational and soberingly not hard.
I perceive a negative colouring of the "academic" notion in this post. And I totally get some of the pathologies implied: publish-or-perish is a harsh environment, lots of snobbery.
With all respect, however, this industry/academia dualism looks to me at best as a false and at worst as a harmful dichotomy. I mean, there are similarly cliché pathologies in whatever one chooses to overload "industry" with. There are successful academic projects that end up in industry (RISC-V) and successful industrial open-source (?) projects loved by academics (Rust). At the end of the day, everyone wants to build something. Tools and methods are needed. Some of them may not exist yet. The act of building one's tools and methods (or something completely new with existing tools and methods) is research regardless from where it happens or how it is labelled.
Why is this not enough? What extra benefits go with differentiating myself as either an academic or a practitioner? Honest question!
POV: CompEng PhD looking for industrial vacancies.
Location: Greece
Remote: Yes
Willing to relocate: EU or UK
Technologies: Rust, Linux
Résumé/CV: https://shorturl.at/0ZdaL
Email: cplamprakos@proton.me
There are countless pragmatic reasons to avoid a PhD, and no doubt both the article and other commenters will bring them up. The most constructive thing I can do is share a personal perspective.
I am 30 years old. I am working through my last few months as a computer engineering PhD student. Eventually, it went good. Not great (the world gives zero f*cks about my work, nobody has offered me a job yet), but not hellish either (didn't quit, still mostly sane, learned a ton of stuff that I never had the guts or prudence to delve into as an undergraduate, and most importantly, I decided I like computers).
Now my background is anything but academic: none of my parents finished high school, people from my village consider me either batshit crazy or a genius. I mean, I was thrown into the PhD archipelago by life itself, rather unconsciously. I just knew that "corporate IT" wasn't my thing, and as for the cool computing jobs, I wasn't their thing. Again, I spent my years as an ECE undergraduate burying my insecurities instead of building my future. To understand the degree of mental fragmentation I was under, I had never made the connection between my digital design courses and my operating systems courses (all of this is the story of the computer, stupid, it's in the title of your degree for God's sake!).... Anyways.
It took me six years to get to today. I am another person now. The PhD (well, and the pandemic, and all that followed) crushed all of my assumptions about the world, myself, the meaning of life. There's no way to put it in the condensed form that an HN comment requires without sounding naive, but I'm telling you the truth. Being forced to survive an alien landscape can make you whole again. It made me.
At the end of the day, talking sh*t about hard stuff is sooo easy. You could replace any polemic against a PhD with one against starting a family, or a company, or in any way rejecting "safety" for the potential of leaving your own mark on the world. Being you. Like that poem by Robert Frost, these things make all the difference.
Nah, the alternative that popped in my mind was "phantasizing", so I guess my wording aligns with my feelings. Whether these feelings are healthy is another discussion :D
Were I to design a computer (both HW & SW), the founding principle should be compatibility with legacy code at no expense of performance or user effort.
Stuff like this gives me hope that I'm not merely wet-dreaming.
I see your point. I've had my fair share of trouble as well. Talking about this stuff on HN after the storm has passed, from a financially stable place, is a luxury on its own.
Nevertheless, I don't see any value on acknowledging the delta between me and peers that happened to be luckier. It'd be useful were I on the other side: for instance, if I hadn't seen my father sink into dementia, if he was still with me, I'd better keep reminding myself of the importance and blessing of growing alongside a functional, healthy dad.
But now... Thoughts like "I have struggled more than these guys" seem dangerous to me. Whenever I've taken them seriously I've ended up using them as justification for the next tiny act of self-destruction.
Great, useful article. Remember: the same principle holds in the world of the psyche. Those people walking around, seeming effortlessly happy? Unless if they're little children, a horrendous amount of effort has been invested to their inner peace. It took me years to realize that. Being envious is much easier than being humble and diligent with getting one's shit together.
My wish for 2025 is for massive, decentralized, slow yet steady psychological magic. HNY, HN.
They claim their mission is to ensure that AGI benefits all humanity. What a preposterous lie.
I remember asking myself when ChatGPT was launched: "why would any sane person massively deploy such a thing?"
It's the money and the power, stupid.
OpenAI doesn't have any mission. To have a mission means to serve a purpose. To serve means to have higher values than money and power. And yeah, there is a hierarchy of values. The closest statement I can accept is "we will try to get all of humanity addicted to our models, and we couldn't care less about the consequences".
Wanna know why they'll lose? Because they'll get addicted too.
Wait a minute:
1. Formulating DSA as ILP doesn't scale. TelaMalloc starts from this fact as motivation.
2. There's no 1-1 mapping between tensors and allocations. Buffer re-use is important.
3. There's room for offline DSA instances as well. IREE's Stream dialect has a related transform (LayoutSlices.cpp).
Anyways, I'm no ML expert. DSA is much more generic than deep learning compilers. I can't wait to graduate myself and never hear the involved keywords again.
TBH I don't know what you mean either :D
I know that DSA is NP-complete, and none of the existing deep learning compilers implement the theoretical SOTA (you're probably referring to the 2+ε bound by Buchsbaum et al.)
I also know that scaling laws and the memory wall are soon gonna overpower the currently used heuristics (e.g., sort by size and do best-fit).
Anyways, I'm glad I "met" someone who has struggled against the same problem. Good luck with your research!
Hopefully I'll defend next summer.
Papers-and-code-wise, I haven't published the "final" thing yet. Right now I'm looking into integrating it with IREE, to get some end-to-end figures.
Hm, you sound like you approached it from the theoretical ML side. My strategy was much less sophisticated: I implemented the Buchsbaum et al. paper you posted in another comment of yours.
An interesting variation is Dynamic Storage Allocation, in which the rectangles can slide only alongside one axis.
AKA "static memory allocation", since the heights of the rectangles can be interpreted as buffer sizes, and their widths as lifetimes.
Most of my PhD's effort has been devoted to beating the SOTA in this. Problem's importance nowadays is owed to deep learning's memory wall.
The notion about "groups" is nowhere in the article. Your comment, however, is written as if belonging to some group is necessary. Worse, your comment delineates the example groups it gives based on social media apps!
...and there's the irony. Because in my view, this unquenchable need to tribalize and to identify enemy tribes is a direct consequence of the crisis described in the article. Which is fully aligned with my day to day experience BTW.
For a more elaborate, complete take on the value of attention, I can't recommend the work of Sir Iain McGilchrist enough.
The Elements of Computing Systems, by Noam Nisan and Shimon Schocken.
At the end of the day, CS deals with computers. The book guides you through building and programming your own computer.
I'm a CompEng PhD myself and going through it right now. I keep finding gems at every page.
Not working. The other day I uninstalled Skype from my cell because some group chat notifications had gotten past tolerable.
August is a sanctuary. It's the only thing I can hold every day of the rest of the year against Tech's meaninglessness. It's when I can read and do what I want instead of what I must.
Had a chat with a pharmaceutical company whistleblower recently.
They told me that FDA has nothing to do with actual product testing, e.g., human trials. What the "approval" guarantees is proper facilities and other second-order criteria.
I'm writing this comment in the hopes of learning that I have misunderstood something crucial here. Because if it is indeed the case that the companies themselves are the only ones vouching for drug safety, that old story about capitalism and incentives implies we're seriously fucked.
Unfortunately, digital dreams are real. That's how I decided to quit social media cold turkey, actually; I was dreamscrolling my FB homepage every other night.
...of course, this tale may be conveying more about me than about our time. But it was too weird an experience to leave unshared.
How about doing stuff outside consuming Internet content? Then you are forced to interact with the real world, where taking action is the default. Take it from somebody very recently recovered from the digital loop: I have lost tons of time ruminating while life flowed out the window, screen, etc.
By the way, is spawning new tabs while waiting for a website to load in order to keep oneself occupied really a thing?
Thank you for your response. We'd need a podcast to unpack everything, but I appreciate your willingness to be constructive--thus I'll try to give my 2 cents and call it a day.
[...] Faith only has anything to do with success if you squint. I understand that the original post puts "success" on its title, and hence justifies your wording. But I find success irrelevant to the discussion that the--not any more--downvoted comment hinted towards. Secular achievements are mere byproducts of a Faith-fueled life in my view. Reconciliation with the prospect of death, defeat of despair, and the sense of a life well and fully lived, are more at the center.
[...] putting faith in ones destiny above all else tends to be adjacent to people that are delusional about the effort they need to actually put in to the task. Not my experience at all. It has to do with the weight and meaning one puts on words, I guess. Yes, Faith means, at least according to Kierkegaard, that everything is possible. But as regards the needed effort to attain said everything, if it's downplayed by the actor then it's not Faith we're talking about--but rather, as you say, delusion. If anything is implied by Faith, it's seriousness.
I am with you on your point about judging programmers according to their provable merit. I am certainly not with you on framing Faith as "being certain he's the next John Carmack". I believe lots of people carry the same misconception, and it's a fact that saddens me.
BTW, I ceased being an Orthodox Christian a long time ago, and was quite fervent about religion until that point. I am not trying to any dogma here, other than that Faith breeds Greatness if done right.