Hacker Newsnew | past | comments | ask | show | jobs | submit | markus_zhang's favoriteslogin

Ouff, as someone who has done my fair share of downloading Khan Academy content, this will be a lot of work. There are something like 20K+ videos, so downloading each of them will take forever (think weeks). You might get your IP blocked by youtube in the process, and in general, getting the HTML for each page will put unnecessary strain on the Khan Academy web servers, especially in this moment of hightened need.

Instead of downloading from scratch, I would recommend using one of the pre-downloaded and pre-packaged Khan Academy video archives: a Kolibri channel or a Kiwix ZIM file. Details provided below:

## Kolibri

This is the best open source offline learning app developed by Learning Equality (the same people that made KA-Lite, see https://learningequality.org/ka-lite/map/)

1. Download Kolibri from https://learningequality.org/download/

2. Browse the list of Khan Academy channels to find the one you're interested in (there are 16 diffenret channels, for the different languages available from Khan Academy website) https://catalog.learningequality.org/#/public?keywords=khan

3. After installing and starting Kolibri (it's a web app that runs on localhost) go to DEVICE > CONTENT > and IMPORT the channel you selected in step 2. (Note download will take a while, like 8h+ because it will have to download 20k videos, exercises, and subtitles).

4. DONE! You have the entire Khan Academy collection in an easy-to-use fully offline learning management system. For bonus points you can create separate "coach" accounts as a parent and watch your kids progress.

## Kiwix

This is another powerful app developed initially for offline browsing of Wikipedia, but now extended to support many other sites. Kiwix is based on ZIM files, which are highly optimized compressed archives for web content.

1. Download Kiwix as app or desktop program https://www.kiwix.org/en/download/

2. Find the name of the Khan Academy ZIM file for your language and course, search for "khan-academy-" on this page https://wiki.kiwix.org/wiki/Content_in_all_languages

3. After installing Kiwix, import the right ZIM file (again it will take a while).

4. BAM! Now you have all the videos offline (exercises not supported in Kiwix, only the videos).

Between the two options, the Kolibri option would be my recommendation because you get all the exercises as well, not just the videos, but if you're looking just for videos, then Kiwix is faster.


Yes. The CPU and GPU demand has nothing to do with it. The reason is the car industry.

For some reason in early 2020 all the car industry execs were convinced that people would buy dramatically fewer cars in 2020, due to pandemic crashing demand. Because they have a religious aversion to holding any stock they decided to shift the risk over to their suppliers, fucking said suppliers over, as the car industry normally does when they expect demand shifts. The thing that made this particular time special as opposed to business as usual is that the car execs all got it wrong, because people bought way more cars due to pandemic rather than less, due to moving out of cities and avoiding public transit. So they fucked over their suppliers a second time by demanding all those orders back.

Now, suppose you're a supplier of some sort of motor driver or power conversion chip (PMIC) in early 2020. You run 200 wafers per month through a fab running some early 2000s process. Half your yearly revenue is a customized part for a particular auto vendor. That vendor calls you up and tells you that they will not be paying you for any parts this year, and you can figure out what to do with them. You can't afford to run your production at half the revenue, so you're screwed. You call up your fab and ask if you can get out of that contract and pay a penalty for doing so, and you reduce your fab order to 100 wafers per month, so you can at least serve your other customers. The fab is annoyed but they put out an announcement that a slot is free, and another vendor making a PMIC for computer motherboards buys it, because they can use the extra capacity and expect increased demand for computers. So far so normal. One vendor screwed, but they'll manage, one fab slightly annoyed that they had to reduce throughput a tiny bit while they find a new buyer.

Then a few months later the car manufacturer calls you again and asks for their orders back, and more on top. You tell them to fuck off, because you can no longer manufacture it this year. They tell you they will pay literally anything because their production lines can't run without it because (for religious reasons) they have zero inventory buffers. So what do you do? You call up your fab and they say they can't help you, that slot is already gone. So you ask them to change which mask they use for the wafers you already have reserved, and instead of making your usual non-automotive products, you only make the customized chip for the automotive market. And then, because they screwed you over so badly, and you already lost lots of money and had to lay off staff due to the carmaker, you charge them 6x to 8x the price. All your other customers are now screwed, but you still come out barely ahead. Now, of course the customer not only asked for their old orders back, but more. So you call up all the other customers of the fab you use and ask them if they're willing to trade their fab slots for money. Some do, causing a shortage of whatever they make as well. Repeat this same story for literally every chipmaker that makes anything used by a car. This was the situation in January 2021. Then, several major fabs were destroyed (several in Texas, when the big freeze killed the air pumps keeping the cleanrooms sterile, and the water pipes in the walls of the buildings burst and contaminated other facilities, and one in Japan due to a fire) making the already bad problem worse. So there are several mechanisms that make part availability poor here:

1. The part you want is used in cars. Car manufacturers have locked in the following year or so of production, and "any amount extra you can make in that time" for a multiple of the normal price. Either you can't get the parts at all or you'll be paying a massive premium.

2. The part you want is not used in cars, but is made by someone who makes other parts on the same process that are used in cars. Your part has been deprioritized and will not be manufactured for months. Meanwhile stock runs out and those who hold any stock massively raise prices.

3. The part you want is not used in cars, and the manufacturer doesn't supply the car industry, but uses a process used by someone who does. Car IC suppliers have bought out their fab slots, so the part will not be manufactured for months.

4. The part you want is not used in cars, and doesn't share a process with parts that are. However, it's on the BOM of a popular product that uses such parts, and the manufacturer has seen what the market looks like and is stocking up for months ahead. Distributor inventory is therefore zero and new stock gets snapped up as soon as it shows up because a single missing part means you can't produce your product.

So here we are. Shameless plug - email me if you are screwed by this and need help getting your product re-engineered to the new reality. There's a handful of manufacturers, usually obscure companies in mainland China that only really sell to the internal market, that are much less affected. Some have drop-in replacement parts for things that are out of stock, others have functionally similar parts that can be used with minor design adaptation. I've been doing that kind of redesign work for customers this whole year. Don't email me if you work in/for the car industry. You guys poisoned the well for all of us so deal with it yourselves.


This is a solid paper if you want to learn something about SymbEx. If it really interests you and you want something more tutorial oriented, pick up a copy of Practical Binary Analysis, out recently from nostarch. The last chapters are a tutorial intro to it using Triton. If you're a functional programmer and already know some Haskell or Ocaml or are able to pick it up quickly, check out BAP, the binary analysis platform, its got a bunch of tools/analysis built in already for this stuff and there's a fair amount of fascinating research done using or on the platform itself.

https://practicalbinaryanalysis.com/

https://github.com/BinaryAnalysisPlatform/bap

Cool fact about BAP, there's a really weird but very cool embedded lisp that allows you to drive execution of single instructions via meta programming. It works via a term rewriting system. Seriously one of the coolest lisps I've found out in the wild.

http://binaryanalysisplatform.github.io/bap/api/master/Bap_p...

Also, the docs for the project are borderline decadent in their completeness and the team responsible are quite active via gitter. For real, if you're interested in binary analysis, check it out.


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

Search: