Ask HN: Looking back, what have you wasted lots of time on?
Personal life, career, dev work, trying to be "clever" about saving money: anything will do. What were/are some of the biggest time wasters in your life?
This is anonymous account, so can be candid about mine... Things I regret as of today:
* Taking too many business/economics courses, e.g. Managerial Economics, Marketing, etc..
* Some DevOps stuff, particularly Ansible
* Django/Python - should've started with Rails
* Failed side projects that I kept working on for a long time
* Facebook - deleted it several years ago
* TV - havent watch it for more than 5+ years
* Porn - havent watched for several months
* School, memorizing useless facts - nothing can be done about that, I suppose?
* Studying Calculus/Linear Algebra because I wanted to go into AI/ML
* Some video games
EDIT: added mine
91 comments
[ 2.4 ms ] story [ 68.4 ms ] threadSo yes, probably some level of time wasted, but best to take some of the learnings from that and count a few victories however small.
I have been working as a data analyst for a few years but I feel an inclination towards programming. Programming is, however, a huge field and I'm interested to many of its sub-fields. Thus the reason that I opened a lot of projects. For example taught myself C++, did a half-project about a crude tile map editor with SDL2, and then went down another route with Python, etc, etc. And now I'm learning C trying to do some parser stuffs.
So the thing is I can never drill deep in any of them, which is really bad. But the root of it is that I changed my TOOLS too often but never learned enough PROGRAMMING. I recognize that I have a weak will and whence the topic went deeper I tended to drop it. The other reason is that I never got a full-time programming job so I don't have to focus.
I have been going on like this since high school (back then I was interested in other fields). I could grasp the easy part of any tool pretty quickly, but do not have a focus/objective so I never truly learned anything.
But from my experience from hiring coders, most science oriented people already had better understanding of the basics than your average coder. That's because they want to understand more deeply what's happening and what they're doing.
It sounds like you have a decent background and I doubt these side projects went to waste. Even technologies that go away in a year still build some abstractions in your brain that you may not even be aware of that make learning much easier in the future.
Also, remember that with the stack nowadays it's really rare for somebody to have a decent grasp of what's actually happening down to the hardware. Plus you can do some great science using a microscope without having any idea about optics.
So to me you just sound like somebody who you want to hire. "I know very little" because you keep exploring and want deep understanding so you know about vast amounts of knowledge and experience to be had. Many coders would say "I know a lot" just because they know how to achieve goals they had in the past.
My first marriage I should have left after a year.
Real Estate before the crash.
Now the two rental properties I owned at the time -- those were time and money sucks.
On the other hand, walking away from three houses and five mortgages, and buying a new house in a better neighborhood less than four years later was one of the smartest things I've ever done.
Remember that you are not a robot, not everything in your life needs to 100% optimized. It's all a learning experience no matter how much time you fritter away.
I just recalled a Steve Jobs quote while writing this comment: "You can't connect the dots looking forward; you can only connect them looking backwards."
This sounds like you want to have, as Francis Schaeffer put it, "a mysticism with nobody there". You want the assurance of some guiding hand (God or god-like) controlling what happens, but without any guiding hand actually there.
That is, without someone there to have a purpose or intent, there is no "needed to" or "should", there is only what did happen. This sounds like an attempt to have the emotional comfort of someone there, without actually believing that someone is actually there.
They tell you it's useful (it is) and beautiful (in a way, for a slightly stretched definition of beauty). What they don't tell you right away is that there's no end to the stuff. Sooner or later you have to say "enough." And since a significant fraction of what I learned before I said that was useless [1], I wish I had said it sooner.
[1] I know you're not supposed to say math is useless. It's the kind of thing a disaffected sixth grader would do. But there are a lot of unnecessary proofs in math: things that seem perfectly obvious and are in fact true, but that require a long and counterintuitive argument to prove. Time and again I read the argument, pondered it, more than half-memorized it when the books could just as easily have said "A complex argument is necessary to establish what is obviously the case. Find it if you want to in Appendix J."
The problem is there are lot of things that seem perfectly obvious and are, in fact, false. It's not easy to tell them apart.
Physicists, to take a notorious example, spend a lot more time on the real line than mathematicians do, but in their day to day work they ignore most of what we know about the real number system.
It seems as if you totally didn't get the point of proof based mathematics. Falsity is not a continuum, either something is false or its true. If you can produce a counterexample the proposition is false.
Let a little intuition into your life.
https://aeon.co/essays/the-logic-of-buddhist-philosophy-goes...
This is written by a professor that I think has produced some really interesting results. Anyway, he discusses something called a plurivalent logic, which is a kind of paraconsistent logic:
https://en.wikipedia.org/wiki/Paraconsistent_logic
These logical systems allow for more than true or false. For example, they allow for neither true nor false as well as both true and false. Outside of their general theoretical interest, there are direct applications to systems with contradictory information. I like the paper "A Useful Four-Valued Logic" by Nuel Belnap:
https://link.springer.com/chapter/10.1007/978-94-010-1161-7_...
which discusses a 4-value logic system and its application to databases.
1. Often, math is used to teach skills outside of their mathematical usefulness and I wish we'd be more honest about it. For example, take the controversial topic of long division. As a professional, I never use. Ever. In fact, we use a different algorithm computationally on a computer. That said, why did we teach it? It's one of the first algorithms that students learn. As such, it teaches organization and a methodical following of steps. Now, is this the only way to teach this? Of course not. In years past, we taught square roots. Candidly, a similar sort of precision can be taught with computer programming. However, long division can also fulfill this role even though, again, it's practically not that useful.
2. As far as proofs, you're right. It's just a complex argument that something is true or not. In fact, it's an incredibly flawed process as well since spoken and written language tends to lack the precision to be absolutely sure. Now, there are very formal ways to prove things using techniques from, for example, the mathematical logic community, which can be computationally realized in proof based systems like Coq or Isabelle. However, this is hard, so no one really does it. As such, why do we stick with a possibly flawed proof system that's a pain for most people?
Well, I'm sure there are lots of reasons, but the big one for me is that there many circumstances where intuition breaks down. In my studies, the first big breakdown in intuition occurred during calculus and the first experience with the infinite. Another big breakdown occurred in the transition between real analysis (calculus) and functional analysis. For example, the unit sphere is compact in finite dimensions, but not in infinite. It just works differently.
Now, does that mean that intuition isn't good or used? Of course not. However, the proofs help bring forth the brittleness, or robustness, of a situation by systematically breaking down where things work or do not work. For me, it's a way to add structure to a problem that I'm working with in order to ensure I know what's going on.
OK, so I'm a mathematician and my interests may be different. However, think about it from an engineering discipline. We can model things like fluid flow or electromagnetics and achieve really good, useful results. Most of the time. All of these equations have assumptions behind them and when these assumptions are violated, everything breaks. For example, do the governing equations and algorithms work when the domain has a reentrant corner?
As another example, we use optimization solvers in many domains from engineering design to machine learning. The equations that these solvers use for constrained optimization depend on something called constraint qualifications. When these qualifications don't hold, everything breaks and we don't find solutions. For me, the constraint qualifications such as when the tangent cone coincides with the linearized cone (Abadie CQ) aren't particularly intuitive. It's an artificial construction that results from the proof of equivalence between two formulations. However, it's also essential for the algorithms to work.
Anyway, none of this is meant to refute your experience. I completely believe you. Really, it's a way to provide some clarity as to why some of these things are taught in this way and why they may be valuable for other reasons. I do believe that math can be taught better. I also believe that there's not a universal way to teach math and that different approaches resonate with different people.
Is there an end to any field worth studying? I would argue the allure of studying such fields lies in the endless horizons. The possibilities of expanding human knowledge by pushing beyond what is known.
As it happens, I did some Windows 10 support today, for someone using Outlook for their email hosted by 1&1. But then, there's helping a neighbour out...
I was really burning the midnight oil on my previous military deployment with that thing. I was staying up late and waking up early to write code and test features for months. I gained some weight from not exercising. I dreamed about features and defects while sleeping. While in the office when I wasn’t writing code I just thought about accomplishing the next set of language support.
EDIT: wording
() Television viewing.
(*) Caring about other's opinions of me.
Even the time I spent on video games was more useful (in teaching me discipline, consistency, etc) than the time I've spent reading Hacker News and getting caught up in the latest insight porn/Javascript framework/argument about the "optimal way to interview"/etc.
Is reading about a new Javascript framework on Hacker News more intellectually stimulating than actually writing some code? Even if you're just trying to get your 8-hours-of-butt-in-seat-time in, it's a pretty questionable assertion, IMO, that HN is the best you can do with that time.
These are all my personal opinions, take it with a grain of salt. Having said that, here we go:
* Authentication - it is a pain if you'd like to deviate from the standard Django User model (using username to login instead of an email). I don't like Devise either.
* Asset pipeline, even though it is not updated anymore (sprockets) and partially replaced by webpacker is still better in Rails
* Configuration in multiple files, by environment, instead of a single config.py file
* Sidekiq has a better API compared to Celery. Also, Celery's default broker is RabbitMQ, not Redis. It is really hard to find managed RabbitMQ hosting, for Redis there are plenty
* Mailer previews, small but quite useful utility
* Testing - Minitest and Capybara is just a joy to work with
* I prefer ActiveRecord over Django ORM
I could go on and on, but I remember struggling a lot with Django/Celery when building a SaaS app. I decided to switch to Rails and haven't looked back (Rails has its warts as well). YMMV
What don't you like about it?
I decided to roll my own auth, but was very cognizant about the risks of going down this route. I used primitives provided by Rails (has_secure_password, has_secure_token) and made sure that my implementation is not susceptible to known exploits, such as session fixation attack: https://guides.rubyonrails.org/security.html#session-fixatio...
What have you needed to do that isn’t well supported by devise?
A lot of people talk about beauty in math, but the beauty part of it never clicked for me the way it did for art. I think there's a sterility about proofs and numbers. If you don't love pure math, you will grow to hate it.
> I think if I'd stuck to computer science, I would have graduated a stronger programmer
I took the minimum math needed to graduate with a comp eng undergrad degree (which imho was still way too much) and I agree with you, I’m probably a better general purpose programmer for it.
Rule of thumb: If you can manage it alone you can manage without kubernets. If you have kubernets you can manage it alone.
These days I’m all in on AWS.