I was thinking on similar lines yesterday and today made the decision of making all my ebooks free for the foreseeable future. I made bundles [0][1] so that they can all be downloaded in one shot. There are five books - three of them on regex (Ruby, Python, JavaScript) and two on cli tools (GNU grep and ripgrep, GNU sed).
Currently working on GNU awk, which will take another month if I want to include everything I had planned. Now, I'm thinking of releasing as drafts and see how it goes.
I plan to release book markdown source as well in coming days. Already done for Ruby [2]
This is really cool Sundeep, thanks for doing this! Question for you: what did you use to draw the diagrams for the "Javascript Regex" book, such as on the cover? Thanks!
That is known as railroad diagrams and provided by sites such as regulex[0] (which I used for js cover) and debuggex [1]. I've also mentioned it in acknowledgements within the book.
I'm currently learning some Data Science with Python (and text-wrangling via the CLI) and RegEx is something I got by without, up until now. So thank you so much!
My company, VitalSource, which bought my startup Verba did this good thing too! We have over a 100k ebooks from top higher ed publishers (including CUP) available for free (download to your phone or computer, or use online)! You need an institutional email address from a 2- or 4-year non-profit semester based institution. Only America right now but we’re working on international! Check it out at https://get.vitalsource.com/vitalsource-helps or log in / create account at https://bookshelf.vitalsource.com, where you can download the apps too. Limited to seven titles per user, and you are automatically opted-out of any marketing now or ever and we won’t share your info with anyone. Enjoy and good luck to everyone, especially those whose campuses have moved to online instruction and you maybe lost access to physical books left behind, shared with a friend, or from the library!
I remember one of their books [1], it was available for free PDF download for a few months. I downloaded the PDF, then later wanted to read it again and discovered I'd somehow misplaced the PDF. And now it isn't available for free download any more. I was hoping it might be included in this, but it isn't.
This is by Graham Oppy. He and Edward Feser, a Cahtholic philosopher / philosophy professor, recent had two online discussions on theology. YouTube links on Feser's site:
There's a lot of 'bad atheism' out there: folks who attack straw man arguments and get basic things wrong (most of the "New Atheists" fall into this camp). Oppy does not seem to be one of those.
Another good site is "History for Atheists": someone who goes after his fellow atheists for "the misuse of history and the use of biased, erroneous or distorted pseudo history by anti-theistic atheists":
Limiting the acquisition of knowledge to people with sufficient economic means is immoral, because it means that more than half the worlds population has no means to move forward, even if they are motivated and intelligent.
Wow, thanks! That is really bad. I just spent several minutes unsuccessfully trying to get past the front matter. There are also lots of weird text positioning glitches in their SVG (!) version of the book pages.
"Free for viewing online for now" isn't exactly "making books free". More like "hey you can look at my things for a bit if you'd like but I'll hold it and tomorrow you gotta pay to see it".
Uriel Frisch's Turbulence: The Legacy of A. N. Kolmogorov is an accessible introduction to one of the most important and still unsolved problem in classical physics. That book has over 7000 citations on Google Scholar.
Dr. Rao’s systematic approach to solving dynamics problems is consistent and concise. He also has a companion set of lecture notes on YouTube. I remember it as one of the most challenging but rewarding aspects of my engineering school experience. All the principles are described mathematically in a coordinate-free manner. You’ll learn to set up equations of rigid bodies and constraints without all the guesswork and haphazard construction of coordinates typically encountered in a physics textbook.
I haven't read the book, but looking at the contents I'm surprised that the author hasn't introduced analytical mechanics anywhere in the book. This might be a good introductory book if you haven't taken a mechanics course before, but using Newton's laws for understanding the dynamics of particles and rigid bodies is a terrible idea.
> All the principles are described mathematically in a coordinate-free manner.
Newton's laws aren't coordinate free, e.g., Newton's second law written in polar coordinates would look different from Newton's laws in Cartesian coordinates. But, Lagrange's equations are coordinate-system independent.
This is definitely not an introductory level book. On the contrary, I wouldn't recommend it unless you've done at least Calc 3 since you'll need a strong grasp of vectors and derivatives. Newton's laws say e.g. the net force on an object (a Euclidean vector) is equal to its mass multiplied by its acceleration (also a Euclidean vector). That in itself is entirely coordinate free, sure it assumes that the vector is not a moment, but that's different from dictating a particular coordinate system.
You are right to say that if you wanted to express those laws in different coordinate systems, they would look different, but the key to this system is in essence that you leave any kind of coordinate projections till the very end (lazy evaluation, to put it in a computer science analogy), at which point much of the math is simplified due to term reduction, or various projections cancel each other out.
What is tempting to bring in from other materials is the notion that a vector has coordinates, which as far as this philosophy is concerned, they don't. A vector is the direction and magnitude per sé, devoid of the concept of an origin or any particular unit vectors with which you could represent that vector numerically. It's a mindfuck for sure, and it confused all the students in the class for a solid 3 weeks; that's why it's great.
> This is definitely not an introductory level book
I disagree. I used Kleppner and Kolenkow as a freshman, and it has pretty much the same content as this book, and I would consider Kleppner and Kolenkow to be an introductory book. Sure, it's more advanced than more common freshmen books like Halliday and Resnick, but it is still very elementary mechanics. Newton's laws is just the tip of the iceberg that is mechanics. Most advanced books, including upper-division undergraduate books, would at least introduce analytical mechanics, whereas this book doesn't. If you want more advanced treatments of mechanics you should look at Landau and Lifshitz, or Arnold, or Marsden, or even Lanczos (the latter three making moderate to extensive use of Riemannian geometry and can be daunting for that reason alone).
> but the key to this system is in essence that you leave any kind of coordinate projections till the very end
That is not the definition of coordinate invariance, at least as defined in physics. Newton's laws aren't coordinate invariant because the acceleration involves the second derivative of coordinate basis vectors, and that is zero (or constant) only in very few coordinate systems, like Cartesian coordinates for instance. Of course, the statement F = ma still holds true, but becomes very cumbersome to use if, say non-orthogonal coordinate systems are used. As a simple example, try finding the equation of motion of a particle constrained on a smooth surface, say a paraboloid z = x^2 + y^2 in Cartesian coordinates using Newton's laws. Of course, this problem can be solved using Newton's laws by introducing Lagrange multipliers, but that essentially amounts to finding the constraint force. But it would be much better if you could avoid finding the constraint force altogether.
> A vector is the direction and magnitude per sé, devoid of the concept of an origin or any particular unit vectors with which you could represent that vector numerically.
You're right that it is important to distinguish between the geometrical meaning of polar vectors and their representations in a particular coordinate system. It's even more confusing when axial-/pseudo-vectors, e.g., the cross product of two polar vectors, are introduced since now they do depend on the handedness of the coordinate system used. And why should nature care about handedness? (It actually does, but that's a story for another day.) And this is precisely why analytical mechanics, which is an inherently geometrical subject, was invented in the first place! All equations in analytical mechanics are scalar equations and look the same irrespective of the coordinates you use to describe the system.
If you have a bone to pick about the term “coordinate free”, I suggest you take it up with Dr. Rao. I am just forwarding along the message, and making a recommendation.
> try finding the equation of motion of a particle constrained on a smooth surface, say a paraboloid z = x^2 + y^2 in Cartesian coordinates using Newton's laws
The method described in this book makes this kind of problem very straightforward.
> Newton's laws aren't coordinate invariant because the acceleration involves the second derivative of coordinate basis vectors
I find this very doubtful. The acceleration of an object in real life does not change depending on how you measure its position. Why would expressing the quantities in math be any different? I think you are making a false assumption that any given vector necessarily has a numerical representation. For instance, if gravity acts down, and there is an object of mass m with no other forces on it, Newton’s law says that F = m * g. Since g is in the down direction, F is also down. Note that both F and g have direction and magnitude in this word problem even though there are no basis vectors to speak of and thus no way we can represent any of this numerically without defining more mathematical objects. What would your coordinates be? We don’t have an origin and we only have one axis, not enough to construct a right handed system or any 3D system. Sure, we could do it one dimensionally but we’re talking 3D Euclidean space for the purposes of this book.
I'm sorry to say this, but I don't think you understand the meaning of coordinate invariance. Coordinate invariance in physics means that if you go from one set of coordinates, say (q1, q2, ..., qn) to (s1, s2, ..., sn), the form of the equations remain invariant (assuming the transformation is nice and smooth). Newton's laws aren't invariant under a general coordinate transformation of that sort, and this is precisely because the acceleration involves the second derivatives of the basis vectors. E.g., Newton's laws when expressed in polar coordinates would involve centrifugal and Coriolis terms, which are absent in Cartesian coordinates. Equations in analytical mechanics (e.g., Lagrange's or Hamilton's equations) are coordinate invariant however [1].
> The method described in this book makes this kind of problem very straightforward.
Perhaps we have different definitions of "straightforward", but most physicists I know would not consider using Newton's laws in Cartesian coordinates to find the equations of a particle constrained to move on a smooth surface straightforward. At the very least, one should try to introduce a local coordinate system on the surface. It can be done, no doubt, but it's way more cumbersome than writing Lagrange's equations involving the generalized coordinates on that surface.
> Note that both F and g have direction and magnitude in this word problem even though there are no basis vectors to speak of and thus no way we can represent any of this numerically without defining more mathematical objects.
No one is claiming that Newton's laws are invalid in different coordinates! Of course they are valid and F = ma still holds true. The invariance you're talking about is the general invariance of equations involving (polar) vectors. That's obvious since vectors are inherently geometrical objects. But that is in no way the same thing as "coordinate invariance". I'm not sure how the book defines "coordinate free", and I certainly don't have a bone to pick with anyone. But perhaps also look at how physicists define coordinate invariance, since after all it's something they've been doing for a while?
I still stand by the claim that this book is a pretty elementary one. Sure, you might've learned new things from this book, and I can see how many people would benefit from it. But if you think this is what counts for "advanced mechanics", then you're very very mistaken.
I never said it was advanced mechanics, what I said was it's not an introductory book. You shouldn't give this to someone who's never taken a physics course. It's written for use in vehicle and aeronautical/astronautical dynamics and supposes a fairly developed understanding of coordinate systems and vector math.
> Perhaps we have different definitions of "straightforward"
It is certainly more straightforward than Lagrange. You just set up the constraints, which is done in two steps: (1) set up the kinematics, i.e. setting the position equal to some parameterization of that curve (2) set up the dynamics, i.e. express Newton's laws in terms of the same variables. After that, you can perform any derivatives needed using the transport theorem and set the kinematics and dynamics equal to each other using the common variables.
> Coordinate invariance in physics means
Since I'm not invoking the phrase "coordinate invariant" here I don't know what the deal is. All I said was that the concepts in this book express various physical laws including friction, Hooke's, and gravitational without use of coordinates. There is no X, Y, Z or 1, 2, 3 of the vectors in these descriptions. Whether to you that means coordinate invariant, is another story but ultimately irrelevant.
> I still stand by the claim that this book is a pretty elementary one
Considering you've spent all this time arguing that it's not straightforward (it is), I really suggest you take a look. It's nonconventional and may change your perspective if you really give it a chance.
> Considering you've spent all this time arguing that it's not straightforward (it is), I really suggest you take a look.
I just downloaded a copy of the book from LibGen. I change my original assessment that it might be a good introductory book. In fact, now I think that this is a terrible book that reinvents the wheel in so many places, and novices should avoid it since it teaches bad practices. E.g., look at Example 3-2 of the book where the task is to find the motion of the particle constrained on a parabola y = r^2/2R (similar to the paraboloid example I asked, but more easier since the constraint manifold is one-dimensional). The solution of that problem (Eq. 3-105) is 4 pages of algebra! The Lagrangian for the system expressed in terms of r is
L = m/2*(1 + r^2/R^2)*v^2 - (mg/2R)*r^2,
v being dr/dt. Now, to find Eq. 3-105, which the author derives in 4 pages, all it takes is to plug this Lagrangian into the Euler-Lagrange equations, and answer pops out in 2-3 lines of algebra involving some very trivial partial derivatives. Curiously, the author has also reinvented d'Alembert's principle when he does this problem the second time in Example 3-9. I'm also surprised that the author hasn't mentioned d'Alembert's principle (or virtual work for that matter) -- something that engineers make extensive use of -- anywhere in this book.
> Since I'm not invoking the phrase "coordinate invariant" here I don't know what the deal is.
You did mention that this book introduces mechanics in a coordinate-free manner (which this book actually doesn't).
> It's nonconventional and may change your perspective if you really give it a chance.
It's not just unconventional, this book is filled with terrible examples and techniques to solve problems and the author has reinvented the wheel in several places. The reason you found this book challenging was because this book chooses to do problems using the most contrived methods possible. In fact, this is a book to show why one needs analytical mechanics.
> In fact, this is a book to show why one needs analytical mechanics
I don't think the goal of the book is to obviate more advanced courses. It does well what it sets out to do, which is lay a foundation of dynamics. Contrasting it with other dynamics books I've read through, this one is self-consistent and much easier to follow the math on. Yes, the solutions are often long-winded, but that is the cost you pay for having a system. Other books like Introduction to Space Dynamics are very hand-wavey and not easy to check your work or find where you made a mistake, not to mention you must pick your coordinate systems very carefully and up front. Coordinate systems should not dictate the physics; it should be the other way around.
Besides, this methodology is applicable to other circumstances beyond just dynamics. The rigorous approach to dealing with reference frames and coordinate systems is well applied to other fields like computer graphics, regardless of whether Lagrangian is more well suited to mechanical applications.
> coordinate-free manner
Yes, I said that, not coordinate invariant, and in fact my description was deliberately as devoid of jargon as I could make it. It should be taken as plain English.
> It's not just unconventional, this book is filled with terrible examples and techniques to solve problems
Considering Dr. Rao's successful tenure working at Draper as well as working on NASA spacecraft and other military vehicles, plus running a vehicle dynamics lab, I'm inclined to believe it has value beyond what you believe it to. Though I would be interested to read your textbook when it comes out, and I do appreciate the perspective.
> Other books like Introduction to Space Dynamics are very hand-wavey... Coordinate systems should not dictate the physics; it should be the other way around.
It seems like you've not tried reading actual physics books written by real physicists and have only purveyed books known to a handful of engineering specialists, and have come to the conclusion that this is the best book for learning mechanics. I also fail to see why specialists wouldn't want to make use of methods that would make their lives easier and instead would want to dredge through pages of pointless algebra.
> The rigorous approach to dealing with reference frames and coordinate systems is well applied to other fields like computer graphics
In most universities around the world such things are taught as part of a standard vector calculus course or a mathematical methods course. You don't need this book (or any mechanics book for that matter) to learn such things.
> Though I would be interested to read your textbook when it comes out
I'll ignore the snideness of your comment, but will suggest that it's perhaps not a good idea to recommend/use books that take haphazard approaches for solving standard problems (some that were solve almost three centuries ago). In any case, my "textbook" would not look very different from the other 99% of textbooks written on analytical mechanics. If you want a recommendation, pick up Cornelius Lanczos's The Variational Principles of Mechanics [1], which is a real classic and a gem of a book.
> It seems like you've not tried reading actual physics books written by real physicists
I find it pretty baffling you think this is the inescapable conclusion. Of course I've taken physics courses, that's where the frustration comes from. Many physics and astronomy books are riddled with errors and that's almost entirely down to how frequently they skip steps. Not only are 90% of underclassman physics texts written lazily at best, when I got into Modern Physics, half the answers in the back of the book were flat-out wrong, while the example problems elided a third of the steps or neglected important edge cases. The book was Tipler / Llewellyn by the way.
> You don't need this book
Apparently I did, considering that none of the other relevant courses I took which included calcs 1 through 3, differential equations, linear algebra, mechanics of materials taught this material. I'm sure it would've come up again if I'd stuck with mechanical engineering but regardless the whole point of recommending the book is to say "this has value" not to say "other things do not have this value."
> haphazard approaches
Compared to the other books I've seen, this is one of the most verbose, consistent, and generally anal-retentive approaches. It does not take shortcuts, and its notation alone is refreshing considering its lack of ambiguous styling aside from minor issue of the bold being used for tensors and vectors. (On the whiteboard, this is resolved with a double-underline being used for tensors and a single-underline for vectors). I would consider most other physics textbooks to be the haphazard ones, and when you compare the rate of errors in the text I have a strong suspicion those other books have much higher rates on average.
Granted, I'm not a physicist and make no claims to be. Of course there is truth out there to be found among the vast sea of physics textbooks, but from my own experience and also that of someone I know well who is postgrad in plasma physics, the textbooks are generally shit and to gain a correct understanding you need to wade through multiple texts that are extremely fragmented in both notation and correctness. So I'm not sure physics is the gold standard here. I'm sure there's a good math textbook out there about coordinate systems, but like I said, I didn't post here to say "everything else is worthless."
Ah, you're talking about lower-level-answers-at-the-back undergraduate books in physics. Yes, most of them are shit, and it would be a futile task to learn any real physics from them. Who was even talking about such books? Lol.
> I would consider most other physics textbooks to be the haphazard ones, and when you compare the rate of errors in the text I have a strong suspicion those other books have much higher rates on average
From your comments it's pretty apparent that you've not even looked into any graduate-level or even upper-level undergrad physics books and the only physics books you've read are overpriced freshmen/sophomore physics textbooks. In any case, do you really think a book (series) like Landau and Lifshitz or The Feynman Lectures (which is actually freshman physics) has more errors and typos compared to some obscure text in engineering with contrived methods and reinvented wheels? Lol.
Anyway, there's no point in taking this argument further. It's unlikely that either of us would change our viewpoints ;-)
> In any case, do you really think a book (series) like Landau and Lifshitz or The Feynman Lectures (which is actually freshman physics)
If you think that's the bible, it's on you to recommend it. What isn't okay is saying that books written by "real physicists" are the correct ones, when Tipler and Llewellyn (and the other authors I didn't mention) are that. It's dipping into the No True Scotsman territory. Graduate studies is not the world in general; of course people who are studying a topic in their graduate degree program are going to be using textbooks of a higher calibre, but also at the cost of being inaccessible. HN isn't that audience, and neither are 99% of audiences.
There's always libgen if the book you want is behind a paywall. Like it's cousin scihub, it is very easy to use, fast, and has most of the books you could possibly need. Considering the awful practices of most scientific publishers, I have no problems with illegally downloading textbooks.
Currently working on GNU awk, which will take another month if I want to include everything I had planned. Now, I'm thinking of releasing as drafts and see how it goes.
I plan to release book markdown source as well in coming days. Already done for Ruby [2]
[0] https://leanpub.com/b/regex
[1] https://gumroad.com/l/regex
[2] https://github.com/learnbyexample/Ruby_Regexp