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

I'm a middle-class person from the US. I've even had several short stints of living in Europe. I'd love to live in one of the countries there, but being a little bit older now I really don't want to start over again. Making new friends is hard, and it gets harder the older you get. Not to mention family here in the states. I've spent a few holiday seasons alone and it sucks.

To add to your QoL statement I feel as though European countries have a different kind of QoL. Here in the states the material quality of life is high. Things here are cheap compared to the rest of the world. Whereas in say, Germany, the social QoL is higher. People are more taken care of there and overall have less stress. Cities are walk-able, trains can actually take you where you want to go in a reasonable amount of time, a sense of community still exists. I think of lot of people from the US value the type of QoL we have here over what they have in various European countries.


I was going to read it, but that pop-up asking me to sign in or sign up for your newsletter kept blocking my view. For a blog, with what I'd imagine would be limited readership, why would you insist that people login or sign up for your newsletter? I think you'll drive away more readers than retain using this method.


That is just a default behavior of Substack. It's not something I chose to set up myself.


I've played around with Lazyvim a fair bit and it seems pretty solid. It's a bit more hands on than kickstart. Currently working as a laravel dev and really enjoyed Jess Archer's course on how to setup nvim specifically for laravel. Would recommend it if you work with php and js.


Thanks. I'll take a look at it again. I've seen Lazyvim before, but whenever I see the NerdTree kind of folder thing going on in vim, I'm always suspicious that the author is trying to recreate vscode more than trying to implement helpful vim idioms. Paradigm-wise, I think telescope for file matching is a much more effective solution. But (obviously) I judged based on the first image I saw...


Another vote for Carhartt shirts. I'm large and it's difficult to find shirts that fit well. Their shirts are cheap and last me years. Also if branding is an issue for you, it's very easy to remove the patch on their pocket t-shirts.


I don't have a novel solution to your problem, but here's my experience. I had a mac laptop for a previous job and I went down the route of using separate a iCloud account. I used spotify so it was no issue in terms of music. The company was also heavily into the Microsoft office suite of products, but I opted to not use OneNote but instead used a password protected sync-able third party note app. I did this so I could have my notes if and when I left. I personally value a clear separation of my work and personal accounts so I found this worked pretty well for me.

Perhaps you could remote into your personal mac for iMessage/Music? It would be clunky but would protect your privacy.


I don't actually fall asleep, but every day after work I lay down on my bed for about 10 minutes. Sometimes I close my eyes and sometimes I just stare at the ceiling, but I just breathe and relax. Really helps me get into "home mode" and out of "work mode".


I'm currently using Laravel at work. It's very opinionated, and some folks say it uses anti-patterns with regards to its use of facades. That being said my last job was C#/.Net and I am so much more productive with Laravel. It really allows you to develop quickly and I haven't yet bitten by any of the "anti-patterns". If you give it a shot I'd recommend just using Laravel Sail as, if you already have docker installed, you can have a full dev environment setup in less than 10 minutes.


> It's very opinionated

It is and it isn't. It does opinionated ways of doing things. But IMO what makes it so great is just how easy it is to opt out of the opinions you don't like. Facades are an excellent example of this: don't want to use them? Well, you don't have to (and IMO a really big app that may be a good choice - in a small app it likely won't matter and you might as well use them).


To me, "anti-pattern" has the same bogus meaning as "clean code"


Although at a high level many of things things are subjective, this take is almost entirely wrong in every dimension.

Anti-patterns are things like using a wrong data structure, using the wrong levels of abstractions, tightly coupling components so they are not composable, leaky interfaces, god objects doing too much

The strict definitions of many of these can be subjective at the edges, but they all objectively exist and cause fragility, instability, inflexibility and maintenance problems in the systems built from them.

Clean code is code that’s easy to read, has the right level of abstractions, uses the right data structures and has the minimal possible anti-patterns in them (ideally zero!) above.

Calling these things bogus is unfair, I grant they can be subjective in some places but they are prevalent in poorly designed systems especially by junior engineers.

Wikipedia page on anti-patterns: https://en.m.wikipedia.org/wiki/Category:Anti-patterns

There are project management anti patterns too https://en.m.wikipedia.org/wiki/Anti-pattern

Anti patterns are real. Clean code is real. If you cannot see that, I would suggest reading a lot more codebases from open source projects (pick medium and large codebases, not trivial programs) and after 10 or so you will see obvious structural and quality differences, as well as hundreds of anti patterns and examples of clean code.


I'll agree with everything here except the clean code. Clean code is about optimizing human perception and there can't be a standard for that because humans think in a wide variety of ways and it's further impacted by the level of understanding the human already has on the subject matter the code is dealing with. One person's "clean code" can be another person's nightmare.

I'll back this up with the example of Magento 1. It's a PHP e-commerce platform that has (at first glance) some of the cleanest code you'll ever see in PHP. It looked like the entire development team had come from a Java background. Every component was neatly divided into a PHP object with documented private and public methods. There was a clean MVC separation, with lots of shared behavior abstracted into "Helpers", and a Theme system handling the rendering of the front-end. I have no doubt that the authors of Magento prided themselves on how clean their code was. For them, having spent full-time careers structuring all the many features of their platform into these files, it probably did feel like a clean organization. And when I initially reviewed the code to evaluate using Magento, I also thought it was clean and was part of my choice to use it.

The problem was that when you take something as complex as a full-featured e-commerce system and modularize it so thoroughly, you end up with a literal 7000 classes, and it becomes impossible to figure out the sequence of execution of a single page request through that massive tangle. Is it "clean code" if I have to add debugging print statements to 57 source files to figure out the path of execution that renders a single page?

If I had to choose a circle of hell where I would edit Cyrus IMAP (the worst C code ever) for the rest of eternity, or edit Magento for the rest of eternity, I think I would actually choose Cyrus.


> Anti-patterns are things like using a wrong data structure

What is a "wrong data structure"? Is it wrong to do linear scans when hash access would be sufficient?

> ... using the wrong levels of abstractions

When is the abstraction level wrong? I can name you at least 10 projects that avoid so called anti-patterns by introducing unecessary abstractions. Is something really an anti-pattern if it's "solution" massively reduces your development velocity but now everything is nicely composable?

In my opinion, anti-patterns are either obvious (constantly using different names for the same thing) or totally subjective to the context (when to repeat yourself).

But maybe I'm not able to put myself into the shoes of novices and a lot of things seem obvious to me. Granted.


> What is a "wrong data structure"?

I've seen people use multiple named arrays, search for something in the first array, then use its index to find matching data in the other arrays, instead of a dictionary of string:tuple.

Another example is languages with arrays and vectors, usually one or the other is preferred. In Go you can use arrays but you're supposed to use slices whenever possible, while the opposite would be appropriate in, say, C.


This is a solid argument, thanks for taking the time to write this out!


That's an interesting take! I'm still early in my career and I ask with genuine curiosity, but why do you think "clean code" has a bogus meaning?


Not the OP, but clean code misses the point. Its is very subjective and depends on one person's previous experience and patterns they've been exposed to.

"Reasonably readable" is what I strive for nowadays, and a key aspect is that I no longer think there is an objective measure for it. It depends on the team/company you're in, and its important to keep in mind that the goal is to effectively communicate the program to them.


I suggest you read malux85's comment: https://news.ycombinator.com/item?id=36371733


This hasn't been true in my experience. People were very critical of Picard season 2 and the whole of Discovery. I posted criticisms myself and never got banned.


I currently pay for a few things:

Proton Mail - Solid email service. I'm not hardcore about privacy but I do like their ethics.

Spotify - Love having instant access to any music, though I wish their app was a bit more intuitive.

Two Twitch subscriptions - Both of the streamers are friends, but I do enjoy their content a lot and like supporting them.

Laracasts - I'm a new to Laravel/PHP and this website has been awesome for high quality tutorials.

Cheapest tier of iCloud for photos - I have other ways to backup photos but the convenience of iCloud is very nice.


I just took a job as a Laravel dev. I was previously a C#/.Net dev before that. Not making any claims about one being better than the other, but you're right about the ecosystem and the community. It's been great and I've been surprised how quickly I've become productive working in this new ecosystem.


Same experience. I'be been mostly a JavaScript/node and Python/Django dev for over a decade. Recently worked on a few projects with Laravel and its the best experience I've ever had.


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

Search: