Hacker Newsnew | past | comments | ask | show | jobs | submit | zero-sharp's commentslogin

I don't know if HN gives you notifications when you get replies so I'm going to reply to this post regarding

https://news.ycombinator.com/reply?id=46179347&goto=item%3Fi...

How are you able to download the videos to begin with?


You have to leave your room first.

Hi is there a way to view the lectures in a more traditional way? For example, as one long video? I'm seeing lessons broken up into 2-5 minute long videos.

ffmpeg

This is how I've done it. Some courses have short lectures from 30s to 2.5min which can be annoying

In reference to the open courseware, is there a way to either just download all of the videos in bulk, or view them as part of a single video? It looks like they're broken down into ~2 minute long video clips through the Ed platform, which is very annoying.

Annoying indeed. I created a script using ffmpeg to merge all the 2-min clips into a longer video per chapter[1], so I could watch the lectures on my commute.

You may need to tweak for different courses, but I've used for ML4T, GIOS, and ML, and it has been incredibly helpful.

[1] https://github.com/guiambros/vidcat


You can download the lectures from many of the courses, but not all, from the site.

>Say I want natural numbers, I need to choose a concrete implementation in set theory

In what situation do you ever actually need a set theoretic foundation of the natural numbers to get work done?


As noted in another reply, the natural numbers example is contrived, but illustrative. Nevertheless, if you have a set theoretical foundation, e.g. ZF/C, at some point you need to define what you are doing in that foundation. Most mathematicians do not and happily ignore the problem. That works until it dont. The whole reason Vladimir Voevodsky started work on HoTT and univalent foundations was that he believed we in fact DO need to be able to pull definitions back to foundations and to verify mathematics all the way down.


I've had the experience of working at a small business with extremely bad onboarding/organization:

1. documentation is nonexistent

2. broken processes that nobody can explain.

3. no clear direction to establish workflows. This is rationalized with "every situation is different"

4. a constantly changing system (which would partially explain 2)

5. an acknowledgement from the higher ups that training "takes years"

At a certain point, it's just about job security for the people who already work there since it creates such a high barrier to entry.


You encounter abusive language/notation basically everywhere in math. Open up a calculus/real analysis textbook. A lot of the old ones write sequences in the curly brace/set {x_n} notation:

"let {x_n} be a sequence"

As the author points out, a sequence is a function. The statement {x_n} is the set of terms of the sequence, its range. A function and its range are two different things. And also sets have no ordering. It might seem like a minor thing, but I thought we were trying to be precise?

A second example: at the high school level, I'm pretty sure a lot of textbooks don't carefully distinguish between a function and the formula defining the function very well.

The author of this web page has a section on what he calls "double duty definitions". Personally, I don't find anything wrong with the language "let G=(V,E) be a graph". G is the graph and we're simultaneously defining/naming its structure. So, some of this is a matter of taste. And, to some extent, you just have to get used to the way mathematicians write.


Right, the notation of derivatives is also totally confusing, especially for things like the chain rule. The sloppy way to write it seems very intuitive but isn't precise. To write that in a precise way, you have to use the vertical-bar-on-the-right (e.g. d/dx f(x) | x=0, but typeset properly), variable names etc. In high school I rewrote a lot of the textbook stuff in a super explicit version for myself like this and it got very verbose of course, but gave deeper understanding.

Same in college when learning the Fourier transform, a stumbling block was that the prof didn't properly explain that it takes a function as a whole and gives a whole new function as output. When you first learn this concept, it's a bit of time to wrap your head around, but when it clicks, everything makes more sense. But just writing F{sin(x)} = ... seems like F acts on a concrete value. A more explicit way would be F{x->sin(x)}={x->...}

Of course once you already know these fundamentals and they are baked into your brain and take them for granted, it's hard to see where beginners get confused, and writing in short hand is so much easier so you get sloppy while still unambiguous to experienced people.

This is why I always preferred to see coded-up demos and implementations as opposed to formulas on blackboards and slides. If you have to implement it, you can't handwave away things as pedantry. It forces precision by default.


Fully agree with this thought. Sloppy notation has been a hindrance to my personal understanding many times. Math made more sense for me when I could code it up and see the function doing things. Everything explicit vs inconsistent shorthand that saved the author a few pen strokes.

Which is why I am so favorable of Jupyter notebook-like teaching environments. Embed the (guaranteed to execute!!! no illegal shorthand) code so that learners can get a true representation that can be manipulated. Although, I think they are still unlikely to reshape education - now you require some coding fluency + the niche math topic.


I think there's also a bit of sneakiness in that by not requiring actual understanding, it's possible to memorize equations and pretend to understand, and then pretend that students got more understanding than in reality.


In programming you would put function as a parameter. So, maybe something like this

F{sin}(x) = ...

is just as short and clearer?


Yes, but often the formula is more complicated like (sin(x) + 5)^2.


