Kotlin 1.0 Release Candidate - <AUTHOR> http://blog.jetbrains.com/kotlin/2016/02/kotlin-1-0-release-candidate-is-out/ <comment><USER3> Too bad that 1.0 will ship without something like Scala Future's. Now you can only have a similar functionality with CompletableStage. It would've been way better to actually have a similar implementation than scala.Future. I mean they wouldn't need Quasar, Akka for basic stuff. However currently you need to stick to Java pendants.

Kotlin has some great things, but overall I still prefer Scala over Kotlin for anything not Android related.

I mean what I would've loved in 1.0:

        - specify Bytecode Level output 6, 7, 8, (9)
        - <USER2>
        - Macros (Big one especially for SQL Libraries really helpful)
        - Buildsystem supported by Jetbrains.
        - Support for all major Java Build Systems directly by Jetbrains

However at the moment, kotlin feels like "here we developed a language which we will use internally and we will do the stuff we need, for everything else, do what you please", while most languages do this, the newer ones actually coming with more stuff, ie. rust has a package manager, a build system (it only lacks libraries, where kotlin wouldn't suffer, thanks to java), golang which has also something like a package manager and a build system and a rich library which has great support for "threading".

i mean on kotlin you could use maven or gradle. however maven is like: <dosomething></dosomething> ugliness. and gradle is okai, but it feels wierd sometimes especially since code highlighting in intellij always feels broken.

currently I'm way more looking forward at jetbrains c# project than on kotlin, kotlin needs to evolve and get some libraries for major stuff. (btw. i'm not totally against kotlin, however I thought 1.0 will bring a little bit more to the table, which actually has more than just "faster" compile times than scala, the jvm is rich and there a lot of great languages built on top of it (even python, ruby, js works on it))

Edit Actually this author also has a good point about the good and the bad: [http://natpryce.com/articles/000815.html](http://natpryce.com/articles/000815.html)

<comment><USER4> There's a library that provides Scala-style futures here:

      http://kovenant.komponents.nl/

Although given Kotlin's transparent Java interop you can as well use Guava's ListenableFuture which is quite good, or indeed CompletableFuture (which I like less).

WRT build systems: both Maven and Gradle are fully supported in Kotlin, with JetBrains provided plugins and IntelliJ knows how to work with them. So I am not sure why you would want more here. You say there's a highlighting issue, but I never saw such a thing, and wouldn't that be a minor IDE bug rather than a reason to develop a new build/package manager from scratch?

Finally, Kotlin avoids macros (compiler plugins) by choice. The idea is the built-in features let you customise the language enough without full blown AST rewriting.

<comment><USER5> There is a great build tool for Kotlin called Kobalt. It is quick, simple, and levrages all of the available maven packages.

Other than being MUCH faster to compile than Scala, kotlin is also much easier to read.

Also, Quasar is fantastic.</comment></comment></comment>


Oxford University: How do you design the library of the future? - <AUTHOR> https://medium.com/@Oxford_University/how-do-you-design-the-library-of-the-future-22d9344e40f7

<comment><USER2> The Bod and in general the wider library system in Oxford (over 120 libraries!) was easily the best part of my undergrad academic life there. Having a dedicated space for studying, open 24/7, within 20m of my room was absolutely liberating and fundamental to the experience.

I sometimes wonder whether I should continue my education somewhere like Oxford, just so I can experience the focused concentration of a library again.

<comment><USER3> > Having a dedicated space for studying, open 24/7, within 20m of my room was > absolutely liberating and fundamental to the experience.

My sentiments exactly. I chose my undergrad college (not at Oxford) for the sole reason that it made particular mention that its library was open 24/7 on its website. I figured it was as good a reason as any, and it turned out great.

I've also had experience with another university in the states that has an open stacks policy–anyone can just walk in and use a desk or read a book, no registration, card swipes or anything required. Absolutely liberating. Instantly made the university so much more welcoming (contrast this to the university I'm currently at where you have to jump through hoops to get a visitor access to the library, and if they're there without someone to sponsor them, god help them).

<comment><USER4> A web search identified Stony Brook as having an open-stacks policy. Are there others? Proximity to such libraries could be promoted by real-estate agents.

Humans are so much more than symbol processing algos. Physical environment and context matter to the creativity which is our primary species differentiator.

Libraries can be viewed as always-evolving local caches. Digital images reduce the latency of discovery, but like travel to a distant land, nothing can substitute for tactile experience and three-dimensional motor memory as anchors of emotional experiences and learning.

<comment><USER5> Many university libraries will allow non-students, or at least they only check for a student ID before and after certain hours.

Even then, it's easy to sneak through if you act like you belong there. Librarians tend not to be the type that try hard to keep people out of a library. If it's actual campus security, that's a different situation.

</comment></comment></comment></comment><comment><USER6> Helsinki is building a new library, to be ready 2017. I think they've taken steps toward future of libraries. With more focus on spaces, and learning. I think this is the key here, if the physical books gets marginalized it should re-branded as a learning space. You can read more about Helsinki library project in English here: [http://keskustakirjasto.fi/en/](http://keskustakirjasto.fi/en/)

</comment><comment><USER7> As someone who has been able to see somewhat the evolution of academic libraries over the past several years from a somewhat outside perspective, I would have to argue that this article does an excellent job of talking about interesting, attractive new directions while carefully tiptoeing around the larger problems, around the actual decline of the academic library.

Yes, libraries often—and increasingly— _have_ great study spaces. They are becoming places for scholars to congregate. They can have staff that are increasingly available to do interesting research and offer interesting information. _Special collections_ libraries also have far fewer problems than normal academic libraries, which is why they tend to be highlighted, as they are here, when talking about how the academic library is not dying: people will always want spaces to store historical treasures, and with exhibition spaces, to display them. This is a matter of both sentimentality and preservation. Yet while these directions offer hope that the academic library might evolve into something new, they do not mean that most of the institution is not dying.

The academic library of the past was _immense_ , because it had to be. Suitable resources to support wide-ranging research take up vast amounts of space, and when those resources were combined into a few locations, wide, diverse groups of scholars would need to congregate there. The result was that, by necessity, academic libraries tended to be giant, central points at universities.

At Caltech, my university now, our obelisk of a main library towers ten stories over our minuscule campus. It is still far too small to have ever held a decent collection. At UCSD, my alma mater, the library is a vast building that the entire campus spreads out around, built upon a giant plinth and so central and iconic that much of the university's image is defined around its appearance. At one point, there were at least nine other libraries there, many of them also quite large and central to smaller regions of the campus. Most have quietly closed.

Academic libraries throughout the world were much the same, or, alternatively, were large networks of small libraries that worked together to supply the immense space and resources required for research and learning. In either case, they invariably took a huge amount of space on campuses, and became central figures in academic life.

And that: the academic library as a vast physical repository of knowledge and vital location of support for research, _is_ dying. To say that the academic library is not dying because some consequences of its construction are thriving is to ignore that the central idea of the academic library _is_.

There is little need now for the vast collections, for the rows of printed and bound periodicals, for the shelves that stretch to the end of one's vision. Yes, libraries can show statistics that their study spaces are more popular than ever. What about their hearts, though? I would guess that stacks now are visited by fewer people than ever, except perhaps the few people who enjoy studying in even emptier, quieter places than dedicated study spaces.

This is largely a consequence of the internet. It applies to special collections too: digitization is becoming ever better, and talking about how some documents with color were once digitized in black and white is ultimately short-sighted. Even for the physical items in normal collections, changes in logistics mean that having numerous universities with repeated, self-serve collections doesn't make nearly as much sense. You see this with things like the UC system's consolidated library facilities: ultra-high density closed stacks designed more like a shipping warehouse than a library, shipping out books to scholars across the state who request them. These, rather than shiny new buildings in the center of campus, are probably the unattractive but efficient future of library stacks.

Yes, much has been said of libraries as study spaces and places to congregate, but think of it this way: if academic libraries had never existed, and you were designing a space for scholars to congregate and for the public to see some exhibitions, as this article is essentially arguing that academic libraries are becoming, would you make it around _300,000 square feet_ , as the library at UCSD is? Would you, as at Oxford, build _over 120 of them_?

We are repurposing these buildings, taking what were originally their secondary purposes and making them the primary ones. And as the primary purpose _does_ die, it causes unpleasant but inevitable changes. At universities throughout the world, there are vast amounts of stack space that will eventually need to be repurposed to something else, and only a small portion will end up being adapted to the purposes of the "new" academic library. Staff to support large physical collections will no longer be needed or sustainable. Universities with library networks will see many libraries die out: the other side of the happy story being told in this article about the new stack space at the Weston is that it is being created as a consolidation of other libraries, not as a space for new acquisitions. Libraries as machines that were once vast and localized are being turned into something more global and more efficient, but also far less attractive to us and far smaller as a whole.

I am quite encouraged by moves to redefine the academic library as a gathering place for scholars, a physical beacon of research and academia in a digital age. I think it's a good concept with great potential, and something that we need. As a central social location, it may be wonderful in fostering scholarly communication, camaraderie and community.

Yet the academic library of old _is_ dying, not evolving. The death needs to be acknowledged, not hidden. It is perhaps better to think of the current situation, as the death and rebirth of the academic library.

<comment><USER8> _if academic libraries had never existed, and you were designing a space for scholars to congregate . . . Would you, as at Oxford, build over 120 of them?_

Yes. At least, in a university that was structured similarly to Oxford.

I think an important point is that Oxford and Cambridge are collegiate universities: undergraduates spend a lot of time in their college, which provides accommodation, catering and libraries; if academic libraries had never existed and I were deciding how many study/congregation spaces to create, I would definitely have one in each college, and in each department.

Oxford has 38 Colleges and 6 Permanent Private Halls, which this accounts for a significant proportion of the libraries. As most colleges and departments have some kind of hall/cafeteria, the number of places in the university serving food may also seem excessive to you.

</comment></comment><comment><USER9> A library. Conducive to productivity and focus. What it's missing is cubes, rows of desks, a pool table, a fridge full of beer and a helter-skelter between floors.

On another note. I went into my new local library for the first time this week. I don't have an office space at home at the moment and will need a space to concentrate for 5 -8 hour spells once or twice a wee soon. The library has a cafe, toilets and free wi-fi. Perfect.

Libraries and the new Starbucks(!)

</comment><comment><USER10> My wife and I sometimes head to our local library for a change of scenery. It's incredibly well designed as a relaxing place to hang out, read and study.

\- Private study rooms, and a conference room anybody can book for free.

\- A dedicated auditorium for lectures, events etc.

\- Children sections are on the first floor, behind a separate wall, keeping the adult areas quiet.

\- Teen section is its own section, behind closed doors. It looks almost like a reference section at a more traditional library, except it's just for teens to hang out in. It too has it's own dedicated section.

\- A cafeteria-like snack, study area. More tables and desks for study. Only you're allowed to eat and drink in this area.

\- The rest of the library looks like a college study area, desks with power, comfortable lounge chairs by bright open windows

\- Periodicals and magazines are next to an open air, casual reclining spot.

\- Well staffed info desks are impossible to miss. They even have teens volunteer to staff special teen desks.

\- They have a bank of computers for people who need to use one.

\- They host numerous events through the week, from minecraft clubs to retrogaming clubs, reading groups, guest lecturers, authors, puppet shows, story time, gardening seed exchanges, lego builds

\- High speed free wi-fi

\- robust support for e-book readers, tablets, streaming music, emagazines, all from the county website.

I'd like to compare it to something else, but I can't really think of anything that's _quite_ like it, and it's amazing. It's a place people actually _want_ to come and it's usually packed. Even in the middle of a work day, when I've gone there when working from home, it's generally full of people and far more pleasant than any coffee shop I've spent time in.

I think the reason they're successful is that rather than just being a warehouse full of organized books, like the libraries I grew up with, the local library system has dedicated itself to being a more general community communication and information resource. They provide space, light, internet (all for free), and let the activities and groups use them for any worthwhile learning activity.

What it's not

\- a community center, people don't rent it out for birthdays or parties

\- a school, they don't provide a school-like resource, it's more like a college study area, the county offers other robust continuing education resources for people who want to take classes (I've taken some and they're well run, rewarding and absurdly cheap)

\- a hang-out, you see plenty of groups of kids, but they're there to share learning experiences, not to hang around killing time</comment>


Phoenix Phrenzy Winners Announced - <AUTHOR> https://phoenixphrenzy.com/results <comment><AUTHOR> This was a contest to show off what Elixir's Phoenix LiveView can do. More about the underlying tech at [https://dockyard.com/blog/2018/12/12/phoenix- liveview-intera...](https://dockyard.com/blog/2018/12/12/phoenix-liveview- interactive-real-time-apps-no-need-to-write-javascript)</comment>


April: An APL That Compiles to Common Lisp - <AUTHOR> https://github.com/phantomics/april <comment><AUTHOR> April is really neat for a few (in my opinion, obvious) reasons. Some highlights:

Like most modern APLs created by "outsiders," April is k-influenced in some of its additions to the language:

[https://github.com/phantomics/april#unique-language- features...](https://github.com/phantomics/april#unique-language-features-in- april)

It's probably the most portable non-ASCII/touchtype APL interpreter outside of the Javascript ones:

[https://github.com/phantomics/april#automatic- installation](https://github.com/phantomics/april#automatic-installation)

(That covers basically every modern system with an MMU, as far as I'm aware.)

I'm not sure if it has a possible audience of both Common Lisp programmers _and_ APL users, or a maximum audience restricted to people who know them both. In any case, it's really cool, even if the collective audience for it is maybe two dozen people.

<comment><USER2> > In any case, it's really cool, even if the collective audience for it is > maybe two dozen people.

Out of curiosity, are you part of that audience? And if so, what was your experience playing with it? Is it a good place to get started with APLs or should I look elsewhere?

<comment><AUTHOR> Great questions!

I wouldn't really say I _use_ Common Lisp (I wrote a few interpreters for a few Lisp dialects as an adolescent, including for CL, but haven't really ever casually used the language itself for anything outside of demonstrating concepts to other programmers).

April is fun to play with, but I wouldn't really recommend it for getting _started_ with APLs. It was missing a few things the last time I played around with it.

The way I'd recommend you learn APL is through J's "Labs" feature, which is effectively an interactive set of lessons inside of the J REPL, written by some amazing people (including KEI himself).

Grab a copy of J (I'd recommend getting a copy from the website, because most distributions I've used package it poorly if at all), then run:

        jx 0

After that, you can basically just go along with what it tells you. They're all listed by number, so if you want to come back to the lesson you're on later, just check what the number of it is. You can even search through them:

        jx ''

will list categories for them,

        jx 'categoryName'

will list the labs within the category.

From there, learning shouldn't be _that_ hard, though learning resources for APL in general still aren't where I'd like them to be.

</comment></comment></comment><comment><USER3> Ah the memories. I attempted to integrate J-lang into Clojure at one point.

Imagine doing

(defn average [coll] (j +/ %#))

And have it run at the speed of C :)

(I failed because I didnt have the patience to sort out all the type-casting)

<comment><USER4> > And have it run at the speed of c

Unlikely; clojure runs on the jvm (or on top of js), and interop with c is slow.

<comment><USER5> If you're on the JVM, and if you're compiling J down to JVM bytecode (much as April compiles APL -> CL -> machine code), and if your data is stored in primitive Java arrays, then you'd get pretty close to C speeds. Or at least J speeds (where J is implemented in C).

That's a lot of conditions, but it's not completely crazy. :)

<comment><USER4> Maybe. Java is quite fast, but for very different reasons than APL; I don't think it would transfer that easily. Part of the reason APLs are so fast is because the interpreter and all the code fit in cache; my copy of k is 76kb. I don't think there's a _chance_ you could get that with the jvm. APL also relies heavily on SIMD, and I don't know how well-supported that is on the JVM.

<comment><USER5> Granted, those are fair points. My copy of J is 42KB, so I understand where you're coming from. :)

There's some support for vectorization in the JVM, e.g. [1, 2], but I suspect it's hit-or-miss.

[1] [https://bugs.java.com/bugdatabase/view_bug.do?bug_id=6340864](https://bugs.java.com/bugdatabase/view_bug.do?bug_id=6340864)

[2] [https://bugs.java.com/bugdatabase/view_bug.do?bug_id=7192383](https://bugs.java.com/bugdatabase/view_bug.do?bug_id=7192383)

</comment></comment></comment></comment></comment><comment><USER6> amazing work</comment>


Tomodo - reskinning websites as-a-service - <AUTHOR> http://tomodo.com/

<comment><USER3> I have some security concerns.

Consider the HN mod. You can try to log in there... [http://hnews.tomodo.me/newslogin?whence=news](http://hnews.tomodo.me/newslogin?whence=news)

That form does post but not to HN.

<comment><USER4> This is without doubt a reason for concern.

To be fair to them, however, the security of this platform is comparable [1] to that of many users who are willing to download (and update) arbitrary Greasemonkey scripts and browser plugins to achieve the same thing without ever a glance at the source.

For those of us who might perform such an inspection there is, of course, a difference.

Their comment (from their FAQ page) is:

> Can I trust modified sites with my private information? What about my logins > and passwords?

> We care about, and do a great deal to ensure our users' privacy and > security. You can trust our service in the same way you trust your emails > with Gmail or files with Dropbox. Trust is at the essence of our platform.

> If you write a Mod yourself, you can be 100% certain it is secured and your > data is protected.

> We constantly review Mods that have been created to make sure they are safe > to use. If we have even the slightest doubt, the Mod is immediately > suspended. In addition, in case of reported abuse, the Mod in question is > immediately removed.

[1]: With rather some counterpoints and nuances of course, from lack of SSL cert identity (hell they don't even have HTTPS) to potential compromise of Tomodo's servers at any time.

Edit: Also, supposedly, code sharing and review features are on the way - <USER2> the caveat of still having to place some trust in Tomodo, this might allow for more transparency. Similarly, given the nature of the mods, it might even be possible to throw up one's own self-hosted server/service to use Tomodo mods. Should be fun to find out. :)

</comment></comment><comment><AUTHOR> Discovered via [https://news.ycombinator.com/item?id=6172027](https://news.ycombinator.com/item?id=6172027)

</comment><comment><USER5> This is a nice idea. But it has some flaws.

I can't open links on this site via middle click as a new tab, because the links aint links, they are divs. Why? Totally annoying.

How is the selection of the mods on the frontpage made? I tried two, both were a bit strange. Imdb with rottentomatoes has strange layout issues, the tomato- icon is not aligned at all (on my machine). [1]

xkcd with swipe greets with a black overlay instead of doing the UI right and next is in the wrong direction... though the animation itself works nicely. [2]

On both of these, the big banner at the bottom is highly irritating. Yes, it can be collapsed, but normally if I encounter such a thing I leave the site immediately. The banner should be collapsed by default.

Below was mentioned FB is used as a comment-system, which would explain why it doesn't load for me (Disconnect installed). That is indeed a nogo.

And especially if the business model involves adding ads to the original page i highly doubt that will survive the copyright lawsuits...

Addition: The Terms of Use are very questionable, combined with the privacy policy it says that the user would be made responsible for the copyright violation and the private information of the user would be shared in that case.

[1] [http://www.rottenimdb.tomodo.me/title/tt1931533/](http://www.rottenimdb.tomodo.me/title/tt1931533/)

[2] [http://xkcd.tomodo.me/](http://xkcd.tomodo.me/)

</comment><comment><AUTHOR> I'm as conflicted about copyright as the next wannabe, but this FAQ entry is either incredibly optimistic or incredibly naive:

> What about copyrights and terms of use? > Since websites have the ability to > opt-out or ask to have specific Mods suspended, we are safe here. In > general, website owners should be kept happy if you want your Mod to really > thrive and be used by many.

( [http://tomodo.com/#faq](http://tomodo.com/#faq) )

The scenario I am thinking of is, of course: skin site, add adverts, don't tell the site owner. They notice n weeks later. Do they just block you (robots.txt-style or explicitly) or do they also sue for lost revenue?

<comment><USER6> Is it a breach of copyright to open a site in an iframe? What about using greasemonkey or adblock on a site, would that be copyright infringement?

<comment><AUTHOR> You're not publishing the site to anyone else in those cases (well, depends what you're doing with the iframe).

Copyright is (in theory) about copying, yes, but it's most commonly used in anger due to publishing/republishing.

<comment><USER7> Given the fact you can modify and add your own content, it does become a grey area. If it was simply re-skinning via CSS and JS, it wouldn't be nearly as alarming.

</comment></comment></comment></comment><comment><USER8> Pretty fun. Made a layered HN concept with comments on right. Not very functional, but you get the idea.

[http://ycombinator-tmp2669.tomodo.me/](http://ycombinator-tmp2669.tomodo.me/) (click on a story)

<comment><USER9> I really liked [http://newsycombinator.tomodo.me](http://newsycombinator.tomodo.me) with the favicons posted by citricsquid (see below).

</comment></comment><comment><USER10> How does this differ from a browser addon like GreaseMonkey that adds custom Javascript on page load? This seems like the same idea, only using custom (*.tomodo.me) urls and with Javascript pulled from a third-party server rather than my local machine?

<comment><USER11> Same idea, except with this product you can share your modification across machines and users without making everybody install your plugins on their client.

</comment></comment><comment><USER12> I use Stylish and Grease Monkey to "fix" my favorite sites. Sometimes I find browser extensions that do that. I don't need to settle for less when I can make it how I like it.

</comment><comment><USER13> What is it? The page contains no information (browsing on a phone).

<comment><USER14> You aren't kidding, their mobile site isn't good. The service exists as a proxy between the user and the destination website that loads modifications (javascript, css) and applies them to site. A server side version of userscripts is a reasonable way to explain it, here's an example of adding favicons before submissions on hn: [http://newsycombinator.tomodo.me/](http://newsycombinator.tomodo.me/)

Here's their site with the mobile stylesheet disabled (how meta!): [http://tomodomobile.tomodo.me/](http://tomodomobile.tomodo.me/)

</comment></comment><comment><USER15> Interesting: it include the ability to include jQuery (1.72) and Bootstrap (2.0.4). Why the old versions? (Looks like I can add my own newer versions, but still...)

</comment><comment><USER16> Commenting on designs requires Facebook...

</comment><comment><USER17> Mobile site is useless.

</comment><comment><USER18> nice :-)</comment>


Google admits trouble selling expensive Pixels - <AUTHOR> https://www.theverge.com/2019/4/29/18523162/google-pixel-3a-sales-lead-up-announcement-smartphone-competition <comment><USER2> Expensive phones are really a status symbol in the same way that clothing labels are a status symbol. The fix for Google is to design the phone so that people can tell it's an expensive phone vs a $200 phone.

Google has too many engineers in the marketing department. Engineers want to make a phone other engineers will love. The problem is that there are not enough engineer types that will buy a $1000+ phone. Make it a status symbol and watch the sales grow.</comment>


Medium Launches Snapchat Stories, but for Medium - <AUTHOR> https://www.wired.com/2017/03/medium-series/ <comment><USER2> Positive: your content does not go away after 24 hours and your followers are supposed to get a mobile notification when you update a story Negative: this entire feature is on the mobile app only. Extremely anti-web...

</comment><comment><AUTHOR> "Series is very much a Medium product, a spare and empty place for you to fill with text and images, but there's a dash or two each of Instagram, Snapchat (more like five or six dashes of Snapchat), Periscope, Twitter, even news apps." aka cocktail.</comment>


Microsoft pays, literally, for Bing's bigger market share - <AUTHOR> http://www.techflash.com/seattle/2010/02/microsoft_pays_the_price_literally_for_bings_bigger_share.html

<comment><USER2> "If we grow share, we will grow our way into profitability"

We lose money on each unit, but make it up through volume.

<comment><USER3> As much as I agree with these obvious concepts, and I don't think any such model on its own is sustainable, there is a caveat. The model of potential financial success on the project _could_ be more complex than simply price times units.

Using the Microsoft example, their traditional business lines are clearly not as easily profitable as they used to be. Their options are basically: Hunker down on their main products and innovate or diversify into new revenue streams.

They've generally gone with the latter. Success has been limited (this thread has inspired me to blog about the importance of the Xbox success on Microsoft as a whole). Yet it is still the direction they've chosen.

That brings the discussion to the war with Google over search. They see huge potential profits and markets in the internet, with search and its related advertising revenues being the biggest. It's also a market with a clear market leader, but one who doesn't necessarily have a complete monopoly and can lose customers in a click (aside from custom deals such as search on mobile devices, etc.)

Microsoft probably sees economic value that helps make up for some of the immediate financial loss: Not allowing one company to monopolize any tech- related industry or at least establish a brand and product in a growing market space.

None of these directly compensate for the cash spent, but they do have value. Microsoft _has_ the cash to make long-term investments, and that's how they view search, as a long-term investment.

I feel compelled to be thankful that Microsoft is even bothering. I'd hate to see Google be the only serious competitor in the search space. As nice a company as they may seem, anyone given an absolute monopoly would inevitably cave to some form of laziness or corruption.</comment></comment>


Antiproton Radiation Belt Discovered Around Earth - <AUTHOR> http://www.technologyreview.com/blog/arxiv/27058/

<comment><USER2> Earlier discussion: <http://news.ycombinator.com/item?id=2850191></comment>


Quick and simple editor for cron schedule expressions - <AUTHOR> http://crontab.guru/ <comment><USER2> Personally think this is better: [http://www.corntab.com/pages/crontab- gui](http://www.corntab.com/pages/crontab-gui)

It's visual, just as easy to use, and geared for pros and noobs alike.</comment>


Who Killed Tulum? - <AUTHOR> https://www.thecut.com/2019/02/who-killed-tulum.html <comment><AUTHOR> Boy, I'm sure glad I went 20 years ago before this craziness started... It was gorgeous and nearly empty then.

<comment><USER2> It's always like this, go before the rich ruin it. Same goes for Cuba, if you want to visit, go before it changes</comment></comment>


Show HN: Weekend Project – A Stellar blockchain wallet on the command-line - brown-dragon https://github.com/theproductiveprogrammer/luminate <comment> brown-dragon Hi HN! I've been working with the Stellar blockchain recently and I found it hard to get a simple, open and transparent wallet that would let me keep my accounts on my local machine. So I wrote my own and made it available for everyone.

I've tried to keep the code simple and clean and I would appreciate any feedback. The goal is it should be a simple, powerful wallet that any dev can pick up - be confident how it works and be able to hack in 5 minutes.

<comment><AUTHOR> I don't know Stellar, but I am interested in crypto and blockchain technology.

You say you are working with the Stellar blockchain. But then you say it's a thin wrapper around an API.

Are you doing the crypto (creating private keys, signing transactions) in your code? Looking through the code it looks like you call something called 'stellar-sdk' for it. Which is not part of the repo. I have the feeling the magic is happening in this external code. Which conflicts with the statement that the wallet is "easy to understand at a glance and transparent enough to be easily customized and fully trusted". One would have to also analyze that stellar-sdk: [https://github.com/stellar/js-stellar- sdk/tree/master/src](https://github.com/stellar/js-stellar- sdk/tree/master/src) Something that is _way_ too big to understand easily.

Also, I see some account creation code in your repo. If it is using a blockchain, why is it creating accounts on a service via an API? Can't I have my Stellar assets under control without having an account somewhere?

<comment> brown-dragon The Stellar network is a new-ish blockchain network managed by [https://www.stellar.org/](https://www.stellar.org/)

They provide a REST API for interacting with the network itself and JS/Go/Python/Java standard libraries that can be used. Of these, the JS library is the most developed which is why I picked it.

Using the standard stellar library to connect with stellar is secure and transparent enough. What the wallet does is encrypts and protects your account keys (which are what give you control over your accounts). It does this using `scrypt`([https://www.npmjs.com/package/scrypt](https://www.npmjs.com/package/scrypt)) for PKDF and sodium ([https://www.npmjs.com/package/tweetnacl](https://www.npmjs.com/package/tweetnacl)) for the actual encryption. Having access to the code should show you that there are no backdoors built in, no information being sent across to any third-parties, and so on. This is what people care about when protecting their accounts.

Your second question is also very insightful. Creating accounts is at the heart of Stellar. You cannot start performing any transactions on the network without first creating an account. And, in order to create the account, it needs to be be funded. This is why the wallet allows you to create (and fund) a new account on the network. You can read more about it here: [https://www.stellar.org/developers/guides/get- started/create...](https://www.stellar.org/developers/guides/get- started/create-account.html)

<comment><AUTHOR>
        Using the standard stellar library to connect
        with stellar is secure and transparent enough

How would one know that there are no backdoors or bugs in the library?

<comment> brown-dragon There could be bugs, of course, but the library is open source and developed by the Stellar network team.

Of course you are right in a sense - the core team also should not be blindly trusted. But, because your account is managed by the wallet and stays local to your machine, there is nothing much the library _can_ do IMHO.

<comment><AUTHOR>
        there is nothing much the library _can_ do IMHO

It's code that runs on your machine. What would prevent it to do whatever it wants? Like sending your private keys somewhere? Or using a weak form of crypto to create them so that somebody can guess them?

<comment> brown-dragon That's an excellent point. The only place the library has access to the private keys are during account creation and message signing. Perhaps I should implement both directly in the wallet so it's visible and clear to everyone.</comment></comment></comment></comment></comment></comment></comment>


World War 3 will be because of bad software - <AUTHOR>

Seeing how software is developed and how everyday that goes by our life depends more on it, I'm afraid that the next world meltdown won't be caused by a war but by bad software.
Not only are our lives increasingly dependent of software, everything around us is. Nowadays, even TVs have software updates. WTF?! It won't be soon until even our coffee machine will crash and deprive us from the much needed caffeine. How will we be able to work without coffee?
Honestly, I think the major concern today isn't global warming. We all should care about how good software is! If people burst when they have to ctrl+alt+del their computer just to get back into Facebook, imagine what will happen if you car, pacemaker, whatever crashes.
Seriously. Stop playing pretend engineers.
(Link to post: http://andretavares.com/2012/07/13/world-war-3-bad-software/) <comment><USER2> Haha. I had a chuckle.

Technology handled irresponsibly corrupts. Remember EFNETeers flooding IRC? Or the AOLers chatting?

Proof: <http://bash.org/?21154>

<NickBlasta> asl?

<Cryph> unf?

<NickBlasta> no

<NickBlasta> asl

<Cryph> unf?

<NickBlasta> u want the cyber

<NickBlasta> ?

<Cryph> unf!

<NickBlasta> fap fap

<[H]Klypr8> parlor.asf

<[H]Tongboy> lol, I come back for a minute on accident, and I see what looks like 2 aolers trying to mate

Remember when 133t speak was cool, then became uncool and then proper spelling and grammer became the norm again? SMS has stupified a lot of people - lk u cnt u rd ths. One problem was solved (short messaging) and a bigger problem was created (adults who don't know the proper use of grammar or how to spell).

The same thing is happening in the business sphere - people want software that should know how to do their job. Inventory management? Writing out invoices? Calculating tax? Selling your product?

I believe that dependence on technology to that degree indicates the persons involved aren't capable of running their own business. If you can make a business idea work 'offline' then you have a chance 'online' - otherwise you are just betting the bank.

Good software can't make up for unskilled people. Don't blame the tools, blame the users! (HAR HAR). After all, software is much easier to fix compared to people.

</comment><comment><USER3> Pray there are still smart human beings to override the machines:

<http://en.wikipedia.org/wiki/Stanislav_Petrov>

</comment><comment><USER4> >It won't be soon until even our coffee machine will crash and deprive us from the much needed caffeine. How will we be able to work without coffee?

French press.

</comment><comment><USER5> _Seriously. Stop playing pretend engineers._

As soon as the powers that be recognize that software is a craft, not an engineering discipline.

</comment><comment><USER6> I think the problem solves itself quite elegantly:

"Never trust a computer you can't throw out a window."

\-- Steve Wozniak</comment>


The Problem With Single-threaded Shared Mutability - <AUTHOR> http://manishearth.github.io/blog/2015/05/17/the-problem-with-shared-mutability/ <comment><USER2> Coming from a guy who has no idea of Rust, and since we are talking about memory safety. In a c++ library, we use RCP (reference counted pointers) which dis-allocates on it's own, so we never call naked delete. Does such a thing exist in Rust pointers, because this memory safe feature I'd love to have!

<comment><USER3> Rust has two types called Rc and Arc that have this behavior. When you clone an Rc pointer, the internal reference count increments, and as each clone disappears, the reference count decrements. (Arc works like Rc, but it uses atomic increment and decrement operators, so you can share it across threads.)

Rc: [http://doc.rust-lang.org/stable/std/rc/struct.Rc.html](http://doc.rust- lang.org/stable/std/rc/struct.Rc.html)

Arc: [http://doc.rust- lang.org/stable/std/sync/struct.Arc.html](http://doc.rust- lang.org/stable/std/sync/struct.Arc.html)

<comment><USER4> ... but most of the time you don't need them, because the single-ownership (+ multiple read-only borrowers) model built into the type system already does what you need. There is no 'naked delete' in Rust, deletes are implicitly inserted by the compiler at the point where the owner of a piece of memory lets it go out of scope.

</comment></comment></comment><comment><USER5> Reading such comments on Rust I'm always wondering: are there any plans to make parallel execution a core feature of Rust? Given the safety information that the compiler generates, it should be relatively straightforward to offload "pure" functions to other processors. (Although AFAIR Rust actually had the notion of pure functions initially but dropped it after some time)

<comment><AUTHOR> Not that I know of.

Yes, Rust had purity, then it went away. There are some plans for constexpr- like support which may bring back some purity-like support.

Being a systems language unpredictably using threads sounds like a no-no to me. But I wonder if this could be designed as a compiler plugin or something.

<comment><USER6> How would purity be different in Rust than any function signature without any &mut?

<comment><USER7> Rust functions can still have side effects: they can access unsafely global variables and read them even without unsafe access. They can call libraries that do IO. I.e. they are not referentially transparent.

Constexp would be pure, because they can't rely on ANY external state, in order to be const.

<comment><USER6> OK, fair enough, but it still seems like the rust compiler has enough information to determine whether something is a pure function. It knows whether global or enclosed variables are present and it knows if any of the methods it calls have an &mut ref, which I think is needed even for IO reading

<comment><USER7> Yeah, I think the compiler has enough information to do that, in principle. But there is another problem: Rust has the design principle that every language-enforced invariant should be clear just from the function signature. This has at least two benefits: the compiler doesn't have to reason about the code invariants "globally", which might slow and hard to optimize, and the APIs are clearer and the user doesn't have to know implementation details to reason about them.

If there's going to be some concept of purity, according to the same principle, it'd be something that one could know just by looking at the function signatures.</comment></comment></comment></comment></comment></comment>


Google Apps adds two-factor authentication via SMS - <AUTHOR> http://googleenterprise.blogspot.com/2010/09/more-secure-cloud-for-millions-of.html

<comment><USER2> OK, I've been meaning to ask the HN community about this. Please share your thoughts.

Wouldn't it make a lot of sense for Google (et al) to have this sort of authentication _every_ time you want to change your Google Accounts password? Isn't this a pretty safe way to prevent being locked out should someone gain access to your account?

You may be thinking about costs, but this could easily be a premium service I would gladly pay for! For instance, I could charge $10 to my account, which should allow me plenty of password changes in the future. An intruder may "waste" at most one SMS, since he would not have it and until then Google should not send you any additional SMSs. Does it make sense? If it does, you Googlers in here, please pass it on!

While we're at it... how about extending this to domain registrars? This would be even more critical. I must say it, I'm pretty paranoid and by now it clearly shows. I don't know how you guys have launched successful websites and cope with this lack of safety features. I know I'm rambling, but please speak your mind on this issue.

PS: I realize things are not so bad as they could be, that probably keyloggers are rather hard to plant, etc. But it wouldn't hurt to have these features, and the companies involved would only profit, both financially and in terms of reliability.

<comment><USER3> do you realize 2-factor authentification has nothing to do with changing passwords?

<comment><USER2> Yes. My humble proposal is that it should. Do you think it would be ineffective, or a bad idea? If so, why?

<comment><USER3> Well, since two-factor authentification is required to login into your account to change password, I would think it already applies to password change?

<comment><USER4> I believe ez77 is saying to make it so that the 2 factor auth. comes every time you try to change your password whereas this seems to be designed to only be used the first time you use a computer with an account. I may be mistaken though.

</comment></comment></comment></comment></comment><comment><USER5> I've thought about using this approach, my concern is that SMS is not always "instant". I've had messages take up to 30 minutes to get delivered; it probably does not happen often but it wouldn't take too many occurrences of having to wait for a message on my phone before i'd get irritated.

<comment><USER6> From my limited experience, I think you can pay to have these types of SMS prioritised.

<comment><USER7> I work at an SMS aggregator, and I've never heard of such a thing. SMS are pretty speedy, unless something goes wrong and they get wedged, in which case priority messages wouldn't help you anyway.

<comment><USER6> My limited experience is unfortunately based on online banking: my bank can send me a tan sms faster than anything I've seen.

</comment></comment></comment></comment><comment><USER3> only for paid google apps users currently :(

<comment><USER8> "Standard Edition customers will be able to access it in the months ahead"

(disclaimer: I work on the project.)

<comment><USER2> Hey! I don't mean to "spam" you... but I'd be really interested in your opinion given your expertise and position regarding my original comment. Are keyloggers and the like blown out of proportion? Don't you feel being locked out of your account/domain is a pretty serious security issue for most small players/home users? Please share my proposal at Google! Best.

<comment><USER8> > Are keyloggers and the like blown out of proportion

Keyloggers and password reuse are a real-world security issue. Two-factor authentication provides an extra level of protection against them.

> being locked out of your account/domain .... for most small players/home > users?

The final step of configuring two-factor verification provides you with a list of one-time codes you can print. This provides a back-up way of having codes in case your phone is lost. You can keep these printed codes some place safe like your wallet or safety deposit box.

[http://www.google.com/support/accounts/bin/answer.py?answer=...](http://www.google.com/support/accounts/bin/answer.py?answer=185839)</comment></comment></comment></comment>


Ask HN: Minimal text editor for Windows 10 - <AUTHOR> I have tried various distraction-free editors, but I can't seem to find a basic text editor that has a few, powerful commands and simple design to write the contents, rather than the final form, of the general documents I need to write. I usually have to get them into MS Word, and when I have tried writing 5 to 10 page job proposals with simple formatting and copy/pasting into MS Word, I spend more time cleaning it up than the time it saves. I've used emacs, vim, neovim, nano, left (100 rabbits), sublime, notepad ++, notepad, wordpad, Ulysses, etc. Any suggestions or ones I may have missed trying? Thanks! <comment><AUTHOR> I am actually going to choose writemonkey 2.7. Keyboard shortcuts and very bare but capable interface. Version 3 is much more complicated and is like VS Code with a minimal plugin on top.

</comment><comment><USER2> Are you internet-connected? I would normally use Google docs for this sort of thing. I think there's also an offline extension for Chrome.

</comment><comment><USER3> FocusWriter?</comment>


The Economist starts to innovate (?) - <AUTHOR> http://projectredstripe.com/blog/ <comment><USER2> It's so hilarious the way they keep this stuff at arm's length. They can't say tag cloud without scare quotes (I'm with them there) and yet *they're making one*.

</comment><comment><USER3> They could start with customized feeds based on a section or topic of the magazine, (maybe a feed of the leaders each week) you'd think you would get something decent for $100/yr :P guess not.</comment>


Don't give access to your beta for free, swap it - <AUTHOR> http://blog.frontapp.com/dont-give-access-to-your-beta-for-free-swap-it/

<comment><USER2> This is a pretty stupid idea. I'm already helping you by trying out your buggy beta.

</comment><comment><USER3> So much tunnel vision. Why is there a huge fixed header and footer?

</comment><comment><USER4> All the commenters people saying that beta tester are doing you a favour and sending this is unreasonable are (imo) missing the point. This is a fun way to make beta users feel connected. It makes it feel kind of like beta testing for a friend.

<comment><USER5> _" This is a fun way to make beta users feel connected. Its kind of like beta testing for a friend if you swap them."_

I agree with you completely. I think that the dismissive comments are missing the fact that Front's customers are other startups. This technique would probably have been less successful if their product focused on consumers.

</comment></comment><comment><USER6> I don't really understand why everyone is pooh-poohing this; it's just a more creative way to rate-limit their signups than relying on the usual "you are number 123 on the beta invite list".

</comment><comment><USER7> This doesn't seem like a very reasonable idea. The entire point of beta testing is to fix bugs. The beta testers don't owe you; they are doing you a favour if anything.

</comment><comment><USER8> > Giving your product for free undermines its value.

Not if it's a fucking beta

</comment><comment><USER9> It's a great idea. I want to swap something with you, are you still running this?

</comment><comment><USER10> it's kind of similar to beerware: [http://en.wikipedia.org/wiki/Beerware](http://en.wikipedia.org/wiki/Beerware)

</comment><comment><USER11> Sounds like some kind of new socio-economic order</comment>


Texas Attorney General Password Rules - <AUTHOR> http://portal.cs.oag.state.tx.us/OAGStaticContent/portal/login/help/Login.htm

<comment><USER2> They're not necessarily storing passwords in the clear (though the Texas Secretary of State does[1], so it wouldn't surprise me).

For example, when updating a password on Facebook, they check to see if your new password is similar to your previous one by creating several variants of the new password, hashing them, and seeing if the hash matches any of your old password hashes.

[1] [http://plaintextoffenders.com/post/68152196480/sos-state- tx-...](http://plaintextoffenders.com/post/68152196480/sos-state-tx-us- government-website-businesses)

<comment><USER3> Do you have a source on the Facebook statement? I would be interested in hearing how they create the variants.

<comment><USER2> Ostensibly this is from a FB engineer, in retrospect I realize I don't know how to verify that: [http://security.stackexchange.com/questions/53481/does- faceb...](http://security.stackexchange.com/questions/53481/does-facebook- store-plain-text-passwords#comment84577_53483)

</comment></comment></comment><comment><USER4> Unfortunately these asinine password requirements occur quite often. It's basically an indication that the site itself has poor security, and they're requiring a strong password to mitigate that risk. Also, if they are storing the password in plain-text, then it doesn't really matter how many fucking special characters your users have in their passwords :)

Also, users will just write down the password.

<comment><USER5> Writing down passwords isn't necessarily bad [1].

[1] [https://www.schneier.com/blog/archives/2005/06/write_down_yo...](https://www.schneier.com/blog/archives/2005/06/write_down_your.html)

</comment></comment><comment><USER6> It's kind of a fun working out how many passwords that is.

So letters + numbers + 3 special characters. Our first and last positions can't be special characters, and we can't have the same letters concurrently, so we're in the ballpark of:

62^2 * 64^6 = 264,157,668,573,184 passwords

However, passwords _must_ contain a letter, number, and special character. This means that we can eliminate the entire letters + numbers set, the numbers + specials set, and the letters + specials set:

(62^2 * 64^6) - (62 * 61^7) - (10^2 * 12^6) - (52^2 * 54^6) = 2,261,873,997,098 - Did I get that math right?

That's still a decently large space, but it's small enough to be attackable even if the passwords are hashed.

<comment><USER7> Two trillion? That's pitiful. That could be cracked even if it's hashed with a slow algorithm.

<comment><USER8> assuming you have unrestricted access to the user information, which to me usually means I already have unfettered access to your system, why would I need passwords?

Do many systems allow nearly unlimited attempts? Is this common on some platforms? For all except the most locked down users; single task; it pretty much is three strikes your out, call to fix your access.

</comment></comment></comment><comment><USER9> They're storing passwords in the clear, otherwise they wouldn't be able to enforce the "cannot be too similar" rule.

<comment><USER10> Not necessarily — if you require the user to type in "old password" and "new password" when they change their password then you have both passwords in cleartext at once and can check for similarity.

You wouldn't be able to enforce "cannot be similar to the previous 8 passwords" like that, but they don't.

</comment></comment><comment><USER11> The EXACTLY 8 characters worries me, because it suggests that they are storing the password in plaintext in an 8 character column.

<comment><USER12> Probably stored in 9, 8-character columns, labeled "last_password_1", "last_password_2", etc, given #10.

<comment><USER13> One 72 character column. Why make it complicated!

</comment></comment></comment><comment><USER14> > If you have user ID or password problems, use the following address (place > in the "To" field) to send an e-mail requesting assistance: > firstname.lastname@example.com

This poor guy.</comment>


Kite – Self-hosted app platform built with Docker and Meteor.js - <AUTHOR> http://usekite.github.io <comment><USER2> It would be more helpful if you actually release a product and then show us, I have no idea how serious this is, what is background etc, to even consider allowing you to make my dev environment.

Lean is fine, but this is just too much for my taste.

</comment><comment><USER3> I have been using juju for some time now and I think it does pretty much this and more.

It is a cloud agnostic service orchestration tool developed by Canonical. So of course you're using ubuntu images here but it allows deployment and service integration just like we saw on the video. It does not uses docker but Linux containers which is a level lower on the stack.

The magic happens in reusable components called charms (a bit like cookbooks in chef but with different purposes) which defines the installation logic and hooks to run when you want to integrate another service.

I really liked the concept behind juju and was convinced when I saw how I could deploy and configure a MongoDB cluster with replicasets, shards, config servers and mongos with just a few commands.

Anyone else heard about it? It looks like they're not communicating too much about it. And with Docker becoming the de facto standard now, I don't know how it's going to evolve in the near future.

<comment><USER4> Juju is brilliant for orchestrating your services. Its refreshing to see a S.O.A. approach to configuration management and embraces it rather than having it as an after thought.

@tmikaeld - yeah the vagrant story with juju is an emerging one and great for getting started quickly on your Windows/OSX machine! But when running native, I prefer to use the local provider. LXC is so fast. When combined with BTRFS snapshots you get machines in ms.

</comment></comment><comment><USER5> Looks cool! Any plans to support Meteor apps, since you're already using Meteor? It would be awesome to have a Telescope image!

<comment><AUTHOR> Absolutely! We're huge meteor fans and will be using it for our own projects too.

</comment></comment><comment><USER6> This looks cool, at first. There is not enough information to know if it really is.

How does that work in real life? How do you provide those Docker containers? Just Dockerfiles?

Is it paid or open source? The domain suggest it is open source, but can't be found on your org.

It certainly looks cool, I just want to know more...so that I could know if I should be excited or not. Currently, I am more like "meh, maybe?"

My 2 cents :)

<comment><USER6> I see they have a domain too: [https://usekite.com/](https://usekite.com/).

The part I am interested in is the "automatically" part of the "How does it work?" paragraph.

</comment></comment><comment><USER7> I just want to say that I know these guys personally. They're Lightspeed Fellows this summer (like myself) and work in the office down the hall. These guys work really, really damn hard are doing their best to find a product that is going to deliver the most value to all of you.

<comment><USER8> > They're Lightspeed Fellows this summer (like myself)

Is iit associated with Harvard in some fashion? [http://lsvp.com/summer- fellowships/](http://lsvp.com/summer-fellowships/)

</comment></comment><comment><USER9> Really cool :)

Would love to see a behind the scenes write up or screencast on how this uses Meteor w/ Docker.

<comment><USER10> One of the creators of Kite. We will be doing a lightning talk about Kite at the July Devshop in SF.

<comment><USER6> Will it be recorded so more than 99% of the people could also have some insights? :)

</comment></comment></comment><comment><USER11> BTW, your sign-up form doesn't accept anything other than US phone numbers. Nice of you to at least give an example fake phone number to put in, but not a great way to leave a first impression, even if you think you're only interested in US clients for now (btw I think you should make the phone number optional anyway, I'm sure I'm not the only developer who doesn't appreciate getting dragged out of the flow by a sales call!).

<comment><USER10> You should be able to sign up without a phone number:

[http://usekite.github.io/](http://usekite.github.io/)

</comment></comment><comment><USER12> I have been stalking these guys vigorously since they launched RunKite.com (before it was just Ghost hosting); they're a smart, talented, scrappy bunch. UseKite will definitely be improving my team's workflow and development time.

They have something else up their sleeve, too, which I won't talk about. I say this because they have some really exciting things, and they're someone to pay attention to.

</comment><comment><USER13> Would be nice to know if it's paid or open source.

And the signup form doesn't seem to validate phone numbers correctly.

</comment><comment><USER14> Browsing around the users in the org at [https://github.com/usekite](https://github.com/usekite) also leads to [https://runkite.com/](https://runkite.com/) (Ghost blog hosting).

</comment><comment><USER15> Bowery.io does this and is already avaiable and free. [https://laracasts.com/lessons/bowery-is-pretty-darn- insanely...](https://laracasts.com/lessons/bowery-is-pretty-darn-insanely- cool)

<comment><USER16> Kite is self-hosted.

<comment><USER6> Really, where is that mentioned?

<comment><USER16> Submission + references to 'your own servers' on the website and github.

</comment></comment></comment></comment><comment><USER17> Must not be using links unless its an ambassador to nothing at first. Maybe specifying your own DNS server for the container. Or maybe using --net:container somehow.

</comment><comment><USER18> Shouldn't this link to [https://usekite.com](https://usekite.com) ?

</comment><comment><USER19> Is this open sourced? Or paid? I just signed up but still no word on whether this is paid or not.

</comment><comment><USER20> perhaps it's too soon to announce anything but seems promising</comment>


Greenland Lost 12.5B Tons of Ice in a Single Day - <AUTHOR> https://www.smithsonianmag.com/smart-news/greenland-lost-record-breaking-125-billion-tons-ice-single-day-180972808/ <comment><USER2> [https://news.ycombinator.com/item?id=20597367](https://news.ycombinator.com/item?id=20597367)

[https://news.ycombinator.com/item?id=20606524](https://news.ycombinator.com/item?id=20606524)

<comment><USER3> And there will be many more posts like this. And more denial.

</comment></comment><comment><USER3> It's maddening that this is happening and we could stop it if we collectively wanted to. Crazier still is that the Right appears to have made this a "liberal issue", and therefore revel in making this a joke.

If I was childless I could turn this into a big YOLO party, but I have kids and am heartbroken to have them inherit this mess.

<comment><USER4> I agree with you, but there are lies happening on both sides. And then there are people calling out the lies. At the end you can do nothing but doubt all that you hear.

Take for example the ipcc report that just came out. It is a resounding idea of a bunch of anti meat vegans trying to use climate change alarms to persuade the world into their world view.

It is manipulation at its best. And now I don't care about the the whole climate change drama. It sucks. They are trying to control me.

I will strive for green energy and stuff but not for climate reasons.

<comment><USER5> The anti meat vegans appointed by governments to the _Intergovernmental_ Panel on Climate Change (IPCC) by the notoriously and overwhelmingly anti-meat vegans running governments around the world? Err...

<comment><USER4> Don't rule out the possibility of group think. Some voices get silenced because they don't have an agenda. While others find truth to their opinions in thousands of research.

</comment></comment></comment></comment><comment><USER6> I'll ask the silly question, with all the global warming happening and record ice melting why isn't there more islands being entirely covered by water?

12.5B tons increases the sea level by how much?

<comment><USER7> This is not that hard to figure out: 12.5B tons is about 12.5e9 m3 of water. Earth's diameter is 12700 km. The area of a sphere (Earth is a geoid, sure!) of that diameter is 5e8 km2. 70% of the Earth's surface is water, so only about 3.5e8 km2. If we add 12.5e9 m3, or 12.5 km3, of water to the oceans, that 12.5 km3 will cover a depth of 12.5 km3 / 3.5e8 km2, or roughly 3.8e-8 km, or 3.8e-5 m, or 38 microns, or basically nothing to worry about. It won't add up to one meter until it happens every day for about 2.5e4 days, or about 65 years. I expect glacial melting to mess things up through other means than brute oceanic depth increase. Things like albedo increase, current modification.

This is a stream-of-consciousness Fermi estimate level of precision, so don't expect it to be correct beyond order of magnitude.

</comment></comment><comment><USER8> Dummy question. I leave near the sea. If so many ice is melting why I cannot see the sea rising?</comment>


StatefulSet: Run and Scale Stateful Applications Easily in Kubernetes - <AUTHOR> http://blog.kubernetes.io/2016/12/statefulset-run-scale-stateful-applications-in-kubernetes.html <comment><USER2> Great to see! StatefulSet's are an example of how Kubernetes is enabling applications of all types to run on cluster. This doesn't mean the user can't take zero action to port to Kubernetes, the application needs to be running in a container of course, but it is proof that an application doesn't need to be "12 Factor" to run on Kubernetes.

Essentially I see the world broken down into four potential application types:

1) Stateless applications: trivial to scale at a click of a button with no coordination. These can take advantage of Kubernetes deployments directly and work great behind Kubernetes Services or Ingress Services.

2) Stateful applications: postgres, mysql, etc which generally exist as single processes and persist to disks. These systems generally should be pinned to a single machine and use a single Kubernetes persistent disk. These systems can be served by static configuration of pods, persistent disks, etc or utilize StatefulSets.

2) Static distributed applications: zookeeper, cassandra, etc which are hard to reconfigure at runtime but do replicate data around for data safety. These systems have configuration files that are hard to update consistently and are well-served by StatefulSets.

3) Clustered applications: etcd, redis, prometheus, vitess, rethinkdb, etc are built for dynamic reconfiguration and modern infrastructure where things are often changing. They have APIs to reconfigure members in the cluster and just need glue to be operated natively seemlessly on Kubernetes, and thus the Kubernetes Operator concept [https://coreos.com/blog/introducing- operators.html](https://coreos.com/blog/introducing-operators.html)

You can see more from about Operators in my short KubeCon keynote here: [https://youtu.be/Uf7PiHXqmnw?t=11](https://youtu.be/Uf7PiHXqmnw?t=11)

Overall, great progress in Kubernetes v1.5! Great to see critical features moving from Alpha to Beta.

<comment><USER3> You should remove zookeeper from 2 and move it to 3.

[https://zookeeper.apache.org/doc/trunk/zookeeperReconfig.htm...](https://zookeeper.apache.org/doc/trunk/zookeeperReconfig.html)

That's been out for a while now.

<comment><USER2> Neat. Noted. Although, I can't edit the comment anymore.

</comment></comment></comment><comment><USER4> Yo, make node-local a first class citizen already... This is an area where mesos is a far more suitable choice right now for stateful systems.

<comment><USER2> What is node-local?

<comment> a-robinson I believe krenoten is referring to something along the lines of [https://github.com/kubernetes/kubernetes/issues/7562](https://github.com/kubernetes/kubernetes/issues/7562)

<comment><USER5> And until that lands you can use daemonsets and tag the machines you are treating as pets (if the data is tied to a machine, you need to bring the machine back or lose the data). Agree that local PV is very important.

</comment></comment></comment></comment><comment> 2-m3m3n70 Not familiar with the specific terminology of Kubernetes (pets, sets, etc) but does this allow you configure the shutdown behavior of containers? There's a Mesos feature I saw discussed where you can tell it to ping a endpoint in your application and not terminate the container until it says it is OK / safe to do so - is the same possible in Kubernetes? Want to do a blue-green type deployment pattern but the old application containers cannot be shutdown until all sessions are terminated (maybe even up to 15 minutes).

<comment><USER2> See Pod lifecycle and handler:

[http://kubernetes.io/docs/api- reference/v1/definitions/#_v1_...](http://kubernetes.io/docs/api- reference/v1/definitions/#_v1_handler)

[http://kubernetes.io/docs/api- reference/v1/definitions/#_v1_...](http://kubernetes.io/docs/api- reference/v1/definitions/#_v1_lifecycle)

edit: As soon I posted this I remembered this is a feature; deleted original hack. :)

<comment><USER5> You can use a combination of these to set a long grace period, and then have your pre-stop hook wait for your process to finish (whatever criteria you define as finished).

We chose to set a fixed upper bound to ensure outside administrators can observe the requested grace period when draining nodes or performing maintenance.

</comment></comment></comment><comment><USER6> Is AWS baked yet. In the past the EBS mounts failed to mount. @justinsb i look for you.

<comment><USER7> We've definitely had our share of issues in this area, but we also take them seriously as you can see by the volume of patches that have gone in and continue to go in! With the very latest releases (1.4.7 and 1.5.1) I think we're in reasonable shape on volume mounting. And if you find things - particularly with the newer versions - please report them and we will work to fix them. We found and fixed another edge case recently, which was driven by an unusual real-world scenario (Xen not detaching volumes despite AWS believing them to be detached), and mitigated that. I'm sure we'll continue to find edge cases (and probably a few silly bugs as well), but we're also working on enhanced testing to really stress this area of the code so we can find them faster.

</comment></comment><comment><USER8> Are there examples on how to run something like an elasticsearch or redis cluster in a statefulset ? I think you need to use persistentvolumeclaim,etc..But any actual examples are hard to come by.

<comment><USER9> Here you go: [https://github.com/sapcc/helm- charts/tree/master/openstack/m...](https://github.com/sapcc/helm- charts/tree/master/openstack/monasca)

This is our Helm chart for Monasca, which among other things contains an Elasticsearch. Look for files like "*-petset.yaml" (we are on 1.4 still).

Note of warning though: We are still in the process of migrating stuff to this repo, so the charts in there can be incomplete at least for a few weeks.

<comment><USER8> Hey that's awesome. Will keep track of this.

</comment></comment></comment><comment><USER10> Hey, I'm using quite a few StatefulSets in prod right now, they are working awesome but are there plans to add autoscaling to them?

<comment><AUTHOR> That's awesome! Do you mean autoscaling the pods or nodes?

Disclosure: I work at Google on Kubernetes.

<comment><USER10> Both would be awesome, I am looking at building a stateful set scaling service for my company right now. But before I do that I wanted to make sure it wasn't being released soon. Thanks

</comment></comment></comment><comment><USER11> So I'm trying to dockerize a legacy PHP app that likes to use a config.php file. Would this be of help?

<comment><USER2> For that just use ConfigMaps [http://kubernetes.io/docs/user- guide/configmap/](http://kubernetes.io/docs/user-guide/configmap/)</comment></comment>


Interpersonal skills vs. coding chops - <AUTHOR> I'm pretty frustrated in life right now. I'm at a stage of life - end of college - which should be my prime years for socializing and learning valuable interpersonal skills. But they are also the prime years for gaining coding chops, contributing to open source to get some experience, and so on.
I feel like I'm caught in a catch-22 situation - if I spend all my time coding, then my desire to interact with others (and others' desires to interact with me) decreases - because I become boring due to spending time only in my own skill development. This will have negative consequences - I miss out on opportunities cause nobody is an island. I also have emotional anxiety which impacts my productivity. But if I spend time trying to socialize/trying to make plans/have a few easy-going days, then my skill stagnates and I feel that I'm losing sight of my endgoal (to be a better programmer). Then there will be no use of my network because I won't have the capacity to create anything significant.
To clarify more, my drive to be a better programmer is because I want to have enough skill to create a hugely valuable and profitable startup. I think I've got enough skills to get a decent-good programming job(so I don't need to code 8-10 hours a day for just that) BUT obviously I want to exceed expectations, and win at life. My definition of winning at life is make genuine friendships, make a boatload of money, and not need to work in a conventional company/career.
So, all the above means I want to code 24x7 to be as technically proficient as possible. But spending all that time coding would leave me a boring and lonely guy I think. How do people balance their skill with their time? How do I become smarter and more efficient than I am now, while also becoming more of a fun and attractive personality to hang around with? <comment><USER2> The skill here is to flow in waves -start with socializing completely for days/weeks where you get to warmup, practice, improve your skills etc then get back to coding- again warmup,get fully into coding - while also simultaneously reflecting on the socializing you did, internalizing what you learnt, measuring your performance etc.. repeat the cycle by cutting down the time you spend in this cycle..this way you will reach a day where you can find a healthy balance and ability to switch on/off whenever you want.

</comment><comment><USER3> Balance. Take the long term view.

Your skills don't stagnate because you have the weekends off coding. No one is a 100% efficient human being [the word for that is robot].

My advice would be to set a baseline of working hard during work hours, but also develop habits and routines outside of work hours where you actually attend to the other things you want to do (exercise, hobbies, and socialising).

With that basic balance and limits in place, then you add a little bit more of the thing you want to excel at (in your case coding). By a little bit, I mean maybe an extra hour or two per day, if you have the time and energy.

Your big achievements will probably come from chipping away a little bit each day, and making whatever you work on a little bit better each time you work on it. Not from busting a gut when you are 23 and burning out by 25 [ignore my assumptions about your specific age].

PS, working for a conventional company can be very satisfying, you might just need to try a few different ones until something clicks into place.

</comment><comment><USER4> My 2 cents: Work hard and play hard.

I run a company, but after work a few nights a week I will code for fun, or go out with friends to eat/drink/chat.

I think if in the future you want to "create a hugely valuable and profitable startup" then being a better programmer will certainly help, but the interpersonal skills will also be huge.

Leading a team, steering direction without conflict, managing conflicting interests - you learn these skills in life, not on a keyboard.

PS - why not start a hobby project that encourages you to socialize - an app that reminds you to connect with your friends & suggests common activities :)

</comment><comment><USER5> I think you shouldn't worry too much. I think regardless of your success in coding vs real life fun you'll end up happy if you follow your heart.

Now when you have time to learn, grab the opportunity. Later in life you might spend most of your time talking to colleagues and clients and taking care of your family.

</comment><comment><USER6> You should balance both but coding is not all about writing code, you will have to work with people and requirements, being able to interact with people and also be fun is a trait you need in today's economy.

</comment><comment><USER4> ..also perhaps make this an "Ask HN"</comment>


Train doors require GPS signal to open despite stations being underground (2014) - <AUTHOR> http://www.ciras.org.uk/report-library/train-operations/52131-issue-with-opening-class-377-doors-on-the-thameslink-route/ <comment><USER2> > However, we are aware that there are still occasional problems, which > results in the Driver having to either manually tell the train where it is > via the "location not found" option in the TMS, or in the event of that not > working, using the emergency door release option in the train management > system.

So... we added GPS to the trains so that doors could only be opened at stations. Then, we realised that this was a terrible idea and probably against safety regulations, so we added a function to do this anyways but buried it in menus so it couldn't be accessed in a real emergency.

Sounds like a manglement-directed idea if I ever heard one.

Edit: To clarify, I meant that if there is a manual release for the doors... what's the point of the GPS system?

<comment><USER3> I don't think they made the train. They bought an 'off the shelf' train that had that feature. A small number of Thameslink stations are underground (about 4 out of 30 or so) and so they installed GPS boosters there. Its not that crazy really. Interesting though.

<comment><USER2> OK, so we bought a poorly-designed train with features that we don't need, and so we're going to spend lots of money making the feature work with our incompatible stations. Maybe a little better, but still not very good.

</comment></comment></comment><comment><USER4> > Operation of Class 377 train doors require a (GPS) signal to identify that > the train is in a station to allow the Driver to open the doors. Effectively > this prevents the doors being operated in error when the train is not at a > station and as such is a safety feature of the trains.

Was there some epidemic of doors being opened outside stations that I missed? This smacks of a solution looking for a problem

<comment><USER5> it's more common that the driver opens the doors on the wrong side, or at a short platform opens all the doors instead of, say the first 8

<comment><USER2> Why would it be an issue if you opened more doors than necessary?

I'm assuming that the edge of the platform will always match the edge of a car, and that it is not possible to board off-platform cars (otherwise they wouldn't be off-platform), and that there will be no people in the "off- platform" cars. Otherwise, how would they get off? It seems extremely inefficient to start the train just to move it half its length, then stop it again.

<comment><USER6> Some trains will have 8 cars but stop at some stations with only 4 cars worth of platform. The passengers heading to those station usually knowmto board the first four cars.

The difficulty arises when doors are accidentally opened for all cars at 4-car platforms.

No, the train does not move forwards by 4 cars, it simply stops, passengers board and alight from the front four (including a rush of passengers frommthe back four cars who forgot that their station is a four-car stop), then the train leaves.

</comment></comment></comment></comment><comment><USER7> I can't believe HN is reacting to this as if checking location is a bad idea. It does have an emergency override.

On the underground, particularly during rush hour, doors opening on the wrong side, or in the wrong place, could cause people to fall out of the train onto the tracks, in the dark, and risk serious injury or even death (especially with electrified rails).

And using GPS and repeaters in the few spots where the signal's poor sounds like a practical and cost-effective approach. Given the issues, perhaps they should've implemented it some other way, but it's hardly the ridiculous solution you're all making it out to be.

As superuser2 mentions below, there's even a non-safety reason for this feature: long trains in short stations. [https://news.ycombinator.com/item?id=9203351](https://news.ycombinator.com/item?id=9203351)

<comment><USER8> Using an unauthenticated, jammable signal for a safety critical function is __wrong __, not something dictated by the practicality or expediency of the solution. It is absolutely wrong and stupid. Like Therac stupid.

And as someone mentioned below, there is already a solution for this exact problem; [https://en.wikipedia.org/wiki/Balise](https://en.wikipedia.org/wiki/Balise)

<comment><USER9> Couldn't one "jam" the balise by throwing a large rock at it?

</comment></comment></comment><comment><USER10> I actually experienced this in St Pancras International last week!

The train stopped in the station, but the doors didn't open for a good 5 minutes. The driver issued a statement stating that there'd be a slight delay before the doors opened.

I recall thinking: what possible reason could there be for not opening the doors? Congestion? Electric failure?

Well, turns out it's the most ludicrous one.

</comment><comment><USER11> The only advantage GPS would have is that you don't have to install something (eg, a powered RFID tag) in each station. And yet, they've had to install "GPS repeater beacons" to work around this problem. Sounds like a typical case of bad design.

<comment><USER12> Somebody decided that GPS was a good idea here, and didn't think about problems underground. Silly, but understandable.

Somebody else decided that having doors controlled by location was a good idea here, and didn't think somebody would specify a system that doesn't work at some stations.

At some point during procurement and installation of the equipment you'd think somebody would have raised a red flag. Unless, of course, they were simply told to install GPS equipment, and not why. Or they were told why but nobody listened to them when they explained why it wouldn't work right.

Sounds to me more like bad organization than bad design, although of course it's hard to tell from this distance.

<comment><USER13> The GPS solution should have been shot down on sight - regardless of where in the process it was made up.

The only sensible reason for this is that someone responsible had a friend that sold GPS-beacons.

</comment></comment></comment><comment><USER14> Sigh.

Someone tell Bruce Schneier his new movie plot terror threat[1] is here: someone homebrews a GPS signal transmitter to open all the train doors at rush hour ... preferably on the wrong side.

[1] [https://www.schneier.com/essays/archives/2005/09/terrorists_...](https://www.schneier.com/essays/archives/2005/09/terrorists_dont_do_m.html)

</comment><comment><USER15> Why wouldnt this using something like radio waves in each station from a few sources, wouldnt it be super easy to tell your position fairly accurately with just a few radio sources? I did some googling and indoor localization systems can determine your location down to 3cm, I think that would be way more accurate than the 50m or so I have observed of GPS units while they moves around.

And obviously they would be 10000x louder than the gps signal, so you couldnt lose it unless someone was purposefully interfering with the signal.

<comment><USER16> Or with a balise ([https://en.wikipedia.org/wiki/Balise](https://en.wikipedia.org/wiki/Balise)).

<comment><USER15> This seems like the actual solved answer to the problem, thanks!

</comment></comment></comment><comment><USER17> Just a reminder that stories like these are regularly accumulated and curated by the ACM's Committee on Computers and Public Policy, known as the RISKS Digest. In the pre-web days you might have remembered this as Usenet's comp.risks.

Peter G. Neumann has been moderating this publication online for almost 30 years now. Always interesting reading.

RISKS Digest: [http://en.wikipedia.org/wiki/RISKS_Digest](http://en.wikipedia.org/wiki/RISKS_Digest)

Current Issue and Archives: [http://catless.ncl.ac.uk/Risks/](http://catless.ncl.ac.uk/Risks/)

1994 Book: [http://www.amazon.com/Computer-Related-Risks-Peter-G- Neumann...](http://www.amazon.com/Computer-Related-Risks-Peter-G- Neumann/dp/020155805X)

</comment><comment><USER18> "...and the trains have needed to be rebooted."

Nope. No thanks. Do not need my trains to be so "smart" that the only way to get them working properly is CTL-ALT-DELETE.

Seriously.

<comment><USER19> I once had the opportunity to drive along in a locomotive here in Switzerland. En route, the computer has detected an issue in the engine, has restarted the whole machine and came back up fine.

This happened while driving at 160 km/h and if we had not seen the messages on the screen, nobody would have known.

That was seriously impressive and I wish I could do something like this. Not only did it properly detect the failure, it also rebooted and then came up correctly and still was aware of all the state needed to drive on.

If software works like that, I can live with it being used more and more.

<comment><USER20> I'm not sure if that's impressive, or if I should be scared that trains randomly reboot their engines whilst in motion and nobody seems to care or investigate?! What kind of issue can be resolved by rebooting an engine, exactly?

</comment></comment></comment><comment><USER21> I find it difficult to believe this was all deployed without manual overrides. What about in the case of an emergency?

Also, isn't the first objection to GPS anything usually "it doesn't work well in buildings or around buildings"?

</comment><comment><USER22> I catch these trains every day. People are confused by the warning about a "slight delay" from the driver as we approach the stations. I occasionally say "GPS doors" and everyone who was previously confused instantly adopts a "seriously?!" face. I have NO idea how such a knuckle-headed design flaw can make it all the way through design and build with even minimally aware designers and engineers in charge.

<comment><USER8> Reinforces every stereotype I have about British Engineering(tm), precision watch gears cut with a hacksaw. 400 Hp steam powered lawn mowers. Jaguars.

<comment><USER23> [https://www.youtube.com/watch?v=1EBfxjSFAxQ&t=57](https://www.youtube.com/watch?v=1EBfxjSFAxQ&t=57)

<comment><USER8> thank you.

</comment></comment></comment></comment><comment><USER24> Site seems to be down, here is a text-only cache: [http://webcache.googleusercontent.com/search?q=cache:Z4ZDqEM...](http://webcache.googleusercontent.com/search?q=cache:Z4ZDqEMjgu0J:www.ciras.org.uk/report- library/train-operations/52131-issue-with-opening-class-377-doors-on-the- thameslink-route/&hl=en&gl=uk&strip=1)

</comment><comment><USER25> So what happens in a power failure?

I can see the need and advantage of a system to make sure that only the appropriate doors open at certain stations, but surely this could have been done with information at the local level. Barcodes, NFC, RFID ... to go with sats hundreds of miles in the sky augmented by repeaters is overly complex.

Passengers are not cattle. I don't see why they cannot have local door control when the train is stopped for more than 5/10/15 minutes. The risk of death by idiot openign wrong door surely is less than the risk of death by fire/poison gas/axe murderer, all of which have happened on trains.

<comment><USER26> Your claim needs evidence. A hypothetical murderer could open a door and push people out, no weapon necessary. In a fire, passengers could fall out a door onto third rail.

<comment><USER27> But are those risks less than the risk that in an emergency the doors can't be opened at all and the entire carriage of passengers are effected, eg burnt alive?

The old system of windows that slide down with a handle on the outside of the carriage seemed to work pretty well - hypothetically you could open the door and push people out or fall on the track. Wonder how many times that happened?

</comment></comment></comment><comment><USER28> FFS. A line in the station that the operator pulls up to, and two handles in the cab that have to be operated in sequence and simultaneously. And now the operator can open the doors whenever and wherever necessary, even while the train is rebooting.

Or were masses of people trapped in cars in the _decades_ of operation prior to this, because the operator couldn't figure out where he was and wouldn't/couldn't open the doors?

</comment><comment><USER29> Somebody probably opened the wrong side once and a passenger fell out and sued...

We'll see more positive train control as the technology gets cheaper:

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

It doesn't replace operators, but instead enforces speed limits and stops. It hasn't been implemented in more trains mostly because it's expensive.

</comment><comment><USER30> This was the reason I was given at London Victoria Station for the doors taking a long time to open. Oh for the days when the doors weren't controlled by a computer, and passengers could open the windows -- always a joy when the air conditioning fails.

</comment><comment><USER31> Pastebin of the text [http://pastebin.com/raw.php?i=u4VrqmNe](http://pastebin.com/raw.php?i=u4VrqmNe)

<comment><USER31> Or the PDF published version of the report [https://drive.google.com/file/d/0B-ojoEvI- qk7UW03XzhuRVNzOG8...](https://drive.google.com/file/d/0B-ojoEvI- qk7UW03XzhuRVNzOG8/view?usp=sharing)

</comment></comment><comment><USER32> Sounds pretty secure

[http://www.labsat.co.uk/index.php/en/](http://www.labsat.co.uk/index.php/en/)

lol

</comment><comment><USER33> Whats wrong with an open close button that can only be activated when the train is stationary and brakes are applied?

<comment><USER34> In one of the threads here someone points out that different doors should be opened at different stations (sometimes different sides of the train, I think sometimes not all of the doors on one side).

Which explains why they want it to be location dependent, it doesn't excuse the poor implementation.

</comment></comment><comment><USER35> There are a few issues here.

SDO, CSDE: Firstly, some platforms are too short to fit all of the doors on, especially with the lengths of trains being extended. Thus at some platforms it is necessary to ensure that the first or last doors of the train, or both, are not unlocked.

The London Underground has its own system to do this ([https://en.wikipedia.org/wiki/Selective_Door_Operation](https://en.wikipedia.org/wiki/Selective_Door_Operation) ). Here it appears they decided to use GPS, but the LU almost certainly uses a much simpler (and more reliable system).

Of course, if a GPS fix isn't obtained, you don't know whether you're at a short platform or not, so you can't assume anything.

A related safety issue is whether drivers open the doors on the right side of the train (!). Yes, believe it or not, they sometimes get this wrong. When the London Underground moved to one-man train operation (meaning that the doors were controlled by the driver, rather than by a separate guard), they had some issues with this happening. They responded by introducing a simple, low-level system called "Correct Side Door Enable", which uses an electrical loop by the side of the track in platforms, which is detected by the train and allows the train to determine that a) it is in a station and b) which side the platform is on. This prevents the driver from opening the doors in error.

You can find some information on CSDE here: [http://www.trainweb.org/districtdave/html/correct_side_door_...](http://www.trainweb.org/districtdave/html/correct_side_door_enable.html)

I would guess that the LU's SDO system uses some similar or even interrelated mechanism.

Metro vs. Rail: Note that on metro trains (e.g. the majority of London Underground trains) the doors usually open automatically, whereas on other trains you have to press a button to open the doors once it illuminates. This makes the potential consequences of accidentally opening the doors on the wrong side worse on tube trains, especially when you consider how packed they can get. Whereas with a train like the class 377, a driver would have to unlock the door on the wrong side and then the passenger would have to accidentally open the door on the wrong side. So the consequences of accidentally unlocking the doors on the wrong side is not -that- severe, which makes the apparent difficulty and obscurity of the overrides available to the driver (plus the implication that the drivers aren't properly trained on their operation) all the more ridiculous.

(A particularly curious variant is found on some trains of the Paris metro; the doors try and open as soon as the driver tells them to, but a mechanical latch on the doors prevents it. A passenger has to move up the latch before the doors can open. The latches were probably retrofitted, perhaps to mitigate unnecessary heat loss, but it also serves as a safety measure. This system has the advantage over a button-based system that a malfunctioning microcontroller cannot randomly open a door at inopportune times, though this is a rather academic advantage given that I am unaware of such cases.)

I have myself ridden the 377, and on one occasion I did notice an unusual delay before the doors unlocked, of about a minute, which involved the "door out of order" lamp momentarily flashing on and off a few times, perhaps suggesting some sort of train reboot.

I find the term 'GPS repeater' strange. The nature of GPS would lead me to believe that 'repeating' GPS would be rather difficult, though I could be mistaken. It seems more likely that by 'GPS repeater' what they actually mean is some sort of overriding 'you are at station #27' signal, perhaps implemented much like the LU's CSDE system. The Wikipedia page for SDO seems to confirm this ([https://en.wikipedia.org/wiki/Selective_door_operation](https://en.wikipedia.org/wiki/Selective_door_operation) \- note that 'Thameslink' and 'First Capital Connect' are effectively synonymous).

The idea that not being able to quickly open the doors is a safety issue seems quite peculiar to me. On the 377 and all non-metro trains, all doors are fitted with passenger-operable emergency releases. There are also somewhat anonymous emergency releases which could be operated from outside the train by platform staff. Both such releases are mandated and governed by railway standard GM/RT2473 (which can be found here, along with some rail accident reports referencing it: [https://www.google.co.uk/search?q=gm/rt2473](https://www.google.co.uk/search?q=gm/rt2473) )

That said, there is one way in which the Class 377's doors are implemented in an obviously deficient way: if you hold down the open button before the doors are unlocked, the doors will not open when they are. You then have to release and re-depress the button. In other words, whoever programmed the door erroneously chose an edge-triggered behaviour rather than a level-triggered one. This is in contrast to the buttons on the Class 319 (which the Class 377 is replacing), which behave correctly. I previously ranted about this here: [http://www.devever.net/~hl/train377](http://www.devever.net/~hl/train377)

<comment><USER36> Edge triggered sounds safer to me. It protects against stuck switches due to failure or leaning)

</comment></comment><comment><USER37> > ... and trains have needed to be rebooted.

Since when that default solution to any problem of any device embedded with CPU, is to _reboot_?

Welcome to the digital age!

<comment><USER26> Since the digital age started, aka when CPU was invented. Rebooting and erasing all rewritable memory gets the system into a known good state.

<comment><USER38> Lots of embedded systems reboot themselves when they get into some unknown state. It's the safest thing to do. Microcontrollers are designed to do it automatically in some cases.

People generally don't notice because the system doesn't beep or display a boot message (if it even has a display).

</comment></comment></comment><comment><USER39> Someone in that procurement department should be fired for ordering a door stystem built on faulty, expensive and flawed logic. Yesterday.</comment>


How two bloggers re-purpose centuries-old recipes for modern cooks - <AUTHOR> http://www.washingtonpost.com/lifestyle/food/how-two-bloggers-re-purpose-centuries-old-recipes-for-modern-cooks/2014/12/26/7dc33d5c-7a65-11e4-84d4-7c896b90abdc_story.html

<comment><USER2> I've made some of the recipes from this blog. The macaroni and cheese is particularly easy and tastes delicious.</comment>