Ask HN:Does Higher Resolution screen helps in programming? - <AUTHOR> I am planning to buy a new 15" laptop. I am just wondering will a higher resolution screen help while programming (max available is 1920x1080). I think it will allow me to view more code in single screen.
Please pitch in your feedback on Higher resolution screen(true HD) while programming?
UPDATE: I am stuck with single laptop, and can't have multiple screens. <comment><USER2> More screen = better, but it can also become a distraction.

I don't want to get in to a pissing match about 'whose screen is larger' so I'm not going to spec my monitors but I've found that it works wonders if you stick two smaller screens rotated next to your main central screen.

I have things set up so the central one is for coding, the left one is browser, calculator & IM, the right one is email.

When using linux it can be quite tricky getting this to work properly, especially if one or more of your screens are driven by an accelerated card. In the end I opted to drive all screens using the same nvidia driver, I found a cheap X1 board with a DVI connector for the third screen.

If I have to work on a laptop I feel like I'm looking at my work through a keyhole, and I find it hard to believe that I once earned a living using just a 12" screen.

You can hook up a third screen to a laptop using one of those usb display adapters ;)

</comment><comment><USER3> Of course more resolution is always better. Most of the good developers I know use a 2 monitor setup. There are guys who use 3 monitors too. The more screen real estate you have, the better.

See: <http://www.codinghorror.com/blog/archives/001076.html>

<comment><USER4> I would disagree that "more resolution is always better". If the resolution is high enough then, it at least some cases, text and icons are illegible.

</comment></comment><comment><USER5> 1920 is really convenient because you can have two windows side by side, or even try to squeeze in a third skinny one, such as an IM client.

Just make sure you have the eyesight for it. The 1px dot on lowercase I's can be maddening.

</comment><comment><USER6> I use 2 monitors, one at 2560 x 1600, and one at 1680 x 1050 ... made things WAAY more efficient than my previous 1680 x 1050-only setup.

I also despise laptops for development, so that wouldn't be right for me.

</comment><comment><AUTHOR> I am stuck with the size of laptop... Can't afford multiple screen.</comment>


Good listserv solution for 600-student med school - <AUTHOR>

we're building a portal for our classmates at Tulane, tmedweb.tulane.edu, bringing together lots of resources that otherwise take a lot of clicking to get to, or implement our own services because the university never seems to get around  to them, and the community really is the school. It makes sense.
One place we're having some issues is a good, user-friendly listserv app so club officers can easily manage their lists, have ready access to help (via their classmates in the project) and students can browse the lists. I've always used mailman, but there's some concern it's not easy enough. I wouldn't be asking here if I hadn't looked at majordomo, phpmailer, notonebit, phplist, etc.
Is there a stack of two or three things that manage to get the job done? Anything on the near horizon that we in the IT hotbed of Louisiana haven't heard about? <comment><USER2> What are the pain points with mailman for you?

<comment><AUTHOR> great question.

1) too complex for someone who should be studying medicine and maintaining whatever their club is, healthcare for the homeless or whatever their club is.

2) central admin still has to make the lists.

3) high likelyhood someone will create a list and then the whole group will forget about it, yet it is unclear in advance which lists will run year round (like the student-run clinic has proven too) and which are essentially recreated every year (like the student government and curriculum clubs do)</comment></comment>


Write unit tests? Start deleting them - <AUTHOR> http://codeweavers.wordpress.com/2012/01/21/write-unit-tests-start-deleting-them/

<comment><USER2> My understanding is that Unit Tests are intended to protect you while refactoring. Refactoring is not intended to change implementation or purpose, it is intended to restructure without such changes. As such, Unit Tests should (pretty much) never be broken by true refactoring.

Enhancement, improvement and extension are all likely to break Unit Tests, because they can easily require that you change the way things currently work. In this case end-to-end tests are what you need, to make sure your system is producing the right results, including the new enhancements, but especially including the previous results.

In my experience, you can't make substantial improvements to a system with all Unit Tests in place and untouched.

Equally in my experience, with comprehensive Unit Tests you can refactor without fear, and constantly ensure your code is clean and ready for the next phase of development.

<comment><USER3> Refactoring can impact your unit interface too, and when that happens you'll have to refactor your tests accordingly. What you don't want while refactoring is being stuck with your old interfaces.

<comment><AUTHOR> Exactly. Refactoring is the process of changing code without changing behaviour. If that means you change some tests so be it. There is no rule to say that you can't do this, but many devs seem to fear this.</comment></comment></comment>


Intent to Un-ship: Object.observe - <AUTHOR> https://groups.google.com/forum/#!topic/v8-users/12NbuZ4BB7A <comment><USER2> [https://news.ycombinator.com/item?id=10494512](https://news.ycombinator.com/item?id=10494512)

</comment><comment><USER3> It's a done deal at this point but I think this is a mistake. Observables would have interesting uses other than in bindable UIs, such as making database interfaces where fields are bound directly to objects.

<comment><USER4> I think the thinking has become that while there are many great libraries out there that do some sort of observing changes in an object, it isn't general enough to be a language feature. There was a lot of disagreement on what the observable system should look like and how it should operate. For instance, some of the data-binding frameworks though the proposed spec for Object.observe was too heavyweight as they often don't need every change on an object.

At least for the time being it seems like this sort of thing is still better handled by library choice.

Personally, I felt like Object.observe should have used something more like RxJS Observables than events, and that a base class similar to the RxJS Observable would be great to generally add to the language alongside Iterable and Promise.

<comment><USER5> Have you seen the Observables proposal? It's Stage 1 but seems to be moving forward nicely, and it's more-or-less what I think you're looking for.

