1,043 karma · joined February 1, 2017
In the 90s they were unstoppable and their products unrivaled; but that was a long time ago. I don't care about antitrust 20 years ago, I care about not using terrible products that feel constantly 10 years behind the curve.
if(hasClickedOneImageOfASwimsuitModel) {
fillEntireFeedWithPhotosOfButts();
}Agreed. A few follow-up points:
1. Frugality isn't a binary state. There's a balance to be struck. Some people really do waste money on frivolous things that don't actually bring them much real satisfaction, and in that sense being more frugal is definitely worth it. But once you've eliminated most of the excessive spending habits, the payoff of frugality really starts to drop aggressively as you cut out more and more (diminishing returns). Skipping your $4 latte isn't really gonna change the game for you if you're trying to become Bill Gates.
2. Frugality to me is kind of the "lowest common denomitator" of financial strategies, which is why so many "experts"/"gurus" tend to preach it. "Spend less than you earn" is a dead-simple concept and worthy advice to a certain extent. But trying to increase wealth more and more by cutting out less and less is not really a great long-term strategy, especially if you're interested in achieving significant gains in wealth. It's arguably much more effective to invest time and energy into things that will increase your earning potential over time rather than fretting about small guilty pleasures or trying to squeeze a couple more basis points of return out of your portfolio of mutual funds. Things like: gaining a valuable skill that's in-demand; honing and improving those skills over time; taking on leadership/management responsibilities; starting a business; meeting and forming relationships with people who are smart & successful or at least aspiring to be; etc.
See also: https://xkcd.com/947/
Isn't "find all usages" a pretty basic feature in modern IDEs? If you're working in a single self-contained codebase this really isn't very hard to do.
IMO a lot of the teaching around best practices in OO programming doesnt differentiate enough between things that matter in authoring libraries versus self-contained proprietary code. When everyone is committing to the same repo certain types of encapsulation and abstraction aren't always as critical as they're made out to be.
Don't get me wrong, technology is amazing and the cutting edge stuff going on today is super exciting... But it seems the capabilities of software now are far, far outpacing our abilities to ensure an adequate level of security and personal privacy. We've been blinded by flashy tech, too busy being amazed at everything all the time ("look at what AI can do!") and not stopping to consider the huge hidden price we're paying.
The reasons this has happened are kind of obvious... I just fear that it's going to take things getting to a point where we have a really major catastrophe on our hands for anyone to be willing to really do anything about it. A lot of people can and will get seriously hurt. I can imagine such an event resulting in a great "cooling" period in tech where advances are slowed while bigger investments are made into security, cryptography, solving the "identity problem", etc. But it would be nice if we could just have the foresight to fix things before it gets to that point...
> I’ve met quite a few people who are very concerned about living an authentic, carefree life without having a lot of other things figured out first.
This is a pretty accurate description of how I was in my late teens and most of my twenties. What's interesting is that looking back now, if I think about my "regrets" regarding that period of my life, some are actually polar opposites of the items on the classic Deathbed List:
1) I wish I had worked harder and challenged myself more instead of coasting / resting on my laurels. I was so worried about being one of those people who works too much that I overcompensated and missed out on a lot of opportunities for personal growth.
2) I wish I had relied a little less on my established group of high school & college friends as I got older, and instead was more open to forming new relationships as well. Keeping in touch is important, but clinging to the past and refusing to move forward isn't healthy either.
Doesn't say much for the usefulness of such an interviewing paradigm but that's a whole other conversation.
The "why something instead of nothing" question is one of those universal philosophical questions, but it's interesting to consider the fact that we have no concept or example of the alternative (true nothingness). If you think about it this question is kind of odd in that it carries a hidden assumption that nothingness is the normal state of things and existence (of anything, not just biological life) is somehow abnormal. Why should we have reason to believe that?
For real though...
> The results of previous coring studies suggest that this sample represents about 1,500 years, which carbon-14 dating of the mud will later confirm. A band of sediment that was deposited during Thoreau’s lifetime lies 8 to 9 inches (20 to 24 centimeters) below the surface layer of the core. I can link the two strata with the span of two hands, a distance that will eventually shorten down there on the lake bed as new, watery mud gradually compresses under the weight of future layers. Thoreau’s writings easily draw your imagination back to the 19th century, but a sediment core such as this pulls you even deeper into the past by encouraging you to ask “what happened before that?” Seeing so many relics of Walden’s yesteryears stacked one atop the other in this manner exposes self-centered views of history for what they are, reflections of our own minds that obscure our momentary positions in an open-ended river of time.
As a hobbyist sourdough baker and professional software engineer I definitely think there is some truth to this.
For me bread baking is a great complementary pursuit to programming. It is entirely manual and rooted in the physical world, which makes it a great way to "unplug" and decompress. But it also requires a similar type of analytical skills and problem solving mindset that developers tend to have.
If you are interested in getting into baking sourdough I would highly recommend this blog as a resource:
https://www.theperfectloaf.com
The tutorials and recipes are very beginner-friendly and have tons of hi-res photos. I own about 6 books on bread baking but would say this site is probably a better overall resource for a beginner. Interestingly, the author of the site is himself also a software engineer. It definitely shows through in the precision of his recipes :)
I remember during the last recession how much everyone was always equating it to the Great Depression. I'm sorry but... what? Yes I know a lot of people were out of work, many in my family were as well. But my grandparents went through something of an entirely different magnitude in the 1930s. It's just not even comparable. But because we collectively have this idea in our heads of the post-WWII situation being "the real America", as soon as things deviate a bit and go south it's as if we're in an apocalyptic situation. Just seems to me like people need a bit more long-term historical perspective.
The Boomer generation (economically speaking) came up in possibly the most favorable conditions possible. But to them it was just the "normal" way of things so they wonder why younger people can't be just as successful.
But I'm not entirely convinced that it's appropriate to argue that the only "true" MSCS is one that requires a full bachelor's in that subject as prerequisite. That seems... overly restrictive.
What if you got a bachelor's in math or engineering and want to further specialize in CS? Should your only option be to complete another bachelors degree? What if you did a minor in CS? There's lots of people in these categories that can and do get an MSCS, even from very reputable programs.
Obviously coming from a related field will prepare you better than say a liberal arts degree, but where do you draw the line?
In my experience most MS programs have a certain set of prerequisites that generally equate to a minor in CS.
This isn't really a brand-new thing either. One of my best instructors was a seasoned industry vet (former senior architect at a major firm, member of W3C and author of several of their proposals, etc.), and he had a bachelor's in Physics followed by an MSCS... from Stanford. Are we to say that his masters is not legitimate or that he is an inferior engineer because he technically did not complete a bachelors in the subject first?
To me it seems to be a problem of defining in general what the purpose of a masters degree should really be. In some fields it is used as an extension of a bachelor's in the same field, while in others it is used to supplement undergraduate education with skills in a different field, typically for the purposes of better rounding out the student's knowledge in preparation for pursuing certain career paths.
For instance, consider a professional degree like the MBA, where you can come in having a bachelor's in literally any subject.
What the author is noticing is that universities are increasingly offering the MSCS as something more like a professional degree instead of solely as an academic-track stepping stone to the PhD. And clearly he does not like this.
This issue seems to highlight the dual-purpose nature of universities as vehicles for training both practitioners as well as researchers. On the practitioner side, I think there is immense value in being able to supplement a bachelor's degree in one subject with a different set of skills obtained in a second degree. E.g., many people take the track of getting a science or engineering bachelors and then an MBA afterwards. The combination of those two disciplines can provide a very powerful skill set.
What seems to be happening is that the increasingly tech-centric nature of our economy is causing the skills offered by CS to start to make a lot of sense for some people as a form of secondary training. Much like business, technology intersects virtually every industry, and those who have training in a specific subject domain in addition to CS can be highly effective problem-solvers, much more so than those trained in just one or the other.
Sure, perhaps we can argue about whether an "MSCS" is really the most appropriate vehicle for such people. But being one of those people myself I will say that my experience does not at all reflect what the author claims (see my other comment re: coursework). The reality is that there are an increasing number of people who want to supplement their undergraduate training with CS, and this is a good thing. The author is correct in noting the distinction between this demographic and those who are on a research/academic track, but I'm just not convinced that we can definitively say that an MSCS must always require a bachelors in CS.
As someone who went this path, I'm troubled by the amount of assumptions and generalization being made here.
To my knowledge any legitimate MS program will require that you have completed an appropriate amount of foundational CS courses before starting the program. I obtained an MSCS after getting a bachelor's in a different field, and I had to take 6 CS classes to satisfy the prerequisites. Including the MS the total amount of coursework I completed was slightly greater than the requirements of the university's Bachelor's degree, plus some graduate-level research.
Granted, this is not as much coursework as someone who obtained both a BS and and MS, but from my understanding if you're not planning to pursue a PhD (or need it for immigration purposes) getting both is usually not a good use of time anyway.
It seems he is trying to specifically criticize programs that fall far short of what I went through, which seems valid. But it would be nice to make that distinction instead of writing us all off as inferior.
I think one of the hardest things about starting out freelancing or consulting is figuring out how to properly charge for your time. Almost everyone comes in way too low when they're starting out. I used to freelance and I made the same mistake with my first couple of projects.
The reality is that your hourly wage at your full-time job is not anywhere close to a good approximation for what to charge as a consultant/freelancer. In many cases you'll need to aim for at least 2x this rate, maybe even 3x, which seems absurd if you're new to the game.
There's a couple of reasons:
1) At a full time office gig you're paid a salary in exchange for working a fixed(ish) amount of hours per week. While technically you're supposed to be working the whole time you're "at work", I think most people rarely spend their whole day at the office doing actual work. There's tons of filler time spent on activities that don't qualify as actively fulfilling business objectives. But you are paid for all of this time regardless.
As a consultant, you can only bill for time you spend actively doing client work. But in reality you need to spend almost just as much time on non-client work such as finding new projects, marketing yourself, networking, bookkeeping, etc. No one pays you for that, so the rate you charge needs to be able to compensate for that time.
2) As an employee, your salary does not capture the full cost of employing you. In the US, the amount you pay in social security & medicare is matched by your employer, so when you're a freelancer you get to pay 'self-employment tax' where you essentially have to pay the second half yourself. Don't forget health insurance too. There's also the cost of facilities, equipment, and food. Granted, you can deduct a lot of this stuff as business expenses, but it still adds up.