China's academic obsession with testing - <AUTHOR> http://www.washingtonpost.com/opinions/chinas-academic-obsession-with-testing/2013/12/19/cd05b032-6744-11e3-8b5b-a77187b716a3_story.html?tid=hpModule_ea22e378-b26e-11e2-bbf2-a6f9e9d79e19&hpid=z9 <comment><USER2> One of the fundamental reason why Asians do well in testing is because academical achievements are highly valued, by parents, teachers, society, and most importantly, their peers.

It's the same reason why Americans are really good at basketball and football, why Brazilians are really good at soccer. Kids will go through great lengths to earn respect from peers.

Whether the attitude toward academic achievements creates followers or leaders, remains to be proven.

<comment><USER3> Those are the realistic paths to upward mobility in each society.

<comment><USER4> Playing sports is the realist path to upwards mobility in America? As opposed to any well paid professionals such as programmers, doctors, lawyers, engineers or accountants?

What percentage of kids who try really hard to be really good at basketball or football make a successful career out of it? I don't know but I suspect about the same ratio as those that try really hard to be rock-stars.

<comment><USER5> Yes, somebody claimed that. Anybody would claim that. Good job shooting it down.

</comment></comment></comment></comment><comment><USER6> >it's a sign that our education system is out of control

On the contrary, it seems to be quite stable continuation of a centuries-old tradition[1], which has been quite successful, but optimized for different outcomes (success at tasks for which the rules are clear and fixed).

[1] [http://en.wikipedia.org/wiki/Imperial_examination](http://en.wikipedia.org/wiki/Imperial_examination)

</comment><comment><USER7> I was hoping this was going to be about semiconductor yields or TDD...

</comment><comment><USER8> "Of course East Asian kids test well. They are tested every day, even when they are sick. " \-- This is a silly statement based on a nonsense assumption that all the tests are the same: all tests only test testing skills.

Test is not just about testing skills. The most important part is understanding and mastery of the subject. PISA ([http://www.oecd.org/pisa/](http://www.oecd.org/pisa/)) test is designed to examine students high level understanding and application of subject knowledge and skills. The fact of Chinese students did well in PISA test cannot be just attributed to "obsession with testing". You have to understand the subject to do well in the test.

Some people like to say Chinese /Asian students are only good at rote memorization. But, you know what, PISA is not designed to test rote memorization. You can try some PISA questions by yourself at [http://www.oecd.org/pisa/test/](http://www.oecd.org/pisa/test/) to see how rote memorization can help you in the PISA exam.

<comment><USER9> PISA tests are not based off school curricula. This is a _much_ different claim than the one that PISA tests successfully examine "high level understanding and application of subject knowledge and skills".

PISA tests are time-bound; thus, they cannot avoid testing time management. PISA tests include multiple choice questions; thus, they cannot avoid testing students' ability to eliminate nonsensical options. The issues with short- answer questions are more subtle and less problematic, but at the very least, depend on the reviewer having the capacity to fully understand the students' response, linguistically and colloquially.

These are _very_ common complaints about test design: that the test scores end up being trumped by orthogonal "test-taking" skills. The typical responses to them are that these orthogonal skills are nevertheless useful "real-world" skills, which is absolutely true, but it undermines the original claim that the tests are primarily examining the _actual subject knowledge_.

<comment><USER8> Can you please tell me, in which country, age 15 students generally don't know to eliminate nonsensical options in multiple choice questions?

<comment><USER10> You should try tutoring math at a high school in a poor area - as I am doing. It's eye opening.</comment></comment></comment></comment>


MiniCouchDB in Rust - <AUTHOR> https://www.garrensmith.com/blogs/mini-couch-hack-week <comment><USER2> This is really cool, thanks for your work! I really love couchdb. I have seen tickets for document based ACLs on their github recently, I think this is the last feature they need to open up usage across many more domains. The core app works great for replication between dbs and to the edge using pouchdb, but almost everyone is turned off by the database-per-user that is required to use it. If they solve that I think their adoption could skyrocket, if they can get over the hurdle of years of neglecting this core feature where everyone became disillusioned by it. It's positioned as a "put your db up on the internet and interact/replicate over http" but it doesn't work for most non trivial use cases because everyone can then see the data, so you end up layering adapters on to do ACL. This should really just be built in to the core app.

<comment><AUTHOR> Thanks for reading. We have some plans around this, see the RFC - [https://github.com/apache/couchdb- documentation/pull/424](https://github.com/apache/couchdb- documentation/pull/424)

In general, we are trying to move away from running your whole application in CouchDB. We would prefer that you have an application layer in front of your CouchDB instance. We recommend that you put up a proxy if you want to expose your replication to PouchDB. That way you can add security around that endpoint.

<comment><USER2> Thanks for the reply, that's the RFC I was referring to, and it's great that that's being reviewed! If you look back on the history of couchdb on HN for example, the lack of document based ACLs continues to come up as a serious limitation of couchdb. Because it speaks http(s) natively, it is a perfect db that can be used directly in place of a lot of the rest of your stack if your use case is a MBaaS. I see couch primarily positioned to compete with firebase firestore, but the perspective I see from maintainers is that it should be competing with mongodb instead (especially with the integration of mango queries and the push to put proxies in front of it.)

I feel that moving further in this direction to make couch a competitor at the DB later will be the death of couchdb in the long run, because it is removing the only real advantage it has over its peers, which is https based replication to the browser and between peer DBs, and the fact that it's built on Erlang and can handle replication to many peers with ease. If you make us proxy and wrap the Erlang app in our crappy (excuse the language) business layers like Java and C# to build the proxy ACLs against a separate DB, you've totally covered up the huge benefit of the safety and concurrency of Erlang in handling the replication to endpoints for us.

<comment><USER3> Curious why they suggest a reverse proxy. It may be a holdover from a time before Erlang SSL got so many improvements? Heroku moved SSL termination to Erlang from ELB's and saw great improvements, plus they released a useful lib [https://github.com/heroku/snit](https://github.com/heroku/snit)

I suppose it could be related to their use of mochiweb still for the web layer. Maybe they'll add on HTTP/2 eventually and no longer recommend a reverse proxy.

There are alternatives for HTTP/1.1 and HTTP/2 in Erlang, like Elli (http/1) [https://github.com/elli-lib/elli](https://github.com/elli-lib/elli) and Chatterbox (http/2) library [https://github.com/joedevivo/chatterbox](https://github.com/joedevivo/chatterbox)

<comment><USER4> This is an architecture I use a lot. The reverse proxy is there to implement the replication, having your application understand the replication protocol is a big ask. Instead, your app takes http requests, handles the ones it is supposed to, and forwards database requests directly to (c|p)ouchdb (after checking auth)

[https://github.com/daleharvey/noted/blob/master/index.js](https://github.com/daleharvey/noted/blob/master/index.js) is a very simple example of how it can work

<comment><USER2> We really shouldn't be writing our own authentication layers (or anything security-related for that matter) unless necessary.

Case in point, this example code has a massive security issue that allows anyone to impersonate without tokens if there is an active authentication request open. Hopefully no one has used this example code to build a production system that has real user data.

This is a perfect example of why this should really be part of CouchDB/PouchDB itself and not something each person must write themselves. This should be solved once, solved right, vetted by the community, and be easy to fall into a pit of success.

I really like CouchDB and PouchDB as a product, but this insistence that this is the right path is really holding you guys back.

<comment><USER5> You're probably write about writing your own authentication layer but it still shouldn't be part of CouchDB or PouchDB. A better solution is for some OSS project to build a standard proxy that applies the document level authorization that everyone is asking for. No reason for it to be built-in.

<comment><USER2> I would agree if couchdb wasn't positioning itself as being exposed directly on the internet. If CouchDB is meant to be proxied behind another system / auth stack, then why does it have CORS support and cookie auth built in?

Both of those features are purely a client-side concern and exist because the original intent of CouchDB was real-time replication to browsers. Otherwise the proxy could do the CORS as well as the authentication and CouchDB would only require an http-level authentication pattern (like basic auth).

Having said that, I do agree that this should be compartmentalized and the end user should be able to pick and choose what features they want to allow, but I don't think that this should continue to be a separate concern that everyone is building themselves, it should be a first-party solution.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER6> Oh, I first thought this was mimicking the pretty complete Go [https://github.com/alicebob/miniredis](https://github.com/alicebob/miniredis), which goes to some effort to be a complete and faithful implementation of the Redis interface.

Still pretty cool, do you intend to develop this further?

<comment><AUTHOR> Thanks. I'm not sure. I have some other project ideas I would probably work on next. But I might use this as my go to project to test out specific Rust patterns I've learnt.

</comment></comment><comment><USER7> The page only says "You need to enable JavaScript to run this app."

I expected some kind of live demo, so I enabled Javascript. It turned out to be a static page with text. Not even a toggle-able menu on narrow screens, just a static page.

Why does it need Javascript to render a static page?

<comment><USER8> Probably so that the author can learn whatever JS framework they used. Overkill tech to learn on a personal site before a production site.

<comment><USER9> It is React based on the unminified source files that I can see.

</comment></comment></comment><comment><USER10> The 'mini-redis' project wasn't intended to build a redis clone as much as it was to teach many of the asyncio concepts in Rust with an example that uses an extensive amount of code comments. Such examples have been missing from the Rust ecosystem.

If you were inspired by mini-redis, why not go the extra mile and turn it into another great educational resource?

</comment><comment><USER11> This site is completely unusable without javascript, just spits out "You need to enable JavaScript to run this app."

</comment><comment><USER12> Both helpful git repos for learning how to architect async Rust apps using Tokio. `mini-redis` is especially well documented (I understand the current MiniCouchDB is still early!). Thanks for sharing.

</comment><comment><USER13> This is a very cool project and a fun read, I didn't know CouchDB 4 would be built on FoundationDB. Without trying to hijack this thread, I've been scratching my head lately looking for open source solution to offline-first, collaborative document editing on native mobile clients. The closest I can get is couchbase lite, does anyone know if something like this could be built for CouchDB? or any other solutions?

<comment><USER14> [https://pouchdb.com/](https://pouchdb.com/) is a JavaScript port of CouchDB, running in the browser and capable of replicating with normal CouchDB.

<comment><USER13> Thank you! I have come across it before but wasn't sure how I could run it in a native (kotlin / swift) environment. From memory it also isn't particularly well supported in React Native.

</comment></comment></comment><comment><USER15> Awesome, I tried to get it running, but I get value: Missing("couch_directory"). There is nothing mentioned in the readme about this. Can anyone help?

</comment><comment><USER16> Just a heads up: in dark mode your Opensource page doesn't adjust font color (black text on dark purple.)

I wish I knew rust and could say something more substantial lol.

<comment><AUTHOR> Awesome thanks for the heads up. I just fixed it.

</comment></comment><comment><USER17> If you think about it, all future database development should be written in Rust.

<comment><USER18> You didn't really want to write database did you?

<comment><USER17> Nope.</comment></comment></comment>


Ligatures in programming fonts - <AUTHOR> http://tinyletter.com/mbutterick/letters/q-ligatures-in-programming-fonts-a-hell-no <comment><USER3> The first problem isn't really a problem, since ligatures are provided by fonts, not character encodings. From the Unicode FAQ on ligatures and digraphs ([http://unicode.org/faq/ligature_digraph.html](http://unicode.org/faq/ligature_digraph.html)):

 _" The existing ligatures exist basically for compatibility and round- tripping with non-Unicode character sets. Their use is discouraged. No more will be encoded in any circumstances._

 _" Ligaturing is a behavior encoded in fonts: if a modern font is asked to display "h" followed by "r", and the font has an "hr" ligature in it, it can display the ligature. Some fonts have no ligatures, some (especially for non- Latin scripts) have hundreds. It does not make sense to assign Unicode code points to all these font-specific possibilities."_

The second problem still stands, though, especially since these sequences of characters can be tokenized differently in different programming languages. IMO, if you're going to have character replacement like this, it should be a configurable editor feature like syntax highlighting.

<comment> robert-boehnke Isn't the choice of font inherently an editor feature like syntax highlighting?

<comment><USER4> I don't think they're talking about the choice of font, but instead the choice of replacing certain character sequences (e.g. ->) with glyphs (e.g. →).

</comment></comment></comment><comment><USER5> The article lists a bunch of non-issues. Yes, you can create confusion by abusing unicode.

But that's not new. C++ allows zero width spaces in identifiers. There's a guy on reddit who uses characters from Canadian Aboriginal Syllabics block to have angle braces in Go identifiers.

Yes, they are guaranteed to be wrong sometimes. The big one is the <<< ligature makes the merge conflict zipper look strange.

But it's incredibly obvious when they are wrong. So it's not an issue in practise.

The reality is that no one is making anyone use a ligature font, and some people like them. If it's causing a problem then you can spend ten seconds changing your font.

<comment><USER6> I gifted that guy gold for the sheer audacity of the thing.

<comment><USER7> How much gold?

</comment></comment></comment><comment><USER8> Ugh to answer the last line of the author: I have been using them for that long and the up and downsides are very well known to me. He has an subjective opinion about them, states them as facts 'and everyone who thinks differently is just stupid' OK author...

<comment><USER9> Wow you weren't kidding. I have no opinion on the matter but that's just arrogant.

<comment><USER10> This isn't just some blogger though. Matthew Butterick wrote [http://practicaltypography.com/](http://practicaltypography.com/) .

<comment><USER11> A self-published eBook that acknowledges a lack of funding on the main page?

Maybe it is required reading in typography circles, but to someone reading the submission who merely uses a font, this doesn't seem much of a credential.

<comment><USER12> "A self-published eBook that acknowledges a lack of funding on the main page?" is kind of a low blow.

He's doing something really interesting with the funding model of practicaltypography, that I believe should be praised.

<comment><USER11> I'm not meaning to deal any blows at all, low or otherwise.

I'm merely explaining that to the reader not a student of typography, there's not really any indication that this should be taken with more authority than 'some blog author' per comments above.

<comment><USER13> From a brief bit of clicking around, the author has: designed several typefaces[1], written a long text on typography[cited previously], and has done enough programming to have developed the publishing framework he uses in his books[2], and to have written another book on a programming topic[3].

While I don't agree with much of this blog post, I certainly think the author has put in enough work to have their work taken seriously in this particular domain, and generally seems like a pretty interesting person.

1\. [http://practicaltypography.com/equity.html](http://practicaltypography.com/equity.html)

2\. [http://docs.racket-lang.org/pollen/](http://docs.racket-lang.org/pollen/)

3\. [http://beautifulracket.com](http://beautifulracket.com)

<comment><USER11> I'll state just once more, in order to be absolutely clear that I harbour no ill intent: I have no reason to doubt, having been told, that the author can be regarded an authority on the matter. I'm simply saying that, approaching it fresh, it's not obviously the case, and other commenters' disregard should not be treated as that for a household name.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER14> I agree with the article, but the arguments the author gives are not quite spot-on. Ligatures render code unreadable, there is no way to see how to enter a particular character sequence that is shown as a ligature. They might beautify code for some individuals, but they should never be used for showing code in an public or explanatory context, like on the web. Some operators are no longer recognisable, a few just look wrong - a clear case where simplicity and functionality is sacrificed for style.

<comment><USER15> > they should never be used for showing code in an public or explanatory > context

This I can definitely agree with.

The readability issue, in my opinion, is fine and coarse grained.

If I'm scanning my _own_ code, having ligatures on is quicker for me to understand and is ultimately more readable. But (and this is a large but), when editing my own code, ligatures are useless and in the way. Thus I set my editor to remove all ligatures on active/highlighted lines.

<comment><USER11> I do this too, and with other 'prettifiers' like indent line characters.

I use vim, so I find it great to have them in normal mode, and then disabled (set conceal =0) on entering insert mode.

</comment></comment></comment><comment><USER16> I use ligatures in atom and they are 100% aware of context. I disable them in contexts where they don't make sense e.g comments and I disable them on the line the cursor is on.

I've not had any issues. The => ligature looking like the right arrow character is just like a cyrillic A looking like a latin A - it's a problem that never manifests itself.

The author has a very subjective opinion that they try and present as fact.

</comment><comment><USER17> The author's point about "dumb" ligatures doesn't really hold up: While the "fi" ligature will always mean "f followed by i" its use is not always correct.

For example, in German compound nouns, you do not set a ligature between the two nouns. For instance, "Kaufläche" (Kau: chewing, + Fläche: area) should be written with ligature, while in "Kaufleute" (Kauf: purchase, + Leute: people, = merchants) the ligature should be avoided.

<comment><USER18> Wow, that's fascinating -- do you have a reference for that? I'd love to learn more, especially as to why -- it seems like that would just result in ugly typography. Or is it solely about the bar of the initial "f" connecting to the next letter?

<comment><USER19> Well, typography is often about readability. Removing the word boundary in compound nouns isn't really helpful since it removes a boundary that conveys meaning.

There were some examples of nouns where you should avoid ligatures in the TeX docs iirc. Shelfful and selffullfilling are the only ones I remember.

In German (every single fff on any page that bothers to set their own fancy- pants font) and swedish text you see it all the time, often coming from self- proclaimed typesetting/font nerds.

</comment></comment></comment><comment><USER20> I use fonts with ligatures while programming because they're more expressive of intent. Many languages use a combination of characters to form a single meaningful token, such as JS with =>. This token is meant to appear similar to an arrow, and has nothing to do with = or >. In this case, I find it preferable to draw a ⇒.

<comment><USER21> > they're more expressive of intent.

You don't control which font will be used when viewing your source, so nothing extra is being _expressed_ to other people about your intent. Using a font with ligatures in your editor when you program doesn't record anything extra in the source code.

> ⇒

I find it strange that you include the proper way of doing this instead of using font ligatures: use the proper Unicode code point. Some languages already support Unicode operators, such as Perl 6 which, for example, accepts « » as a synonym for << >>.

[https://perl6advent.wordpress.com/2015/12/07/day-7-unicode-p...](https://perl6advent.wordpress.com/2015/12/07/day-7-unicode- perl-6-and-you/)

<comment><USER22> Unicode sucks for this kind of thing, since it would go on disk. Even if they don't go on disk, you have to figure out how to break them up into multiple characters so they can be edited (so ⇒ must be two characters, which is messy). No, Unicode isn't the answer. It is the answer to deali with someone who isn't using a specific font, like readers on hackernews.

Ligatures are a cake and eat it to. To those who don't care for them, they simply don't see them. As they are under control of the font, editors don't need special support either.

<comment><USER23> The fact that they go on disk is a pro, not a con; and the fact that they're one character not multiple is also a pro and a not a con: what's the point of the individual characters? Those were merely introduces as a necessary workaround to cope with input limitations. Kind of like C trigraphs - <USER2> nobody uses those because they want to.

<comment><USER24> Unicode is a disadvantage for someone who wants to contribute to your code. That person now has to figure out how to write down Unicode arrows, taking her/him out of her/his flow.

<comment><USER25> Sure, and the Dane has to figure out how to write down ø, taking them out of their flow — until they learn to apply the correct tool for the job.

<comment><USER24> I'm not sure if you're sarcastic or not. However, I'm Dutch, and we have similar tokens.

Nobody minds if you write Danish code, but if you like contributors, it is asking a lot of them to change their editor or tools to collaborate with you. I hope you didn't mean your collaborators have to adjust to you like that.

<comment><USER25> Not at all; the point is that a Dane isn't actually taken out of their flow to type _ø_ in Danish, because they're using a suitable keyboard layout. Likewise a programmer need not be taken out of their flow to type _(a→t ≠ 0)_ or _a ← b ∧ ¬c_ or _(2=0+.=T∅.|T) /T←ιN_.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER26> Honestly, this sounds like the kind of argument you could present about how syntax highlighting is a terrible idea. It might be wrong!

I don't use ligatures, but I really don't see a problem with other people using them. It's fine, it's a style preference thing, that, like fonts and colour schemes, is as much fashion and personal preference as it is anything. But it's fine.

<comment><USER27> If your syntax highlighting is wrong, it's buggy. Proper syntax highlighting is 100% correct.

<comment><USER28> Depending on your language, proper syntax highlighting (without parsing the entire program) is nearly impossible.

For example, in C, what highlight category do you give to '*c'? A declaration, a dereference, or a multiplication call?

In Lisp, is the first element of a list a macro or a function (or a value)? If there's a reader macro, it gets even harder.

<comment><USER29> Syntax highlighting doesn't necessarily have to work at the lowest granularity, though; for some uses, merely distinguishing between comments and non-comments is acceptable, and that's still 'syntax highlighting'. Of course, as you point out, true 100% syntax highlighting needs to fully parse the entire program; why not do that, though? I guess it would be too computationally expensive for certain sizes of program, but it could still update in near-realtime, no?

</comment></comment></comment></comment><comment><USER30> I work with someone who uses ligatures. Everytime I need to see his screen is a problem, I can never recognize what exactly the characters mean. Yes, you get used to it if you use it, but if you don't, working with other people becomes a problem.

I thought it was a bad idea the first time I saw it, and after seeing it in real code I still think the same thing.

<comment><USER31> Yes, I hate seeing code any way except precisely tuned emacs. I like small sized characters, but most of fonts looks ugly, you'll need use antialiasing to preserve shape, but some chars becomes unreadable with antialiasing. Except of font choosing I'd like to see familiar color theme. And when I see code in someone's else editor its hard to read.

But, you know, others didn't like my emacs setup, they says that its hard to read in such small sizes, and my color theme with dark background is bad for their eyes. Strange people, what on earth make them think, that I should be considering their eyes health while choosing font and color theme for myself?

</comment></comment><comment><USER32> I think ligatures can be a great feature, but they should not be decided by the font, but by the editor. So you can can destinguish between 'input >> var' and 'vector<vector<int>>' and render the literature in one case but not the other. This and more creative text decorations can be really helpful to read code. Other examples are rendering css colors inline, rendering of tables and formulas in emacs, ...

<comment><USER33> That's a hard one to get right; for a long time, C++ compilers would tokenize 'vector<vector<int>>' incorrectly and throw a syntax error -- the final two angle brackets had to be separated by a space for the code to compile.

</comment></comment><comment><USER34> Ligatures in programming fonts really seem like something you'd only get into in the midst of a hardcore procrastination bout.

</comment><comment><USER35> Q: Should random people on the internet dictate what you do and like? A: Hell no

I quite like the ligatures that come with Fira Code, and most of the author's issues are not applicable to it.

Maybe they should spend more than 5 minutes trying things out.

</comment><comment> Arcanum-XIII It seems there is some confusion for the author between the display part and the on disk part. text will not be saved with the ligature, it will still be pure unadorned text when saved... and for the confusion that could arise between a simple quote and a typographic one, it's not coming from the font but from the editor rendering engine (word does those kind of change, IntelliJ does not for example, but both can display correctly ligature)

<comment><USER36> I'm sure the author is well aware of the difference between encoding and display, since they have apparently designed their own fonts.

However, their argument seems to be that since ligatures are just a hack to make plain text look like something fancy, you end up with confusing interactions due to the lack of context.

Now I don't think this is likely to cause lots of problems in practice, since most people won't use both ligatured => and Unicode ⇒ in the same Haskell code; but in principle the potential for confusion is there. Imagine if some clever font designer made ' look like ` when between a space and a letter, the font would be unusable in any language where that is an important distinction.

Personally, I'm not going to use ligatures for coding, firstly because I'm accustomed to the "normal" look and secondly because fcitx makes it really easy to type arbitrary Unicode when I want it.

<comment><USER37> I'm aware that Butterick is the author of several fonts, but this article has a surprising amount of vitriol from someone who should know that the choice of a programming font doesn't affect anyone but the programmer who chose it. During the article, he takes several opportunities to point out that his opinions are actually facts.

Typographers usually have a lot of responsibility because their decisions can affect the readability of text for many other people, and this is why sage advice from experienced typographers is usually very handy, but in this case, he's complaining about something that each individual developer has to manually opt into. This is outside the realm of normal typography that he has authority in. The editor settings of an individual developer are extremely personal. Developers don't follow trends just for the sake of it. They set up their environment in the way they believe is most productive for them, because they know only their output matters. If an individual developer believes they are more productive with Fira Code, that's nothing a typographer should lose sleep over. If I believe that I'm ten times more productive when I code in _Papyrus_ , that's no one's business but my own.

<comment><USER36> > Developers don't follow trends just for the sake of it.

I disagree with this. The problem with lots of programming tools is the difficulty of judging which options are the best for your use case, _before_ you have the experience of using them for a long time. So there is a real temptation to just go along with what everyone else seems to be doing; since they presumably know the benefits. There doesn't even have to be a real trend; it's enough when there's one in your perception.

I have certainly done quite a lot of trend-following myself. I have used relative line numbering in vim ever since I started using it, simply because the first person I ever saw using vim had that option active. Later, when I found myself doing mental arithmetic to get absolute line numbers, I was simply too lazy to make the switch. I have actually only just now gotten around to changing my config.

So someone who is thinking about switching to a ligatured code font might benefit from an article like this, if it turns out that the issues raised would be too annoying for them. If they don't think those will be a problem, however, they can just go right ahead and make the switch.

</comment></comment></comment></comment><comment><USER38> Am I the only one thinking that "www" using Fira Code is unreadable?

</comment><comment><USER39> Interestingly, nobody mentioned Mathematica's (Wolfram langauge) approach of getting Unicode characters into code. "High level" mathematical symbols can be used in Wolfram language all over the place, for instance the arrow → indicating a Rule ([http://reference.wolfram.com/language/ref/character/Rule.htm...](http://reference.wolfram.com/language/ref/character/Rule.html)) or ∞ indicating Infinity ([http://reference.wolfram.com/language/ref/Infinity.html](http://reference.wolfram.com/language/ref/Infinity.html)).

As Mathematica inherits the homoiconicity from LISP, ie. the paradigm "code is data", it abstracts the code representation (called "Forms", [http://reference.wolfram.com/language/tutorial/FormsOfInputA...](http://reference.wolfram.com/language/tutorial/FormsOfInputAndOutput.html)). Every shortened code full of greek symbols can be written in a completely similar form in ASCII. Thus it is solely to the Mathematica notebook (a Qt- based GUI) to render the Unicode. The GUI also allows to quickly enter any named symbols with an approach like typing "[ESC] alpha [ESC]" and an α appears (cf. [http://reference.wolfram.com/language/tutorial/SpecialCharac...](http://reference.wolfram.com/language/tutorial/SpecialCharacters- MathematicalAndOtherNotation.html)).

I think this is the right approach: Let the beautification to be done by the code viewers. The approach to enter named symbols probably stems from (La)TeX where one writes "$\alpha$" to get α and is typical to Computer Algebra Systems. For instance, SageMath as well as SymPy allow to define something like a=var("alpha") and render it like α.

<comment><USER40> Been awhile since I used MM, but I do remember this - personally, I like using Fira with my code, but that's because there's a disgusting amount of math in it and it makes the reading a lot easier - your implicit separation between representation and presentation is spot on IMO

</comment></comment><comment><USER41> Somewhat off-topic, but the explosion Unicode glyphs can lead to problems more serious than aesthetics:

Punycode exploit: [https://www.xudongz.com/blog/2017/idn- phishing/](https://www.xudongz.com/blog/2017/idn-phishing/)

Greek question mark: [https://stackoverflow.com/questions/26965331/javascript- pran...](https://stackoverflow.com/questions/26965331/javascript-prank-joke)

Shameless plug: [https://github.com/BourgeoisBear/A-E-S-T-H-E-T- I-C](https://github.com/BourgeoisBear/A-E-S-T-H-E-T-I-C)

</comment><comment><USER42> > The problem is that ligature substitution is "dumb" in the sense that it > only considers whether certain characters appear in a certain order. It > doesn't have any awareness of the semantic context.

True, which is why Iosevka has language-specific ligatures that a sufficiently smart editor (I think the "JS types", like Atom/VSCode, have CSS for this) can use to ligate (?) intelligently.

</comment><comment><USER43> Premise: don't make => look like ⇒, because ⇒ is already a separate thing.

Then later: check out this font I made where 0 looks like Ø.

</comment><comment><USER44> Ignoring the Unicode issues, I installed all of these, switched to the retina version of each in my editor and I found none of them any better than what I had been using (Menlo). I'm certain that YMMV but at least for me, there was no improvement (languages tested with were Ruby, and ERB formatted HTML).

</comment><comment><USER45> Fortress (a dead JVM programming language by Guy Steele) had an interesting approach for special characters:

[https://de.wikipedia.org/wiki/Fortress_(Programmiersprache)#...](https://de.wikipedia.org/wiki/Fortress_\(Programmiersprache\)#Darstellung_des_Quelltextes)

</comment><comment><USER46> Do ligatures really act like one character? I've never encountered not being able to select only the f ro the i in a 'fi'-ligature, but I don't really use ligatures outside of word processing.

<comment><USER29> Some of the ligatures in Fira Code are so radically different from the characters they're substituting, that single-character selection would be incredibly confusing. How would it behave for the characters on the final line of the sample, for example?

</comment></comment><comment><USER47> Ligatures are for personal usage only. If you are doing presentation to me and use ligatures, I will judge you.

<comment><USER40> I would argue it's not a one size problem - I use Fira for machine learning heavy code, which is primarily math, and ligatures for the various multicharacter operators make it more readable. Judge me, fine. But judge me in context please :-)

</comment></comment><comment><USER48> They call it ligatures, but prettifying --> to a long arrow is quite out of scope of historical and practical meaning of typographic ligature. It's abuse of typesetter to scratch one's typography / graphic design itch, no less.

</comment><comment><USER49> I didn't even know those were a thing

But in a monospace font? No. No. No. no. No.

Epicly bad plan to use something like that to display code

<comment><USER50> What's bad about them? (I find the arguments in the link interesting, but not all that convincing)

<comment><USER51> Can't guarantee 80 characters length easily.

<comment><USER37> This isn't a problem with ligatures that are designed to take up as much space as the characters they replace. Fira Code seems to have been designed with this in mind, so for example, the === ligature is exactly three times as wide as a normal character.

</comment></comment></comment></comment><comment><USER39> mnm</comment>


Solar Powered Raspberry Pi Camera - <AUTHOR> https://kaspars.net/blog/solar-raspberry-pi-camera <comment> nevi-me Reading this has reminded me of something I wanted to explore in the past. Most of my applications/requirements for a Pi include GSM, but I've found GSM modules to be very expensive, often being more expensive than the Pi itself.

The author mentions a mobile USB modem, and it's just dawned on me that older 3G/HSDPA dongles are often very cheap. Does anyone have experience using them, especially what power implications they bring?

They do bring a bit of bulkiness on the Pi, and are easy to steal, but then if one can access the modem, the whole Pi might be at risk too.

<comment><USER2> This isn't an answer to your question, but can you tell me more about how you source your sims/data plans?

<comment><USER3> You probably want to look into M2M(machine to machine) plans if you don't plan on using standard telephone features with your device and just want data.

A lot of companies offer this service these days. For example(random googling first result): [https://hologram.io/pricing/](https://hologram.io/pricing/)

is offering M2M sims for $1 per SIM per month + 40 cents per mb.

<comment><USER4> Yeah Hologram is cool but super expensive...

[https://communityphone.org/](https://communityphone.org/)

These guys can beat their prices. and are YC alum.

<comment><USER3> It looks like they don't offer M2M plans, and their cheapest plan appears to be ~$20/month(I guess? I don't see a recurring billing option). Maybe it's the cheapest if you are sending 500+MB of data per month but it seems hologram(or some other M2M sim provider) would be cheaper.

</comment></comment></comment></comment></comment><comment><USER5> The solar panel at $132, accounted for 60% of the total cost (of $220). For a 100W panel, $132 is actually a good price, since it comes out to $1.32 per watt. Regardless, as nanomonkey mentioned, a lower-panel panel (perhaps a 50W one) would likely have sufficed. But even a 50W panel, at $1.32 per watt, would have cost $66.

I'm hoping for the day where we can print solar panels as cheaply as we print paper.

<comment><USER6> Panels are ~30 cents per watt, wholesale. But that's for the larger panels generating 250+ watts that are commonly used for solar farms and distributed generation. 50 and 100 watt panels are manufactured in much smaller quantities and will cost more.

<comment><USER7> And this was a thin RV panel. Easier to mount on a pole than the "I care about $/watt, not weight" panels.

</comment></comment></comment><comment><USER8> 100W solar panel seems like overkill. I'm curious what the minimal size panel one would need for 24 hour usage. Assuming 5 hours of usable sun, it would seem like a 20 W panel would be sufficient.

<comment><USER9> It's not like overkill in the solar panel department is harmful, especially if you're getting cheap chinesium stuff off ebay.

Nothing helps functioning in low-light situations, like overcast and cloudy days, better than excess panel area.

I have a minimally-sized panel I use for powering a laptop and it's rather annoying to have it underpowered in the slightest deviation from ideal circumstances. That same panel for charging smaller devices over USB like phones and tablets is an absolute dream thanks to the overkill, even overcast and cloudy days it never quits charging.

<comment><USER7> What circuit do you use to power the laptop?

<comment><USER9> It's an Allpowers 80W portable panel, which includes power circuits for two USB ports and an 18VDC output.

My laptop accepts the 18VDC input directly. It works fine when the sun is high and sky is clear, as long as I'm not doing anything particularly CPU/GPU heavy.

</comment></comment></comment></comment><comment><USER10> I would absolutely love a kit to do solar + battery for a pi.. this has been one of my dream projects but I know too little about electricity to figure out all the components I need to do solar power, store in a battery, and power a device like a Pi.

<comment><USER11> Just bought exactly that last week.

[https://uk.pi-supply.com/products/pijuice-solar](https://uk.pi- supply.com/products/pijuice-solar)

</comment></comment><comment><USER12> Nice, wouldn't mind trying something like that myself. I'm not sure if we get enough sun though ;)

I put a PiZeroW in our garden as a wildlife camera in an IP68 case with a waterproof USB connector for power, but alas sometimes it possibly overheats or becomes unresponsive and requires switching it off/on again. (It hit around 90C once, I have since added a little heat sink, but not sure how much that helps in a closed case).

I also found I had to slightly overvolt the PiZero in the config to get the camera to function correctly.

I've been trying to see if there's any interesting serial output when it becomes unresponsive by adding an ESP32 to it. But I haven't quite got the hang of programming that yet.

<comment><USER7> Immerse it in mineral oil?

(Not the camera of course!)

Or some kind of external watchdog timer circuit that resets the power if it doesn't get any input for 5 minutes?

<comment><USER12> I hadn't thought of using mineral oil before.

I did actually try the hardware watchdog on the pi for a little bit, I might have to have another look at that again.

</comment></comment></comment><comment><USER13> I guess one purpose of a mobile camera you can implement like that could be perimeter pen testing / red teaming. What did the author use their camera for?

Does the Raspberry Pi Camera have an IR? How is the quality? Why didn't the author bother to hide the Pi and the camera better in the case?

The pricing is dishonest. It first says "$8 Raspberry Pi that supports the camera module." and then later on it mentions Raspberry Pi 3. AFAIK that does not cost $8, and furthermore its missing on the other necessary components such as a microSD card.

I'm using Xiaomi Dafang Hacks [1] right now, as I found that a cheap solution. Approx 25 EUR for the Dafang camera. Its a MIPS machine.

[1] [https://github.com/EliasKotlyar/Xiaomi-Dafang- Hacks](https://github.com/EliasKotlyar/Xiaomi-Dafang-Hacks)

<comment><USER14> There are many different kinds of cameras for the RasPi - some have IR illumination and/or filters removed, others don't. Some allow interchangeable lens, others are "fixed".

Quality can vary depending on the camera. I have a RasPi Zero W camera at my home (monitoring my front door and patio) that runs MotionEyeOS:

[https://github.com/ccrisan/motioneyeos](https://github.com/ccrisan/motioneyeos)

The camera is a tiny thing but 5 MP and color; quality has been very good in my opinion. Better than anything I could have bought at that price point (and certainly less intrusive - so many IP cameras require "cloud services" or something like that to work). Total cost for everything I used was well under $50.00 USD.

A cheaper option, which I am considering playing around with - but not as easy to set up - is this nice little module based around the ESP32:

[https://www.aliexpress.com/item/32964004777.html](https://www.aliexpress.com/item/32964004777.html)

There are a few IP camera projects and github repos out there, but nothing anywhere near as polished as MotionEyeOS, yet.

</comment></comment><comment><USER15> I see a house, why not use the Pi's Wifi instead of a modem?

<comment><USER16> It does use the built-in WiFi to connect to a WiFi network created by the mobile modem I placed at the neighbours house which has a permanent power supply.

I considered using a mobile USB modem attached directly to the Pi but that requires extra effort keeping it connected with something like a cron task that pings 22.214.171.124 and restarts the connection if there is no response.

<comment><USER15> ok, that makes sense. I thought it connects to a 3G/LTE network for internet connection. There are a few Raspberry HAT that offers this -- although that would be extremely costly for a live video feed

</comment></comment></comment><comment><USER17> Lithium ion is so cheap these days I'm stunned this project resorted to using inefficient and out-dated lead acid batteries.

<comment> pi-rat Even if you can manage to find li-ion cheaper, you would need to build a pack of 6+ 18650 cells for comparative capacity. A single Pb is much simpler. Bam, $18, done, a single unit, 80Wh ready to go, super simple to charge too.

It's not like the size or weight matters to him, and it seems his panel is big enough to avoid deep cycling it too often.

<comment><USER16> Exactly. And I haven't found cheap charge controllers that support the voltage range of Li-ion packs (like 12.6V for a 3S pack or 16.8V for a 4S pack).

<comment><USER17> There are actually quite a few well-developed IC's specifically intended for this application. They act both as buck converters for the output device, BMS for the lithium cell / cells, and a charge controller for the cells.

Andreas Spies has a great video on comparing some modern IC's for this -> [https://www.youtube.com/watch?v=KaiQDS9jObY](https://www.youtube.com/watch?v=KaiQDS9jObY)

</comment></comment></comment></comment><comment><USER18> This is a great start but $220 seems expensive for this type of project. Isn't there a less expensive setup possible?

<comment><USER19> A lot of the cost comes from the solar panel. I wonder if it might be possible to use a smaller panel with a battery storage device.

<comment><USER7> And they seemed to use a more expensive thin and flexible panel.

It does make mounting easier and wind load less of an issue.

</comment></comment></comment><comment><USER20> I don't understand the RPi camera. It is lower quality than a webcam of the same price, and it has an awkward connector, so you can't really use it more than a few inches away from the RPi. Why not use a simple USB camera instead?

<comment><USER21> The csi interface doesn't take up as many CPU cycles, so if frame rate and performance is important, or even power consumption, it's better.

</comment></comment><comment><USER22> Wow. This just answered a big question I've been having. I'm starting a farm this year on my parents property. I'd like to remotely monitor it in the most scalable way. With resiliency being key. This is going to do great!

</comment><comment><USER23> Wow surprised at the 100W solar panel. Is that overkill?

Still, very cool project.

</comment><comment><USER24> Fwiw, afaik, cameras are relatively poor measures preventing burglary. By far the most important factor is reinforced windows and doors.

</comment><comment><USER25> That's an expensive way to build a crappy IP cam

<comment><USER26> I'd love a link to a commercial solar powered, weatherproofed, cellular IP Cam with an embedded computer that costs less then 200$

;)

<comment><USER27> And where you know(almost for sure), it has no backdoors ...</comment></comment></comment>


IOS 4 vs. 5, Pixel by Pixel (jp) - <AUTHOR> http://stam-design-stam.blogspot.com/2011/10/ios-5.html <comment><USER2> It's always been interesting to me that the pin-stripe texture made it into iOS and has survived almost 5 years. Apple removed all traces of pin-stripes from 10.5 after toning it down for 10.3 and almost completely removing it for 10.4 So by the time iOS6 is released pin-stripes will have existed in iOS longer than it did in OSX.

<comment><USER3> Pinstripes are older than OS X, they were in the very first Macintosh in 1984. <http://toastytech.com/guis/macos1.html>

</comment></comment><comment><USER4> I wonder why the blog is in Japanese, but diagrams are in English? Have they been copied from somewhere? Not to detract from the topic, of course, but it bothers me when people lift images and artwork from other places without due credit.

<comment><USER5> A couple of blogs (below) give credit to Matsumoto (author of the Japanese blog):

[http://obamapacman.com/2011/10/subtle-differences-of- ios-5-v...](http://obamapacman.com/2011/10/subtle-differences-of-ios-5-vs- ios-4/)

[http://usersillusions.com/post/11948201269/apple-has-made- so...](http://usersillusions.com/post/11948201269/apple-has-made-some-very- subtle-updates-to-the)

And here is a another site discussing the same images without any attribution.

[http://www.ipad2iphone5.com/these-ios-5-changes-are-you- cert...](http://www.ipad2iphone5.com/these-ios-5-changes-are-you-certainly- not-know)

</comment></comment><comment><USER6> The text-shadow on the chat bubbles bothered me from the start. It breaks the "flat text inside a bubble" perception and turns it into a non-sensical 3D effect. It's as iOS5 is going the way of Aqua, against the flow...

</comment><comment><USER7> That is a good illustration of the intense attention to detail that I love about Apple products.

<comment><USER8> Or the intense attention to detail that you love about Takamasa Matsumoto.

</comment></comment><comment><USER9> bizarre- The columns of the home page on iOS5 are no longer evenly spaced, almost certainly on purpose.

<comment><USER10> The purpose is probably to make the home screen symmetrical. Moving the two rightmost columns of app icons two pixels to the right achieves this. Note that previously the outer margins were asymmetrical.

<comment><USER11> But the home screen can be made symmetrical while maintaining the same distance between icons. So the question is why not do that?

Also as far as the outer margins are concerned, the badge extends the right side of the icon, so having the right margin wider was reasonable.

<comment><USER12> I suspect because they're trying to align to some type of grid.

(Even spacing between icons would require 39px of separation, and the odd numbering probably throws something off.)

<comment><USER13> You mean 37 pixels?

(640-(4*114))/5 = 36.8 pixels.

I wonder why they didn't choose this instead:

38+36+36+36+38

That would be most evenly spaced, symmetrical, and compatible with non-retina displays.

<comment><USER14> App titles. You can have less margin on the edge since you don't have to considers the app title length from the other side.

<comment><USER13> Ah, that makes perfect sense.

I guess, this would be pointless:

36+38+36+38+36 (18+19+18+19+18)

since the 2nd and 3rd icon wouldn't get the benefit of the extra spacing.

So the reasonable option would be: 34+38+40+38+34 (17+19+20+19+17)</comment></comment></comment></comment></comment></comment></comment>


The problems and some security implications of websockets - <AUTHOR> https://gist.github.com/subudeepak/9897212

<comment><USER2> "WebSockets is a nightmare because it does not come under the Same-origin policy."

yes, i discovered this myself about a week ago.

i was surprised that i was able to connect to a localhost websocket when using an internal app on another domain. i expected this to fail and require CORS like XMLHttpRequest. after rejoicing briefly that i didnt need to whitelist it and was saving 2min, i was pretty terrified.

<comment><AUTHOR> Note that this is not an implementation problem but a problem in the general specification of websockets. So there is not going to be a solution to this issue until the specification itself is updated.

<comment><USER3> There is mention in the spec: [https://tools.ietf.org/html/rfc6455#section-10.2](https://tools.ietf.org/html/rfc6455#section-10.2)

Is this not enough?

<comment><AUTHOR> The Origin header is used to protect the server. This is to prevent the WebSocket Hijacking attack ([http://www.christian- schneider.net/CrossSiteWebSocketHijacki...](http://www.christian- schneider.net/CrossSiteWebSocketHijacking.html)) . i.e. it does not help a lot in the browser end especially in the mashup scenario.

However, the lack of the same-origin policy in WebSockets makes the presence of the same-origin policy in XMLHttpRequests questionable. I am just talking about this part where the browser does not have to restrict a connection to any origin from a given website without even a need for a CORS like whitelist.

</comment></comment></comment></comment><comment><USER4> Can't a malicious script scan the DOM and send sensitive info via an image GET request anyway?

<comment><AUTHOR> Yes. The malicous scripts can already do that. It has taken years to train people and educate them on adding suitable Content-Security Policy headers to prevent such violations without breaking the internet. Every modern technology (especially the XMLHttpRequest) has been more strict on the SOP. However, to introduce a new technology which is more effective than a simple XMLHttpRequest in such a manner that it does not follow SOP when there is no threat of breaking any existing websites is questionable at best.</comment></comment>


Ask HN:Places to apply for machine learning? - <AUTHOR>

I am currently pursuing my masters in CS with an inclination in machine learning from a reasonably well reputed university. With a reasonable background in AI, I wish to take up a summer internship in a related field. Could people here guide me to apply to places they know for a fact employ machine learning techniques? Any help on this is greatly appreciated. Thanks... <comment><USER2> The big guns like Google, Yahoo, and Microsoft are sure bets. Social networks like Facebook and LinkedIn also have large ML teams and probably have decent internship programs.

Many startups also have similar interships - try <http://ventureloop.com>

</comment><comment><USER3> Obvious choices are big firms with machine learning research groups: Microsoft Research, Yahoo Research, (Google, but I've had a poorer personal experience getting people from there to tell me what they're doing)

You could search for funds and consultancies using machine learning. They are out there.

Check out the sponsors of major machine learning conferences (e.g. ICML, NIPS).

<comment><USER4> research labs typically only hire Ph.D. students as interns, not master's students. an alternative choice might be start-ups who have a need for machine learning (e.g., collaborative filtering for e-commerce). i can't imagine why they would turn down a competent summer intern who didn't ask for equity. perhaps ask around for YC companies who are hiring interns.

<comment><USER5> This is true, but there are plenty of other teams within Microsoft (or Yahoo or Google) that do applied machine learning. You probably won't end up with a publication in a peer-reviewed conference, but you will learn about the state of the art. Of course if the goal is improving your CV for application to a PhD program, that may not help much.

</comment></comment></comment><comment><USER6> I have a friend who was an intern with Siemens in computer vision while preparing for Ph.D. programs in machine learning. I would guess that other companies that build medical imaging tools have similar divisions.

</comment><comment><USER7> Flightcaster - <http://www.flightcaster.com>

Hunch - <http://hunch.com>

</comment><comment><AUTHOR> great replies guys... some very good pointers, especially ventureloop was a great find for me. thanks for the inputs again. probably another area for others interested in the field are domains on finance (like imurray suggested). i found <http://www.cerebellumcapital.com/> pretty cool. but no internships, only jobs.</comment>


Interactively visualizing 1.7 billion stars from the Gaia dataset - <AUTHOR> https://www.omnisci.com/blog/visualizing-1.7-billion-stars-in-the-galaxy-at-the-speed-of-light <comment><USER2> Collaborator here: these visualizations required 4 NVIDIA P40 GPUs (96GB GPU RAM) for full interactivity using a pre-release version of OmniSci 5.0</comment>


BPF Tools – packet analyst toolkit - <AUTHOR> https://github.com/cloudflare/bpftools <comment><USER2> Maybe I'm missing the point of bpfgen. What additional functionality does it provide over tcpdump?

        tcpdump -i eth0 -d dst 127.0.0.1
        (000) ldh      [12]
        (001) jeq      #0x800           jt 2    jf 4
        (002) ld       [30]
        (003) jeq      #0x7f000001      jt 8    jf 9
        (004) jeq      #0x806           jt 6    jf 5
        (005) jeq      #0x8035          jt 6    jf 9
        (006) ld       [38]
        (007) jeq      #0x7f000001      jt 8    jf 9
        (008) ret      #65535
        (009) ret      #0

<comment><USER3> The pcap filter language isn't very powerful. Once you get outside of the primitives it supplies, even very simple things become hard or impossible. The examples here seem to be for doing pattern matching (with wildcards) on portions of DNS query packets. That's definitely in the range of things you can't coerce the pcap filter language to do an even adequate job on.

(I once wanted a pcap filter that matched SYN packets with a wscale option set; it ended up being a 8kB long filter due to needing to handle different ordering of variable sized TCP options. It would have been pretty trivial to do in raw BPF).

<comment><USER2>
        The examples here seem to be for doing pattern matching (with wildcards) on portions of DNS query packets. That's definitely in the range of things you can't coerce the pcap filter language to do an even adequate job on.

Ah-ha, thanks! I've written quite a bit of BPF but haven't dug too deeply into pcap filters. Based on the examples it looked redundant with the pcap language.</comment></comment></comment>


Tiny Core Linux Dead? - <AUTHOR> I've been unable to reach www.tinycorelinux.net for a couple of weeks now. Anyone know what is going on with their site?
I've been wanting to try out Tiny Core. I'm looking for a very lightweight Linux distribution that comes with an up-to-date browser. That's essentially all I need (boot to a browser, preferably a live CD of some kind). Essentially I'm tired of struggling with rust on a system that is built from sources and want to delegate web activity to a VM.
I don't know if Tiny Core will fill that need but I've been unable to even try and now I'm curious. <comment><USER2> I can access it fine: [https://www.isitdownrightnow.com/tinycorelinux.net.html](https://www.isitdownrightnow.com/tinycorelinux.net.html)

<comment><AUTHOR> Well that is an interesting development...

<comment><AUTHOR> I finally got it to load, must have been something on my end.</comment></comment></comment>


The Deadly Global War for Sand - <AUTHOR> https://www.wired.com/2015/03/illegal-sand-mining/ <comment><AUTHOR> Slso:

 _Sand mining: the global environmental crisis you've probably never heard of_

[https://www.theguardian.com/cities/2017/feb/27/sand- mining-g...](https://www.theguardian.com/cities/2017/feb/27/sand-mining- global-environmental-crisis-never-heard)

 _Construction sand shortage leads to development of manufactured sand_

[https://www.worldcement.com/special- reports/16062015/footpri...](https://www.worldcement.com/special- reports/16062015/footprints-in-the-sand-829/)

</comment><comment><USER2> Date: 2015</comment>


Categorized Weaknesses (summary negatives) from State of Haskell 2011 Survey - <AUTHOR> http://nickknowlson.com/blog/2011/09/12/haskell-survey-categorized-weaknesses/

<comment><USER2> Hey, thanks for submitting this to HN :)

There's some discussion going on in the Haskell subreddit[1] for anyone who's interested.

[1] - [http://www.reddit.com/r/haskell/comments/kd2ky/categorized_w...](http://www.reddit.com/r/haskell/comments/kd2ky/categorized_weaknesses_from_the_state_of_haskell/)

</comment><comment><USER3> In practise, I prefer Kazu Yamamoto's cab over cabal-dev, mostly because it leaves the system libs alone, and has the _extremely_ useful uninstall -r.

</comment><comment><USER4> As a Scala user, I'd love such a survey on Scala. @Martin, #typesafe, please?

<comment><AUTHOR> (Summer 2010

<http://www.scala-lang.org/node/6619>

<comment><USER4> Thanks, appreciated, missed that one.</comment></comment></comment>


Is There a Crisis in Capitalism? - <AUTHOR> https://www.gatesnotes.com/Books/The-Future-of-Capitalism <comment><USER2> There is. It's incompatible with the continuing existence of a living planet.

Naturally enough, a billionaire megaconsumer, having bought a moat intended to separate himself comprehensively from physical reality, isn't fussed. But he's a mammal. All mammals live in ecologies, not economies, whatever they tell themselves.

<comment><USER3> On the contrary I don't agree that capitalism is responsible for environmental decline.

If anything environmental decline can be attributed to the form of democracy in which companies control government policy via donations and lobbyists.

The government policy thus serves the interests not of the people but of the companies.

Companies have no interest in anything but furthering their own goals, typically to make money without any attribution of the collateral costs such as environmental vandalism.

This is not about capitalism - it's about broken democracy, subverted to become some weird system of government that serves companies and vested interest above those of the citizens.

Nor are billionaires the cause of poverty. There's plenty of money to go around and plenty of resources to go around with room to spare for billionaires. Poverty exists because governments expend the resources to the betterment of companies rather than the citizens. If we suddenly took all the money from all the billionaires this would make zero difference to poverty because the reasons for poverty have little or no relationship to the existence of billionaires.

<comment><USER4> _> I don't agree that capitalism is responsible for environmental decline

> environmental decline can be attributed to the form of democracy in which > companies control government policy_

These are the same thing everywhere except in theory.

<comment><USER2> Yeah. Capitalism apologists now sound very much like the credulous lefties who made excuses for the Soviet Union's many catastrophes, long after it was manifestly a disaster. A benign idealist version might exist in some Platonic realm, but for now the capitalism we have is a dire threat to all.

</comment></comment></comment></comment><comment><USER5> IMO, and likely in many others' opinions there are simply too many oligopolies in the world. Too much concentration of wealth in too few hands.

People see that the benefit the large majority of the wealthiest people / organizations bring to society is far from optimal compared to their capacity to do so.

I think it's not necessarily that there is an enormous divide between the wealthiest and the poorest. I think the important point is it requires close to an act of God, as a poor person (or just not wealthy), to make the kind of dent most of us want to make in the universe.

<comment><USER5> Replying to my own post :)

I think capitalism at its core: the human traits necessary to wildly succeed in it, are not the most desirable traits to most people. Yet we're optimizing civilization such that we should be striving to achieve them in order to live successful lives.

<comment><USER2> True - it is (very roughly) a Darwinian machine designed to select for traits inimical to the flourishing of ecosystems.

</comment></comment></comment><comment><USER6> > Collier says we're experiencing three big rifts: 1) a spatial divide between > booming cities and struggling small towns ...

Strange then that in the US the "booming cities" are voting for more restrictions on capitalism than the "struggling small towns". Yet this is his primary explanation for a crisis in capitalism?

Does he mean that the crisis in capitalism is caused by its success? There may be something to that. The most vocal protesters against capitalism tend to come from more economically privileged classes, judging by, say, college students versus blue collar workers. The Australian elections and Brexit referendum echoed that pattern. It's as if protesting capitalism is a luxury good.

<comment><USER7> This isn't so strange in a complex world.

When you're struggling to put food on the table you don't have time to philosophise about how a better future would look.

You do have time to do the less coal = fewer jobs for your immediate community math.

</comment></comment><comment><USER8> Capitalism as it was originally imagined - transactions between people- is the best system. Unfortunately money is now transacting itself. With ai and financial instruments as they exist, there is an order of magnitude more wealth tied up in speculation than actually being used by humans. Money from financial gains should be restricted to being used on products, services, and human endeavor.

</comment><comment><USER9> >Ultimately, I agree with him that "capitalism needs to be managed, not defeated."

Says the man that used his monopoly to crush his competition, created embrace/extend/extinguish and become the richest man in the world.

Exciting now that there are no stakes for him he's thinking about others (in both this and his other philanthropic adventures).

<comment><USER10> Have you ever met Bill, and chatted with him for a few hours? I have. I think you'll find he's a geek's geek, with conscience. Thank Ballmer for most of MS's excesses. Ask yourself: is the world a better place due to what he's been able to do, so far? And, one would hope, continues to do through the Gates Foundation? Mostly, please, don't be so quick to throw the first stone.

<comment><USER11> I'm sure your few hours conversation with him overturns the evidence the DoJ managed to collect about their plans for Netscape laid out in emails and memos. Stuff signed by Gates saying "take away their oxygen supply", "crush them" and "knife the baby" in regard to killing Netscape while they were up and coming.

Bill Gates is a bully, and no matter how much money he throws at malaria research to redeem it, the sad bit is that he set the bar for Bezos, Zuck, Kalanick et al to reach and they've largely reached similar heights because over the years the US government has successfully been defanged.

And regarding the Gates Foundation:

> ...there's clearly a conflict of interest that Gates does have that's at > stake here. And that's this, you know, look, if you look at one of the main > problems that the Global South faces right now is that they have a lot of > difficulty paying the patent licensing fees that they need on sort of basic > medicines and technology including for renewable energy access. And one of > the reasons for that is because of the TRIPS agreements, the Trade-Related > Aspects of Intellectual Property Rights, which is an agreement that came > into force under the World Trade Organization in 1994, which basically > massively extends corporate patents law around the world. And Gates has > benefited singularly from that because that's where the vast majority of his > profits come from and what funds the Gates Foundation is rent effectively on > intellectual property.

[https://medium.com/@CitationsPodcst/episode-58-the- neolibera...](https://medium.com/@CitationsPodcst/episode-58-the-neoliberal- optimism-industry-and-development-shaming-the-global-south-cf399e88510e)

<comment><USER12> He was a bully. He really was.

 _Was._

People change in 20 or 30 years. I sure don't want to be judged by some of the things I did 30 years ago, when I was a hypercompetitive jerk (also socially clueless, and a few other things).

And I don't think that the "vast majority" of Gates' profits came from _patents_ in the Global South. It came from _copyrights_ , and primarily in the First World.

<comment><USER13> Not everybody worships wealth. Not everybody buys into the myth of the tech genius/entrepreneurial wizard. Some folks, myself included, don't feel that it's even remotely possible to amass billions in personal capital without doing some truly dirty, nasty, awful things to many other people along the way.

So, frankly, I don't really care that Bill Gates is now a soft sweater-wearing sexagenerian who likes to talk about solving global problems with his ill- gotten gains, instead of a cutthroat corporate executive crushing his competitors and perverting the market in the process. The fact is that one led to the other.

I want to hear less from delusional, egotistical billionaires who think that they themselves can solve the problems we face as a society, and more from our actual, you know, political leaders. I didn't vote for Bill Gates, thank you.

<comment><USER2> I'd always be more impressed by a poacher-turned-gamekeeper who returned his gains and then lived like the rest of us. Continuing to live a megaconsuming existence while consolidating power over fellow humans via 'philanthropy' is just more of the same.

</comment></comment></comment></comment></comment></comment><comment><USER14> Everybody knows the fight was fixed.

The poor stay poor, the rich get rich.

That's how it goes.

<comment><USER15> Nice try Karl Marx, but that simply isn't true, especially in the States.

If you provide value, you will get out of poverty and even get rich. You don't always need money personally to provide value.

<comment><USER16> How do you get the mental resources and education to "provide value"? How do you become resourceful? Simplest way is: Do not be born in a poor family.

On a more narrow level -- if people have to worry about food on the table, the stress itself causes IQ to drop, also in experiments.

Of course there are exceptions, but on a statistical level, poverty is inherited -- because of what you mention, not in spite of it!

<comment><USER17> Two kinds of people in this system. One of them thinks if you work hard you can climb your way out of poverty through your own self determination and hard work.

<comment><USER18> > Two kinds of people in this system.

Three or more if you count more realistic viewpoints.

> Two kinds of people in this system. One of them thinks if you work hard you > can climb your way out of poverty through your own self determination and > hard work.

Self determination and hard work is necessary for success but it doesn't mean much without opportunity. Opportunity is unevenly distributed.

What one person see as value, which creates someone else's opportunity, is often determined by subjective social and cultural factors and isn't always objective or rational.

<comment><USER15> Everything is unevenly distributed. Race, height, money, attractiveness, IQ, etc.

If you are unlucky, you have to work more.

If opportunity doesn't present itself, you go look for it.

</comment></comment></comment></comment></comment></comment><comment><USER19> Is there a country with an economic system other than capitalism that is even remotely competitive with the US?

Saying there's a crisis in capitalism because some people are poor is like saying the Warriors are in crisis because their bench players aren't getting much playing time.

<comment><USER9> We've tended to go to war (hot or cold) with them before they have the chance to compete.

<comment><USER20> And here, I thought war (hot or cold) _was_ competition.

I get that momentum is hard to overcome, but I think a sufficiently competitive system will overcome that barrier and eventually outcompete capitalism as we know it; we haven't found that system yet, though it's theoretically possible we've tossed out some better systems that weren't better enough to overcome the first-mover-after-WWII advantage.

I think the major innovation of the next paradigm shift will relate to how groups of people handle intergenerational wealth (and perhaps some related structural questions), as I think this is the most glaring inefficiency of the American system. This is a minefield of a problem with a lot of naive, popular answers.

</comment></comment></comment><comment><USER21> This is relevant, why did it get flagged??

</comment><comment><USER22> >But no other system comes close to delivering the innovations and economic growth that capitalism has sparked around the world. This is worth remembering as we consider its future.

I ask great authors post this at the start and end of bash of capitalism. It is good we all acknowledge how great markets are, what kind of damage can we do fighting it?

</comment><comment><USER23> Just in terms of definitions, a crisis of capitalism would be the possibility of some sort of collapse, say financial, from too much QE, stock buy-backs and so-forth, or environmental, from climate change, say.

What he's talking about broadly merits being called "problems of capitalism", "injustices of capitalism" or similar labels. These pressing problems but only for those who experience them or those who take the time to discover them.

That said, I think one could say a ruling class that is fairly secure is often ruling class willing to toss some benefits to those below whereas a ruling class that's worried can be a ruling class that grabs everything it can. My feeling is the global ruling class is acting worried.

<comment><USER24> I've always considered myself a capitalist, and 20 years ago I used to be very annoyed by what I considered insufficient appreciation for marketplace competition on the left.

But runaway inequality and the intransigent insistence of people like Gates that said inequality is not a problem has me questioning whether I need to reassess. (In my view the problem with inequality is that political power corresponds roughly to economic power, so unlimited amounts warp our political system.)

If you're losing people like me, maybe a crisis really is on the way.

<comment><USER25> > _I 've always considered myself a capitalist_

Curious as to why? Do you derive your livelihood from your ownership in capital? Or do you have to work, but value private property, markets and liberal economics?

I ask, because when I think of a capitalist, I think of someone whose wealth and power are derived from significant ownership in companies and assets, real or financial.

There are plenty of ideologies that value market economics from the very left to the very right. Examples include market socialism on the left and American libertarianism on the right.

<comment><USER26> Capital is a synonym for wealth and a synonym for property.

Being against capital is a fairly extreme position that has been tried and has a much worse track record.

What people think of when they say capitalism these days is more like kleptocracy or corporationism.

</comment></comment></comment></comment><comment><USER27> My technical background instructs me that when faced with a seemingly intractable problem or unexplainable outcomes - we're asking the wrong questions.

Capitalism is essentially our new religion. Suddenly responsible for curing all ills, but it's simply an economic model.

It necessitates people be productive, but it also inherently directs income from the poorer to the richer. We in the western world redistribute trillions in taxes for social welfare to attempt to offset its natural effects.

As far as creating our utopia, it doesn't help that political solutions designed to help the middle and lower income classes actually can have the opposite effect.

Does making 401k contributions tax deductible, when big banks take a fee on all such deposits, help the middle class save, or does it just more direct tax dollars into corporate profits.

<comment><USER28> 401k by itself is a great idea.

Making it optional, not requiring employer match and allowing fees to run rampant - not such great ideas.

Vanguard is a great example of a low fee fund manager. Many good companies provide strong match and help secure the future of their workforce. But the problem is that these are all optional in the spirit of personal choice and empowerment.

Problem is, to most people these are disempowering because the compulsion to spend is too high. If all make a little less take home, but their retirement accounts are filled like the IRS coffers, overall prices decline because of less disposable income, but in the end, people get to retire.

For those that unfortunately doesn't make it to retirement, it would be good if the accumulated wealth could be inherited and/or donated.</comment></comment>


Antarcticans Database Project - <AUTHOR> http://www.coolantarctica.com/Community/Antarcticans-database-project.php <comment><USER2> My father served two full tours (ie, he was a "winterer") with ANARE, now called the Australian Antarctic Division. Casey and Davis. He was the communications technician.

He loved it. The winterers were carefully chosen to be likely to get along easily, simply because there's not many options if you need to get away. It suited Dad down to the ground -- no need to deal with new people or folk he didn't like. The same small friendly team of people for about 8 months, then a flood of scientists and researchers in summer.

I can't say it would suit me. But Dad has always had a knack for doing technical work in remote places. Me? I'll stick to a New York office, thanks.

My parents have been helpful in so many ways. Not least of which is that if my own life seems boring, I can just talk about theirs.

<comment><AUTHOR> Thank you for sharing this :-)

</comment></comment><comment><USER3> Hi, I'm Paul Ward, CoolAntarctica.com is my site, I found my way here after seeing a traffic spike on that particular page. Interesting to see your comments and glad you find the photo archive interesting. It's been fascinating to compile, contacting all those people who sent in pictures from a range of bases and across 50+ years. It's still ongoing, any more pictures anyone wants to contribute are gratefully received, I've had a couple more offers on the basis of this inclusion already.

<comment><AUTHOR> Hi Paul, found your site after watching a trailer to new "National Geographic" series "Continent 7: Antarctica" at ([http://tvnfo.com/p/1216727](http://tvnfo.com/p/1216727)). Wanted to see some pictures from `Antarctica`. Thank you for a useful website.

</comment></comment><comment> m-i-l My dad worked for the Falklands Islands Dependency Survey between 1958 and 1961, setting up the ionsopheric station at Halley Bay. He then returned to work for the Department of Scientific and Industrial Research, Antarctic Division (New Zealand) between 1962 and 1965, as scientific leader at Scott Base. He had seemingly endless fascinating stories and fantastic photos from his time there. My sister has created a blog with some of these at [https://elw0168.wordpress.com](https://elw0168.wordpress.com) .

<comment><USER3> Thanks for that, I'll add a link to the blog from the Halley page, always fascinating to see stuff from the earlier days of the scientific era.

</comment></comment><comment><USER4> FID here (Wintered at Rothera, currently on base at Halley for the summer season.) There's some great photos on that site!

It's surprising how little has changed over the years, but there is still a special something about the old photos and bases before the day of ready communications to the rest of the world.

</comment><comment><USER5> Is there any way of downloading all the pictures without having to resort to using scrapers? Took a quick look and couldn't find anything

</comment><comment><USER6> This is really about US & UK personnel though.

As as overwinterer on French territory, I'm a bit disappointed the US and UK seized the "Antarctican" name just for themselves without making any other mention of the many other bases, actually.

<comment><USER3> There is no restriction as to where pictures come from or who can join the database personnel lists. Rather than have pages for everywhere that will often remain empty I open up sections as and when people contact me for their base/s and their time in Antarctica. The reason it's USA and UK is that is where people have so far contacted me from, which is unsurprising I guess for an English language website. If you wish to send your details or pictures I will be happy to include them (as long as the pics are reasonable quality!), I only have what people choose to send.

</comment></comment><comment><USER7> What a fantastically interesting rabbit hole (referring to the photo collection itself). The work being performed and related implications have always been of interest to me as well. Thank you for compiling these!

</comment><comment><USER8> My grandfather took 16mm movies when he with ODF; this makes me wonder what happened to those.</comment>


Discord Is Down Worldwide - <AUTHOR> https://status.discordapp.com/ <comment><USER2> Down due to "General Internet Outage" is a pretty bold message. Seems this is related to the route leak that also affected Cloudflare.</comment>