> abusive language/notation basically everywhere in math

In most cases it is not as much abusing notation as overloading it. If you think of the context of a formula (say, adjacent paragraphs) as its implicit arguments (think lambda captures in c++), then it is natural that curly braces can denote both a set and a sequence, depending on this implicit input.

Such context dependent use of symbols is actually rather convenient with a little practice.


"it is natural that curly braces can denote both a set and a sequence, depending on this implicit input."

?

I don't even know where to begin. Overloading symbols in mathematics occurs all over the place. There's nothing wrong with that. The difference between overloading a symbol and abusing it is whether there is an agreed upon definition/convention regarding its use and to what extent its use conforms to that definition/convention. What I'm saying in my original post is that the statement "{x_n} is a sequence" disagrees with the formal idea of what a sequence is and that most writers don't bother to explain their own notational use.

If you wish to re-define the curly braces to have a context-dependent meaning, knock yourself out. But, I would imagine that that practice would confuse a lot of people. Math is a human activity. It's not a programming language.


I remember being very pleased when I first encountered what might be an abuse of notation, but is nonetheless super convenient: \Sum_{s \in S}, where s is an element of a set S. Or, even better, just: \Sum s_i. Of course, this is defensible as I was writing out 100 summations in a stats course, not writing teaching material.


My guess is that most mathematicians wouldn't consider that notation abusive. Why do you think it is? That notation is a convenience that allows us to represent a sum over a set where the elements aren't indexed by integers. So, in this particular case, I think there is a utility to the notation. And also: the definition of \sum_{e\in S} is ubiquitous.


I'm not a mathematician, but I went decently far into math and hardly ever encountered a summation over non-indexed elements, or really anything beyond the standard \Sum_{i=1}^{n}, even up to my final math courses.

I wasn't aware of its ubiquity! I may only think of it as "abusive" due to lack of familiarity. The way I've seen it used is: \Sum_{e \in S} e_i, where 'i' is never explicitly defined, and this still assumes elements indexed by integers. The only utility seems to be from the abbreviation, leaving out the range of indices being iterated over. Not saying that isn't useful, but the rigor of the math probably doesn't benefit from time-saving omissions.


> \Sum_{e \in S} e_i

I'm tempted to call that notation simply wrong instead of abusive. Generally "abusive" notation, while technically wrong, has some redeeming feature in intuition or consicebess.

In this case, the alternative notation would be to simply drop the index and write "\Sum_{e \in S} e", which seems to be all around better.

From having spent way too much time doing technical writing; I'm tempted to say the notation you are recalling really was a mistake. They probably started out with "\Sum_{e \in S} e", then decided to make all summations be index based instead of set based. Unless you spend a lot of time proofreading, that type of style change can easily lead to half translated expressions like what you recall.


interesting topic, but essential for who?


"Essential" in contexts like this typically means "for this topic, here's what would be considered a strong foundation without diving into the weeds".

Friedman and Wand's Essentials of Programming Languages isn't 'essential' for everyone, even for programmers, it represents the 'essential' parts of programming language theory. If you read and understand that book you can have a serious conversation with anyone on that topic.

Similarly Essential Statistical Inference would imply a book that teaches you everything you need to know about statistical inference to do meaningful work in that area.

So the claim here is, assuming you want to understand Coding theory, then you'll be in a good place to discuss it after you read this book.


Essential as in "the essence of" not as in "necessary".


Programmers who can or want to work in lower levels of abstraction I suppose


It looks like you are thinking about programming and its abstractions. As somebody already pointed out, this isn't that type of coding. This is coding from information theory - source coding, channel coding, decoding, etc.

A lot of modern coding does involve programming. But it is more concerned with storage and transmission of information. Like how to reduce the symbols (in info theory parlance) required for representing information (by eliminating information redundancy), how to increase the error recovery capability of a message (by adding some information redundancy), etc. Applications include transmission encoding/decoding dats (eg: DVB-S, Trellis code), error detection and correction (eg: CRC32, FEC), lossless compression (eg: RLE, LZW), lossy compression (most audio and video formats), etc.

As you may have already figured out, it's applications are in digital communication systems, file and wire formats for various types of data, data storage systems and filesystems, compression algorithms, as part of cryptographic protocols and data formats, various types of codecs, etc.


No, you’re actually just repeating what I meant. Applications that need those functionalities typically don’t have to implement those pieces of logic from scratch—it’s often consumed from a lower level library.


Oh! I see what you mean. In that case, the book is probably not targeted at programmers at all, though nothing stops you from pursuing it. Design of coding schemes is a discipline of its own. Sort of like writing a simulation software. Implementing the software will need programming skills. But the design of the numerical algorithms is more in line with physics and mathematics than programming.


"or something"


"eating meat carries health risks"

"eating meat necessarily results in unethical treatment of livestock"

Sounds like a load of barnacles. Even that third one about impacting the environment is likely bogus.


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

Search: