How Python Makes Working with Data More Difficult in the Long Run - <AUTHOR> https://medium.com/@jeffknupp/how-python-makes-working-with-data-more-difficult-in-the-long-run-8da7c8e083fe <comment><USER2> Leaving aside the static/dynamic debate - there's no attempt here to suggest that the issues over readability and maintainability could be mitigated. He's just shown the simplest Python implementation, waved his hands and then said "Hey! Let's use Go".

I'm sure there's plenty of reasons to use Go but I'm not sure this article makes a terribly good case for it in this scenario.

How about using

</comment><comment><USER3> While static typing surely helps, Go has its own issues working with polymorphic JSON, and don't get me started on working with XML. I have never liked struct tags. Why would a statically typed language relies on this fragile feature ? it's often a source of bugs since they are just strings that need to be parsed at runtime, with reflection, and frankly the std lib struct tag parser is extremely fragile. Go is full of these things. In order to make the compiler go fast, the developer has to do the compiler's job, at runtime. That's not right.

If some external data doesn't fit Go type system then Go makes it extremely hard to work with these data. Same thing with SQL, it's extremely tedious with Go when fields can be null.

</comment><comment><USER4> If you want better type information for Python, you could use the new typing hints and the typing module([https://docs.python.org/3/library/typing.html](https://docs.python.org/3/library/typing.html)).

You could also use mypy([https://mypy.readthedocs.io/en/latest/index.html](https://mypy.readthedocs.io/en/latest/index.html)) which is a static type checker for Python.

</comment><comment><USER5> This was the subject of the talk that I gave with a cospeaker at RustConf. Effectively, the shortcomings of dynamic type systems when it comes to building data science oriented services.

You mention that it's much omre laborious to write a struct that matches your data exactly - however, I've found that, at this stage in the process you already have some sort of schema (mental or formal) of what your data is, and it's fairly trivial to write out a structured representation of it.

What this then buys you is a semantic understanding, in your code, of what 'bad data' is and how it's handled. You know that if you get a string where you expected an int, that's a problem. You also know that if data is missing, eg: null, that you'll handle it.

In Python, a function can erroneously return None. To your data, this is just a missing value, not a bug. But there is a semantic difference, and a cost associated with that bug.

All of these problems, limited strictly to working with data, are far easier to react to and deal with in a static language.

We absolutely conceded the exploratory phase to Python. It is, and will likely remain, an excellent and near-ideal tool for that phase.

<comment><USER2> > In Python, a function can erroneously return None.

If it hurts stop doing it. I can think of several ways to solve this ambiguity. Off the top of my head:

1\. Create a custom class to represent your data's 'None' and treat the real 'None' as an error.

2\. Stick to a fairly reasonable convention that all functions and methods are terminated with a single return statement. This would make it pretty hard to get bitten by the implicit None (which has never actually bitten me in the real world)

<comment><USER5> Absolutely, and we did this in fact in some of our code. But at that point you're solving the problem with types, which is my point. And it involves a pattern, not something that's enforced across a codebase.

<comment><USER6> It seems like the argument is because the language doesn't force you to use static types, in the long run it could be bad.

But since it provides you the option to use static types, I think the limitation is more in whether you do so or not, not in the language. If anything, by not forcing you to use static types, the language provides more options, which seems like a good thing...

<comment><USER5> > It seems like the argument is because the language doesn't force you to use > static types, in the long run it could be bad.

Not so much 'in the long run' but moreso 'as soon as you end the exploratory phase'.

> I think the limitation is more in whether you do so or not, not in the > language

Perhaps if the type systems were equal in power, but they are not.

> If anything, by not forcing you to use static types, the language provides > more options, which seems like a good thing...

The problem here is that touching an untyped interface can break inference, and break assumptions about types, meaning that by having the type system be optional you potentially poke holes in it.

But to be clear, I think that the typed python approach is valid, and can be a great way to help with these problems. I am not saying to ditch python and go with another typed language - just saying that the untyped approach has caveats. Maybe you're right and optional systems are better, but I think the point to get across is that a typed understanding of your data helps a lot.

</comment></comment></comment></comment></comment><comment><USER7> > In Go, for example, to parse and return a JSON response from some web API, > you first need to create a struct whose fields and field-types exactly match > the structure of the response.

Right, but why can't these declarations be written by some Python code? (with a large set of examples of responses as input)

</comment><comment><USER8> Can we please see a comparison with a statically-typed language better suited to data-science? Go is a long way away from the current state-of-the-art in statically typed languages. I would hope that F# with its type providers has a pretty good exploration story and possibly Scala too.

<comment><USER9> completely agree. Never occur to me to use Golang for data-focused applications

among the most important criteria for me are:

parametric polymorphism (eg, a typed vector); immutable data structures; and exception handling (preferably monadic)

and i don't believe Golang has any of these.

As you mentioned, if one is looking for a statically typed data science language, objectively scala is hard to miss. Apache Spark is probably the most widely used "big data" tool at the moment; it's written in Scala, and while the python API is likely far more widely used, new features hit the scala API first.

(i don't know F#, but aside from the feature you mentioned, R copied it's pipe operator, |>, which i also see in a lot of scala code, usually implemented as a type class)

</comment></comment><comment><USER10> Reporting quite a similar experience as Daniel Whitenack spoke about, in his GopherCon talk about Go for Data Science:

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

See also his answers to some follow-up questions:

[http://www.datadan.io/common-go-for-data-science- questions/](http://www.datadan.io/common-go-for-data-science-questions/)

... and his O'Reilly article on the topic:

[https://www.oreilly.com/ideas/data-science- gophers](https://www.oreilly.com/ideas/data-science-gophers)

<comment><USER8> How could Go possibly be anything but a inappropriate choice? For numerics and working with data, Go would be about as expressive as Fortran or C, but slower. I took a quick look at Gonum, it's highly imperative and monomorphic just like Fortran. It makes me sad that these efforts could be spent improving the ecosystems of Haskell/OCaml/F#/Scala. These languages are far more expressive than Go and offer far more type-safety, all with the succinctness of Python

</comment></comment><comment><USER11> We would not have this conversation..if Excel supported big data :D :D :D

</comment><comment><USER12> Use R

<comment><USER13> Serious question: Exactly how would R help here? Do you have an example perhaps?</comment></comment>


Show HN: IDE for Learning RISC-V - <AUTHOR> https://github.com/TheThirdOne/rars <comment><AUTHOR> This just got onto the frontpage so if you have any questions, I'll be watching for a few hours.

<comment><USER2> Nice work. Thanks, for making it available. I'm teaching compilers in the upcoming academic year. I'm thinking of using this tool. I have two questions.

1\. How mature/stable is it? I know that's a bit difficult a question to answer for the creator. But I'll have > 200 students, and if the tools I give them are buggy I'll have to deal with a complaint avalanche. (MARS is very stable.)

2\. I want to build a test suite for automatic evaluation of student code generators, such that student RISC-V code is automatically run in the simulator and the result of the evaluation is compared with the expected result (I supply the latter). The whole thing needs to be scriped, since my test cases are numerous, and I don't want to cut/paste student code into a window. Is there any facility that allows me to use your simulator as a linkable library, rather than calling it from the command line? This would be extremely convenient. (MARS can be run from the command line and can be scripted into a test suite but it's a bit inconvenient.)

<comment><AUTHOR> > 1\. How mature/stable is it? I'll have > 200 students, and if the tools I > give them are buggy I'll have to deal with a complaint avalanche. (MARS is > very stable.)

As far as I am aware it is very stable. There were three slight bugs that I fixed after they were brought to my attention. #6, #7, #8 in the issue tracker [0].

There are some known bugs that are hard to fix, but I doubt any student would run into them as they all have to do with CSRs iirc or interrupts.

I try to be pretty responsive about issues when they are brought up; if it were holding up a class, I would spend some time to fix the issue. And its possible that a motivated student would be able to fix the problem themselves.

> 2\. I want to build a test suite ... Is there any facility that allows me to > use your simulator as a linkable library, rather than calling it from the > command line? ...

IIRC the command line wasn't significantly changed so your existing command line script should work. As for a linkable library, depending on what you are looking for that should be possible. It is possible that there is some global state which makes it hard to reset properly.

When you say "linkable library" are you looking for a .jar with a clear api?

Is the inconvenience just about not wanting to script in bash? Or is it about JVM startup time?

I'll look into what it would take to make a easily configurable launch class.

[0]:[https://github.com/TheThirdOne/rars/issues](https://github.com/TheThirdOne/rars/issues)

<comment><USER2> Great. don't worry about interrupt bugs. My course is introductory, and will not touch such advanced material.

> _When you say "linkable library" are you looking for a .jar with a clear > api?_

Yes, a .jar with a clear API would be ideal. Maybe a method with a signature like so:

         run :: String -> RISC_V_State

Here the input string is the RISC-V assembly. The type RISC_V_State can be given in various ways. Minimally I need something along the lines of:

\- Error or successful-completion

\- Content of registers (in fact content of one register should be fine as long as that register can be used as an accumulator).

Clearly all this is available internally already, so it'd just be a matter of creating a suitable API. I am aware of the global state issue. I would be happy to launch a new JVM for each test, although that is very slow (10000 tests * 200 students = 2,000,000 JVM starts). If there was a suitable "reset" method in the exposed API that would be even better.

<comment><AUTHOR> Sounds doable. If there is a issue with global state, I'll isolate it. I think an accessible API would be a good feature.

If you have a github account, feel free to make an issue. If not I'll make one after I get some sleep; I've been awake for far too long.

<comment><USER2> Great. I'll do this later today. Thanks.

</comment></comment></comment></comment></comment></comment><comment><USER3> Question: for someone without assembly background, what would be the best resource to get started with RISC-V?

<comment><USER4> Specify 'getting started with'. You can buy a microcontroller, program it in C and be completely oblivious to the architecture. If you want to understand RISC-V itself there's the specification, which is free and very readable.

<comment><AUTHOR> > If you want to understand RISC-V itself there's the specification, which is > free and very readable.

Having spent a fair amount of time reading and referring to the specification, I definitely would not recommend it for someone who isn't familiar with assembly.

It is free though, so giving it a shot might be worth it.

<comment><USER5> Serious question- what kind of programmer is not familiar with assembly _?

_ I'm old - and binary is how one would bootstrap a new computer, and assembly was an hll.

<comment><USER3> There are many programming fields these day that assembly are more of a nice- to-have than a must. For example web programming where it's not entirely uncommon to find someone only familiar with JavaScript, or enterprise Java where it's more important to know about design patterns than how to code, etc.

</comment></comment></comment></comment></comment><comment><USER4> Awesome work! Some things I wonder (maybe these could be in the README.md?): \- Apparently, this is an assembler and an emulator ('runtime simulator'). In the 'bottles of the wall' example, prinf is used, which is a reference to a label in another file. Is an object file used for this or does the assembler just use the labels in the open files? \- Is there a list of the system calls you implement? Did you follow an example or standard or did you just make up some system calls?

Disclaimer: I'm no RISC-V expert and I didn't look at RARS for very long, so these might be stupid questions.

<comment><AUTHOR> > maybe these could be in the README.md

Currently there isn't a whole lot in the README; part of the goal of this post is to find questions that people would like answered in it.

> Is an object file used for this or does the assembler just use the labels in > the open files?

The compilation is done entirely in memory and I don't recall any of the classes being analogous to a traditional object file. One of the things I would like to implement in the future is linking with ELF object files, and loading, executing and exporting ELF executables. However, that is a relatively big addition and I don't fully understand the ELF format.

> Is there a list of the system calls you implement?

I don't believe there is an easily accessible, static list. But RARS generates a list of available system calls accessible from the help menu.

The classes for the system calls are all in this directory [0]. If its a supported system calls, its in that directory.

> Did you follow an example or standard or did you just make up some system > calls?

In the translation from MARS, I kept a lot of the MARS/SPIM specific syscalls. However, to have at least a semblance of Linux (and with any other existing simulators) compatibility I implemented a few of the easy Linux system calls and remapped some of the MARS system call numbers to the ones used in Spike [1].

> Disclaimer: I'm no RISC-V expert and I didn't look at RARS for very long, so > these might be stupid questions.

No worries. I can't expect you to be an expert and these are very reasonable questions. Thanks for asking.

[0]: [https://github.com/TheThirdOne/rars/tree/master/rars/riscv/s...](https://github.com/TheThirdOne/rars/tree/master/rars/riscv/syscalls) [1]: [https://github.com/riscv/riscv-isa-sim](https://github.com/riscv/riscv- isa-sim)

</comment></comment><comment><USER6> Saw the screenshot and thought, "hey, this looks a lot like MARS!". Of course, a lower it mentions this explicitly:

> RARS was built on MARS 4.5

How much did you have to change to support RISC-V? Is this easy to extend this work to add support for other RISC architectures?

<comment><AUTHOR> > How much did you have to change to support RISC-V? Is this easy to extend > this work to add support for other RISC architectures?

It took a fair amount; if you are particularly motivated, the git log is an accurate description of the work I did.

As for making this work for other RISC architectures, if they have fixed size instructions, its should be relatively simple (given this project as a template for what to change). I would expect it to take maybe 80 hours or so to do something on the scale of RISC-V. But that estimate is likely not very accurate.

</comment></comment><comment><USER7> Apart from the openness/freedom aspect, can anyone summarize the pros and cons of RISC-V from a technical perspective in comparison to other major ISAs, e.g. x86, ARM, MIPs? Or point to some resources discussing the matter?

<comment><AUTHOR> I am definitely not an expert in CPU architecture, but I'll give it a shot.

Generally I would say the main differences are: the whole RISC vs CISC argument, how future extensions work and how complicated decoding/encoding instructions is.

I'm not going to go into RISC vs CISC as that has been constantly fought over and I am not qualified to have a substantiated position.

The extension system for RISC-V is the biggest area where I think RISC-V excels. There is a very simple base instruction set which has things like loads/stores, addition, and branches. Then more complicated instructions such as multiplication, floating point, atomics, etc are all extensions which have a well defined structure and there is dedicated room for more standard extensions and custom ones.

The technical advantage of this is that really cheap CPUs can support a tiny fraction of what big ones do, but still fit into the same mold as the big ones. Any custom instructions for a specific product can just be a custom instruction. Additionally, if an extension becomes useless in the future, just don't include it in future chips.

If this has caught your attention, check out the specification [0].

IIRC, the decoding and encoding of RISC-V is dramatically simpler than x86 and ARM as it has only a normal 32 instruction format, a compressed 16 bit one and a large one (I think 128 bit). Importantly the non-default sizes are optional. MIPS has a simpler format, but takes slightly more silicon to decode (because its more human readable).

I don't know any good references off the top of my head though, but I suspect searching for risc-v on HN is probably a good bet to find discussion of pros and cons.

[0]: [https://content.riscv.org/wp- content/uploads/2017/05/riscv-s...](https://content.riscv.org/wp- content/uploads/2017/05/riscv-spec-v2.2.pdf)

</comment></comment><comment><USER8> this is awesome, thank you for making this. there is a distinct lack of materials to help with learning just risc-v assembly, without going to c and I look forward to playing with this.

<comment><AUTHOR> I'm glad you're excited about it.

If you hit a roadblock that makes you stop wanting to learn, let me know in an issue. I am looking to improve RARS and add some documentation around it to help ease people in.</comment></comment>


One Click to Be Pro: my list of the best resources for mastering a subject - <AUTHOR> https://github.com/vic317yeh/One-Click-to-Be-Pro <comment><USER2> If you go to StackOverflow and click on any tag, then click on the "Info" tab, there is generally an excellent list of resources.

<comment><USER3> I'm sure these lists are well meant, but these days I find that quality and especially quality in relation to time that's the problem when learning new things. What I've been doing for years is to look at the course curriculum at schools known to take the subject I want to learn seriously and try and find the few essential books on the subject. Then get the one I feel suits my style of learning and learn (how you do this is also individual) the basics while still not taking everything at face value.

When you have acquired that "common knowledge" the whole field usually opens up and you can quite quickly see what will be relevant for you among pappers, talks, projects etc. A large amount of knowledge, especially in software development, is just rehashing of basics made to sound more interesting than it really is.

</comment></comment><comment><USER4> Thank you for this.

I've learnt to ignore "curated awesome list of X" pages because they tend to be dumping grounds for hundreds of links Google returns for a sloppy search about the topic.

By contrast, the resources here are fewer and of extremely high quality. I've found these to be especially useful and interesting:

\- [https://www.hacksplaining.com/](https://www.hacksplaining.com/)

\- [https://www.crypto101.io/](https://www.crypto101.io/)

<comment><USER5> I was browsing through the list and clicked on exactly those two as they seemed interesting and I tend to brush up n security every now and then. The free PDF from crypto101 looks like an excellent technical complement to "Secrets and Lies" for a good intro if you're looking for a basic security introduction. The hacksplaining website looks pretty cool and I'll probably work through the exercises over the weekend. I've only clicked on the SQL- Injection link but it seems they have set up minilabs where you can try the ideas hands on.

</comment></comment><comment><USER6> Good resource, "pro" based of just reading? No. But some nice references in a very narrow area.

"Pro" takes experience and time, and in this profession given how things churn, unless you are specifically working with a static environment, sure "pro" versus someone else, but you need to be continually learning.

<comment><AUTHOR> Thank you for the feedback!

I created the list for underclassmen in my college to start learning technologies outside of school work, so a title like this will create incentive for them to start learning on their own. Many students here turned out to like the list so I decided to share it here as well.

<comment><USER6> I've been regularly coding in C for 30+ years. The language has evolved, the behavior on what you can do "to be dangerous" depends on the architecture, as opposed to the things you can do "to be dumb".

Do I consider myself an expert, no. A pro? No.

Libraries, processors, application being built always expose challenges and things to be aware of.

This is why I take exception with the phrasing of "Pro" based off of a reading list.

<comment><USER7> Back in my day, "Pro" meant Professional, as in one who earns their living doing this.

<comment><USER6> A language caters to an ecosystem. Most ecosystems change and unless you are continually learning, the definition of "pro" becomes ambiguous.

Despite who my employer is, I know much more about the internals and libraries associated with _BSD and Linux related programming in the language of "C" than I do Win_. Where do I declare myself an expert? "stdlib"? "stdio"? And so forth.

I'm continually a student in the areas that pop up that interest me (and the ones I wish to maintain).

</comment></comment></comment></comment></comment><comment><USER8> I'd strongly recommend putting this link in there: [https://youtu.be/JxAXlJEmNMg](https://youtu.be/JxAXlJEmNMg)

David, if you see this, I'd like to thank you for these talks as they have reshaped the way I think about software development.

I've got more from these then my classes at college have given me do far.

</comment><comment><USER9> I second the iOS with Swift recommendation. It's by far the best course on Swift and iOS available online.

An updated (iOS 9) version of the course is already out:

[https://itunes.apple.com/us/course/developing-ios-9-apps- swi...](https://itunes.apple.com/us/course/developing-ios-9-apps- swift/id1104579961)

</comment><comment><USER10> I've been collecting a similar little list as well, here it is on my blog:

[http://blog.rplasil.name/2016/06/my-list-of-high-quality- onl...](http://blog.rplasil.name/2016/06/my-list-of-high-quality-online- resources.html)

Welcome any other (high-quality) additions!

</comment><comment><USER11> Twitter's Scala school's "Concurrency" section uses Finagle futures which are different to Scala's standard library futures.

However this is never clarified to the reader.

If you want to be pro at Scala, I would recommend reading this: [http://www.scala-lang.org/old/node/8610](http://www.scala- lang.org/old/node/8610)

</comment><comment><USER12> Hey there, nice list! I see you have nothing on data-mining yet. Here is an awesome well-written open source guide on data mining using Python. [http://guidetodatamining.com/](http://guidetodatamining.com/)

<comment><AUTHOR> Thanks! Added.

</comment></comment><comment><USER13> Post one for React Native

<comment><USER14> Here's one: [https://facebook.github.io/react- native/](https://facebook.github.io/react-native/)

;)</comment></comment>


Reverse engineering a drug infusion pump – and finding remote code execution - <AUTHOR> https://github.com/sgayou/medfusion-4000-research/blob/master/doc/README.md <comment><USER2> Great write up and very well done!</comment>


Opt Out (A comic about email lists) - <AUTHOR> http://bradcolbow.com/archive/view/the_brads_opt_out/#When:01:21:18Z

<comment><USER2> Of course, quite a few people will just hit 'Spam' instead. Which is why you don't want to do this even if you don't care aboue being evil/annoying your customers.

</comment><comment><USER3> I just use spamgourmet.com.

My procedure is usually:

1) go to: spammysite.com

2) register as: spammysite.[username]@xoxy.net (or one of their other domains, they have a bunch )

3) get up to 5 emails from the site, the rest just get erased ( you can up their limit on the site, or set an exclusive sender )

4) enjoy life free of spam from that site

</comment><comment><USER4> I do believe the U.S. Can Spam act actually requires the unsubscribe process to not require the user to login.

</comment><comment><USER5> In essence, the cost of buying anything online is infinite.

</comment><comment><USER6> That was exactly what happened to me when I tried to get Amazon to stop shipping me those "you might also be interested in", which I am not.

</comment><comment><USER7> It's so true! That's why I use a catchall email address for unimportant websites.</comment>


Show HN: iOS app streams MPG video to browsers via WebSockets, decodes in JS - <AUTHOR> http://instant-webcam.com/

<comment><USER2> Have you tested this on an ipad 2/iPad mini (As display)? I am not posting this to say it doesn't work but It is very choppy/almost-unusable even on the lowest quality. I can run quality and size at 2/3 from iPhone -> computer but it's still a little jittery. That said I am using an iPhone 4S so that might have something to do with it.

As a whole the idea is awesome, the app is beautiful, and setup is a breeze! Great job!

<comment><AUTHOR> The iPhone4S only reaches about ~25fps for the medium video size when encoding. iOS only provides hardware acceleration for h264 encoding, but not for mpeg1. iPhone5 should be full 30fps for all sizes, though.

Decoding in Mobile Safari or Chrome for Android only works well with the lowest video size setting (on the devices I tested anyway).

</comment></comment><comment><USER3> When scrolling the page, the first texts (in grey) become really hard to read on the background (using Firefox on Mac OS X) and I had to select the text to read it properly. It displays fine on the white parts of the background but I have the habit to scroll to have the text I'm reading on top and here it overlays with your chairs in background

<comment><AUTHOR> Thanks; I made the background scroll up a bit faster.

Still depends largely on the width of your browser window, though. Maybe the scrolling speed should adapt to it...

</comment></comment><comment><USER4> That really is an amazing tech demo. Will you be making the source available?

<comment><AUTHOR> I'm currently writing a blog post on how to do this with ffmpeg on a Raspberry Pi - or any other device that has ffmpeg and a webcam.

The source for the MPEG1 decoder is available[1], but missing streaming support at the moment. I will push the new version soon.

[1] [http://phoboslab.org/log/2013/05/mpeg1-video-decoder-in- java...](http://phoboslab.org/log/2013/05/mpeg1-video-decoder-in-javascript)

</comment></comment><comment><USER5> Dominic, you're such a boss! I love it, thanks! :)

</comment><comment><USER6> forward port 80 to an old iPhone and you have an instant cam over the internet :)

</comment><comment><USER7> I like the idea but using MPEG1 in place of h.264 because of it doesn't rely on built in decoders is kind of an odd choice. Is the author here to talk more about that? Was it because of the ease of implementation with jsmpeg and how much effort it would be to modify an existing player to accommodate the websocket input? Or is it a licensing issue?

Also I'm curious how much effort it was to get MPEG streaming from iOS. I've been working on getting HTTP-Live streaming using h.264 _from_ iOS to the server lately as an experiment and this project is fascinating to me. I've been relying on built in h.264 encoding and then using open source C libraries for the streaming/segmenting aspects.</comment>


Why are so many 8th-graders taking AP Calculus at this[Pasadena]school district? - <AUTHOR> https://www.washingtonpost.com/local/education/why-are-so-many-8th-graders-taking-ap-calculus-at-this-ordinary-school-district/2019/07/05/a78d2220-9d4b-11e9-b27f-ed2942f73d70_story.html <comment><USER2> This is so misguided. The magic of math doesn't happen when you are superficially going through more "advanced" topics. And they are definitely going through it superficially since only one score mentioned was a 5 (which is incredibly easy to get since it allows for almost 40% incorrect answers).

It's way better to make sure the basics in geometry, algebra and Pre-calc are rock solid before taking a calculus course. This way you don't memorize a bag of tricks, but can derive unique and creative approaches when you need to. Its more fun that way too.

Preferably these kids should be able to solve any USAMO problem under time pressure before going on to advanced subjects. It's Cargo cult math otherwise.

[https://artofproblemsolving.com/news/articles/avoid-the- calc...](https://artofproblemsolving.com/news/articles/avoid-the-calculus- trap)

<comment><USER3> This view doesn't seem to be reflected in the article to me:

> _This coming school year, 140 sixth- and seventh-graders at three Pasadena > middle schools will be taking math courses usually given to 10th- and 11th- > graders. Thirty-eight eighth-graders at two middle schools will enroll in > Calculus BC, the more advanced of two AP calculus options._

And

> _"Their scores don't reflect the true extent of their mathematical knowledge > and skill,"_

That said, what is the need for "time pressure" in mathematics? There are plenty of unsolved equations out there:

[https://en.m.wikipedia.org/wiki/List_of_unsolved_problems_in...](https://en.m.wikipedia.org/wiki/List_of_unsolved_problems_in_mathematics)

<comment><USER2> The only way someone can even approach those problems is if the basics are so good they can do it in their sleep.

</comment></comment></comment><comment><USER4> really odd piece:

\- only perspective from kids is by way of a parent who claims she's happier than he has seen in ages. really, due to an intense math class?

\- > The Math Academy has had some success using tutoring sessions three times a week to increase the number of sixth-graders admitted.

so, seems that it isn't raw pure latent talent, there is some amount of grooming here to get kids to place higher.

\- no actual hypothesis or comments on the question the article title asks. strange.

my guess is it's a mix of really intelligent kids and parents who are motivated to play educational arms race type games: competitive nature is moving more and more forward in development (need to be above and beyond ASAP to better qualify for stuff later in life), and with parents with $$, it's possible.

<comment><USER5> The parent is a good summary.

I'm also not sure what the point of training kids to do advanced math tests is, but it would be interesting to see what the results are, if any, over the next 5 or 6 years.

</comment></comment><comment><USER3> This reminds me of the movie "Stand and Deliver"

> _The story of Jaime Escalante, a high school teacher who successfully > inspired his dropout prone students to learn calculus._

[https://www.imdb.com/title/tt0094027/](https://www.imdb.com/title/tt0094027/)

</comment><comment><USER6> I like this. For a while I've had the feeling that more "advanced mathematics" should be introduced at lower grade levels. I can also remember many of my teachers to be admittedly and somewhat proudly "bad at math."

I also think that there should be softer mathematics courses taught. For example, something like "the history of mathematics" or "the mathematics of space" or something like that where the course content is more exploratory, assignments look more like essays or poster boards, etc.

I wonder if showing students calculus (in a light-hearted way) before they fully grok algebra or geometry might have an accelerating effect? I don't know if this is a great analogy, but many find it easier/quicker to learn a framework/tool, not for the sake of learning, but because it's standing between them and a goal.

</comment><comment><USER7> [https://outline.com/X6uzgf](https://outline.com/X6uzgf)

</comment><comment><USER8> Story can be read here: [https://outline.com/X6uzgf](https://outline.com/X6uzgf)</comment>


Blasey Ford–Kavanaugh Testimony Tells a Tale of Two Internets - <AUTHOR> https://www.wired.com/story/blasey-ford-kavanaugh-filter-bubbles/amp <comment><USER2> I try to read both sides but "thinking outside the bubble" is hard. I try to be empathetic to the R. Side, but it's just hard to construct an empathetic response to conspiracy theory and legal reductionism. Where is the evidence of compassion and understanding for a vulernable 15 year old girl? Where is respect to the victims of sexual crime who often do struggle to come forward in a timely manner?

The D. Side has not achieved a high legal bar. It wasn't a court of law, and the onus of political proof isn't the legal one, and smear is a word with two readings, a claim thrown in to deflect attention from serious doubt about somebody and a literal truth: unproven allegations hang in the air.

I'm partisan. I believe implicitly in a right for women to control their own reproductive state including the decision to terminate pregnancy and I do not want this judge on the supreme Court bench. Probably I can't get distance from the bubble in part because it that. I don't believe in moral equivalence across left and right.

I will say that I don't think the candidate is a good one for a lifetime of service on the supreme bench. He fails to show the mind of a neutral judge. Same as Thomas btw.

<comment><USER3> WRT your concern that Abortions would be prohibited if Kavanaugh is confirmed:

Brett Kavanaugh: "If confirmed to the D.C. Circuit, I would follow Roe v. Wade faithfully and fully. That would be binding precedent of the Court. It's been decided by the Supreme Court."

You may choose not believe him, but that's what's what he stated.

WRT the comparison with Clarence Thomas.

I agree the ferocity of these organized character assassination attempts are similar, and they affected both man (and Kavanaugh's family in his case) -- were similar.

Both choked and teared up a bit.

See Thomas's response

[https://www.youtube.com/watch?v=peEA- fqmwDU&feature=youtu.be...](https://www.youtube.com/watch?v=peEA- fqmwDU&feature=youtu.be&t=14m8s)

I am sure Kavanaugh will get the confirmation.

But I also hope the loophole, where 'the accused has the duty to prove innocence, against the 11th hour, unsubstantiated accusations' \-- will be clearly made illegal through the nomination/election/confirmation process.

While at a different level of absurdity and physical harm to the accused, all together --- but US has a history sending people to death row without hard evidence.

Seeing a version of it executed as a coordinated hit on a political scene, by the Democrats -- is very disheartening.

There is no 2 sides, there is no moral equivalence, indeed. It is like competing in sport, with the team that uses anabolic. Really, there is no fairness or 'equality.

As far as feeling compassion for Dr. Ford. Given 'the evidence', that has not be corroborated by even one person that she claimed was a witness.....

At this stage, I feel as much compassion for her, as I do for Crystal Gale Mangum [https://en.wikipedia.org/wiki/Duke_lacrosse_case](https://en.wikipedia.org/wiki/Duke_lacrosse_case)

<comment><USER4> WRT your claim that Kavanaugh somehow will not contribute to the prohibition (or extreme restriction) of abortions:

\- Kavanaugh was nominated after private meetings with a president who promised to put anti-abortion judges on the court.

\- The president himself is not an expert on jurisprudence and selected Kavanaugh from a list of anti-abortion judges provided to him by the Federalist Society, which vets judges with respect to the likelihood of their restricting abortion access.

\- There is a lot of wiggle room within the phrase "I would follow Roe v. Wade faithfully and fully", enough to permit a decision that would allow states to effectively outlaw abortion. He could technically not be lying in that specific statement, yet still prohibit or largely restrict access to abortions.

There is no good faith reason to believe that Kavanaugh's nomination is not a threat to abortion access in America.</comment></comment></comment>


You're Invited to the Firefox Concert Series - <AUTHOR> https://blog.mozilla.org/internetcitizen/2018/12/05/firefox-concert-series/ <comment><AUTHOR> Seriously, who cares? I got this on my personal email because I'm using Firefox Sync and I don't subscribed to promotional communication campaign. Mozilla sucks.</comment>


Ask HN: Which Wiki or internal documentation tools do you use? - <AUTHOR> I am curious what internal documentation tools people are using. My current use case is an engineering handbook and internal documentation that isn't related to any specific codebase.
Some basic requirements are: - searchable - code snippets - hyperlinking
I know of a few tools and I've even worked at companies that use git repos with markdown. I'd love to hear everyone's thoughts. <comment><USER4> Confluence.

It's not bad. It's not great either. Which is pretty much the best way to describe all Atlassian products. It's unbearable on slow or spotty internet connections. It's riddled with bugs (just the other day my spacebar literally stopped working in their edit view). The formatting gets in your way more than markdown, but at least not as much as something like OneNote.

But, it's powerful. Like any Atlassian product, you can script it to do basically whatever you want. You can organize your company workspaces however you'd like. You can set up tables which can automatically pull summary lines of any other page labeled with a specific label, which is great for automatically building indexes or tables of content.

Overall, I haven't found anything better, and I write a lot of technical documentation for our company.

For comparison's sake:

\- Github/Gitlab wikis are pretty bad. There's almost no advantage to using them over just storing markdown in the repository.

\- Which, we did for a while, and it works fine, but in its simplicity it misses some of the key features that I do like about Confluence (like those automated index pages and page comments).

\- We also used Dropbox Paper for a while; I _really_ like it, but its primarily useful for, let's call them "transactional" documentation (write, get feedback, never look at again); It's not very good at being a Wiki, storing long-term long-form information. And given that Confluence can handle both pretty well, there's not a great argument for adopting a new service from an entirely different company we don't otherwise use.

\- We have G-Suite and thus Drive/Docs. The inability to easily write technical documentation with inline/block code makes it a non-starter. No thanks. If Drive added a markdown editor like Dropbox Paper I'd probably push to switch; the search is pretty great, its a platform we already have, and you get a full, amazing document editor for those documents where it makes sense.

\- I've never used Quip in a real work setting.

<comment><USER5> If you want something similar to Dropbox Paper, but better optimized towards long-term documentation, you should give Nuclino ([https://www.nuclino.com](https://www.nuclino.com)) a try. In terms of organization capabilities it is similar to Confluence. But I'm the CTO so I'm obviously biased.

<comment><USER6> Beautiful looking product. Any plans for a self-hosted version? Cloud based storage of a lot of information I deal with is a no go.

<comment><USER5> Thanks for the kind words. Unfortunately we have no plans for a self-hosted version. We understand that this is a no go for certain companies and types of information.

<comment><USER7> Basically all enterprises. We really need a viable alternative to Atlassian :/

</comment></comment></comment></comment></comment><comment><USER8> Notion ([https://notion.so](https://notion.so)) All in one workspace, combines, trello, airtable, evernote, and docs. Great embed support and awesome for small teams and personal use. It's a modern day commonplace book.

<comment><USER9> The only reason I gave up on Notion sometime last year was that it was mind- numbingly slow. Great product otherwise.

<comment><USER10> It's gotten faster and is getting faster over time. It was much, much worse a year ago which makes me believe that the team is paying attention to speed.

Compared to the main competitor mentioned here - Confluence - it is blazing fast.

</comment></comment></comment><comment><USER11> My entire wiki lives on GitHub ([https://github.com/nikitavoloboev/knowledge](https://github.com/nikitavoloboev/knowledge)).

I then use GitBook to publish it on the web and have fancy features like search and contents table on the side.

[https://wiki.nikitavoloboev.xyz](https://wiki.nikitavoloboev.xyz)

Been using this approach for over a year now and I love how seamless the workflow of updating files in Sublime Text, pushing it to GitHub and seeing it live is. At this point my entire knowledge base lives online and is referencible and I love it.

The way I approach updating the wiki is in the wiki too:

[https://wiki.nikitavoloboev.xyz/other/wiki- workflow](https://wiki.nikitavoloboev.xyz/other/wiki-workflow)

<comment><USER12> It's a pretty good wiki! I'm reading some of your material now :)

</comment></comment><comment><USER13> MediaWiki.

The downside is that to get it running with a good set of extensions that optimizes it for enterprise use takes a bit of an effort.

The upside is that once you do, it becomes an incredibly powerful tool that most users adopt without complaint. It hits all the OPs requests for searchable, code snippets (with syntax highlighting), and hyperlinking. When you add the ability to store and reuse structured data (Cargo or Semantic MediaWiki) it really becomes powerful.

Others I've tried:

\- SharePoint (this is so bad it pains me to mention it)

\- Confluence (not bad, but lacks structured data and seems to be focused on serving smaller teams vs. an entire company)

\- OneNote (great for personal use, not as great for teams, especially not great at tracking multi-user changes)

\- EverNote (great for personal use, not as great for teams, especially not great at tracking multi-user changes)

\- Salesforce Knowledge (Didn't get too deep, but seemed better for help desk answer queue than internal documentation)

</comment><comment><USER14> I'll mention clubhouse.io every chance I get.

It's billed as a Project Management software (and it's great at that) but it can be great for documentation because it:

\- provides hierarchical nesting (Milestones / Epics / Stories)

\- each object can have a relationship to another (related, blocks, duplicates)

\- each object offers a markdown text area, lists, github PR links/integration, comments, and can be moved between various stages (standard scrum stages or your own custom ones)

\- each object can be assigned multiple owners, requesters, and followers

\- each object can be tagged

\- search by title, tag, owner, state, etc.

\- each object can have files uploaded and attached

This allows me to track why the work was done, how the work was done, and what work was done, while providing a nice README as a comment.

Everything can be edited, or others in the team can leave their own comments.

It's odd for sure, but I love it.

</comment><comment><USER15> > Some basic requirements are: - searchable - code snippets - <USER2>

I think another requirement to add is diagramming. I think wiki-style diagramming would be a big help for programmers to better communicate ideas.

I've used external tools like draw.io but the overhead for editing, downloading, and uploading I feel gets in the way. Sadly, we are on confluence but don't use the draw.io plugin [1]. Built-in support for dot, uml, or even ascii diagrams [2] would be big help.

[1] [https://about.draw.io/integrations/confluence- integration-2/](https://about.draw.io/integrations/confluence-integration-2/)

[2] e.g. [https://github.com/ivanceras/svgbob](https://github.com/ivanceras/svgbob)

<comment><USER16> Mermaid is a "Markdown for diagrams" that seems to use a more semantic markup instead of ASCII art: [https://github.com/knsv/mermaid](https://github.com/knsv/mermaid)

Would probably work nice as a plugin for a wiki.

<comment><USER13> I've been using Mermaid with MediaWiki and it has a lot of promise. Since Mermaid lets me generate diagrams from text and MediaWiki lets me store and modify structured data, I can have MediaWiki pass Mermaid data to generate graphs/diagrams that stay up-to-date as the wiki changes.

I would like to see Mermaid be able to group sibling nodes[0] though, once I can do that, I can autocreate really nice organizational charts :)

[0] [https://github.com/knsv/mermaid/issues/637](https://github.com/knsv/mermaid/issues/637)

</comment></comment></comment><comment><USER17> Confluence has nailed this product for engineering companies. So far I haven't seen anything that beats it.

Generated doc tools like Javadoc/Yard are usually terrible and only good for very specific documentation use cases. If that's all a codebase has, it's a middle finger to developers.

</comment><comment><USER18> Nuclino ([https://www.nuclino.com/](https://www.nuclino.com/))

It's a minimalist wiki with markdown support and real-time collaboration features. A lot faster and more lightweight than most of the old school wikis e.g. Confluence, MediaWiki, SharePoint (ugh).

Also has a kanban board view for sprint planning.

<comment><USER5> Thanks for mentioning us (I'm the CTO)! Let me know if you have more feedback or questions.

<comment><USER19> How can I contact you?

</comment></comment></comment><comment><USER20> We use confluence. It integrates with Jira and SAML so we have all of our users in there and it's really convenient to mention a ticket number or a team member and have it automatically import the details.

The main point that confluence does really poorly (for me) is the lack of an external editor and the absolutely shameful support for Markdown.

If I could edit the page with git like interface and an external editor (like you can do on Github), it would be absolutely amazing and would make it a killer product for us.

Moving to another solution without deep integration to confluence/Jira is not possible since those are being used by product as well.

</comment><comment><USER21> Phriction which is a part of phabricator is an excellent tool, it supports all of that and the ability to 'watch'.

'Watching' a document is a very important feature which is required in documentation tools. API specs change all the time and developers depending on an evolving API need to check the document on a frequent basis which can be a timesink.

Confluence is also a brilliant tool which supports watching and all the other features listed above, though it can be a bit pricey.

</comment><comment><USER22> I installed MediaWiki for a personal project, and I love it. I've used a lot of other tools. Somehow the fact that the Wiki folks have heavily used the tool brings out all of the features you'd ever want, even if the implementation might be a bit clunky at times.

</comment><comment><USER23> [BookStack]([https://www.bookstackapp.com](https://www.bookstackapp.com)) - Opensource, built with Laravel. Been using it for a few months and it's been fantastic so far. Supports LDAP integration, markdown and a lot more!

</comment><comment><USER24> Stack Overflow for Teams works great from my experience. Having a wiki using Confluence is good for questions related to travel and processes but SO is the best for engineers due to its integration with Slack and ease of use (fast search, good formatting, tags).

</comment><comment><USER25> Mkdocs - [https://www.mkdocs.org](https://www.mkdocs.org)

And to make it pretty we use mkdocs material - [https://squidfunk.github.io/mkdocs- material/](https://squidfunk.github.io/mkdocs-material/)

There's a lot of great extensions that offer more functionality and features too - [https://squidfunk.github.io/mkdocs- material/extensions/admon...](https://squidfunk.github.io/mkdocs- material/extensions/admonition/)

There's also extensions not listed in here that you can Google if looking for something specific

</comment><comment><USER26> Redmine

We have tickets, git, a wiki, and an agile board there. The integration let us do commits like:

        Added feature X from ticket #33, updated doc at [wikipage]

The ticket and wikipage reference will be clickable in the interface.

</comment><comment><USER27> Boostnote ([https://boostnote.io](https://boostnote.io)) with notes stored in the relevant repos.

Its not perfect (Boostnote really only supports local files) but it does mean our shared body of knowledge is versioned to what is in our repos. If someone makes large changes they can work on documentation while they are developing the change knowing that their docs are only released when their change is merged.

If Boostnote was aware of this workflow or allowed editing directly to remote repos it would be pretty much perfect.

</comment><comment><USER28> I'd be curious if anyone can summarize the tradeoffs between Confluence + MediaWiki at some point. From what I've seen it seems to come down to:

(1) MediaWiki is definitely more responsive (Confluence can be quite slow) and, importantly, considerably more expressive -- provide you can learn Markdown, which basically anyone can.

(2) But you're essentially stuck with email-based logins which can be a dealbreaker to some organizations (MW does support OAuth in theory, but only in theory it seems -- the setup seems to be basically not supported).

<comment><USER29> I find that the admin side of Mediawiki is downright painful. Installing plugins requires mucking around in a config file on the server (it's just another PHP app), and any errors in that file lead to a blank white page, rather than a useful error message.

I also found scaling MW harder than Confluence, as unintuitive as that sounds. Same goes for troubleshooting speed problems.

<comment><USER28> Good to know - <USER3>

</comment></comment></comment><comment><USER30> Nuclino ([https://nuclino.com](https://nuclino.com)).

We just start to using it for the same use case you mention. And so far the best solution out there.

<comment><USER18> Agreed, we started using it too.

</comment></comment><comment><USER31> I'm a fan of WikiJS. Though I havent personally gone through setting it up, the last two web projects I worked on used it. I found the UI intuitive and easy to use. I loved being able to updates either in a code editor or in the browser UI.

[https://wiki.js.org/](https://wiki.js.org/) [https://github.com/Requarks/wiki](https://github.com/Requarks/wiki)

<comment><USER32> We also use WikiJS, it is great. The fact that all the articles are stored and checked into Git in the background is great for keeping track of who edits what, undoing accidental changes, and keeping the wiki content agnostic to the platform.

That being said, there is room for improvement. Image handling is not great, and a lot of the components feel simplistic and could be fleshed out (permissions, indexing/search). Dead simple to set up though, especially with Docker-compose.

</comment></comment><comment><USER33> The desktop version of OneNote.

We've tried to use MediaWiki and other fancy solutions (inc. O365's SharePoint/online OneNote) and desktop OneNote is the only one that stuck. We have .one files for each major topic with sections and pages within them. It is kind of a "low tech" solution, and maybe that is why it works. It gets out of the way, easy to backup, no downtime, etc.

Although Microsoft keeps threatening to discontinue the desktop version of OneNote.

<comment><USER34> We use OneNote at work. I don't really like it as a Wiki tool. Its a superfast solution to get the work done, but the search sucks. Its difficult to get it organized if there is a lot of documentation. Its amazing to use as a personal notebook but not wiki.

</comment></comment><comment><USER35> I noticed here that noone seems to have mentioned using a static site generator for this.

We are currently evaluating tools for this with much of the same requirements.

My current idea for this is to use Hugo with [https://themes.gohugo.io/hugo- theme-learn/](https://themes.gohugo.io/hugo-theme-learn/) as the theme. It has search, code snippets and such. Does anyone have experience with doing it this way?

</comment><comment><USER36> I've used [Wyam]([https://wyam.io/](https://wyam.io/)) for some dotnet stuff and it works pretty well. Docs are written in markdown and it generates a static site with them. It can also generate api docs pages (with a search interface) from C# source files or compiled libs which was pretty cool IMHO.

</comment><comment><USER37> nvAlt 2, a fork of the original Notational Velocity, is a good option for personal use that supports MultiMarkdown: [http://brettterpstra.com/projects/nvalt/](http://brettterpstra.com/projects/nvalt/)

You can synchronize with Simplenote — [https://simplenote.com/](https://simplenote.com/) — which has a mobile version so your notes are viewable on your phone.

You can also use double brackets for wiki functionality to automatically create a link to another page of the same name. For example, [[this]] would create a link to a page called 'this'.

Another option that is good for many people working together is Gollum, a wiki system built on top of Git. It is the basis for GitHub's wiki pages, if I remember correctly: [https://github.com/gollum/gollum](https://github.com/gollum/gollum)

</comment><comment><USER38> [https://www.xwiki.org/](https://www.xwiki.org/)

Using XWiki the following documentation architecture is attainable:

[https://i.stack.imgur.com/nEIXG.png](https://i.stack.imgur.com/nEIXG.png)

</comment><comment><USER39> We needed something simple and easy for non-dev/engineers to use. We've been using new google sites for about 6 months and have been pretty happy with it. We're already gsuite users so it works nicely with that.

</comment><comment><USER40> For non-technical team it is self hosted WordPress, goggle docs and google websites. For dev team google docs for project specs and documentations written as .md files on a separate doc repo.

</comment><comment><USER12> For my own projects, I use this wiki; it's amazing:

BOOKSTACK - [https://www.bookstackapp.com/](https://www.bookstackapp.com/)

At work:

Confluence

Preferred tool for work:

Google Drive / Text Writer and Spreadsheets

</comment><comment><USER41> For personal stuff I use org-mode of emacs. At the work, we use Quip.

</comment><comment><USER42> I love TikiWiki for very elaborate setups.

These days, I use a Git<->Markdown based hosting. I also wrote a small Flask script to serve contents from the repo. This makes it Heroku-able.

</comment><comment><USER43> We have a few docs generated by Docsify for technical guidelines and handbooks.

Github markdown files for short project specific docs.

And Confluence for everything else including a few technical guidelines.

</comment><comment><USER44> Quip. It's okay. Not blown away with it.

We're toying with Notion at the moment, but we'll see if we can get critical mass behind it.

</comment><comment><USER45> We built Papyrs ([https://papyrs.com](https://papyrs.com)) for this! (disclosure: co-founder)

</comment><comment><USER46> Dokuwiki, easy to setup and works great.

</comment><comment><USER47> Confluence works really well. It's easy to search through, edit, and create diagrams.

</comment><comment><USER48> [https://scrapbox.io](https://scrapbox.io)

</comment><comment><USER49> Tiddlywiki!

</comment><comment><USER50> Google Docs

</comment><comment><USER51> Vuepress.

We are tech company, everyone can learn to use Markdown and Git.

</comment><comment><USER52> Had base-tier Confluence at one company. Super nice.

</comment><comment><USER53> Confluence.

</comment><comment><USER54> Sphinx doc

</comment><comment><USER55> Confluence

</comment><comment><USER56> Confluence</comment>


I Think Private Schools Should Be Banned - <AUTHOR> https://fivethirtyeight.com/features/political-confessional-i-think-private-schools-should-be-banned/ <comment><USER2> Yes let us drag everyone down in the vain chase for this nebulous ideal of 'equality'.

<comment><USER3> There's more to it than that.

In my country (the UK), our politicians and all their donors/lobbyists are privately educated, and send their children to private schools. This gives them little incentive to make sure state schools are well funded and run, since that only affects "the poor". This only serves to compound the above situation

I was privately educated, and am grateful for the quality of education I received, but I lament that half my compatriots who I share a nation and political system with did not receive the same. My country is broken and divided along these lines, as recent political happenings like Brexit illustrate, and it desperately needs mending. If we need to abolish private schools to achieve that then so be it.

</comment></comment><comment><USER4> Related: School Choice - The Case For Vouchers > [https://www.pbs.org/wgbh/pages/frontline/shows/vouchers/choi...](https://www.pbs.org/wgbh/pages/frontline/shows/vouchers/choice/provouchers.html)

<comment><USER5> What I'd like to see: vouchers, but only for integrated schools. (For some definition of integrated.)

</comment></comment><comment><USER6> If the goal is to help as many kids as possible it's easier to make public schools better by funding them properly and ensuring they are well run. That's effectively what happened where I live. Private schools were much more popular 20 years ago; several have gone out of business since then.

At the same time, that's not enough to help everyone, especially economically disadvantaged groups. We still have an achievement gap. Kids show up with vastly different levels of preparation--some of the kindergarten kids have visited Rome and know where it is. Others have never even been to the zoo.

<comment><USER3> The point of the article is that the surefire way to make sure schools are properly funded and run, is to make sure the children of the wealthy and powerful attend there too, not just poor.

<comment><USER6> "Surefire" does not not seem like the right adjective.

Eliminating private schools would enrage a large constituency across the entire political spectrum, so just getting it into law would be a huge fight that would make it hard to focus on improving public schools afterward.

The next problem would be to ensure that public schools are actually funded equitably across neighborhoods and that well-to-do parents don't turn their local schools into de facto private schools.

</comment></comment></comment><comment><USER7> I think the thought process behind this is generally good, something like "change the incentives of public school funding to help the worst off segments of our population get a better education". This is something we should spend more effort on.

The problem is I think the author making this specific suggestion on how to achieve that is having a hard time understanding the implicit statement they are making on the other side of this coin: "you don't have the right to decide how your child should be educated, a committee will decide intimate details of yours and your family's lives, where they go every day, what happens when they get there, what the curriculum is, what happens if it doesn't go well, what values should be encouraged, what narratives will be portrayed'.

For reference I'm not some radical libertarian I'm fairly centrist and progressive, but the ability to have autonomy in deciding what is getting blasted into your kids head every week day for the first 17 years of their life is not something to scoff at. If that means not every single person gets the exact same opportunity I'm ok with that (and outside of possibly this person's utopic vision that would be true in the other scenario as well).

<comment><USER3> Those things are not mutually exclusive.

For example, in England we have academies, which are exactly what you described, directly accountable to the Department of Education. However, we also have community schools, which are accountable instead to local authorities, and we also have voluntary aided schools (like faith schools), which receive some state funding through the local authority, but are primarily funded and run by a foundation.

You still get to choose where your child goes to school, and if you really want to you can also homeschool them.

Private schools are not about choice, they're about quality. Unfortunately, that comes at the detriment of the quality of state education, and ultimately social equality and mobility.

<comment><USER7> "Private schools are not about choice", according to who? That's a subjective opinion which you are presenting as a fact.

The authors argument revolves around removing choice so everyone gets the same thing so we are forced to make that one option higher quality. I'm not saying that is the only way to do it, but that is what this person is arguing for and that is what I'm arguing is a bad idea.

<comment><USER3> I made the case above that choice in education is not exclusive to private schools, and there I perhaps worded that statement poorly and should have said "Choice is not the defining characteristic of private schools". You still have just as much choice in the type of education your child gets without private education.

The author's argument revolves around removing the choice of paying for quality, not removing choices of the type of schools and education available.

If we got rid of private schools, we'd still have all the choice, but the choices and quality would be available to everyone, not just rich families.

</comment></comment></comment></comment><comment><USER8> State control of education is one of Karl Marx's 10 Planks of Communism.

No, thanks.

<comment><USER3> 1\. Not everything that's communist is bad: see single payer healthcare and social security.

2\. Abolishing private schools does not imply state control of education. There are plenty of public schools that are either controlled by local authorities instead of central government, or controlled by an independent foundation.

<comment><USER8> A local "authority" is another word for "the state." Why do you think rich people don't want their kids to go to public school? Could it be because they don't want to raise another member of the plebescite?</comment></comment></comment>


London to deploy live facial recognition to find wanted faces in a crowd - <AUTHOR> https://arstechnica.com/information-technology/2020/01/london-to-deploy-live-facial-recognition-to-find-wanted-faces-in-crowd/ <comment><USER2> What is it with the British and devolving into an oppressive police state? Their similar questionable policy choices are well documented throughout their storied history. Seems like England is trying to reclaim the good old days of the 17th and 18th century.

Antarctica has got space for them to dump everyone who looks the wrong way at a lord - or central Australia if they can reign in the republicans.</comment>


1964 Modem Reaches Out And Touches The Internet - <AUTHOR> http://www.retrothing.com/2009/05/1964-modem-reaches-out-and-touches-the-internet.html <comment><USER2> Awesome. I had something like that in 1978. Crazy that they used the same RS232 connector way back in 1964.</comment>


Faster Coding Interview Prep Using Interactive Visualizations - <AUTHOR> https://www.educative.io/collection/5642554087309312/5679846214598656 <comment><USER3> Perhaps the next thing will be AI driven coding interview robots. Why bother with people when you can optimize the whole process without human intervention? Call it Being Interviewed As A Service.

<comment><USER4> "We put the extra A in BIAAS"

</comment></comment><comment><USER5> I always hated algorithm interviews when it came to applying for web development jobs. I've been a developer for 8 years now and I have only had to use any algorithms once in my career. I get it that for facebook, google, and what not these could be representative of the work you do but I don't think this is a good interview.

I tend to look for developers now that have a better sense of modeling and api design. One interview that works really well is modeling a chat app and going through all the edge cases. Also a fan of Rob's Pairing Interview that is executed by pivotal. Build an array or perhaps a set from scratch and pair on building it where the interviewer is a driver and the interviewee as the navigator.

<comment><USER6> you are right. But the fact of our industry is there is no way around these interviews. You _have_ to do them.

<comment><USER7> This is not true. You have to do them if you don't have much experience, i.e. straight out of college. With no experience, these stand in for an understanding of your CS understanding. Organizations that put very experienced candidates through algorithms questions show that they don't value experience, and I wouldn't want to work there.

With a large amount of experience, we as interviews, should be asking much more about past projects and issues people have run into. I find it much more valuable to understand what real world problems people have faced, and how they solved them. Sometimes you even get to a point where someone actually has a good story about using the wrong algorithm, and so you still get to talk about algorithms.

This tends to also tell you a lot about the candidate's abilities to work in the environment you are thinking of placing them into. Algorithms questions should be a fallback only when you can't discover this while running through questions about their experiences.

<comment><USER8> The trouble with "nice discussion about past projects" interview style is that it is super easy to pretend way more experience and skill then you really have. You are literally measuring how smooth talking that person is and whether has good idea about what opinions are cool now.

That is what fizz buzz or basic algorithms are for. Because really,smooth talking incapable collegus do more harm then normal incapable ones.

<comment><USER9> Sadly this is very true. I had been working with a colleague who was a perfect talker about best practices and what not, and first to criticize the offshore team for bad coding, yet himself he was as well doing a lot of crazy things and sloppy coding, and breaking the build and shipping regressions on a regular basis.

Unfortunately I don't have a good solution to this problem.

I'm wondering how interviews in other professions look like. For example when you're a director of a hospital and want to hire a surgeon. I guess you don't ask him to come one day to make a little surgery for free.

<comment><USER8> Surgeons are heavily credentialed. You have to have school and residency and subsewuent tests what not. I don't think same would be appropriate for coders.

</comment></comment></comment></comment></comment></comment><comment><USER10> Windows user here. .mediumTextViewer class has a overflow-x: scroll on it which makes everything look like this:

[https://i.imgur.com/kE2ElEv.png](https://i.imgur.com/kE2ElEv.png)

Switch it to auto and it will look a lot cleaner.

Otherwise cool site

<comment><USER11> Thanks for the suggestion. I'm the co-founder of Educative where this course is hosted. We'll fix it.

</comment></comment><comment><USER12> Is the industry staying focused on algorithms written in imperative Object Oriented languages for interview quizzes, or has anyone seen more functional styles being used? I know Facebook does a lot with OCaml so I wonder if they are strict about requiring proficiency in OOP patterns, or if it depends on what you put on your resume.

</comment><comment><USER13> _Engineers have used Coderust to crack the coding interviews at Google, Amazon, Snapchat, Uber, Dropbox, Lyft, Facebook, Microsoft, Netflix, Zenefits, Pinterest, eBay, Twitter, Cloudera, Salesforce, Tableau and many others._

If one can "crack" these interviews by spending a couple of hours on some interactive tool... then shouldn't that be an indication to those conducting these kinds of interviews that, fundamentally speaking, they might not be all that useful in the first place?

And not only that - but perhaps _counterproductive_? In that they explicitly reward not the thoughtful, disciplined engineers you want to hire -- but the drudges and go-getters who think, "Gots to get me into a top company - <USER2> tell me what I gotta do to pass the test!"

Shouldn't it now?

<comment><USER14> The quote is a fancy marketing line to sell a product. Good companies don't use a coding test to straight out determine hirability. Or at least they shouldn't.

<comment><USER13> They aren't 100% determinative, of course. But by and large, many companies do place a great deal of emphasis on ones performance on these tests (perhaps being only partly conscious of the extent to which they're doing so).

</comment></comment></comment><comment><USER15> Can anyone suggest if this is good and worth the money ? I'm planning interviews at top 5 next year.

<comment><USER16> [https://www.pramp.com/#/](https://www.pramp.com/#/) the ridiculous problems are about 1/3 of it. Interacting and thinking under pressure are the other 2/3\. Best to practice exactly how one would perform.

</comment></comment><comment><USER17> Wonder if this got to the top of the front page because it looks like "Code Rust".

It has nothing to do with Rust, of course.

<comment><USER18> Yea how are you going to put Rust in your product name and not even include it!

<comment><USER6> I read it as 'get the rust off of your algorithm coding'

</comment></comment></comment><comment><USER19> Is HN now allowing advertisements for services to be on the front page now?</comment>


Crusaders want to preserve human culture online. Latest target: Yahoo Groups - <AUTHOR> https://www.washingtonpost.com/technology/2019/12/11/these-crusaders-want-preserve-human-culture-online-their-latest-target-yahoo-groups/ <comment><USER2> Over the past four days I have volunteered to a) join groups in order to archive them, and b) run instances of Warrior, the ArchiveTeam download client. I never used Yahoo Groups, but watching the group names fly by I have been struck by the variety and earnestness of the communities it contained. Too bad for Verizon that they can't find PR benefit in cooperating with archivists, or even a possible business opportunity in preserving this content (AI training? must be some use for the dataset).</comment>


Censorship and Corruption in Video Game Journalism - <AUTHOR> http://robsimple.wordpress.com/2014/08/26/quinnnspiracyinternetapocalypse/

<comment><AUTHOR> Hi, I'm the submitter of this story (but I am not the author). This article talks about the controversy the has been talked about (and sometimes silenced) in the internet for the past week and a half.

It is a long read and it is clear what the author's "side" is, but I think it is interesting for two reasons.

First, if you're a gamer and follow gaming news, you should be interested in this. Even if you don't think there is an ethical problem, you should know what is (possibly) happening behind the curtains.

Second, I really like following these kinds of things. Seeing complete strangers organize themselves is astounding. The fight against the first bouts of censorship, this regretabble flamewars and harassement, how they find dirt and connect information. I love it all in a "trashy soap-opera/reality TV" kind of way.

This whole situation has a lot to talk about, and it's not just about one thing. It relates not only to corrupt journalist but also to a sex scandal and harassement, feminism and SJW[1], and a revived indie gogo campaign about feminism being "sponsored" by 4chan.

The article has links in the end for more information.

It's been a weird week in the internet.

[1][http://www.urbandictionary.com/define.php?term=social%20just...](http://www.urbandictionary.com/define.php?term=social%20justice%20warrior&defid=5763529)</comment>


Too Much Dark Money in Almonds - <AUTHOR> https://slatestarcodex.com/2019/09/18/too-much-dark-money-in-almonds/ <comment><USER2> > First, we should expect ordinary people to donate more to politics.

My mother donated once to some Democratic volunteer who came to her door. They hounded her for more donations. She got mailings, phone calls, multiple people at her door. She vowed never to give them another cent.

Perhaps an unusually bad experience, but generally you do get punished this way for donating. I emptied my grandmother's mailbox when she became ill, and due to her charitable giving, it was absolutely crammed with political and charity mailings.

<comment><USER3> Yeah the Bernie campaign sends me what seems like 10 texts per week since I donated, I honestly don't understand it because it must really fatigue most people. Maybe it optimized donations over some small A/B test but I will absolutely find a way to get off this mailing list ASAP if it continues. Every single ask for more money has some seemingly urgent reason for it but you can't use that repeatedly over long durations! It reminds me of the story someone once posted here where every task was a P0 for the PM and eventually they started calling things P-1, P-2, etc

Even once a week sounds like a lot but averaging more than one per day is just ridiculous.

<comment><USER4> Same here, and I last donated to Bernie like three years ago. This time I'm giving to Tulsi, who seems much less aggressive on this.

<comment><USER5> To state the obvious, Bernie raises 10x what Tulsi does[1]. It's probably partly in how the campaign harvests new pledges from prior pledgers (even if it's aggressive).

I'm under no allusions that she has the same name recognition that he has.

[1] [https://www.nytimes.com/interactive/2019/07/16/us/politics/d...](https://www.nytimes.com/interactive/2019/07/16/us/politics/democratic- fundraising-2020.html)

<comment><USER4> She's in!

[https://fivethirtyeight.com/features/tulsi-gabbard-is- the-12...](https://fivethirtyeight.com/features/tulsi-gabbard-is-the-12th- candidate-to-make-octobers-democratic-debate/)

</comment></comment></comment></comment></comment><comment><USER6> >If everyone who cared about homelessness donated $100 to the problem, homelessness would be solved. Nobody does this, because they know that nobody else is going to do it, and their $100 is just going to feel like a tiny drop in the ocean that doesn't change anything. People know that a single person can't make a difference, so they don't want to spend any money, so no money gets spent.

I wonder if something like the National Popular Vote compact could work here.

It works like this: state legislatures pass a law that says if enough states sign onto the compact to pass 270 electoral votes, their electors are automatically assigned to the winner of the popular vote. In this way, nothing changes and no one has to sacrifice anything until enough states agree to actually effect a change, and then they act together to effectively obviate the Electoral College.

Sure, if I donate $100 to a homelessness charity, it'll feel like a drop in the bucket. But if some charity starts an initiative to take my credit card information and _only_ charge it once enough people donate to end homelessness, I might be more inclined to do it. Either the threshold is reached and homelessness ends, or I get a feeling of altruistic pride for doing nothing. Everyone wins!

<comment><USER7> I believe this is called taxes.

Not trying to be snarky, just... there you go.

<comment><USER8> But taxes is _someone else_ deciding that I should donate to something _they_ decide is worthy.

Sure, it does solve the "collective action" problem, but by removing my consent.

</comment></comment></comment><comment><USER9> The writer is very quick to assume Exxon Mobil's own figure for political spending is disingenuously low, but very quick to countenance the idea that the total amount of spend on political influence is publicly available. Maybe more money is being spent nontransparently? For example, it's a common practice in the UK to hire former (or current!) politicians for sinecure positions at greatly inflated salaries. I doubt anyone admits to these quasi- bribes as being political spending.

<comment><USER10> I'm sure they don't report such things as political spending.

But it also seems hard to me to imagine that adding up to very much. There are what, each year maybe a few hundred politicians who leave office and might be up for such patronage? If all of them get a million dollars, that's a few hundred million dollars a year. The movers and shakers of Washington DC are also... I mean, a lot of them become lobbyists or media people, and while they probably get good deals in doing that, it's hard to argue that a former congressional committee chairperson is going to be a _bad_ lobbyist or whatever.

I think that actually, the people who become movers and shakers in government tend to not have a ton of trouble getting enough money to live solidly upper- class lifestyles, and they have self-selected as people who value having influence more than money.

<comment><USER11> I mean, Netflix effectively tripled Obama's net worth with one deal. I'm not saying it's quid pro quo, but ex-politicians can command quite a lot of money in exchange for their influence.

<comment><USER12> That Netflix _could_ so casually triple Obama's net worth kind of emphasizes OP's point. (Note that quite aside from being the most recent two-term US president, who is considerably more popular than the current office-holder, Obama was a best-selling author & Nobel Laureate.)

</comment></comment></comment></comment><comment><USER13> I posted something similar on the author's site, but I wonder if this is just "revealed preference."

Perhaps people don't really care nearly as much about the outcome of elections as they say they do.

I think most people suspect the outcome of an election won't affect their lives nearly as dramatically as people claim, there's too much inertia in the system.

Also, maybe, just maybe, people are subconsciously more intellectually humble than they let on, and realize that predictions about the impact of policy and elections are notoriously unreliable.

Taking a political position can serve to identify yourself with a certain social group, or as part of your personal identity, or if you are feeling somewhat metaphysical it can indicate the structure of your ethical system.

In all of those cases there is no need to actually spend money to achieve the goal.

If I am an "Apple person" I need to spend $1,000 on a phone to demonstrate this.

But if I'm a Sanders supporter I can do all this signaling by expressing outrage on Facebook and at dinner parties without spending a dime.

If this theory is correct, a political movement that could somehow get people to feel they have to contribute money to be a "real" supporter with associated social status would be drowning in contributions.

</comment><comment><USER14> > The US almond industry earns $12 billion per year.

How much of that is actually from sales in the US vs. exports? In 2018, California produced 80% of the worldwide almond crop and exported 70% of it. Americans aren't quite as hungry for almonds as the author assumes.

Ref: [http://www.capradio.org/articles/2018/07/09/record-crop- for-...](http://www.capradio.org/articles/2018/07/09/record-crop-for- california-almonds-as-growers-uncertain-about-tariffs/)

<comment><USER15> I was curious, so I looked into it - apparently the US exported $4.5 billion worth of almonds 2017, with Spain being the largest consumer ($0.5 B). Also learned that the US imports almost exactly as many pecans as it exports.

Seems like they may have included it based on export percentages.

</comment></comment><comment><USER16> If I had to guess why there's so little money in politics I'd guess it's because there are more efficient ways to spend the money.

Political contributions right now seem to function mostly as a tax avoidance strategy. These donations are effectively free. A company or wealthy individual can either pay taxes or donate the money to a "non-political" think tank to promote policies they'd like to see.

Convincing someone to influence elections is easy if they'd pay it in taxes anyways. I'm guessing it's difficult to convince someone that their post tax money is most efficiently spent influencing the political system.

One last note, there's also many other types of interactions companies have with the government. There's state level, regulatory bodies, local and county influences. Companies interact highly with the government at the local levels because they're easier to manipulate than the federal government.

<comment><USER17> > These donations are effectively free. A company or wealthy individual can > either pay taxes or donate the money to a "non-political" think tank to > promote policies they'd like to see.

That's not how deductions work. A donation costs the donor much more than the tax reduction. All a deduction does is reduce your adjusted gross income, not literally offset the nominal sum you pay in taxes.

Say my top marginal tax bracket is 20%. If I donate $100 then it's costing me precisely $100. If I don't donate then I'm on the hook for $20 ($100 * 20%) in tax. $100 > $20. This presumes the $100 is earned income, and that the donation is in fact tax deductible. If neither of those hold then the relation is $100 > $0.

People have similarly mistaken ideas about so-called write-offs: [https://www.youtube.com/watch?v=XEL65gywwHQ](https://www.youtube.com/watch?v=XEL65gywwHQ)

<comment><USER18> This isn't how it works for the rich.

If you donate appreciated assets, you don't pay taxes on the appreciation, so in the best case scenario (e.g. you bought bitcoin at a penny) you donate $100, but it is the equivalent of $80 after tax.

Additionally, you get to write that $100 donation off your income. If you're in the highest tax bracket, that means you're saving $39 off your tax bill.

You've effectively given $100 in exchange for the cost of $41.

<comment><USER19> You just agreed with your parent post. He said "A donation costs the donor much more than the tax reduction."

In your example, the donation cost the donor $100, which is much more than the tax reduction of $39 + $20.

But on another point, didn't you just double count the tax? You donated $100 of bitcoin, and you write it off your taxes (so not having to pay that $39), but you just counted another $20 somewhere.

</comment></comment></comment></comment><comment><USER20> This article was one sided. It never seriously considered the relative value of almonds, particularly when roasted and salted. Sad.

<comment><USER21> I think he just assumed they were more valuable than politicians, regardless of preparation.

<comment><USER4> Roasted and salted politicians, don't knock 'em 'til you've tried 'em.

</comment></comment></comment><comment><USER22> Isn't this just a way of saying that effective governance in a representative democracy is a public good, and that thus we should expect it to be underproduced?

</comment><comment><USER23> > Most research (plus the 2016 results) confirms that money has little effect > on victory

Maybe money in the form of "contributions", okay. But _having_ money is still the largest predictor for policy direction.

"The central point that emerges from our research is that economic elites and organized groups representing business interests have substantial independent impacts on U.S. government policy, while mass-based interest groups and average citizens have little or no independent influence"[0]

[0] [https://scholar.princeton.edu/sites/default/files/mgilens/fi...](https://scholar.princeton.edu/sites/default/files/mgilens/files/gilens_and_page_2014_-testing_theories_of_american_politics.doc.pdf)

</comment><comment><USER24> One of the ideas that I cherish is radical transparency. It would be better to see exactly what each company wants to donate to and how money is being spent.

Money is a form of voting.

<comment><USER10> You basically do get that, but it's hard to work around indirections. If I'm in company A and I give money to an industry lobbying group X (and so do companies B, C, D, and E), and then industry lobbying group X gives money to super-PAC alpha, and then super-PAC alpha donates to politicians Bob and Fred, then... how does that become digestible to the public? Some amount of "Company A's" money went to Fred, but it's gone through several fungible buckets since then, and you can't necessarily draw a clean link.

Informally, it may (or may not!) be that Fred was told by someone that his continuing to get these kinds of checks was dependent on him doing a specific favor for company A, but probably not everyone who receives some money that was originally sourced at company A did.

<comment><USER24> Makes sense. How about git log for money?

<comment><USER25> This looks like a perfect use case for blockchain... oh wait

</comment></comment></comment></comment><comment><USER26> The biggest problem with almonds is the unsustainable farming practices used to grow them.

<comment><USER27> let's grow them where no water is sustainably available...

<comment><USER28> That depends on your definition of sustainable. Most almonds are/were grown using sacramento river, which can provide a self replenishing source of water.

It is more of a water use issue than a sustainability issue.

<comment><USER26> Was also thinking about the massive issue they have with the large monoculture meaning they can't really support self-sustaining populations of bees.

Of course, it's not just almonds that have this issue, wine regions in my country (NZ) have the exact same problem which they're belatedly trying to fix.

</comment></comment></comment></comment><comment><USER29> This why I like Democracy Dollar proposal, giving each voter $100 to give to candidates.

</comment><comment><USER4> _Think tanks may be more talent-limited..._

Zing!

</comment><comment><USER30> More money would not generate better outcomes. period.

</comment><comment><USER30> more money would not generate "better" outcomes. period.

</comment><comment><USER31> Thats very un-democratic, it implies that people with more money should have more votes. This would quickly dissolve a democracy

</comment><comment><USER32> This has seriously got to be the dumbest, most uneducated piece of writing I have ever read. Yes, lets all just throw money at a broken problem, that'll make it better. "Politics" as the author refers to it as, needs the opposite of funding, it needs to be cut off entirely from donors to see who still stands. The US Government, will have a fund where it gives a set number to each candidate for campaigning purposes and that is ALL that can be used. Already own a private jet? Tough shit, cant use it for campaigning! Already a millionaire with lots of millionaire friends? Sorry charlie! That is the only way we will get back to grass roots form of electing. Simply throwing money at something rarely fixes a problem.

<comment><USER33> Maybe you missed this statement:

> I don't want more money in politics. But the same factors that keep money > out of politics keep it out of charity too.

And if "throwing money at something rarely fixes a problem" then what is a better way? Relying on volunteers? What are you donating all your time to day after day for no money? How do you think you incentivize people to spend the majority of their waking hours on something you think is important?

I don't think we should necessarily put more money into politics. I know that will only further consolidate power in a given country. But I'm not sure that was the point of the article either. It points out that it _seems_ like the rational thing to do would be for those with money, especially corporations with vast sums of it, to spend more on their candidate of choice. Yet they don't, at least not as much as the author expects, or expects us to expect. I didn't get the feeling it was saying the only way to save things is to throw more money at it, I think it's asking what is the underlying force that's keeping everyone from doing that? If we can figure that out, maybe we can understand some latent properties of the system we're in with regards to the charity parts.</comment></comment>


Let's predict the day we'll have ads in our commits messages - <AUTHOR> https://twitter.com/ponsfrilus/status/1063591438024392704 <comment><USER2> [https://trends.google.com/trends/explore?date=today%205-y&ge...](https://trends.google.com/trends/explore?date=today%205-y&geo=US&q=Github,Bitbucket,Gitlab)

By inspection, no time soon. Though if the trend on that graph changes significantly, consider yourself warned.

</comment><comment><USER3> I think it's the day Microsoft and Oracle merge</comment>


First-Ever LSD Microdosing Study Will Pit the Human Brain Against AI - <AUTHOR> https://motherboard.vice.com/en_us/article/first-ever-lsd-microdosing-study-will-pit-the-human-brain-against-ai <comment><USER2> Gwern did some self-experimentation with LSD and didn't find any significant effects: [https://www.gwern.net/LSD%20microdosing](https://www.gwern.net/LSD%20microdosing)

<comment><USER3> Since this is a sample with n=1, that doesn't mean there is not significant effects in certain population of people.

<comment><USER4> Yeah, Gwern is pretty explicit about the point that he's interested in what works for him, and makes his data available just in case its interesting.

I tend to assume that when he has positive results it's informative (as an existence proof at least), but negative results may not be universal.

</comment></comment></comment><comment><USER5> Amanda Feilding, who this article is about, is a fascinating person. In the 70s she drilled a hole in her own skull ("trepanation"), then ran for political office to promote the benefits of that operation. She's now Countess of Wemyss and March, married to a similarly-trepanned Earl.

[http://cabinetmagazine.org/issues/28/turner.php](http://cabinetmagazine.org/issues/28/turner.php)

<comment><USER6> 'Fascinating' is not the adjective I would use to describe someone enamored with drilling holes through their skull.

<comment><USER7> Why, does the procedure not work?

<comment><USER2> It works insofar as you have a hole in your skull afterwards. Whether or not the evil spirits in your skull actually get out is disputed.

<comment><USER8> > Feilding wasn't interested in performing the operation as an extreme form of > body art, but because she believed it would have a life-changing effect on > her. She hoped that a hole in her head would increase what she terms > "cranial compliance," that alleviating the pressure in her skull would allow > the heart to pump more blood to her brain, thereby giving her a new feeling > of buoyancy. "If you don't have that expansibility," she says of the prison > of inflexible bone that most of us have for skulls, "then the heartbeat > pushes against the brain cells, which isn't very good."

She wasn't doing it to get rid of evil spirits.

> Archaeologists have speculated that the operation was performed as a > religious rite, an initiation into the priestly caste, or as a treatment for > demonic possession—symptoms we might now diagnose as epilepsy, psychosis, or > migraine. A hole in the head served as a mouthpiece to the gods, it was > thought, or as a window that would allow bad spirits to escape.

People might have done it for that reason previously but she wasn't.

<comment><USER6> Her reasoning as quoted is no more based in reality than theirs. Frankly, I would say it's worse, as the people who did this hundreds of years ago did not have the benefit of modern medicine to model why it is a bad idea in the first place.

<comment><USER9> What makes you so sure your model of reality is more predictive than hers?

<comment><USER6> What testable predictions has she made?

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> > drilled a hole in her own head

Ok, you lost me. Anyone willing to do this is clearly outside of human average, and their anecdata is useless

<comment><USER11> Amanda Fielding is certainly an eccentric person. however, she has a decades long commitment to responsible and scientifically grounded research with psychedelics.

</comment></comment><comment><USER12> How frustrating given that the rest of us have no hope of trying anything like this.

<comment><USER13> 1P-LSD is a "research chemical" that is not scheduled and available for purchase over the clearnet. You just have to promise not to allow humans to consume it. Apparently its effects are indistinguishable from LSD-25 (traditional LSD).

<comment><USER14> Even if it's not scheduled that doesn't mean it's not illegal. In the US, it could fall under the Federal Analogue Act,[1] making it illegal despite not being specifically scheduled.

There is debate on r/1P-LSD regarding its legal status.[2]

[1] - [https://en.wikipedia.org/wiki/Analogue_act](https://en.wikipedia.org/wiki/Analogue_act)

[2] - [https://www.reddit.com/r/1P_LSD/](https://www.reddit.com/r/1P_LSD/)

</comment></comment></comment><comment><USER15> I mean, having science as an excuse to do LSD is a win already.

<comment><USER16> Having previously volunteered for an LSD study, it probably isn't as much fun as it sounds. The study I was on was conducted on a cold hospital ward with bright fluorescent lights, and required having vital signs measured throughout -- not an ideal environment to trip in. One participant in my group stood up and walked out mid-briefing. Thankfully I wasn't chosen, though everyone there looked terrified.

The research and campaigning done by the Beckley Foundation [1] and MAPS [2] is absolutely fantastic though, and I encourage everyone to check out their work.

[1] [http://beckleyfoundation.org/](http://beckleyfoundation.org/) [2] [http://www.maps.org/](http://www.maps.org/)

<comment><USER17> Hmm, that could just have been a poorly-designed study - most sleep studies are not conducted in brightly lit rooms, I assume because researchers can imagine that it wouldn't help anyone sleep; you'd hope that they could bring similar reasoning to bear on hallucinogens.</comment></comment></comment>