I honestly don’t think any of the social issues you mention are accepted wholeheartedly by society. And I also don’t think the regulations you talk about are generally rejected by society. Just here on HN you can see how heated the discussion gets about regulating amazon. I’m pretty sure the government already has the power to fine or breakup businesses that brazenly break the law, but the system isn’t efficient because businesses can argue their case in court. I think my point is these problems aren’t trivial and your solution is right at a high level, but actually implementing it in a way that is fair is really difficult.
I didn't go to grad school so I'm not super privy to this, but a bunch of my coworkers have and they even contrarily joked that once you start "managing up" and don't just blindly do what your advisor says it's time for you to graduate :)
Ok, but like what if your metadata is even more complicated than just a single field, it’s ridiculous to have to include even more opening and closing tags.
<map>
<kvp>
<key>k</key>
<value>v</key>
<metadata>
<field1>m</field1>
<field2>m2</field2>
</metadata>
</kvp>
</map>
It’s just crazy to look at tbh, and it was annoying to type on my phone. I’m amazed people are still arguing in favor of it. In reality you just want the markup to transmit the most information in the least amount of bits. This is a measurable quantity and xml objectively sucks at it.
The nuance that differentiates my example is I’m not picking some random web page (where html might actually make sense to use) and trying to apply json to a domain it most certainly is not optimized for. I’m taking an extremely common case and showing why xml is way too verbose for very simple scenarios.
My main point is in xml the closing tags are unnecessary, and you need an opening tag for every value where it’s obvious from nested context what that value is supposed to be. Xml is very redundant, there’s just all this zero entropy text everywhere which conveys no information. I disagree with your metadata in json example, why not just add more data to the value? The data model of msbuild is also annoying, but I’ve worked with some dotnet core projects now and using json as the project format definitely saves typing and actually allows you to intuit what a project is doing rather than just bombarding you with useless text.
This is such a contrived example, they take html and show the equivalent conversion in json with the same schema. The point is in a configuration file you can remove nearly all the cruft of xml, instead of having <input “key”=key “value”=value> you don’t need any brackets or extra info. You just type { key:value } and you’re done. As many times as you want. I’ve had to hand edit complex msbuild configurations (xml based) in past projects and I can tell you lists and maps are hell. We’ve since converted them to yaml (another discussion), but the point is xml is terrible for human editing.
Thanks for the post, I didn't even realize how large the design space for something like this is. I enjoyed the level of detail and the explanations of the design tradeoffs.
I think the reason that none exist is that they are incredibly difficult to implement. My armchair observation is that tracing the entire history of the virtual machine is probably slow/memory intense/complex when the model of computation is not simpler (like in an elm-like functional language) if you limit the number of ways the state of the VM can change I think this becomes an exponentially simpler problem. I’ve been debugging/simulating a hardware project at work, and even small bits of hardware can take a really long time to simulate. I’m using that as comparison because it does give a nice timeline of the entire state of the system which you can explore through the whole execution timeline.
Tbh their greatest product in my opinion was their marketing in hiding that fact for as long as they did. It’s so effective that even after all of this the vast majority of its users still view google favorably.
There could also be other reasons for this, like rent being so high that trades people can't afford to live in the area. One of the other comments even points out that trade schools are closing in CA left and right.
except nuclear doesn’t produce pollution on a scale close to fossil fuels. 90 reactors are producing %20 of our electricity right now without emitting air pollution (although I’m not sure about the energy used to mine/transport uranium)
I don’t really think Amazon has a monopoly. They control 5% of all retail, and like 50% of e-commerce. It’s far from a winner take all point too, I think there will be a lot of fragmentation in the next few years with niche sellers like Etsy becoming more popular.
Your worldview is limited if you think that brazen censorship doesn’t hurt anyone. They could erase whole periods of history, cover up mistakes that the government has made, or hide abuses that are in progress by censoring media. And they’re only gaining more control over their people’s lives - what they see, hear and think. I wouldn’t want to live there.
I’m actually really tired of people acting like the world is ending because ML algorithms can be tricked. The only time this will result in actual danger is self-driving cars, and military applications, hardly a world ending crisis. Other than that it’s a user sending bad inputs to a search algorithm or natural language classifier, neither of which will actually result in anything other than a wrong result for the end user. Adversarial examples are an interesting research area to make ML more robust but hardly the world-saving pursuit it’s proponents make it out to be.
Edit: the real security crisis is the massively non-secure web which our entire society depends on and which we are going to connect everything to
I think for low level systems it’s important to be knowledgeable about the design of OSes. For example, how memory works, caching and paging, how programs are executed, how threads and processes are managed, how communication with peripherals is typically done ... a good way of learning this could be implementing a cpu emulator of some kind in rust, which will probably give you a good idea of what areas you need to explore further. There have been a few floating around on HN lately.
I really like htdp, it was used for a bit in my intro class as well, but that curriculum also covered concepts that weren’t from the book. I also have been forever grateful for being taught scheme as my first language.
Previous discussion on HN about the second addition:
I saw this paper at nips and I thought it was an awesome application of continuation passing style. Typically in CPS one of the advantages is that you really only need a single stack frame (since the remainder of the program is encoded in the callback), but in this paper they allow the CPS’d program to use multiple stack frames and store the intermediate results from backprop in the callstack. It never would’ve occurred to me to remove one of the advantages of CPS in order to store values on the callstack. Cool idea!
And what objective measures do you have for nations like China, Russia, Iran, and plenty of despotic dictatorships in Africa? There isn’t some magic measure that goes filters through all the lies perpetuated by those countries. There is definitely some degree of corruption in the US but there isn’t really evidence for the strength of your assertions. I suspect China is probably a lot worse because of the opacity/concentration of power of the communist party. I’d also be interested to hear what felonies perpetuated 2008. The government incentivized individuals to buy homes, and the banks looked the other way as long as people signed their mortgage agreements. A lot of the laws that would’ve prevented this were repealed in the 90’s.
I don’t think your thinking about ordering is correct, in fact I remember reading a blog post somewhere (can’t seem to find it now) that made these same claims and was really confusing/poorly written, I’m wondering if you also read it. Anyway, monads can be about ordering but aren’t necessarily always used for this purpose, an example of a monad that doesn’t order operations is the Reader monad. I generally think about monads as generalizing composition, and not necessarily “transitions” because there are some contexts (ie Reader) where “transition” doesn’t really fit what’s happening in the computation.
So I didn’t know who he is (still don’t) and this article doesn’t actually come across as humble bragging when I read it without your context. He doesn’t even mention how successful he is, and just says change the things you can control and don’t worry about the things you can’t.
Of course there is nuance, many times the Chinese government owns parts of these companies, they have zero choice. In the US corporations have much more power to resist the government. At the very least corporations can lobby Congress to get beneficial reform passed, in China it is all entirely opaque.
For a historical example I’m pretty sure Disney did this with purchasing land in Orlando before they announced they would build Disney World there. They even used fake names. Given in that case the company itself was doing the purchasing in secret so that seems a bit less shady.
Wow so that’s how they got the money for that. Can somebody tell me what the point of those streetcars are? They’re just slow buses that are limited to tracks.
As it was mentioned in the article this looks to be a direct response to the NYT article. It’s easy to pretend to care after everyone has found out. I’d be curious to know the details of the allegations against the 48 to gauge whether they were sacrificial lambs at the altar of public relations.
Edit: Missed that this was since 2016, makes sacrificial lamb theory less likely.
I enjoyed this post - but I don’t feel like it added much beyond SICP itself and also one of my favorite books, Design Concepts in Programming Languages (Turbak et al.)
One thing I’ve come to realize is that MS definitely excels at programming language design, coming out of college I had no experience with the MS CLR languages and I was pleasantly surprised at how well designed and usable their languages are.
In my experience, SATs measure nothing - only how well you can take the SAT, after taking a prep course my score went up like 200 points. One of my friends got a perfect score on the ACT after doing alright on the SAT. Some colleges are no longer taking it into account because everyone knows how BS it is.
EDIT: and to make it worse the college board charges exorbitant prices for everything involved in the process - it’s ridiculous