[https://github.com/zenparsing/es- observable](https://github.com/zenparsing/es-observable)

<comment><USER4> I have seen that and IMHO I think it is something that ES should adopt. Just as Promises can solve the callback mess I think Observables can do a lot to solve the event mess, and given how deeply important events and event processing is to ES (hi DOM, hi EventEmitter), I think that could be huge. (In the meantime RxJS is great and moving at a good pace, but deeper language support would encourage other people to explore it beyond the already converted cultists like myself.)

</comment></comment></comment></comment><comment> Jean-Philipe I would love to see more unused features removed from JavaScript. This would keep the language lean in the long term. Especially with the latest EcmaScript proposals, as excited as I am about them, I feel the language might become bloated one day.</comment>


Margin considered harmful - <AUTHOR> https://mxstbr.com/thoughts/margin <comment><USER2> It's funny how we've come full circle from using CSS the way it was intended to be used to that being "considered harmful" and now we have the Javascript framework equivalent of , an anti-pattern I was using back in 1999.

The reality is that frontend is messy, browsers are still inconsistent with respect to how they treat CSS, and creating new layers of abstraction to handle trivial considerations like adding space on a display are just a way of denying that reality by fixing something that isn't broken.

Creating new, completely useless components to "bring us closer to how designers think" completely flies in the face of separating view from the program layer. And in my experience, "designers think" everyone has a 27" Thunderbolt display, or now increasingly a Pro Display XDR, so I wouldn't really put too much stock in what they think. If you disagree, I would propose spacer.gif as a much more succinct and widely accepted alternative to all the harm being done here.

<comment><USER3> > browsers are still inconsistent with respect to how they treat CSS

Are they? CSS seems to be rock-solid and consistent now. The days of IE6 randomly breaking the box model are far behind us.

<comment><USER2> Yes, some examples:

\- margin-top inconsistent between Firefox and Chrome in some cases, usually near the start of a container element.

\- specifying percentage height for absolutely positioned elements inconsistent in some cases between Firefox and Chrome (bugged in Chrome)

\- SVG elements or CSS backgrounds are handled inconsistently by Chrome, Firefox and Safari. Which can depending on the use case can lead to issues like exceeding max-width, failure to apply aspect ratio, or in the case of Safari full page reflows every frame where an SVG is animated.

\- Chrome incorrectly renders any scrollable element with backface-visibility: hidden. Requires non-scrollable nesting div.

\- Everyone has a different way of specifying custom scrollbars. On some platforms you need to leave room in any scrolling design for a scrollbar which will reliably be an unpredictable width. Chrome and Firefox still have inconsistent non-standardized css proprties. Or (some) Apple users get the self-hiding scrollbar. In practice this needs to be detected and fixed after the fact with Javascript.

\- position: sticky unusably broken in Safari

I'm sure there are others, but my point is the browsers are quirky and better to just face it and get over it.

</comment></comment></comment><comment><USER4> Oh my sweet summer child. As a pro having done this thing for decades, the industry standard in 2020 is to randomly throw margins, negative margins, and paddings on _everything_ (probably in JS/JSX) in the vicinity of the thing you're trying to position and visually iterate until things looks okay-ish. Probably by a dozen people simultaneously on the project, some of whom may have read an article on CSS once. After a year or two the whole thing is chucked out anyway. And that's all right, it gets the job done.

<comment><USER5> This made me crack up. I do this all the time and thought it was because I was "bad" at CSS, having not kept up with the times. Is there really no better way in 2020?

<comment><USER6> Of course there is a better way, but as he/she said most people don't know it. And for a lot of projects that are built to spec once, and maintained with minimal tweaks for a few years (traditional agency projects), the "bad" way is good enough.

If you want a better way for a project that you will have to maintain for a longer time that should be more flexible, I would personally suggest something like BEM[0] + a few best practices (like the one suggested in the post). This will already get you a long way.

[0]: [http://getbem.com/](http://getbem.com/)

<comment><USER7> I rather like using BEM but have only used for 6 months or so on short projects. What is the "BEM considered harmful" article in 5 years going to say that we don't know now?

</comment></comment></comment></comment><comment><USER8> This article is _not_ advocating using spacer components like so:

      <MyComponent></MyComponent>

      <MyComponent></MyComponent>

They are describing using _layout_ components to define how children should be oriented and spaced.

The article's example:

      <Stack space={3}>
        <Item />
        <Item />
        <Item />
      </Stack>

Would be basically equivalent to this:

        <Item />
        <Item />
        <Item />

<comment><USER9> Thank you! There are so many knee jerk reactions here which completely miss the point of the article (especially the post about images as spacers). It's not really anything new, wildly complex, or hacky. It doesn't even require components or a frontend framework, it's just a good way to structure your code.

</comment></comment><comment><USER10> The longer I spend engineering, the more I just want to get the job done and get it over with. I've built, and will continue to build, strongly-opinionated frameworks and platforms based on my experience. But this week's silver bullet is next week's anti-pattern: mostly because of a misunderstanding of when, how, and where to apply design patterns.

Truthfully, it's increasingly my opinion that design patterns (and by extension, anti-patterns) only exist in the context of focused, internally consistent systems architected by a small group of individuals and not a committee. Rails, especially early on, is a great example. Actually -- a huge chunk of programming languages are built this way. The web, however, is designed by committee.

With this framing, "avoiding margins" works for the way Max builds design systems -- and from what I know, he's very talented and the team(s) that work with him should adhere to the systems he constructs. I'd love to see an implementation of an entire framework / design system that avoids margins -- something like Tailwind CSS. I do not, however, really believe this is broadly applicable advice. Most people are just trying to ship something that looks nice, and margins can be overwritten and adjusted easily.

NOTE: I have components I've written that have margins I have to overwrite nearly universally, but can't remove because of other UIs relying on the margin behavior. So I understand where the argument comes from. It's just -- I'd have a hard time if anybody tried to pick a bone with a software engineer on the team about the use of a margin if the initial intention was good / legitimate.

<comment><USER11> To chime in on good intentions. Some branding guidelines specify "this logo must always have 20px of space around it".

Using margin will guarantee it'll have at least 20px and likely only 20px top and bottom with the way margin collapsing works with CSS. Padding or spacers would just add potentially more space than the minimum design requirement.

</comment></comment><comment><USER12> I tried something similar to "spacer components" in a recent project. When I wrote them, I felt smug and clever: I had interpreted the suggestions in React about using components; I had separated my presentation concerns from content or functionality etc etc.

It turned out to be a mistake. It added a component (with JSX file, an index.js and a folder, and imports and uses in the consuming file. 10s of lines of code across multiple files and folders. After I had made it, I kept seeing the layout pattern it encoded in other parts of my app. I'd reuse the component, break it, refactor it to cover multiple uses, which sometime broke the original. I'd give up and make a new component that was slightly different. In the end I'd have several of these things, all with long names that were hard to interpret and harder to use.

And I was the only coder on that project. Imagine if you had several people doing this?

This kinda thing is the same as the problems people complain about when working with large CSS codebases.

Doing it in CSS is marginally easier, in my view. You probably have fewer files to maintain and fewer lines of code to work with.

Ultimately, I think the problem is in neither the CSS or JS. It's that layout is really hard. It's as subtle as language. We strive for regularity and consistency, but if we stick it it strictly, we hamper our ability to communicate.

</comment><comment><USER13> Completely agreed. Margin should only ever be used at the page layout level, where multiple components are being integrated. But spacer components are a terrible idea. Just use CSS.

<comment><USER14> Curious why you're so opposed to spacer components. In my experience they work quite well--often a designer has specified that two widgets lie a certain distance apart, either vertically or horizontally, and the programmer needs to express that in code. Makes much more sense to use a spacer component than to add a margin to one or both of the widgets themselves.

If responsiveness is what you're after, you can easily make your spacers adaptable to different screen sizes.

<comment><USER15> Why not let the parent lay its children out? In my experience, a lot of engineers resort to things like spacer components due to not being very good at css. Flex, grid and even table layout should give just about everything needed for all but the most crazy layout needs. With flex and grid, you can often build responsive layouts without needing media queries.

<comment><USER16> That's exactly what the article is talking about. "Let the parent lay its children out" means "use layout components in the parent". This is what this `Stack` component is: probably a flex container. They use the term "spacer component" but "layout component" would be more accurate and wouldn't trigger all these knee-jerk reactions

<comment><USER15> My argument is that component isn't needed. The article is basically proposing Parent -> Stack -> Children. I argue the parent should own both its parent roles and the layout roles. The Stack component adds an unnecessary layer IMO. It will probably add an unnecessary DOM node too which is unfortunate. My experience with layout-like components such as this Stack is they often have limitations people work around in bad ways, or sometimes they just end up having props like `columnGap` and basically just end up being a little re- implementation of inline styles. I have pretty much always found just having the parent do layout using standard CSS to be better.

<comment><USER16> It's a more subtle argument, but a lot of people (me included) think that `<Stack>...</Stack>` is better than `<div class="stack">...</div>`. More readable, more reusable, that's the sort of thing Flutter went with (not a Flutter user personally).

There's no reason it would add unnecessary DOM nodes. You can add styling on top of any component if needed (styled-components is one way but not the only one). Having a `columnGap="small"` is perfectly acceptable for me (`columnGap={3}` too if 3 refers to some scaling, `columnGap="10px"` is bad).

It's similar to the Tailwind approach: have ready-made pieces of UI you can compose. But I also get why you wouldn't like it, and I think any of these approaches work fine enough if you they're used diligently

</comment></comment></comment></comment></comment></comment><comment><USER17> I agree that spacers are better than margins (and sometimes better than paddings, when people use paddings as margins). Since whitespace is almost always between A and B, ideally the piece of code defining whitespace would be between the pieces of code that are responsible for A and B.

For example, it feels nice to define margin or padding on a
 element, but what does that mean - distance between two paragraphs? Between paragraph and heading? Between paragraph and bulleted list? Using spacers seems like the only way out of this madness.

<comment><USER18> It means minimum distance. A key feature is margin is it can collapse. So if paragraphs have 1rem between them, and headings have 2rem above and 1rem below, you won't wind up with 3rem between the paragraph and the following heading. Padding adds together, and space mechanisms seem like overkill when css can already do the thing in a straightforward way.

What's befuddling to me about these threads is that they keep trying to make an absolute case. It's true, I use margin less now that I have grid gap, but there's still a place for it.

<comment><USER19> Most people don't understand collapsing margins. I know I don't. I always have to read up when I deal with margins.

And protip: Whenever you have a CSS problem, think: "Oh, I'll just use negative margins!"

</comment></comment></comment><comment><USER11>

<comment><USER20> I'm more of a

 kind of guy. Frontend is all a hack anyways

<comment><USER21> I know nothing but sometimes `!important` works.

</comment></comment></comment><comment><USER22> HTML is for styling. JSON is for content.

If you've heard "separate content from presentation" all your career, you might autonomically hear it as "separate HTML from CSS". I used to.

In a React app world, your content hasn't lived in HTML for a long time. It lives in your DB, and comes to you through JSON.

Your React codebase exists to style that JSON. That includes "HTML" (JSX), CSS, and whatever else you've got in there.

Since your HTML is for styling, and your CSS if for styling, why separate them? If you do, you're not separating content from presentation, you're separating presentation from presentation, and that's just wasteful.

Personally, I'd prefer to use inline styles for everything, though of course will use CSS for :hover of @media queries where I have to.

</comment><comment><USER16> So, the point is that margins on the UI boundaries of a component are a bad idea. Margins are a visual side-effect, which break the idea of keeping components encapsulated.

It's not anything new really, everybody has experienced pain to try to reuse a component but it's badly encapsulated so it's painful to fit in a new context. It's always worth making it clear and reiterating basic principle under different lights, but this "considered harmful" like you discovered a new law of physics always feels pretentious to me

<comment><USER23> You could argue that margins are part of the element, just like padding and border are, so

<comment><USER16> You could, but this mental model probably won't be as helpful as thinking of margin as the element pushing its neighbors away (or pushing itself away).

It's hard to define margin without any relation to neighboring elements, it's easy for padding and border. It seems logical that a reusable component shouldn't make assumptions about its neighbors, therefore avoid margins on its boundaries.

</comment></comment></comment><comment><USER24> I was expecting a finance related article.

<comment><USER25> Same, but I guess everyone knows buying on margin is harmful, they just do it anyway.

<comment><USER24> What? You know when you take out a loan to buy a car or a house you are buying on margin right?

It's just a tool to be used. Sure it can be harmful if you don't understand it.

</comment></comment></comment><comment><USER26> I like the way @wongmjane put it, "Basically margin is like side-effect"

[https://twitter.com/wongmjane/status/1242370883320049664?s=2...](https://twitter.com/wongmjane/status/1242370883320049664?s=20)

I remember @jpochtar and @gablg1 had a similar take in "Technical lessons from building a compiler startup for 3 years". Under "Don't trust standards", they wrote "We had no issue w/ using invisible spacer divs instead of the more "semantic" margins or paddings."

[https://medium.com/@gabriel_20625/technical-lessons-from- bui...](https://medium.com/@gabriel_20625/technical-lessons-from-building-a- compiler-startup-for-3-years-4473405161cd)

</comment><comment><USER27> I guess we're done trying the whole "semantic HTML" thing.

<comment><USER28> Margin is a CSS property; using it (or not) is entirely consistent with semantic HTML. The "spacer" component in the article can be achieved with gaps using CSS grid.

<comment><USER29> CSS grid is a lifesaver, but grid-gap does not replace margin unless you have a very regular design.

</comment></comment></comment><comment><USER30> Am I missing something here? Why not just define the margin for those components in that place in the parent component?

</comment><comment><USER31> I semi-agree with the point being made, but I don't like the solution. Spacer components isn't the solution, IMO, separating the reusable styles from one time styles is.

so instead of:

We should be doing:

This allows the reusable styles to be reused and the spacing to be one off.

P.S. since I'm more of a react/styled-components kind of guy, this is how I would look to do it there

const Link = styled.div`

//... styles

` const LinkWithSpacer = styled(Link)`

//... margin

`

<LinkWithSpacer />

<LinkWithSpacer />

<Link />

</comment><comment><USER32> Using spacing components makes sense for small applications where there is a predictable set of spacings used everywhere in the app.

Once you get to the size of an app which requires a dashboard, and many specific distances, some just a tiny bit smaller or bigger, this gets unwieldy very fast. You end up coding around the spacer component or not using it entirely for some situations which makes the whole approach kinda useless.

The approach I take is the "pass your own classname"-approach. Im sure somebody has found a fancy name for it.

Having a componenent A:

      const A = ({ className }) => (
        <div className={`${COMPONENT_CLASSNAME} ${className}`}>
          Hello, World!

      )

You can then just pass your own classname from the parent into the child component. If your component A does not define any margins, it should be easy to define those and not break anything. As simple as that. I find that to be way more flexible than a spacer component, because most of the time, spacing depends _heavily_ on context. The spacing component therefore either becomes too complex and unwieldy or does not get used at all.

The approach from above does have a drawback: if you dont pass a className to your component, the resulting class attribute will contain "COMPONENT_CLASSNAME undefined". I have not found that to ever be a problem, although if you really want to, you can also write the template string as follows to mitigate this:

      `${COMPONENT_CLASSNAME} ${!!className ? className : ""}`

But I do find that to be unnecessarily verbose.

<comment><USER33> Your template string logic doesn't actually mitigate the problem. Short- circuit evaluation in JavaScript means that `falsey && something_else` will always evaluate to `falsey` and then you'll still get undefined in your className string. You would have to use a ternary to avoid this.

<comment><USER32> Yes you are right, I have edited my post. It is pretty late.

</comment></comment></comment><comment><USER34> In my experience, margin isn't harmful. Using a container to space components relative to each other is harmful.

In fact, using margin correctly can prevent an explosion of exceptions on the relative positioning of your components. It also brings you more in line with how a designer thinks.

Consider this: one of the things a designer takes into consideration is composition and whitespace. In effect, this means that distances between components might change, depending on what their layout is, and what components are situated around it.

When you have a wrapper component, you can set some sensible spacing defaults for its children. But some components visually need more breathing room, while others need less. This depends on the design of the component. It also depends on what components comes before or after, so a simple padding won't suffice. Two visually heavy components need more space in between as compared to two that are visually airy. You'll eventually end up with a long list of + selectors to precisely tune every single combination. This quickly gets out of hand. With or without a wrapper element, those exceptions must be applied somewhere.

However, when using margins, you avoid all that. Since margins collapse, you can be assured that any combination of components has the minimum amount of whitespace between them, determined by who needs the most. Now this isn't perfect, but it gets pretty close; any component that needs a bit more breathing room can force a larger distance. This way, you might still have one or two combination exceptions, but these will be rare.

So, looking at it like this, margins _are_ a property of the component itself: it's the equivalent of a guy stretching his arms out and saying "don't come too close, I need my space!".

</comment><comment><USER35> Call me old school if you like, but the cleaner solution in my eyes are to create well-defined CSS classes for such margins and use them in my designs.

..

..

..

is MUCH cleaner than:

..

..

The difference being, first of all, I don't need to dig into the source to see what `space` does. Next, appearance layer is tied to CSS and the JS takes care of the rest of the structure of the component.

<comment><USER32> What would stop you from calling the space attribute just "margin" in your react component? For me, the second approach does look much cleaner and if I really want to see what you are doing, I also have to open your CSS Stylesheet. I guess it does come down to preference and familiarity.

</comment></comment><comment><USER36> I have never understood why developers think in absolutes and then try to force this absurdity on other people. It feels immature to me and makes me feel like I am in a prison or an insane asylum.

Just use the correct tool for the given task.

<comment><USER37> The quest for absolutes makes a lot of sense to me. I understand they are rare, but when we find them they're a godsend. We have to consider so much at once and there's so many ways to do the same thing that having an absolute can make things much easier.

</comment></comment><comment><USER38> I thought it would be a lean management or economics piece of how low margins are essential to a smooth economy. Or a denouncing thereof. You know, in the days of hospitals being run on just-in-time deliveries.

</comment><comment><USER39> Moving spacing concerns to the parent is an interesting idea, would be fun to try out.

That said, I almost didn't read the post simply because "Considered Harmful" is the most obnoxious title format I know of.

<comment><USER40> Complaints About "Considered Harmful" Titles Considered Harmful...

I like the colorful history of this phrase, and how it usefully marks the following argument as an unbridled assault against purportedly common wisdom, so we can treat it with the huffy disdain with which we should normally treat such cheeky endeavors.

</comment></comment><comment><USER41> Adam Wathan & Mark Dalgleish chatting about this [http://www.fullstackradio.com/134](http://www.fullstackradio.com/134)

</comment><comment><USER42> Spacer components + flexbox + components defined in JS/JSX is basically a copy of how TeX does things (single unified macro language, hspace/vspace, boxes and glue algorithm which is pretty much flexbox).

Feels like we could have saved a lot of time if we'd considered at the outset that maybe Knuth, an actual genius who spent years on this problem, had some pretty good ideas?

</comment><comment><USER43> If you start thinking as margin as a relationship between two or more blocks instead of property on a block, some of the issues with it are solved.

Whenever possible, I try to use the sibling selector for this –

.header + .nav { margin: // }

This way, both header and nav elements remain re-usable and the margin only comes into play if they're used in a specific layout, and it is defined in its parent.

</comment><comment><USER44> I have a blank spacer component for react-native [https://github.com/DaniAkash/react-native-blank- spacer](https://github.com/DaniAkash/react-native-blank-spacer). I have been using this to eliminate margins in my existing projects

</comment><comment><USER45> Sorry to be unpleasant... but DUH. This was true long before React. It's a core idea in assembled layouts, that is to say all layouts.

Margins need to come from the assembling component, rather than the detail item. Spacing requires awareness of multiple elements, which you usually don't have internally.

</comment><comment><USER46> But the parent consuming a component can add margin to the child component without breaking encapsulation.

</comment><comment><USER47> Been doing this for years! In addition to this I recommend a <Content> component which lays out margins for typography just like you would get in a vanilla HTML document for h1,p,etc, but outside of that everything should use spacing components

</comment><comment><USER48> Having layout and component design decoupled is the way to go in largescale component driven systems. Not Necessary in your small wordPress theme like site though

</comment><comment><USER3> Can't you just override margin with an "!important" rule? I disagree with this article's exhortation. Cascading style sheets have priorities and override mechanisms for a reason.

</comment><comment><USER49> I hope for a "considered harmful considered harmful" article

<comment><USER50> "Considered Harmful articles are problematic, and that's a good thing"

<comment><USER51> Haha, brilliant. If I may write the first paragraph:

> _Facebook has quietly marked Considered Harmful articles problematic, and > that 's a good thing._

> _When I was a child, my father often took me fishing as a way for us to get > out of the house. I remember the dappled early Sunday sunlight playing > across the dashboard as we drove up to the lake in our 1998 Subaru Forester, > a car whose longevity is likely to be greater than mine. Subaru, as it turns > out, tapped into a fundamental part of the American psyche that had, at the > time, been left completely untouched out of sheer unawareness_.

</comment></comment></comment><comment><USER52> Every web frontend codebase I have every aged incredibly badly. System A was replaced (inconsistently) with system B after half a year. Ideas and concepts thrown out as well.

</comment><comment><USER53> Ha, I thought 'Margin' would be the name of the latest javascript framework. I'm not sure if the claim that margin is bad is funnier or less funny.

</comment><comment><USER54> Fuck it, I'm gonna use SVG for layout in my next web app.

</comment><comment><USER55> I almost didn't read the article because of the horrible title. Anyway, I just want to say this is one of the things I like about elm-ui (a ui-library for the elm programming langauge that replaces HTML/CSS). It has the concepts of spacing and padding. No such thing as margin. [https://package.elm- lang.org/packages/mdgriffith/elm-ui/late...](https://package.elm- lang.org/packages/mdgriffith/elm-ui/latest/Element#padding-and-spacing)

</comment><comment><USER56> Design for the sake of shipping, not for the sake of design.

</comment><comment><USER57> ...and watch your DOM weight at least double in size and JS perf drop substantially due to a ton more components.

</comment><comment><USER58> Ironic that this is on a page with grotesquely huge margins.

<comment><USER59> Lines of 60 characters are at the lower end of what's usually recommended by typographers, but I wouldn't say it's grotesque. A bit too narrow on large screens though.</comment></comment>


On the CCA (in)security of MTProto - <AUTHOR> https://eprint.iacr.org/2015/1177 <comment><USER2> And this will probably be another thing that the creators of Telegram will mock, showing yet again that they are perpetually oblivious to any definition of sound cryptography.

</comment><comment><USER3> Linked paper: [https://eprint.iacr.org/2015/1177.pdf](https://eprint.iacr.org/2015/1177.pdf)</comment>


Education Is a System of Indoctrination of the Young (1989) [video] - <AUTHOR> https://www.youtube.com/watch?v=JVqMAlgAnlo <comment><USER2> In a very similar vein is Bryan Caplan's book "the Case Against Education."

In an interview[1] he lays out his argument, roughly, as:

> Right. So, the first story is called human capital, and just says that > people with more education earn more money because they have been trained > effectively for the jobs they are going to do. So, school--you go to school, > and it gives you more skills; you make more money. Nice simple story.

> The main story that I am pushing in the book is called signaling. This says > that, yes, going to school does cause your earnings to go up; but, the > reason isn't so much that you are learning useful skills as that you are > getting certified. You are getting a stamp on your forehead saying, 'Great; > hey, premium worker. Hire this person.'

> And then, the last story is called ability bias. This one just says that > it's just coincidental that people who have more education make more money; > and rather, what's going on is it's the kind of thing that wealthy people-- > the people who are going to be wealthy--rather do.

[1]: [https://www.econtalk.org/bryan-caplan-on-the-case-against- ed...](https://www.econtalk.org/bryan-caplan-on-the-case-against-education/)

<comment><USER3> > The main story that I am pushing in the book is called signaling

I saw this idea a lot in other various threads. As the average HN poster is probably well educated, I wonder if it's a biais coming from software engineering where most of the skill set is learnt by experience.

Anyway, I have a long list of university degree, and I can tell there are indeed differences with autodidacts that learnt the same general fields. The fundamental difference is that university forces one to learn the unfunny parts. For computer science it means for example functional programming, database normal forms, language theory, anything with mathematics inside, etc. Of course, university classes alone are not enough and much like an autodidact much study have to be done alone, which might lead one to conclude that university is not required. But I don't think it the case.

<comment><USER4> > I wonder if it's a biais coming from software engineering where most of the > skill set is learnt by experience

For the record, Bryan Caplan is an economist.

<comment><USER5> So a modern day shaman who does rain dances. You don't need much of an education to the type of bullshitting he does for a living either.

<comment><USER3> Yes, if anything it gives him even less credibility to speak about education. Wikipedia mentions that he is an "anarcho-capitalism", so he's basically trying to sell his main ideological framework without any regard to real consequence on people lives or society.

<comment><USER6> And he is a supported of free market labor policies. Can't have open borders and state run big education without conflicts. At least he's consistent in his thinking.

</comment></comment></comment></comment></comment></comment><comment><USER7> Well of course it is. How are you supposed to learn about how to integrate into society without, you know...learning about it?

I wish people would be more specific - it's not that education in of itself is bad, it's that the way it is currently implemented in this specific society has these specific flaws. I strongly dislike when a discussion disparages an entire concept when it's really just our implementation of that concept that is flawed. It rules out potential solutions simply because they are associated with ones that failed, when the differences between them could result in success.

Not saying that's what's in the video - I get the impression that they are in fact talking about specifically the implementation and not ripping on education itself, but I've seen and heard stuff like this used as the foundation not only of attacks on being educated but also on anything else where some implementations of an ideal failed and so the ideal and all possible solutions stemming from that ideal are dismissed as unworkable. And it bothers me a bit how that approach is popular among many sides of many arguments that I have seen. I would in fact suggest that it is in fact a marker of a failed education - using an example of a failed implementation to argue that the concept itself is inherently flawed is itself an example of a failure in critical thinking.

</comment><comment><USER8> I've said it before and I'll say it again: the problem is always scale. The modern system of American education really was born out of idealism, in fact the same ideals that the comments here are using to attack it. It doesn't even matter what you start with. When you scale, you end up with _mass_ education, i.e. a system tasked with the job of actively taking care of almost every American child for 40 hours a week, whether they want it or not. There is no way to have that without the inevitable accompanying problems.

<comment><USER9> > There is no way to have that without the inevitable accompanying problems.

What are these problems and why are they inevitable?

Mass education in the USA is public education, and if the USA had a good national curriculum and accompanying system of teaching why would it necessarily produce indoctrination?

If you're conflating the necessary standardisation of mass education with indoctrination well that's just wrong. Having a shared epistemic foundation is the basis for a free democratic society not the undermining of it. _The English language is itself a shared epistemic foundation_ and yet mass literacy campaigns are obviously not a tool of indoctrination. They are tools of freedom and empowerment.

</comment></comment><comment><USER10> I just found that this OP and the other two HN articles I've stumbled on today are somehow related at a deeper level - they're all talking about the creativity and intelligence in general.

The Lesson to Unlearn - [https://news.ycombinator.com/item?id=21729619](https://news.ycombinator.com/item?id=21729619)

Brain tunes itself to criticality, maximizing information processing - [https://news.ycombinator.com/item?id=21729211](https://news.ycombinator.com/item?id=21729211)

I don't think all individuals should become a 100% creative/original person. That would make the society very unstable. So we need some (actually, a lot of) obedient people that makes the society keep going, in this regard that I think the current education is useful. On the other hand, there's always a rebel no matter how hard we try to cast people into a form. The question is that the society needs a good mixture of creative and boring people and I don't know how we can achieve that. My theory right now is the society is somehow auto-adjusting itself - like the brain auto-adjusting itself in the above article - to have its "critical" state, i.e. having the right mixture of people: not too boring but not too revolutionary. Of course, the society is much bigger and more complex than a single brain, so its adjustment is slow and inefficient. But it's interesting how it's still functioning while its education system is so broken.

<comment><USER8> There's a near opposite hypothesis to yours: Strauss–Howe generational theory. The idea is that instead of sitting at an 'optimal' point, we have cycles of general societal personality that last four generations, which dictate the flow of history. [0]

At such a zoomed-out level, one can make an argument for any grand theory, I guess -- they're too vague to pin down specifically. Still fun to occasionally think about, though. It's the "use sparingly" peak of the nutrition pyramid for thought.

0: [https://en.wikipedia.org/wiki/Strauss%E2%80%93Howe_generatio...](https://en.wikipedia.org/wiki/Strauss%E2%80%93Howe_generational_theory#Timing_of_generations_and_turnings)

<comment><USER11> Fascinating stuff, although obviously bananas. Reminds me somewhat of Elliot Waves

[https://en.wikipedia.org/wiki/Elliott_wave_principle](https://en.wikipedia.org/wiki/Elliott_wave_principle)

</comment></comment></comment><comment><USER12> Garbage.

You can look at countries without high levels or any education in existence today. They are far more Indoctrinated. They are far less free thinking.

Even in a strict religious school I would say every year of education makes a person less indoctrinated. The things you have to learn like science outweigh that years negatives whatever that maybe.

Could you improve the education system.... yes... we all know that. But are not sure how.

The idea about Japan not being scientific is however very interesting for 1989. The meme they are technologically advanced isn't really correct, it's almost a racist mythology.

</comment><comment><USER13> I'd highly recommend Sceptical Essays(1928) by Bertrand Russell to anybody interested in the topic: [https://www.goodreads.com/book/show/144355.Sceptical_Essays](https://www.goodreads.com/book/show/144355.Sceptical_Essays)

<comment><USER14> [https://archive.org/details/in.ernet.dli.2015.222966/page/n3](https://archive.org/details/in.ernet.dli.2015.222966/page/n3)

Has it for download

</comment></comment><comment><USER15> Over time, I've come to realise that the most important gift we can give our children is formal training in critical thinking. I think STEM and such can wait.

The ability to question narratives put forth by the industry, the government, media, political parties etc. is important not only to realise the truth at an abstract level, but also has practical implications on things such as successful investment strategies.

<comment><USER9> I'm becoming a broken record on HN about this, but the evidence is in and you can't divorce critical thinking from domain-specific knowledge.

> The ability to question narratives put forth by the industry, the > government, media, political parties

You just can't do this properly without a shitload of core domain knowledge in philosophy, politics, media, history and also whatever specific domain knowledge pertinent.

You can't "question narratives" you see in the newspaper if you don't have a good theory of media like what's provided in _Manufacturing Consent_ and even with that you can't "question [the] narrative" of some specific economics thought-piece in the Financial Times if you don't have the relevant domain knowledge in economics.

If you think of the people you'd regard as excellent critical thinkers, wouldn't these _all_ be people with deep knowledge of their domain(s)? Chomsky was never formally schooled in "critical thinking". He just went through normal, rigorous education, reading stacks of books and newspapers along the way.

source: Why Knowledge Matters, by E.D Hirsch

<comment><USER16> As someone who has majored in English, I strongly disagree. You don't need to understand the subject matter to make rudimentary assessments of validity. People who study the humanities learn to ask questions like, does the author seem to have a bias? Are some obvious questions not being raised by the text? Does the author contradict themselves?

You might not be able to definitively state that the author is being disingenuous, or is a shill, but you can learn to explicitly state where certain narratives are weakly supported. Most people can't do this. They tend to accept all texts as authoritative.

<comment><USER17> As someone who has read a fair bit of "critical"ly read texts - I strongly disagree. English majors often don't understand enough to even be able to pick out contradictions properly, and all they end up doing is (quite ironically) act as spin doctors spinning webs for the ideological sugar daddies.

</comment></comment></comment></comment><comment><USER18> I believe the most important thing we can teach kids is the ability to discern influences, at all time. Some are positive, and obviously some are negative. Everything exert an influence on us and it is crucial to be aware of it.

People should be able to see the world with their own eyes, instead of with the eyes of culture or other socially transmitted concepts.

<comment><USER19> Also important to teach children about biases. Some are healthy for quick decisions that yield positive returns. Some are established simply by cultural norms and are harmful to propagate further.

</comment></comment><comment><USER20> It most certainly is!

If you listen to kids they will tell you their take on the environment, consumption, worthy causes, etc. I'm quite sure they're not thinking about these things themselves.

So yeah, teachers indoctrinate students with their biases. Some kids seek out their own information as they grow up, many don't question it.

So we end up in places where nuclear power was bad, for example, or banning straws (when there are much bigger issues with plastics) and detrimental things like everyone is special and unique and the future is yours to conquer (and of course this leads to disappointment when due to outsourcing and shipping jobs overseas they end up working at dead end minimum wage jobs).

<comment><USER21> In my father's later years he was head of the business dept at a college. He taught classes in business and finance.

He'd often have students come up to him and say they had no idea there was even a case for free markets. All they'd ever heard in school was how awful they were. They'd thank him for opening their eyes.

At one time, the other staff (all socialists) invited him to participate in a debate about free markets in front of the students, and warned my father that they were going to take him apart. He happily agreed.

They wound up rather sorry they'd done that. My father was an experienced debater, and had an encyclopedic knowledge of economics and history. He shredded them :-) and some had the class to come up later and thank him for opening their eyes as well, as they hadn't believed there was a case for free markets either.

<comment><USER22> You can flip the instances of socialism and free marketeerism mutatis mutandis and this comment means exactly as much as it currently does.

Was that your intent? To point out that whether it's Your Father's U or U of Chicago the importance of hearing the dissenting opinion remains the same?

<comment><USER21> My intent was straightforward. There is a case for the free market, but the current school system does not expose the students to it. My father's students had never heard it, and I'd never heard it from the schools I went to, either.

It's a little sad, being as we live in a free market system.

<comment><USER23> > but the current school system does not expose the students to it

That's not at all my experience, where the case for it is the core of both high school and introductory college economics, as well as frequently being touched on in the history and civics curricula.

> It's a little sad, being as we live in a free market system.

No, we don't.

</comment></comment></comment></comment></comment><comment><USER24> The US formalism and legal system around public education specifically calls out its purpose for creating nationally aligned citizenship.

For example a few years ago Colorado proposed to educate High Schoolers using a textbook that highlights morally questionable aspects of American history from the perspective of "The Left" (Howard Zinn's "A People's History of the United States"), it was rejected by the courts on the grounds it would not accomplish the required purpose of creating nationally aligned citizens, crucially NOT because it wasn't a good textbook for teaching history.

<comment><USER25> I've often felt that despite going to a high school that championed critical thinking, that certain topics were closer to indoctrination.

I've noticed, with much of the public, if democracy is criticized the response is usually akin to "it has been said that democracy is the worst form of Government except for all those other forms that have been tried from time to time.…" more often in the form of "well what do you think is better" followed by the bad sides of that system. It doesnt actually address the argument.

That single catch phrase became a way to shut down critical thinking before it began. "Nope I have the ultimate rebuttal, I wont even entertain other premises, even hypothetically." People were taught that, despite its flaws, its best, and dont question that it might not be the best.

To question democracy itself, as not superior to everything else, is painful and frightening to many, as it fractures their worldview and lenses theyve built with which they understand the world. Defense of democracy feels more like fanaticism, the way people choose a sports team and then never question it. (Lions fans may question their allegiance, but thats a different story.)

It becomes a bit recursive, as democracy is powered by and predicated on an educated electorate.

<comment><USER26> > To question democracy itself, as not superior to everything else, is painful > and frightening to many, as it fractures their worldview and lenses theyve > built with which they understand the world.

What's truly frightening are the conclusions that follow this realization: most people do not think about their beliefs and straight up hate you if you question them; it's useless to debate those people since that brings only suffering and persecution; better to somehow seize power and impose one's world view on them.

<comment><USER25> >better to somehow seize power and impose one's world view on them.

That's sort of what politicians do. Over half the population doesnt vote for them, and the majority of what they said to get votes was platitudes and lies anyway. Trump and Hillary got less than half the vote each, from 61.5 percent of the population. Trump played a well crafted and complicated game, one where he got less votes than his competitor, to take charge with only 28.3% of the voting age population picking him. He did so despite the entire party he ran in wanting "anybody but him." He is like a parasite that took over its host, and in a way it was very interesting to watch someone hijack a party against the partys will.

Campaigns are basically reduced to who can lie the loudest and most convincingly. Who can say the right things, even if those things have nothing to do with what they do when they get into office. (Any republican even whispering the words small government lately.) Even a candidate like Bernie's platform, is largely the job of the house and senate. If he didnt also get both, theres no way hed be anything more than a bully pulpit president. Saying what he wants, not getting it, unable to do anything about it. Maybe making compromise to get a shell of what he wants passed.

I have to think a bunch of Trump's support was just that finally someone kept going after a recording or scandal came out. Instead of letting the "we caught you, now youre unelectable" committee of the fifth estate disqualify everyone they didnt like, someone running finally said "i dont care, im not quitting, youre not in charge of who the people get to vote for."

Basically where im going with this incredibly off topic and unfocused rant is that i would call; hijacking a party that doesnt want you (GOP establishment), getting less than 30% of people to vote for you, and doing so by shouting what amounts to nonsense; either seizing power (or maybe just the electorate saying "we are done with all these other "approved" people you keep trying to force down our throats, we give up. Nonsense is better than your narrative.)

</comment></comment></comment></comment><comment><USER27> Nice video! I'd like to know when and where Chomsky made these remarks. In fact, I'd like to watch the entire presentation. Strange that the captions are often incorrect -- did Chomsky review and approve them?

<comment><AUTHOR> The video is an excerpt from a speech he made in 1989. Here's the full speech: [https://youtu.be/G2dJ0iBhTcA?t=79](https://youtu.be/G2dJ0iBhTcA?t=79).

</comment></comment><comment><USER28> I think we can't really expect the opposite to happen. There's not an educational system out there that would actively try to delegitimize itself or the power structures it exists in.

That being said, Chomsky's works -- especially, Understanding Power and Manufacturing Consent -- are extremely helpful to understanding our current world. Even if the examples are out-dated, you can see the same things play out today as they did in the 80's. I would recommend them even if you don't align personally with his politics.

</comment><comment><USER29> It is intended to be, but in reality it's just a system that trains students to pass tests. For the most part, such system leaves students highly skeptical towards everything - which is a good thing.

<comment><USER21> > it's just a system that trains students to pass tests

How do you verify that the students learned anything without some sort of tests?

<comment><USER30> The problem is, what are you actually verifying? Mostly memorization and test taking strategies. Wasn't there just a thread complaining that whiteboard coding interviews are nonsense? It's the same thing.

"Some sort" is doing a lot of heavy lifting there. Some kind of assessment - yes, of course. But for example, consider a portfolio of work & a written evaluation vs a multiple choice exam. The latter is definitely easier, faster, and gives you a metric to print, but which is more valuable for the student? Which better demonstrates what you've learned?

NB: obviously this is to an extent domain specific. I'm not talking about med school, and I don't care about your evolving perspective on whether 2+2 equals 4, I just need to know whether you can add.

<comment><USER21> > Mostly memorization and test taking strategies.

Most people memorize the times tables. I discovered that there was a rule to them, which was much less work to learn.

At Caltech, tests were open book and open note. Memorizing facts and strategies would do you no good at all.

I didn't see any point to those methods, anyway, as I went to college to learn the material, and when I learned it, I did well on the tests.

<comment><USER30> Like I mentioned, it's domain specific to an extent. Tests may be more effective in fields like engineering where there are specific correct answers and methods. But we're talking about k-12, and nothing you did at caltech is relevant to hs standardized testing.

<comment><USER21> I remember taking all those standardized tests all through grade school and high school. There was quite an obvious and consistent correlation between those who learned the material and did well on the test, and those who didn't and did poorly.

This remained true whether the test was multiple choice, fill in the blank, or open ended.

<comment><USER30> Frankly you don't remember, the sheer amount of testing and degree of standardization has increased tremendously since NCLB. ESSA walked back the testing somewhat, but it's still very different than when you were in school.

The question is what "learned the material" actually means, and if designing the class around a definition that can be accurately captured on a test is a worthwhile goal. Again though, I want to make it clear that I'm _not_ arguing against assessing what and how students are learning, but specifically against standardized testing.

We can't spend decades hurfing and blurfing over "failing schools" and then refuse to consider change when what we've been doing clearly isn't working.

<comment><USER21> > specifically against standardized testing.

Without standardized testing, the techniques of teaching cannot evolve beyond "Phil said this works for him."

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER31> Lot of closed caption is not even close to what Chomsky is saying.

<comment><USER32> I thought some of the incorrect captions were quite poignant!

I am still wondering if someone had a hand in that.

</comment></comment><comment><USER33> I don't agree with this. Because of the education I received at K-12 and undergrad studies, I was able to get a job. Without that I would not have been able to support my family. Also the K-12 educational systems across the world have lifted several billions out of poverty. Without educational system most people would be mired in ignorance and believing in myths.

<comment><USER34> > K-12 educational systems across the world have lifted several billions out > of poverty.

You can just as easily say "countries spend more on education as they become richer". The correlation goes both ways (and thats all it is, a correlation. Beware those who assume causation!).

I think its a little absurd to think that teaching geometry and Shakespeare to kids somehow will magically lift them all out of poverty.

</comment></comment><comment><USER35> There are endless debates about curriculum and yet there is one lessen that is never up for debate, and it is thought throughout every day and in every lessen: Sit down, be quiet, do as you're told.

I wonder what a society would look like, where each of us had not been exposed to over a decade of this in our most impressionable years.

<comment><USER36> This is so true, and makes me so sad to think about. I regard formal education as a form of emotional abuse for this very reason.

</comment></comment><comment><USER37> It's quite eye opening to learn about the origins of the modern education system. The how and the why of the modern school system. Especially the people who brought the public school system from europe to america. They certainly weren't interested in creating a population of critical thinkers. It's why public "education" is supported by such disparate countries like america to nazi germany to the soviet union to communist china. One thing all countries and politicians and elites love is public "education".

</comment><comment><USER38> Also school plants into children some biases that later used by authorities for divide-and-conquer.

E.g. the school told me that I belong to some ethnicity and that there are other ethnicities I should know about. As a child I couldn't care less. Why would they tell me this if ethnicity doesn't even matter for future job?

Another example is socio-economic system classification: capitalist vs socialist vs fascist vs monarchy etc. Why does it have to be so clean-cut categories? Like if you're not in one camp then you have to be in another. Just another divisive tool.

So they do want to create the work force but they also want to prevent any sort of revolt and thus plant psychological leverages in peoples' heads. It is a science of social engineering that they don't teach in schools.

<comment><USER39> > E.g. the school told me that I belong to some ethnicity and that there are > other ethnicities I should know about. As a child I couldn't care less. Why > would they tell me this if ethnicity doesn't even matter for future job?

I don't think you could have even a basic understanding of history without understanding what ethnicities are and some details about the historical experiences of at least a few of these groups.

But let's buy in to the premise, for a second, that schools should only teach you things you need to get a job (which ignores how important a well educated population is to democracy). Historical discrimination and the current disadvantage of several ethnic groups directly informs the hiring policies of many major companies (in the US). So ethnic groups may directly impact you getting a job.

</comment></comment><comment><USER40> What a coincidence, I posted this just yesterday at [https://news.ycombinator.com/item?id=21730116](https://news.ycombinator.com/item?id=21730116) :

My post reads:

In my view schools/universities are institutions for mass indoctrination. Noam Chomsky has said something along similar lines. I borrowed the words from him.

A bunch of my other observations:

[https://realminority.wordpress.com/observations-of-the- world](https://realminority.wordpress.com/observations-of-the-world)

<comment><USER41> Not necessarily a coincidence, I've often gone down a rabbit hole of reading triggered by an interesting HN comment; sometimes that comes back to HN in the form of a submission of something in the rabbit hole that I found particularly interesting.

<comment><USER40> Now that I think of it, it's probably not a co-incidence. The author 'zainamro' who posted the parent post, probably read my post ([https://news.ycombinator.com/item?id=21730116](https://news.ycombinator.com/item?id=21730116)) and then did a google search to come up with the video that he then posted.

<comment><AUTHOR> I actually hadn't seen your comment — I read PG's essay and was similarly reminded of Chomsky's view on education and specifically this video. So it was a coincidence in a sense but less so because of PG's essay.

</comment></comment></comment></comment><comment><USER42> People should go to school to learn, not to be indoctrinated. They should learn critical thinking to for their own ideas and opinions based on facts and logic.

<comment><USER17> This is a joke right ?

Historiography (like most of "humanities") is almost entirely based upon ideology to write a story around certain "facts". The practitioners might call that it is a "science" to satisfy their Physics envy, but the intent in these fields is more about molding the world more than it is about modeling it.

You can never be proven wrong by writing the future. Orwell was right. Chomsky has no alternative other than pushing another imperial narrative, like his liberal counterparts during the British Empire.

</comment></comment><comment><USER43> Chomsky's talk titled "Corporate Attack on Education" held at St. Philip's Church, Harlem on March 16, 2012: [https://www.youtube.com/watch?v=DbMP- cy1INA](https://www.youtube.com/watch?v=DbMP-cy1INA)

> I think the university should tolerate a large diversity of opinion, which > it does not. I think there is a severe failure - the failure is one of > honesty, in my opinion. That is, I don't believe that scholarship within the > university attempts to come to grips with the real structure of the society. > I think it is under such narrow ideological controls that it avoids any > concern or investigation of central issues in our society.

\-- Noam Chomsky, interview in Business Today (May, 1973) [https://chomsky.info/197305__/](https://chomsky.info/197305__/)

</comment><comment><USER44> It never ceases to amaze me how this pseudo-intellectual hack is taken seriously at all. But I suppose it must be by people who have not really been exposed to any serious thinking before.

Leaving aside how unoriginal and trite the things he is saying actually are (I imagine it's what Trump would sound like if he had a wider vocabulary), just consider his smear of Bloom and his book. It's amazing. Here's a very serious book that tries to address the problems he just presented, and all he's got is something worse than a straw man. Suggesting that the classics have a place in the curriculum is 'a couple of smart guys deciding what the great thoughts are' and paramount to imposing authority and trashing everything else. He even manages to sandwich it into 'turning the schools into marine corps'. I think only two conclusions are possible - either he had not read the book in question, or he is willfully lying about it (and not very convincingly).

<comment><USER45> _pseudointellectual_ n. A person who claims proficiency in scholarly or artistic activities while lacking in-depth knowledge or critical understanding.

As someone who disagrees a lot with the views of Noam Chomsky, I must say that you can never call him pseudointellectual.

Chomsky is an intellectual in the truest sense of the word. Academically he has contributed into linguistics and theoretical computer science. As a political thinker he forms his toughs and arguments irritatingly well.

<comment><USER44> >Academically he has contributed into linguistics and theoretical computer science

This is true, but

>As a political thinker he forms his toughs and arguments irritatingly well.

is something people keep saying, but which I have never seen substantiated. I've read many of his pieces and wasted hours listening to his blabbing. None of it is profound, and a lot of it is quite the opposite (the video linked being one of the most egregious examples). Perhaps he can be admired for being a good con man, though - somehow his rhetoric manages to fool a lot of people.

<comment><USER9> > This is true, but

Oh so you'd retract saying "pseudo-intellectual hack" then?

Your couple of comments here have made me very wary of taking you seriously, but as a big fan of Chomsky I'd like to not dismiss your vitriol and instead ask for some alternative books and talks to look at.

Who do you recommend in the areas of education, politics, and civics?

<comment><USER44> >Oh so you'd retract saying "pseudo-intellectual hack" then?

Definitely not. One can be an expert in one area, and still be completely incompetent while claiming otherwise in another one. Chomsky is just as well known for his politics and social commentary as for his hard science, and proficiency in the latter does not exonerate him from deficiency in the former.

>but as a big fan of Chomsky I'd like to not (sic, I presume) dismiss your vitriol

That's good - you've now dismissed the vitriol of at least two persons. But to be fair, I do know that I'm not being overly civil, and I do appreciate your effort to not be as close-minded as Chomsky himself.

>Who do you recommend in the areas of education, politics, and civics?

A good starter is the book which Chomsky slandered in this video. Camille Paglia has also written a lot on topics related to the ones touched upon in the video, but with much greater clarity and originality. I haven't read as much about education as I should have, so I can't give any more recommendations than that. The other two subjects are much too broad for recommendations to be meaningful, unless you are looking for something specific (refuting Chomsky is also too broad, I think) or just want to place me ideologically.</comment></comment></comment></comment></comment>


The Vagus Nerve: A Back Door for Brain Hacking - <AUTHOR> http://spectrum.ieee.org/biomedical/devices/the-vagus-nerve-a-back-door-for-brain-hacking/?utm_source=techalert&utm_medium=email&utm_campaign=061115 <comment><USER2> The vagus nerve is fascinating. After a fight with a girlfriend once, I ended up tearing / straining my esophagus (we were yelling at each other). As far as the vagus nerve was concerned, it felt like I was having a heart attack.

Over the next year, it continued to plague me. I randomly would feel like I was about to have a heart attack, with all the symptoms including my arm going numb, sharp pain in or across the chest, etc. Doctors were all mixed on what it was (they were all certain it wasn't cardiovascular, but that didn't make me feel any better, because it sure seemed like it was; and my father died in his 50s of a heart attack). During that time I couldn't work out, or even go for a jog without feeling like a heart attack was imminent.

I gradually narrowed it down myself, and fixed it myself. It was of course esophageal spasms. Hot liquids, things with caffeine, and physical activity would agitate or stimulate the esophagus and vagus nerve. After some experimentation, I found that the damage wasn't healing, because routine things continued to agitate it; what would otherwise be normal amounts of acid were contributing to the problem. What ended up fixing it? Maximum strength Pepcid AC; took about four months, of reducing the acid levels way down, giving the esophagus time to heal. Since then, everything has been fine.

<comment><USER3> Holy shit, this sounds _exactly_ like me. In my case, I fell backwards out of the shower, but all the same feelings/symptoms. Likewise, doctors are convinced it's not cardiovascular, and MRIs have shown nothing in my cervical spine (which is where I figured the problem would be). Taking Prilosec has had a substantial effect, though things aren't perfect yet; this comment really encourages me to keep taking it and hope for the best!

<comment><USER4> I had food poisoning. The vomiting caused damage, and I had many similar symptoms. Some of them led to panic attacks. Needless to say, I had poor results with Doctors, and ended up on a pretty strict diet for about 2 years which helped reduce acid. Things are much better now, but I notice that the symptoms are also linked to my mood. If I'm feeling down/sad, everything flares up again.

</comment></comment></comment><comment><USER5> You don't necessarily need a fancy device to stimulate the vagus nerve. Patients with supraventricular tachycardias are taught to do vagal maneuvers, the simplest of which is gagging: [http://www.webmd.com/heart-disease/atrial- fibrillation/tc/va...](http://www.webmd.com/heart-disease/atrial- fibrillation/tc/vagal-maneuvers-for-a-fast-heart-rate-topic-overview)

In general, imbalance within the autonomic nervous system (of which the vagus nerve controls half—the parasympathetic portion) has been shown to be related to everything from heart disease to irritable bowel syndrome to having an irritable personality: [http://en.wikipedia.org/wiki/Autonomic_nervous_system](http://en.wikipedia.org/wiki/Autonomic_nervous_system)

<comment><USER6> I tried it out with a signal generator (wav file) and an audio amplifier cranked way up, it felt like AC and made some muscles twitch but nothing compared to mechanical vagal maneuvers.

</comment></comment><comment><USER7> Getting closer. At some point there will be a non-invasive nerve (or neuron) stimulator system that will replace opioids as the drug of choice. When that happens it will profoundly affect our society as people "get high" without any of the ancillary ecosystem of manufacturers, distributors, and money management firms. I expected us to be there by now with much of the deep brain stimulation research, but I also tend to be optimistic in my estimation of time to market for many technologies.

<comment><USER8> > When that happens it will profoundly affect our society as people "get high" > without any of the ancillary ecosystem of manufacturers, distributors, and > money management firms.

Why do you think these industries will evaporate? Who will make, distribute, and manage the demand for these devices?

<comment><USER9> Google, Facebook, etc.

You think "addicted to Facebook" means something now? Just wait until they literally have a direct line into your brain!

In all seriousness though, it's far more likely tech like this will emerge from... You guessed it, the tech sector. Large nontech companies have historically shown an unwillingness to innovate in tech, and if they get out innovated by a tech company, it's impossible to catch up. Example - amazon vs big retailers, amazon vs book sellers, etc. (I would be curious to hear counter examples)

It's hard for a big company from a predominantly nontech environment to suddenly catch up to an agile tech company years ahead in R&D and HR.

<comment><USER10> > It's hard for a big company from a predominantly nontech environment to > suddenly catch up to an agile tech company years ahead in R&D and HR.

In the same way it should be hard for the "agile tech" companies to play in a highly regulated and, I would say, high responsibility market. F*cking up with your users when they are watching cat videos isn't quite the same than doing it when their health is at stake.

I don't think we (tech industry) are fast because we're "years ahead in R&D and HR", nor because we're "agile". We are fast because we are reckless and we completely overlook many, many factors (and many of them, scientifically relevant and known). Look at how the Soylent guys claim their meals are nutritionally complete. Were they able to do this because they were "agile" and "years ahead" than other companies that already play in that field? No: they are able to say (not "do") this because they're highly overlooking what nutritionally complete means - mostly, overlooking the fact that we don't know yet what exactly "nutritionally complete" means.

</comment></comment></comment></comment><comment><USER11> As far as I can tell, there haven't been any placebo-controlled trials yet. All of the medical conditions listed have a very high placebo effect, and using a novel device like this will amplify that placebo effect. Right now I don't think we can even say whether or not this thing works at all.

Also, on a completely different subject, I find it interesting that the incredibly simple javascript animation uses about 70% of my macbook pro's CPU time (even after zapping the flash adverts at the top). Chrome really needs a method to stop javascript execution in pages, especially now that javascript is replacing flash for animations.

<comment><USER12> > Chrome really needs a method to stop javascript execution in pages, > especially now that javascript is replacing flash for animations.

Just turn it off. You wouldn't believe how much quicker pages load.

It's such a pain in the butt when you're visiting a primarily text content page, and it jitters and freezes your browser initially while it loads its 43 analytics engines and social media libraries.

Just flip it on when you want it. There's plugins for fast switching and allowing only for certain sites.

<comment><USER13> > it jitters and freezes your browser initially while it loads its 43 > analytics engines and social media libraries.

Don't browse without ghostery.

</comment></comment></comment><comment><USER9> From what I've seen (not much), a large obstacle in the field of brain/computer control seems to be signal interpretation. All our methods for analyzing electrical signals must be non invasive, a requirement which greatly increases noise. For example, to read EEG data from the brain we need to strap a net of ~128 electrodes around the skull and use FFT techniques to analyze 128 wave segments. The electrical signal bounces around in the convex skull, generating noise that pollutes the EEG signal. The fact is, it's hard to read electrical signals without a direct connection -- there is only so much we can do from outside the body.

(This is why consumer grade EEG devices can do little more than react in a binary fashion to relaxed/excited emotional state. The signal difference between relaxed/excited is easily detectable in aggregate, but more nuanced signals are hidden amongst the noise of EEG waves bouncing around the skull.)

For this reason, any non invasive method of reading (or in this case, apparently even controlling) electrical signals will advance the field of neuroscience exponentially.

This obstacle of noisy data leads to a second obstacle: what is the signal? Can we duplicate an arbitrary signal and send it through the nervous system on demand? That's a hard question to answer, especially when we can barely listen to the signal in the first place.

My question is, what role can machine learning play in this field? The problem of identifying signal seems more of a computational one than a biological one. How much data loss do EEG machines suffer from noise? Is all the data intact, and we just need to figure a way to avoid the noise?

Has there been any research on feeding neural signals into ML algorithms, and labeling them with results, e.g. "Moved finger," "blinked eyes," etc?

This field strikes me as one with a lot of untapped potential. With the coming VR revolution, thought-based interaction seems a natural next step.

<comment><USER14> There is already a lot of research done in the area of decomposing signals. For example, to make an ECG of a foetus' heart, where the heart signal of the mother is noise that is to be canceled. The classical approach is to use something that is called a Kalman filter.

</comment></comment><comment><USER15> Their (ElectroCore's) transcutaneous stimulation protocol is very cool. Being able to lower the risk profile (eliminating invasive surgery) may mitigate somewhat the fairly low efficacies that have been demonstrated for previous VN stimulators. But I'd still be quite worried about unintentional activation/blockade of non-target branches of the vagus nerve, affecting the internal organs, and the heart in particular.

The article says that it's "just a matter of hitting a sweet spot of signal strength", implying that they are trying to take advantage of the topographic organization of the nerve's fascicles. My understanding, however, is that achieving spatial selectivity has been hard enough with implantable cuff electrodes. I'm not sure how they are going to achieve it with a (handheld?) device.

Still, exciting times for electroceuticals!

</comment><comment><USER16> A year or so ago I attended a talk by a professor whose research team is doing a lot of fascinating work with vagus nerve stimulation, particularly in the realm of physical rehabilitation after major trauma and ischemic events. Murine models indicated stimulation could trigger bouts of neural plasticity which, when coupled with physical rehabilitation, dramatically improved the rats' recovery from induced ischemic trauma. Pretty amazing stuff, especially when paired with some of the engineering work done on artificial limbs. There are also potential psychiatric and learning applications -- IIRC, he specifically singled out language acquisition as a research target -- but those, I think, are not yet as well-attested.

</comment><comment><USER17> These titles are getting kinda clickbait-y

<comment><USER11> Clickbait for something that doesn't even have any evidence at all of its effectiveness (see my other comment here).

</comment></comment><comment><USER18> Or you can just use a dildo in your anus. Also reliable and cheap stimulator of vagus.

<comment><USER19> Looked it up, it's true, guys.

</comment></comment><comment><USER14> Here is one solution for tinnitus that uses such a device: [1]

[1] [http://www.microtransponder.com/?page_id=118](http://www.microtransponder.com/?page_id=118)

</comment><comment><USER20> Sounds like using a club where a needle is appropriate.</comment>


Everything is terrible - <AUTHOR> http://www.jwz.org/blog/2013/06/everything-is-terrible-2/

<comment><USER2> this is blogspam of a reddit post. link to original reddit post here:

[http://www.reddit.com/r/changemyview/comments/1fv4r6/i_belie...](http://www.reddit.com/r/changemyview/comments/1fv4r6/i_believe_the_government_should_be_allowed_to/caeb3pl)

<comment><AUTHOR> Sorry, that blog it is not mine, I just stumbled upon the post and thought it was interesting, didn't know it wasn't the original source.

</comment></comment><comment><USER3> colors in blog are terrible too.</comment>


Unrestricted access to the Ku Klux Klan - <AUTHOR> http://www.slate.com/blogs/behold/2013/08/13/anthony_s_karen_a_photojournalist_s_unrestricted_access_to_the_ku_klux_klan.html

<comment><USER2> What an interesting set of photos - a window on the world we never see.</comment>


Simple auto-login from emails using your favorite key-value store - <AUTHOR> http://danbirken.com/usability/2015/01/07/simple-automatic-login-from-emails.html

<comment><USER2> You should be using secure random numbers (os.urandom()), not random numbers. The problem with what you're currently doing is that if an attacker generates enough of the sequence they can guess future members also (which could be a different user).

Also your code has a bug: What if generate_random_string returns the same result twice? You don't check for that.

A 20 digit long code with a 26 digit set likely IS secure enough. But why not just add 0-9 for funzies? It won't break compatibility, and expands the scope quite nicely.</comment>


Keeping Government Out of Your Business - <AUTHOR> https://cacm.acm.org/news/243729-keeping-government-out-of-your-business/fulltext <comment><USER2> I wonder if the case tracing for this virus will be used to promote a policy of "we need to know where everyone is, just in case". I can see someone putting that out and saying the information will only be used in this type of emergency.

<comment><USER3> No need to wonder. [https://www.npr.org/2020/03/19/818327945/israel-begins- track...](https://www.npr.org/2020/03/19/818327945/israel-begins-tracking-and- texting-those-possibly-exposed-to-the-coronavirus)

"Prime Minister Benjamin Netanyahu ordered the country's Shin Bet domestic spy agency, usually tasked with monitoring Palestinian and Israeli extremists, to launch the cellphone surveillance. It locates people who could have the virus and messages them.

"Meanwhile, late Thursday Israel's Supreme Court stopped the police from using the data to enforce quarantines, which it had started doing. The court also said it could scrap the program unless it goes through parliament or if the country is put on a total lockdown."

</comment></comment><comment><USER4> Seems to be hugged to death: [https://webcache.googleusercontent.com/search?q=cache:keIYYf...](https://webcache.googleusercontent.com/search?q=cache:keIYYfIRYGQJ:https://cacm.acm.org/news/243729-keeping- government-out-of-your- business+&cd=1&hl=en&ct=clnk&gl=us&client=firefox-b-1-d)

</comment><comment><USER5> So long as we accept that privacy is a technical problem, we consent to the legal impunity of people who vioate it. Tech is a poor substitute for freedom and associated rights. It keeps people distracted and believing that if only they knew more math they would be free.

We need to change the conversation.

</comment><comment><USER6> [https://archive.md/gQiFp](https://archive.md/gQiFp)

</comment><comment><USER7> Until you beg for a bail out.

<comment><USER8> I mean, the government shut down the economy, not the virus. Even after we all knew about it, spring breakers were still partying, people still wanted to go on vacation, people were still going out. The government had to shut the economy down with the threat of force.

That action alone should open the government up to civil tort liability. Like, if the government imprisoned me unjustly they would have to pay me when I sue them. The same should apply here. Without government intervention, the market would have still been going on strong. If the government orders an indefinite shut down, a huge violation of American's civil rights (but one that is warranted in my opinion), then they need to properly reimburse for that drastic change in civil rights.

If the government did not want to pay, they should have let the market decline due to people dying and then refuse to bail out corporations, because that would have been a problem of the market's own making. Now it is a problem of the government's making, and they have to compensate, period.

<comment><USER9> The market is not a living being. It's a concept. Why should The Market matter more than real people's lives? We've seen how well letting The Market self regulate and its players self regulate goes... Tobacco is addictive and kills lots of people with totally preventable deaths. But for decades tobacco companies were allowed to profit while ruining people's lives. Had there not been for laws restricting tobacco use, we would be a lot worse off. That's one example. There are countless others.

<comment><USER10> the shares are owned by real people.

it's not totally different from the situation where the government wants to build a train track through where your house currently sits. the train line will connect two important cities and allow for lots of people to commute with less emissions. it's a great thing, but the government is still obligated to pay you for the house it's about to bulldoze.

<comment><USER11> It is in the US. If your ideal model of government is something like China, the concept of the right thing for the people still requiring compensation to the disrupted individuals is pretty foreign.

<comment><USER10> one of many reasons I prefer to live here.

</comment></comment></comment></comment></comment></comment><comment><USER12> Important article IMO

</comment><comment><USER13> Maybe this is intentional, but this is a bad headline considering it is using a less popular definition of business and there is an ongoing discussion of how involved the government should be in controlling and supporting businesses due to COVID-19 and the resulting economic downturn. Half the comments here are about that that alternative meaning instead of the topic in the actual article.</comment>


Indian Grade 12 Computer Science Exam 2010 English [pdf] - <AUTHOR> http://cbse.nic.in/curric~1/qp2010/12/COMPUTER%20SCIENCE.pdf

<comment><USER2> Looks similar to the AP Computer Science Exam and not like a contest such as the IOI. The test is simply testing whether one knows the language syntax and not Computer Science in general.

This is a 'Programming' exam and not a 'Computer Science' exam.

</comment><comment><USER3> The code given in this exam is terrible.

#include <iostream.h> ?!

</comment><comment><USER4> Does that mean there is only C++ in India?</comment>


The Real Internet of Things - <AUTHOR> https://danielmiessler.com/blog/real-internet-of-things/#

<comment><USER2> While I love the idea of connectedness and convenience, I believe the reputation system described here would be a disaster and seriously hope the world is not heading in this direction.

Technical challenges aside, here are a few major problems with having this type of reputation measure for everything:

* It's a huge invasion of privacy. There's a reason why credit ratings are difficult to access.

* It's uni-dimensional. Some things don't measure that way, it's why the word "trade-off" exists.

* It's a serious limitation for the sub-optimal people/businesses out there. How will the socially-awkward people find dates? How would new businesses be able to make the necessary mistakes they need to in order to find a market fit without seriously damaging their information?

* How do you avoid people gaming the system to become more "reputable"? See [https://www.google.com/search?q=why+I+left+stack+overflow](https://www.google.com/search?q=why+I+left+stack+overflow)

* It's a major hurdle for those who do not yet have any reputation: those who are from outside the system such as new businesses, or don't know the system such as new immigrants and non-early adopters.

<comment><USER3> I think you make good points here, but I don't think it'll stop this from happening. There are ways to try to capture the intangibles, and the functionality is just too rich for us to avoid.

<comment><USER2> It's not the IoT that I'm arguing against, it's the reputation system. I think that it's fairly dystopian and unfair, and even if it comes into play as you've predicted eventually a significant percentage of people will just abandon or ignore it just like they do with many other reputation systems.

</comment></comment></comment><comment><USER4> Reading the title I thought maybe this was going to be about the logistics industry. Shipping containers are a lot like packets, ports and train yards are a lot like routers, etc.

</comment><comment><USER5> Another case of using the word "disrupt" way too many times.

<comment><USER3> I count one (1).</comment></comment>


My four years at Microsoft: How everything changed - happy-go-lucky http://www.zdnet.com/article/my-four-years-at-microsoft-how-everything-changed/ <comment> psy-q Reading the first four paragraphs I wasn't sure whether this is self-promotion or an ad for Zones. But then I read the rest and saw it's an ad for Microsoft.

There is a lot of fluff and hyperbole wrapped around very little content. I think by now we get that MS has woken up from deep hibernation and are becoming more spritely, and that the new management seems to work, and that they actually have some desirable products.

They still don't play fair, no mention of the Android patent nonsense. They're still behind on ARM development; all the mentions of ARM point toward some future promises. There are (perhaps deliberate) vague statements; what is "Ubuntu-compatible"? Can I run an Ubuntu-packaged version of Steam on top of Windows Subsystem for Linux? Oh, guess not. How is Azure "the best place" to run Linux things? By what metrics?

I feel sort of brainwashed and molested by the language in that article :)

</comment><comment><AUTHOR> If you can brace yourself for much of the same, read through Jason Perlow's material going back decades. He just keeps singing the same tune over and over again...

</comment><comment><USER2> The author talks up Microsoft so much it's easy to forget they axed sunrise in the least optimal way possible to secure a transition of those users to the Microsoft equivalent. How do? They didn't even wait till they had a feature complete alternative ready before they killed sunrise.

Reminds me of their decision to buy danger mobile.

</comment><comment><USER3> rah rah- everything's great!

Your devs are fleeing the ship.

<comment><USER4> proof? microsoft stock just beat expectations by every measure.</comment></comment>


Machine Learning Is Fun Part 4: Modern Face Recognition with Deep Learning - <AUTHOR> https://medium.com/@ageitgey/machine-learning-is-fun-part-4-modern-face-recognition-with-deep-learning-c3cffc121d78 <comment><USER2> The sample run on the video frame-by-frame is pretty fun and worth watching.</comment>


Ask HN: What city bike do you have/recommend? - <AUTHOR> <comment><USER2> Raleigh Nightflight Premium: [http://www.raleigh- bikes.de/de/modelle/2018/urban-3/nightfli...](http://www.raleigh- bikes.de/de/modelle/2018/urban-3/nightflight-premium.html)

Cube Travel SL

</comment><comment><USER3> Peugeot PX10 from c.a. 1979 (serial number 1914043) purchased for 45$

[https://www.youtube.com/watch?v=ytdgIos7FHo](https://www.youtube.com/watch?v=ytdgIos7FHo)

[http://www.classicrendezvous.com/France/bicycles/Peugeot/PX1...](http://www.classicrendezvous.com/France/bicycles/Peugeot/PX10_history)</comment>


Build your own Service/Network Status dashboard using NetBeez API - <AUTHOR> https://netbeez.net/2016/12/21/beezkeeper-application-program-interface-api/ <comment><AUTHOR> We've also released an example application that is using the API that can be used as a public facing dashboard for your network and applications status here: [https://github.com/netbeez/public- dashboard](https://github.com/netbeez/public-dashboard)</comment>


Ask HN: Is there a list of websites and their subscription fees? - <AUTHOR>

<comment><AUTHOR> I'm doing some market research and was wondering if there was a list of websites and their subscription fees. I am trying to gauge average subscription fees in the startup world.</comment>