TL;DR: To lose unwanted fat in a healthy, sustainable, frugal and environmentally-friendly way, follow a whole-food plant-based diet and maintain a calorie deficit over a long period of time by exercising vigorously on a daily basis and sticking to a healthy and enjoyable eating routine.
If you're looking to maximise employability / pay scale, maybe you can do some small side projects, just enough to showcase curiosity/open-mindedness.
Examples:
- Build a useful bash script using ChatGPT prompts and blog about it
- Build a text summariser component for your personal blog using Xenova / Transformers.js
- Build an email reply bot generator that uses ChatGPT prompt with sentiment analysis (doesn't have to actually send email, it could just do an API call to ChatGPT and print the message to the screen).
Just a few small examples and maybe a course or two (e.g. Prompt Engineering for Developers) should look great.
However I question how many companies really care about it right now. Most interviews I've done lately didn't bring it up even once.
But that said, maybe in a few months or year or so it will become more essential for most engineers.
Do you really think a useful bash script using ChatGPT prompts is worth blogging about? I'm genuinely asking. I've been wanting to start my blog back up I was always primarily a sysadmin, although I've had to move more into DevOps to keep with the times and instead of being more an SRE/sysadmin like I used to be I'm now DevOps meets sysadmin where I'm not helping write our companies application but I do everything else from CI/CD, monitoring, log dashboards, to creation of infrastructure using terraform, ansible etc.
So I don't want you to think my question was being sarcastic... I'm genuinely curious if you think this sort of thing would be a useful or interesting thing to blog about or only in the cases of a resume building thing?
I think this skill could save time in a very rushed business environment.
A while back I wrote a prompt to build a script that runs git-reflog to get a the list of distinct authors. After a few small tweaks I got it roughly working. This took about 1 hour. Writing it myself would have definitely taken multiple hours, especially having to learn the details of git-reflog.
But that said I think it's mainly resume-building. ChatGPT isn't going to overall transform our productivity.
As someone who's taking a university entrance course in Calculus I find these kind of "calculus made easy" pamphlets irritatingly trite.
The hard part isn't the highest level concepts, which are actually fairly easy to grasp and somewhat intuitive.
The hard part is all the foundational knowledge required to solve actual math problems with Calculus.
The most difficult parts of Calculus (for me at least) are:
1. Having a very thorough grasp of the groundwork / assumed knowledge. Good enough that you can correctly solve an unexpected problem, from completing the square to long division of polynomials to an equation involving differentials.
2. Understanding and correctly applying the notation and graphing techniques, from Leibniz notation to sketching curves.
This is why large books and courses exist covering only introductory Calculus, not even beginning to scrape the surface of more advanced math.
The link is not a pamphlet (unless you read only the linked HTML page). It is an entire book, published in 1910 by Silvanus P. Thompson, and sufficiently well-regarded that it was re-edited in 1998 by Martin Gardner, and (independently) lovingly re-typeset in TeX by volunteers (and also turned into this website). Clearly it serves a need, and is not merely a “trite” pamphlet.
(The edition by Gardner is actually recommended against by some, who see in it a clash of two strong personalities, individually delightful.)
It's a great book, and one my father recommended to me to get me through the concepts when I was having trouble with the standardised teaching of the day.
It comes down to Leibnitz Vs Newton, and the world has standardised on the notation of one (I forget which). However the notation is a destination when learning it all, and the foundational ideas behind calculus were best explained taking ideas from both of them.
That's what this book does. It takes you through with every simple jumps in logic allowing you to discover calculus yourself and you therefore have the foundations to reason about it yourself. You don't just have to learn the final answers by rote.
Which is fair, but if you believe that you shouldn’t have insulted the work itself by dismissing the value of its content and calling it a trite pamphlet.
I read Calculus Made Easy about 15 years after my last math lesson, and had forgotten a lot of the mechanics of algebra. I went through Algebra and Algebra II for Dummies before reading it. They're really concise, very easy to read and absolutely did the job for me.
Calculus Made Easy is an amazing book btw, by far the best introduction and much better than the way I was taught at school as it actually builds your intuition.
Your issues seem to be algebra. I recommend Khan academy personally and just working through all of the highschool math that he goes over. I found his stuff when he was still just a guy on youtube back when I was in the same position as you. Studying calculus, did fine in high school, but my school was not good and totally unprepared me for actually studying math, skipping over a lot of those fundamentals. So often I would have a professor or TA take a complex equation, show an "obvious trick" that we "knew from algebra" and it would be the first time I ever saw that in my life. There is really no other solution than to study and relearn algebra, geometry and trig yourself as you learn calculus.
Most of your first point is … algebra? Yes if your algebra is weak you will not be able to cope with solving calc equations. The solution to that problem is not to be found in a calculus made easy. It would be found in algebra made easy.
Math isn't like programming. In programming you can often solve a problem using a library, framework, language facility, etc. without entirely understanding why it works all the way down to the binary level.
In math you can't often solve a more advanced problem such as Calculus problem without understanding the more foundational math such as algebra, fractions, etc.
If "information hiding" / layers of abstraction was possible in math, I would have completed my university entrance course months ago, but here I am still struggling.
Sure, we could have Algebra made easy and also Trigonometry made easy, Fractions made easy, Functions made easy, etc. etc.
I just find it personally irritating that all this foundational knowledge is brushed aside when it's really core to someone's actual competence dealing with actual math problems.
Maybe it's just assumed that people went to a good high school or had a private math tutor and already learned the foundations very well, but I think at least that assumption would be coming from a place of privilege.
It's similar to telling someone to take a Bootcamp in React and that will be enough for them to succeed as a software engineer. But to solve the kind of problems they are going to face in reality they will eventually have to learn at least some foundational Javascript and maybe a little about algorithms and data structures.
> In math you can't often solve a more advanced problem such as Calculus problem without understanding the more foundational math such as algebra, fractions, etc.
This is true to a good degree, but maybe a bit less so than you believe. Trigonometry is a topic that only clicked for me after finishing my uni calculus curriculum, I didn't get a great grade, but got by with a technique similar to how we handle complex numbers: Instead of giving up after being unable to solve an eg. weird chain of sin, arccos etc. functions, just declare it to be u(x) and do the calculus bits around it. In the last step substitute the actual function back in and you have an incomplete, yet technically correct solution.
I know what you mean, in fact I remember earlier on when I started the course, I had wanted to use these kinds of substitution techniques, etc. and thought I could finish the course in a few days. Boy was I wrong!
These techniques definitely won't work in a tough online multiple-choice test (of the kind I'm getting) where they deliberately sprinkle in subtle quirks to deceive you, which would require very disciplined algebra, fractions, powers, etc. to identify.
Reusing and blackboxes do appear a lot in higher level mathematics. Indeed, the idea behind abstract algebra is to hide 'implementation' details. The concept of abstract data type in programming is similar to structures studied in algebra.
It is common for mathematicians to rely on theorems as black boxes(ex: classification of surfaces) even without knowing the proof. Secondly, people can even write research papers without knowing how to work with some object covered in the paper, by working with collaborators who are experts on a different topic.
It would be helpful to isolate the essence of calculus itself from the symbolic techniques, for ex to actually calculate integrals(especially magical seeming substitutions and nontrivial factorizations) as many of these symbolic techniques will appear in different topics even outside calclus.
Here's a criterion for testing this core understanding calculus - Can somebody given a problem (say optimization, or finding volumes) convert it into a standard type of differentiation or integral, then use symbolic software like Mathematica to do the computation and then get the right answer. Often, calculus students memorize standard recipes for problems and get confused by a problem which is not hard symbolically, but requires some thought to set up correctly.
It’s almost always algebra in the early calculus classes I think. I tutored an “into to calc for non-STEM majors” class for a couple years, and it was always algebra. If you have teaching assistants for the class, and you go to them with: I think I understand the calculus, but I’m struggling to simplify things in algebra, they might be able to help you out.
Math classes build up, and at some point unfortunately they do have to start assuming that your previous classes were solid. Calculus is where algebra and trigonometry gets some of that treatment. It is extremely common for a calculus class to reveal some shaky algebra foundations though, so I’d hope your school has some help there…
Certainly not everyone is in the same place in their learning journey as you. Material on calc, at a university level, is typically going to focus on calc. Yes it is assumed that you have learned the fundamentals before taking that course.
I was in a similar situation as you. If you really want to learn it there's no substitute for skipping over the fundamentals. I did that and did fairly well but it's all long forgotten. Never use the stuff :)
So many people tell me this that it's become cliche at this point.
I find it demotivating, but unfortunately I have to press through, as there is literally no other way I'm going to gain entry to my university's bachelors program.
A part of me wonders if this kind of fundamental knowledge could be actually useful, similar to being able to cook your own food instead of takeaway.
Kind of like how "first principles" thinking can apparently lead to new discoveries because you're not just mimicking / re-using the same structures that were already built.
My experience certainly isn't representative! I just happen to build things where university level maths rarely comes up. Stats comes up more than anything and sadly only had to take one course in that area.
Since you bring up food. As a former professional baker it would also take me some time to make croissants professionally at the level I used to. At least for me personally, if I don't use it I lose it. But I can certainly pick up faster than someone seeing it for the first time if I needed to.
Along the way you'll pick up some intuition that you can use elsewhere that's hard to quantify. Outside of the loans I don't regret taking any of the maths required for my CS degree.
Personally, I found the calculus lifesaver by Adrian Baker to be helpful in my studies as someone that was missing some fundamentals
I’m a product manager and I use the concepts to read and understand new algos, research papers, etc. you’re right that you won’t be calculating (that builds problem solving) but grasping the principles will help you proceed to more advanced concepts in other fields
It was a while ago now but I remember our university mathematics required passing a small algebra module that covered essentially all of highschool algebra.
> In math you can't often solve a more advanced problem such as Calculus problem without understanding the more foundational math such as algebra, fractions, etc.
Yep, this is the number one reason people think they aren’t suited for math. Everything is built on everything else, and if you missed anything you’re screwed. It takes a while to realise you are screwed, you can get by on rote for a surprising distance.
Ultimately, “there is no royal road”, but a good tutor will help you find those gaps and build out the missing bricks.
This does depend on the curriculum to some degree, and whether you’re just trying to grasp a concept firmly enough to move onto a more advanced concept or whether you’re trying to build a practical skill in solving problems. For instance, it’s entirely possible to understand higher level mathematics without having much skill at all in pencil-and-paper arithmetic. I know this because one of my best friends in college got straight A’s in upper level mathematics and EE classes but, due to his unusual background, only bothered learning arithmetic when he needed to prepare for the GRE.
I didn’t enjoy math as a child, and I used to be a lot more bitter about this when I first started to grasp what mathematics actually was. As a child, mathematics seemed like a small amount of “learn and understand a new abstract concept” (which I was pretty good at) bogged down with a huge amount of “okay now you have to solve a a bunch of problems based on that concept over and over again before we’ll trust you with another concept”. Eventually I figured out that mathematics itself really is the concepts, and that the concepts eventually build up to a level of complexity where it was increasingly challenging and fun to grasp them.
Maybe the reason it’s taught this way is because the vast majority of people aren’t mathematicians and aren’t really attracted to mathematics out of an abstract intellectual appreciation for the beauty of mathematical concepts; they just want to solve problems. And this is perfectly reasonable. But if I had it to do over again, I probably would have put more effort into mathematics and study more of it, at much higher levels, if I knew it would eventually get a lot more interesting.
And eventually things do start to branch out a bit. The standard K-12 curriculum up through calculus mostly builds up like a single tower where everything is built on everything else, but there are parts of mathematics where you can just sort of go in a different direction for awhile.
> Yep, this is the number one reason people think they aren’t suited for math. Everything is built on everything else, and if you missed anything you’re screwed. It takes a while to realise you are screwed, you can get by on rote for a surprising distance.
That's exactly what happened to me!
This is why I'm learning about differentiation yet struggling to factor simple fractions with a surd.
Algebra is the simple part. I’d say it’s more about math maturity. At least 1/3rd of my classmates had a hard time grasping the epsilon-delta definition of limit, let alone the deeper definitions like Cauchy sequence or those used in the proof that R is dense(and we were in an elite university’s competitive program). Among the survivors of single-variable calculus, at least 1/3 could barely get by the multi-variable calculus. I saw too many of my friends struggle with different integrals, and got massacred by Green’s equation.
My guess is that most people hit a wall of abstraction at certain point.
> My guess is that most people hit a wall of abstraction at certain point.
I don't think it's a limit to their abstraction, I think it's that they didn't work properly on the fundamentals, so they had a superficial understanding of the abstractions.
To give a fitness analogy it's like trying to do heavy barbell presses before you can even do 10 pushups in a row.
My experience with programming is that once you get really really good with fundamentals you suddenly leap ahead and pick up new languages, paradigms, etc. incredibly fast.
Maybe this partly explains the 10x phenomenon - it's because they worked very hard on the fundamentals.
my view is software by comparison is like a single surface of knowledge; once you know the basics, thats it, nothings too hard to learn. maths on the other hand is more like a volume of knowledge.
I feel the opposite. In high school I was pretty good at solving calculus problems but had little understanding what "limit" actually is. When in college I finally understood the definition of limit and all the foundational theorems arised from it, I was blown away.
For most people—who won't solve complex math problems daily at work—the takeaway from learning math is not their mechanical ability at solving math problems. The takeaway is their understanding of math concepts and ideas, which will shape their thinking skills in general.
> For most people—who won't solve complex math problems daily at work—the takeaway from learning math is not their mechanical ability at solving math problems. The takeaway is their understanding of math concepts and ideas, which will shape their thinking skills in general.
Agree, but for some others, there are real world consequences, e.g. whether they get accepted into a university or whether they can read and properly understand an academic paper.
For me, the biggest stumbling block in understanding the usual ε/δ limit definition in high school was teachers reading |x - a| as "the absolute value of x minus a" rather than "the distance between x and a".
The later reading suggests a more intuitive (to me) definition: a limit f(x)→q as x→p exists if, for every open interval Y containing q, an open interval X containing p exists such that f(x)∊Y for all x≠p in X (and then if f(p)=q, f is also continuous at p).
Another nice property of the above definition: replace "interval" with "ball" or "neighborhood" for analogous definitions for functions between metric and topological spaces, respectively.
So you want to do calculus ? You need algebra. What parts of algebra ? Go figure !
this is one big hurdle in learning math backwards. You discover new missing pieces at every corner. Each missing piece leading to another missing piece.
Learning math from the basics to advanced (as recommended by most) is very frustrating at how slowly you actually develop the math muscle.
At a deeper level, conceptual grasp does not make you good at math, its not enough. You may fool yourself into thinking you "get it" till you try to solve a few exercises. You need to repeat the lower levels enough to make it into muscle memory (which some people refer to as math intuition or groundwork) before embarking onto higher levels that build on it.
So working your way bottom up is slow and frustrating, top down is slow and frustrating. What do you do?
Just keep at it. One key observation for me was that at some point the misery and rabbit hole nature diminishes, quite rapidly. The groundwork of solving all those exercises repeatedly pays off and the next set becomes a little easier. Getting to calculus after spending ridiculous amount of time on algebra is the only way I have known to work.
And this is true for learning progamming too. knowing the concept of loops is essential but, you still can't write efficient code to sort an array. You need to get the syntax and write enough loops and then progress to exercising writing specific sorting algorithms repeatedly to get them into muscle memory.
But there is an inflection point beyond which the same concepts repeat but in different variations and they take progressively lesser time to get a grasp on.
thats just how I've learned math and programming. Also why a large percentage of people just give up hope and accept they just don't have the math gene. Meh.
> this is one big hurdle in learning math backwards. You discover new missing pieces at every corner. Each missing piece leading to another missing piece.
Yes this is exactly what happening to me.
E.g. I got up to Week 2 of the course and suddenly made the big (to me) discovery that sqrt(a/b) = sqrt(a)/sqrt(b).
It seems trivial I know when you see it written like that, but the problem is to recognise and apply that principle in the context of a broader problem such as factoring.
> Just keep at it.
Thanks, this gives me confidence that I'm not wasting my time haha
I am beginning to get better at it, to the point that I can often work out why I got a question wrong on my own without referring to the answer.
It's really frustrating how every single person I know who got (really) good at math or programming got there the same way, but never even hinted about it to me till I saw them use the same techniques. The clever ones figured out the important parts faster and spent more time on repeating the common idioms, theorems and required prior knowledge (e.g. the sqrt(a/b) = sqrt(a)/sqrt(b) piece for you) instead of the problem or spending too much time on conceptual understanding
The really important part for me was to rip these small but critical parts out and form somewhat like mental workout routine that I kept repeating multiple times per week. By week 5/6 I could solve the same/similar/related problems which weeks ago took me several minutes with ease and I had more brain power left to think about higher level and related concepts and techniques that formed more connections, making the experience a lot more fruitful, productive and faster. Without that mindless, disciplined mental routine to get the basic and critical stuff in muscle memory, I do not believe I could have made it through.
For me, it's about the process as much as the outcome.
I don't write code only because I want to achieve some distant future goal. I write code because that's part of who I am in the moment. I enjoy typing, I enjoy problem-solving, I enjoy building things, etc. Like a spider weaving a web, it has become part of my nature.
The beauty of humans is that we are general purpose machines, which can do a wide variety of things, because of how our bodies are, especially our hands.
The future of course is also important. Greater financial independence, learning new skills, improving one's character, meeting interesting personalities. All these of course are things we can hope for and strive for, but should also try to have reasonable expectations about, and avoid excessive entitlement.