Hacker Newsnew | past | comments | ask | show | jobs | submit | sk1pper's commentslogin

I’m still rocking my 2015 MBP. I have no issues at all. The battery says it needs to be serviced, but the battery life is still plenty good for my uses. I have no issues with slowness. And I’m not running a minimalist WM to accommodate this like Drew is, either - I’m running Monterey, and have the UX of a full DE. I can’t upgrade to Ventura, but that’s ok.

I run VS Code on it a lot, often remote over SSH to my desktop to work on a personal raytracing project - I need the nvidia GPU to do CUDA stuff, and the 16 cores in my 3700x are pretty nice for non-GPU stuff too. I also stream games from my desktop to it using Parsec and Moonlight. I just play games casually, so no need for super low latency, and over my local network the experience is great.

I’m not sure how well it’ll be holding up at the 11 year mark though (4 years from now). But I think this habit of doing most of my development over ssh will potentially extend the life of it.

For the most part I agree with Drew. Based on all of the above, it does absolutely everything I need it to do. I can’t even remotely justify the cost of a new laptop due to this. However, if I get to the point where I can’t even run KDE comfortably, or get an equivalent desktop UX, it’s time to upgrade. I don’t prefer minimalist WMs (or Linux even really, but if anyone wants to reply, I’d prefer not to fight about using Linux as a desktop - it’s just not for me) - that’s where I draw the line and decide to get some newer hardware. Hopefully when I do, that hardware will last me another 7-10 years.


If you do want to run Ventura, have a look at Opencore Legacy Patcher.

https://dortania.github.io/OpenCore-Legacy-Patcher/MODELS.ht...


My 2015 MBP sputters and overheats when running Firebase emulator + VS Code + Edge.

I7 + 16 gigs of ram and an aftermarket OWC Aura Pro X2 SSD.

I suspect it’s the Firebase emulator running in Java?


You could try replacing your thermal paste.


Man, yeah, I feel that; I just don’t have enough time to do everything I want to do.

- me, laying on my couch and mindlessly browsing HN

There are things I want to do that I legitimately don’t have time for, even though I have time to browse HN. Or at least, I won’t make time for them, because they’re quite time consuming. I want to learn Japanese, make my own top-down RPG, get a black belt in Jiu-Jitsu. Build some cool woodworking projects. Start a blog. Photography. Get better at golf. I’m interested in everything, I could rattle off tons more things that I would love to spend time on.

But these must compete with other things I love to do, as well as things I must do.

I’ve been doing some game programming recently and have gotten really excited because I finally have grokked Godot. But, I’m not sure I have the time to actually make my own game of any quality.

Actually just giving up on that project might be freeing. Like when I gave up on Advent of Code on Day 17 due to problems taking me too long, I was more relieved than anything. I think this is what’s behind giving up on the idea of being able to do all of the stuff you want to do.

The problem is that this is fairly soul-crushing. When I have a side project going that I’m really interested in, it’s quite fun and energizing.

But I can be obsessive, so all of this extra energy goes towards the project. I think I end up netting negative, because I’m spending so much time and energy on the project. I will also start to abandon other responsibilities and fall behind in other areas of life. Exercise, chores, other but less sexy projects I care about (meditation is always the first to get discarded).

Eventually I hit a point where I realize I need to get my act together, and by then, letting go of the big project is relieving, but sad.

I guess the problem here is more with the obsessiveness than topics in the article, but they might be related. Like, I‘m constantly chasing novelty. This is probably common nowadays due to the internet. I’m a true geek who loves learning stuff, and I like doing it in a hands on fashion. Having an effectively infinite stream of novel things I can teach myself (minus BJJ and such) to do is just plain addicting.

I’m not quite sure what to do about this. This habit has made me a much better programmer. And I’m always doing something I love doing. But there’s collateral damage to other things I care about. And eventually I start feeling like I have no time to do what I need to do, and also what I want to do.


I don't know if you currently do BJJ or are only thinking about it, but I started when I was older, and may never get a black belt. But, I have moved up over the years and know that my belt color changing or getting a stripe on an existing belt doesn't suddenly make me a different person. After chasing goals for so long, BJJ is an amazing reminder that it really is the journey that matters. It's shaped me to be a better person regardless of an arbitrary belt color.


I’m also in this dilemma. I feel that as time passes, slowly more and more things fall into my plate of ‘want to dos’.

How does one manage time with so many hobbies!

My attempt is to move the goal post back down, so as to not be overwhelmed.

Like learning Japanese for an example. Rather than me saying, I want to learn Japanese, I’ll set a goal for myself to, pick up the basics if hiragana and katakana.

I think this approach will help reinforce motivation for me to be short-term goal minded.

The reading did open my eyes to the thought that not everything on our list will be completed. You might be young, but at my I age have some things to eliminate from this list; or more specifically, move them down further in terms of priority. My reasoning is a personal one, at my age, things tend not to stick as well as when I was younger.

We’ll see.


> I'm not quite sure what to do about this.

I suggest you inform yourself about (adult) ADHD. Your behavior matches mine exactly. It was only after I learned about ADHD when everything finally made sense.


My fiancee has ADHD and sends me memes and videos and such about it. And I'm always like, these videos are dumb, doesn't everyone do those things? I've been wondering about this for a while, but I've tended to write it off due to me having pretty different symptoms/behaviors from her - but I guess it can manifest in different ways.

What intervention(s) have you found the most helpful? Or are there any resources you can point me to? Thanks.


> these videos are dumb, doesn't everyone do those things?

Have any person go through the adult/inattentive-type ADHD symptoms [1]. Everyone will see themselves nodding. It's difficult for people to understand the difference if they are not affected. There's a difference between common headaches and migraine, or between bad mood and depression. It's about the intensity and the frequency (broadly speaking). This doesn't mean that everyone who procrastinates has ADHD. It's really hard to explain the state of complete mental unability to perform a task that I don't like to do vs. "being lazy". When I first described my symptoms to my wife, she was also like "everyone has those symptoms from time to time". Only after reading a chapter from a book about adult ADHD she understood the difference. Unfortunately, the book is in German. What I can recommend is Dr Russel's ADHD presentation [2] and Roman Kogan's ADHD Wiki [3].

> What intervention(s) have you found the most helpful?

Well before learning about ADHD, I have developed many coping mechanisms. The use of todo lists, calendars and alarm clocks has probably made the biggest difference. As you have mentioned the "chase for novelty", I can only imagine how big your bookmark list has become. I've coped with this one by having a single "inbox" bookmark folder and clearing it frequently. Anything I want to keep for a longer time ends up in one of my tools (Static Marks [4] - a tool I've made for long-term bookmarks, OneNote for notes, my blog drafts for research material, Todoist for todos etc.).

However, no coping mechanisms will solve the constant inner restlessness. I've made several excuses for not getting myself an official diagnosis, but I want to do that soon™.

[1] https://en.wikipedia.org/wiki/Adult_attention_deficit_hypera...

[2] https://www.youtube.com/watch?v=BzhbAK1pdPM&list=PLzBixSjmbc...

[3] https://romankogan.net/adhd/

[4] https://darekkay.com/static-marks/


Hmm, I think that's a little heavy-handed. Just off the top of my head: CUDA (maybe other gpgpu stuff too), gamedev, most projects with a UI. The tooling you'd be using in those spaces is still bleeding edge; too much so to use with a greenfield project that you intend to put in production, imo.

I guess you said "in the coming decades," which might be true, but for the time being it's more than just niche libraries that might push one to use C++.


I want this to be true very badly. I’ve been a Linux user for nearly 20 years and I’ve never had an install that “just works” to the level of macOS or even Windows.

Although there was a while there in like 2006 where I had a pretty solid install of Ubuntu on some HP laptop I had at the time. That’s the closest I got.

This is of course extremely anecdotal. Everyone’s on different hardware and therefore has pretty different experiences.

I hate Windows as a development OS but I’d rather deal with that than some odd update that breaks my install completely, or spending hours reading forum posts to try to make my Bluetooth driver less shitty, etc etc.

I just use macOS for dev and Windows for gaming and they stay out of my way. I’ll keep trying Linux again once a year or so, but I’m not optimistic on it. It’s a moving target too due to varying hardware support over time.


I see a lot of Windows laptops, and am also a Linux enthusiast, and honestly, Windows does have the issues you are talking about occasionally, same as popular Linux distros. They, for example, sometimes have maddening issues like on default settings delivering driver updates to (Intel) display drivers which are very fiddly to roll back and pin in order to fix. Even the walled garden of Apple has problems depending on whether or not their new M1 line will be compatible with what you want to do. Modern computers and the operating systems that straddle them are complex systems, and sometimes have complex problems. The best we can do is find our own balance of stability given requirements, and be thankful for the technological advancements meaningful to us.


We can make a pretty good guess. I found this link on her website: https://justmeat.co/docs/health-dangers-of-a-plant-based-die...

A cursory review of her website doesn't reveal any references or links to actual scientific studies of any kind. Well, except for this one, which seems to be about Homo Erectus species in the Levant region being dependent on eating elephants for a source of fat about 400,000 years ago: https://journals.plos.org/plosone/article?id=10.1371/journal...

However, I found lots of affiliate links to various products.

edit: oops, here's a link to her site for reference https://liondiet.com/


Nitpick:

> when a nested query is refactored into a common table expression (CTE), this kind of change doesn’t have any functional impact on either a query or its outcome

This isn’t quite true, at least in Postgres. It won’t affect the outcome, but it can affect the query plan.


I believe that was true but in current PG the CTE no longer acts as an optimisation barrier.

https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit...


For this use case, it’s intentional, since only the outcome is important to us. That’s kind of the draw of a declarative language, you ask what you want and don’t have too much control over how that’s done (the engine should optimize that away).


> Julia is very specifically a general purpose programming language

I’ve been trying to figure this out recently - because I love Julia’s features. Readable like Python, but with more ability to optimize performance, and also lispy with macros and generic functions. I’m personally interested in it as a general purpose language.

But when I search around about it, most folks to seem to relegate it to the data science realm only. Everyone seems to be saying: well it’s certainly general purpose capable, but its designers are focused on data science, and that will continue to be the primary goal. As such, don’t expect to see it widely adopted as outside of data science anytime soon.

I don’t want that to be the case, but it seems harder to build broader excitement about the language if it’s going to continue to be perceived as niche.


Bringing up data science as its niche is somewhat funny, because the most mature libraries in the language (where it is light years ahead of other ecosystems) are in the general sciences (e.g. differential equations, math optimization, etc). It is true that the Julia ecosystem as a whole is mature only in a few niches, but focusing specifically on narrow data science claims would make me doubt the knowledge of the person making that claim.


Do you mean for production? Zig isn't production-ready. Nim is extremely niche. I'm kind of puzzled why I see these thrown around so much on HN. Sure, they're fine for a side-project, but they're pretty out there for anything mission critical.


Here’s a fun way to decide. Do Raytracing in One Weekend[1] in one of them. Then rewrite it again in the other. That should give you a good sense for which one you want to invest in.

Spoiler: I did this exercise myself. I found Rust to be more convenient in some ways. The Rayon crate made adding parallelism (threads) pretty easy. Some other crates made things pretty terminal output easier.

C++ feels more familiar to me in many ways though - I also write C fairly often. Implementing parallelism was more difficult. (I tried `pragma omp` stuff which should work similarly to Rayon, but couldn’t get it to work.) But just getting something working seems a little more straightforward.

I find myself fighting Rust somewhat often. In C/++, if you know what you’re doing, and you just want something working as a fun side project, it usually takes less dev time in my experience. Maybe that’s because I’m still learning it. Some folks will argue that the Rust compiler forces you to write better code and actually makes dev faster because it catches your mistakes. I haven’t found this to be true.

For example trying to implement simple polymorphism in Rust that was analogous to the implementations in Raytracing Weekend got ugly very fast. I ended in a weird hell of having to add annotations to everything to support generics. Again maybe I don’t understand the language enough, but adding polymorphism was a 5-minute straightforward exercise in C++, even as someone who doesn’t write it often.

I like a lot of stuff about Rust but I’m doing my hobby dev stuff in C instead nowadays, mostly for dev speed like I said, and probably would opt for using a subset of C++ for higher-level projects.

[1] https://raytracing.github.io/books/RayTracingInOneWeekend.ht...


I'm not ready to go back to C++ for this, but I know exactly what you're talking about regarding polymorphism. It's all magic and fairy dust for me, I'm really enjoying Rust. But once you want a dyn trait instead of a simple function, suddenly half of the magic doesn't work any more, and the language explodes into all riddles. (Interesting ones, I admit, and often there is some valuable insight at the end. But still a distraction.)

I guess as C++ veterans, we have to re-learn which approaches will work straight-forward, and which are the ones are asking for trouble. (I eventually found decent solutions for my problems that, while not the ones I had in mind initially, didn't require solving any hard puzzles.)


Well said, sometimes the developer community forgets what they are giving up (vs what they are exchanging for).

Is it a sin to say that, because you know c++ so well you don't need the nanny's and excessive overhead of validation?

That's akin to someone saying they never need to write tests.

Have you ever started a project without tests?


I don’t think raytracing is a good test of a languages merits. It tests a fairly narrow part of the scope of a modern language.


Counterpoint: Zig is unstable (as in, <1.0 release) and the docs are still pretty lacking. You’ll find yourself reading source code if you want to do anything nontrivial pretty much.

Stick to C++ or Rust, which I won’t weigh in on here. But both are much more mature.


Also there's no job market for it.


I don't think Zig is recommended for production use. It's not at 1.0.0 yet.

That said, there are at least three stealth-mode SaaS companies I know of betting on Zig for their performance sensitive / low-latency software. Where I work, we're tracking Zig's nightly build and follow/contribute to Zig progress and stability roadmap.

Zig hits a sweet spot between C and C++. It feels really nice to work in -- in a way that many people describe Go. I think Zig is a very attractive option for allocation sensitive programs like games, audio, or purpose-built data stores. Give it a look and decide for yourself.


D had a couple of such SaaS and doesn't seem to have helped much in the end.


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

Search: