Silly Rabbit... Frameworks are for Prototypes - <AUTHOR> http://blog.getify.com/silly-rabbit-frameworks-are-for-prototypes/ <comment><USER2> _Because abstractions are slow. Abstractions are harder for new people to learn from scratch. Abstractions hide necessary details when bug-triaging. Abstractions hand-cuff you into a certain way of thinking about things, a certain way of doing things._

Agreed. For example, you should never use anything above assembly, and especially not high-level languages like C++, Haskell or JavaScript, which are filled with abstractions. Those are fine for prototyping, but for production you should switch to good ol' NASM, only making calls to libraries when appropriate.

<comment><USER3> Assembly!? Kids these days! I start with a fresh copy of the universe everyday for all my coding needs.

</comment></comment><comment><USER4> There is _huge_ value in shared common knowledge, and the efficiency gains you get from using a well-tested, documented and production-hardened framework that has been improved by a hundred other people.

You _are_ reinventing the wheel, slowing yourself down and making maintenance more difficult by creating everything from scratch everytime. I think that's common sense among developers.

<comment><AUTHOR> I am not reinventing "from scratch" every time. I rewrite a bit of light glue code to weave together various bits I copy-n-paste in from previous successful projects. That's hardly "reinventing the wheel".

<comment><USER5> I've heard of this before as "Not invented here" syndrome. Frameworks are powerful as they give all developers a common language and methodology for doing repeatable tasks, meaning that when I need to fix a bug in your code, I know how it is architected and where the code should be because you have used a framework I understand.

Not to mention that these frameworks undergo alot more extensive testing than an average developers code will ever go through. By using a framework you benefit from not having to go through the pain of dealing with all the different browser models and quirks that every version introduces or takes away.

For really advanced or incredibly high performance tasks you might be correct but to me that is the 1% of tasks, for everything else a framework should give you all the scaffolding you need allowing you to instead focus on tasks that add real value into the product/service you are working on.

<comment><USER6> _> Not to mention that these frameworks undergo alot more extensive testing than an average developers code will ever go through. By using a framework you benefit from not having to go through the pain of dealing with all the different browser models and quirks that every version introduces or takes away._

This is particularly what I value in open source frameworks - the hundreds, thousands, tens of thousands, maybe even million of man-hours that have gone into debugging edge cases, cross-browserifying, and finding security holes, stuff I would never be able to replicate on my own in any reasonable time frame. Especially the latter, given the security situation on the internet these days.

My SOP is, stand on the shoulders of giants, unless there's a particular requirement that precludes doing so. Such requirements are rare, most client work actively benefits from use of a framework.

</comment></comment></comment></comment><comment><USER7> Frameworks and libraries are tools of our trade. The reason to use them or not to use them depends on the context. While it is foolish to become a 'Backbone specialist' and look at every project with those eyes; it is equally foolish to dismiss frameworks as prototyping tools.

Lots of frameworks interoperate well and are amenable to customisations. The good ones are more than sufficient for most client needs, even for prolonged production usage.

Most open source frameworks are results of thousands of man-hours of effort by specialists from different backgrounds. Many aspects like security, modularity and functionality are examined by hundreds of eyes. It is perhaps naive to assume that one's knowledge of the domain is so good that they can roll out their own framework much better than what anyone else has produced.

In fact, if that person is so capable, they should be encouraged to post their code for a public review and help others (or possibly be severely critiqued for their questionable design choices).

<comment><AUTHOR> I post all my tools/libraries publicly on github. I would never have so much hubris as to post some "framework" I created for some site as "The Getify Framework" that everyone else should use. That's completely contrary to the message I'm trying to get out.

Ironically, the site I vaguely referred to in the post WAS actually fully open-sourced. But NOT so that people could look at that code and say "Ah, he's saying that I should always do that same thing with every site I build".

<comment><USER7> I get the impression that you perceive building a "framework" as a self- aggrandising exercise created for the sole purpose of standardising software development into creating run-of-the-mill products. Such view would be too hard on the not-so-trivial amount of effort that goes into creating a framework that can be applied to a broad range of use-cases, far beyond what it was originally conceived for.

In fact, the truth is that it is too easy in programming to skip the painstaking effort of reading and adapting to someone else's codebase. It is simply convenient to throw everything away and start from scratch embracing the (in)famous "Not Invented Here" syndrome.

</comment></comment></comment><comment><USER8> You plug your code into a framework. You plug a library into your code.

I think this definition is a good starting point for thinking about the difference between a framework and a library.

<comment><AUTHOR> No definition is perfect. I admit that. But I do think, as you say, it's a decent starting point, to reason about how intrusive/assuming (or not) a piece of code is when we build on it.

</comment></comment><comment><USER9> If your goal is to learn and become a better developer, I agree, forget about frameworks, learn how things are done from scratch, it's fun!

If your goal is to move forward on a complex project adding features instead of re-inventing the wheel for n-th time, use a framework.

<comment><AUTHOR> ...again, the FUD that if you go framework-less, you're automatically re- inventing the wheel. Total B.S.

<comment><USER10> You're not reinventing the wheel but you are essential inventing your own framework.

So there are only 3 possible choices:

1\. reinvent the wheel 2\. use a framework 3\. write your own framework.

This 'light glue code to bind together my libraries' thing someone mentioned. That. That IS a frikkin' framework! And it sounds clunky as hell.

<comment><AUTHOR> First off, you can't just take the label "framework" and slap it on any arbitrary piece of code which works together for one or more tasks. By that logic, every site and app ever written is its own framework.

But...

> You know what I did? I wrote a framework for that site, and I called it "the > site".

The key differences between my "framework" and these popular frameworks:

1\. I'm not holding out my "framework" for that specific site as some general reusable "best practice" for every other site on the planet.

2\. It's highly customized, and customizable, to the specific site. When I don't like how events interact with views, I don't need to worry about forking some general framework project (and creating upstream update nightmares) and hacking into the guts of it to change the assumptions it makes. My "framework" is much thinner of abstraction, and far less convoluted.

Not because my "framework" is better. Just because my "framework" is specific to the task.

</comment></comment></comment></comment><comment><USER11> > jQuery/Dojo/YUI are not a frameworks.

Oh.

<comment><USER12> They are libraries, but they are used so fundamentally, that replacing them in a existing app is a pain, so most of them impose the problems of frameworks too :\

<comment><AUTHOR> The pain of removing jquery is indeed a problem. So I can see the point from that angle. But the bigger point, about how much less assuming they are just by virtue of being included... that's the distinction I cared most about.

</comment></comment></comment><comment><USER13> One way to look at this is that frameworks are like a mechanics shop, or a carpentry shop. They have their own work flow, their own set of tools, etc etc... jQuery and small code snippets are the tools. The hammer, the wrench. When building a site, you don't need the whole mechanic shop (most times) but you need just the hammer. Along with that, a mechanic shop isn't going to work for every case. What happens if you have a mechanic shop and now you are just doing tires. Its not a hard change, but what if instead, you are a mechanic shop, but now you have start building cabinets instead. That mechanic shop isn't going to work. You can't change the lifts to start putting cabinets together.

I think the best way to look at it, is use what you need. You don't need a 140 piece tool set to hammer a nail.

</comment><comment><USER14> I use a CSS framework for [http://www.LiberWriter.com](http://www.LiberWriter.com)

My customers do not care about it _at all_ , except for the fact that the site looks better than if I had done it from scratch. My users probably do not even have any idea what a CSS framework is.

<comment><AUTHOR> ...which "underscore"s the fact that you can make a great site prototype with frameworks (JS, CSS, etc). My claim was not that they have no use. But that you start with them, get a great site, then pull out the re-usable framework stuff and leave the customized stuff that makes your site/app so great.

<comment><USER14> It's not a prototype. It's a business that makes money.

Yeah, if it makes more money, some day, I might consider dedicating some of it to replacing the CSS framework. But it's really, really far down on my list of things to do. There are lots of improvements I could make to the UI without ditching the framework, for instance, that would add real value to my customers, and/or increase conversions.

</comment></comment></comment><comment><USER15> If it ain't loading: [https://webcache.googleusercontent.com/search?hl=en&q=cache%...](https://webcache.googleusercontent.com/search?hl=en&q=cache%3Ahttp%3A%2F%2Fblog.getify.com%2Fsilly- rabbit-frameworks-are-for-prototypes%2F)

<comment><AUTHOR> I've been meaning to rip out the terrible "wordpress framework" from underneath my blog so that it doesn't suck when 20 people try to read it at once.

<comment><USER14> You've been meaning to: but you have other things to do.

It's all about the economics and tradeoffs of different choices, in the end. Sometimes a framework is a good tradeoff, sometimes it isn't, and it depends entirely on the particular set of details involved in any given situation.

<comment><AUTHOR> The fact that I have not taken out the wordpress framework yet (because I've been busy with other "more important" things to do) doesn't mean that NOT doing so is somehow justifiable.

</comment></comment></comment></comment><comment><USER16> Guess this blog is a prototype too, takes very long too load...

</comment><comment><USER17> This article is horrible in so many ways, I don't think Im going to be able to cover the full spread, but here goes:

1) the overall structure of these arguments is "I've found the one true way to work, anyone who works differently is wrong, but I'm just sharing my opinion so you can't critisize me back" aka "I'm right, you're wrong, IMO, neiner neiner neiner"

2) the author claims that for a major site he wrote his own " URL history management, navigation, Ajax'ing of links, templates, events, etc.". And that this is a good thing. He, like framework authors before him, made inevitable design decisions, created conventions and generally created a way of working inside the app. Now people who aren't him are going to have to maintain this work. Instead of giving his client a standard framework that new hires might have experience in, he gave them MyFramework(tm). He has worked against long term maintainability and then congratulated himself for it.

2b) as they learned more, he re wrote based on specific knowledge of his own system. With an established framework, others could have opined, with his self-rolled framework he was a key-man.

3) In his discussion of backbone he throws up an incomplete straw man of "only 2 of 10 know it" then concludes "therefore learning my framework is just as reasonable.". False. First, backbone is extensively documented and almost guaranteed to be easier to learn than a custom rolled framework. Second, time invested by the other 8 in learning backbone is a re-usable skill they can carry with them to their next job, as opposed to time learning your framework that will not transfer. Third, backbone experts are available on call and on demand, if they need to grow the team or you get hit by a bus your client can replace you more easily if the app is written in backbone.

4) Maintenance. Here he claims that his framework is at least as well documented as other frameworks, and implies that it is better documented. He then says it is hard to write good code and good documentation without a framework, so don't be lazy and do it. "it seems many people have trouble building maintainable code without [frameworks]. Don't be one of those lazy people." His example here goes completely against his larger point in any reasonable interpretation. If many people have trouble writing maintainable code without a framework, all else equal, that's a very strong argument for using a framework.

5) pain now vs later. He assumes here that all frameworks are optimized to get going quickly to the detriment of long term maintainability. This is patently false. Django and Ember come immediately to mind as frameworks that explicitly make you do things a slightly harder way because future self will thank you. Some frameworks (Wordpress comes to mind) optimize for getting started quickly, but at best this article is an attack on those.

6) extreme narcissism. "Your boss and your client don't understand our industry, they don't understand how the web platform works. And they will rarely care about such details. They'll never care if you never help teach them by pushing back.".

6 cont) he happily puts his interests as paramount, then disregards the perspectives of others. Managers care about the long term viability of the project and hiring and budget, not just one person's happiness on the project. Instead of saying "they don't care about our industry" perhaps the author should spend more time positing that they are reasonable people whose requests come from reasonable places. They have information and concerns that you don't, stop waiving your hands and calling their perspective invalid.

This article is myopic. Self centered. Selfish. Unnecessarily inflammatory. And, almost entirely wrong from start to end.

<comment><USER18> I thought the article would be a conversation about the value of frameworks versus libraries, opinionated versus generalized. Which is an interesting conversation and worth having. I was very disappointed.

Instead I saw someone proudly bragging about reinventing the wheel and NIH syndrome. Which is mind-boggling.

<comment><AUTHOR> See other comments here about NIH. To attribute my post to NIH mindset is laughable. You obviously didn't read it fully.

I use all kinds of public OSS'd libraries and tools. I just don't use frameworks that prescribe an exact way those should be glued together, nor do I stick my own opinions about how the glue should work out "there" to try and convince others they should do it exactly like I do.

</comment></comment></comment><comment><USER19> I like the article, some nice points.

I think mostly, you want to always know what the limitations of your framework are, and never be afraid to dive into the source of the framework to see why certain things are slow/buggy, etc. If you can do this, you will be in much better shape than 75% of the users using that framework.

<comment><AUTHOR> +1. totally agree with that sentiment.

</comment></comment><comment><USER20> Related material: [http://www.pbm.com/~lindahl/real.programmers.html](http://www.pbm.com/~lindahl/real.programmers.html)

<comment><AUTHOR> total strawman. language abstractions are not even remotely the same as framework abstractions inside of a language. apples and palm trees, at best.

</comment></comment><comment><USER8> By the author's logic, once you're done with building your website, you should remove the browser from below your website.

<comment><AUTHOR> What on earth are you talking about? That comparison is from the looney bin.

</comment></comment><comment><USER21> Without Module Definition "re-use" in JavaScript is just hand-waving. It amounts to re-use of HTML, and nothing more.</comment>


Podcast charts still being manipulated by click farms - <AUTHOR> https://9to5mac.com/2018/10/18/podcast-charts/ <comment><USER2> It's difficult to monetize the network</comment>


How to design a proper USB-C power sink (not the way Raspberry Pi 4 did it) - <AUTHOR> https://people.kernel.org/bleung/how-to-design-a-proper-usb-c-power-sink-hint-not-the-way-raspberry-pi-4 <comment><USER2> Eben is usually responsive. I would love pointers to any acknowledgement this is a correct analysis.

<comment><AUTHOR> Benson Leung (the author of the post) was well known for analysing various USB-C products (cables, etc.) and posting critiques of them on Google+.

<comment><USER2> Yes, I subscribed to his g+ channel. It's because he did such a good job I am interested in Eben acknowledging the underlying correctness of Benson's analysis.

<comment><AUTHOR> Update: apparently Eben has acknowledge the issue and is to be fixed in a future update [1]:

 _Following reports of certain USB-C cables not working with the Pi 4, the Pi 's co-creator Eben Upton has confirmed that not every USB-C cable will power the Pi._

[...]

 _" A smart charger with an e-marked cable will incorrectly identify the Raspberry Pi 4 as an audio adapter accessory, and refuse to provide power," says Upton._

 _" I expect this will be fixed in a future board revision, but for now users will need to apply one of the suggested workarounds. It's surprising this didn't show up in our (quite extensive) field testing program."_

[1] [https://www.techrepublic.com/article/your-new-raspberry- pi-4...](https://www.techrepublic.com/article/your-new-raspberry-pi-4-wont- power-on-usb-c-cable-problem-now-officially-confirmed/)

<comment><USER2> Came here to post the same. Good for him! well done.

</comment></comment></comment></comment></comment><comment><USER3> It's all fun and games until you go into production.</comment>


Ask HN: When did iPhones become so weak? - <AUTHOR> Today has been extremely stressing and weird. But keep that aside, one of the most saddening events happened tonight, my iPhone 6S that I purchased not even 2 weeks back had it's screen shattered, and I mean, like, shattered.
The entire bottom half is gone(sigh) and I have no idea what to do. I purchased it in the US, and have come back to India now, so this makes the situation even worse. I have totally no idea what to do, the drop wasn't even 3-4 feet. My previous iPhone 5 survived a 10 foot drop with minor scratches, and a little bit of a crack. I do NOT have Applecare, I never thought I needed it. :(
It really saddens one's heart to have their phone screen broken. This isn't an anti Apple, or spam thread, I'm just wondering what the alternatives are here? Should I shift to Android or something else now that these have become so poorly built? <comment><USER2> I had a _bad_ motorcycle wreck a couple years ago. I was hit head-on and got to experience the joy of flight momentarily before landing on my back and ass in the road. At the time, my iPhone (4) was in my back left pocket, protected by a heavy duty Otterbox "Defender" protective case. While several of my bones were -- to borrow your term -- "shattered", the iPhone (and case) survived my landing on it (with some speed and force, I might add) just fine. A nurse in the E.R. used it to call my girlfriend and I continued to use it until I bought a 6s when they just recently came out.

On that note, the _first_ thing I did with that 6s was to secure it inside a new Otterbox Defender. They're certainly not the cheapest cases you can buy but they're cheaper than a new iPhone and, to me at least, they're worth every penny.

If it's just the screen and the phone still actually functions, you can get it replaced. That won't be real cheap, either, but it'll be cheaper than a new phone.

I'm sorry that happened to you, it really does ruin your day when that happens.

</comment><comment><USER3> Both Apple and third parties will replace your screen for $100ish. Get a case next time. It has nothing to do with it being "poorly built" \- glass is breakable. It happens.

The 6S isn't likely to be weaker than a 5 (if anything, they improve the strength with pretty much every iteration). How it lands matters a lot more. Hell, I just broke my toe slipping on one step while some people fall down an entire mountainside and get a few scratches.

<comment><AUTHOR> I get that, but my 5 survived a crash, and this didn't even come close, there was a pretty normal landing I would say, but it just shattered. Totally unexpected for it to do so..

<comment><USER3> So? Sometimes you get lucky, other times you don't. A single set of anecdotes isn't any evidence of any sort of widespread difference between the two device classes.

</comment></comment></comment><comment><USER4> As anecdotal evidence, I have had an iPhone since the first model (then 3GS, then 4, then 5) and had never broken the screen (have had many decent drops too).

I have dropped my 6 a couple of times now and cracked the screen both times, from heights that my previous phones would sneeze at. This suggests to me that the current models are more susceptible to smashing.

</comment><comment><USER5> Apart from a couple models of Android phones, one from Moto, one from LG IIRC, that claim to be especially rugged, all phones from top quality OEMs will be about the same. They use the same glass, touch sensors, and displays. iPhones have an advantage in the US because there are a limited number of models and they have a large market share, so repair services are widely available.

Apple almost went to sapphire crystal for screens. But it was unclear how much that would help, compared with the cost and complication of making that much sapphire.

</comment><comment><USER6> The iPhone6 reportedly is more susceptible to bending. That indicates less rigidity and less rigidity would lead imply more susceptibility to screen breakage.

[https://en.wikipedia.org/wiki/IPhone_6#Technical_problems](https://en.wikipedia.org/wiki/IPhone_6#Technical_problems)

</comment><comment><USER7> Most accident prone people I know get heavy duty cases for their phones. Other then that read reviews online before making an investment on your next phone or you can try to mail in your phone to get it repaired via third party.

<comment><AUTHOR> It did have a case. And everyone in the world can have this crash, I mean it wasn't even 4 feet. Totally rekt. I feel my specific piece was flawed, it's impossible for it to break at such low heights, any idea how to get it checked in any manner by an Apple guy or someone?</comment></comment>


Crypto Trading 2018 in Review: I backtested 32 strategies with full year of data - <AUTHOR> https://medium.com/coinmonks/crypto-trading-2018-in-review-17-advanced-15-neural-net-strategies-tested-part-7-d308963d13e9 <comment><USER2> I would be more interested in seeing this applied to the NYSE or anything less volatile.

<comment><AUTHOR> Part of the charm of this market comes from high volatility - go big or go broke. But yes, agreed, results on more stable asset would be more statistically significant and better representation of what returns could be expected.</comment></comment>


Stop Making Sprites - <AUTHOR> http://www.reddit.com/r/web_design/comments/ivkzc/stop_making_sprites/

<comment><USER2> Please don't submit to reddit, then submit the reddit post to HN. Unless the meta-conversion is itself interesting, the original link is better.

[http://www.viget.com/inspire/stop-making-sprites-compass- sas...](http://www.viget.com/inspire/stop-making-sprites-compass-sass-and-png- sprite-generation/)

<comment><AUTHOR> Sorry about that. A copy and paste error. Thanks for the correction.</comment></comment>


Redundant data find – find content-based duplicates covert to hardlinks/symlinks - <AUTHOR> https://rdfind.pauldreik.se/ <comment><AUTHOR> I made a typo and I can't edit anymore - should read "... content-based duplicates and convert to..."</comment>


Opinion: Elsevier are corrupting open science in Europe - <AUTHOR> https://www.theguardian.com/science/political-science/2018/jun/29/elsevier-are-corrupting-open-science-in-europe <comment><USER2> Elsevier have always been like this, it's just that now, with cheap internet globally available and having seen what Napster did to the record industry (indirectly creating Spotify, Apple music, etc.) they're fighting to protect their monopoly with whatever (dirty) tricks they can muster.

As far as I can see, the only things they now provide that hasn't been replicated as a 'free service' is matching editors and referees to submissions, and journals of repute, i.e. publish in Nature and it's a bona fide article, publish on your blog and no-one knows who you are or whether your work was refereed.

To be clear Sci-Hub merely provides copies of work that has been accepted for publication in a journal, it's not a free replacement for the full 'service' that Elsevier and other publishers provide.

<comment><USER3> The biggest thing Elsevier does that requires actual work is final typsetting and editing of your article. They have someone take your preprint submission and take care of the formatting for the final article.

I don't think this justifies their ridiculous fees and business practices, but it is a service they provide that costs money.

<comment><USER4> Elsevier requires a strict format on submissions so it can be put through their typesetting pipeline. There's almost no humans involved in that. Nor do they have professionals that edit the papers.

This is the case for the whole scientific publishing industry.

<comment><USER3> Not true, having just gone through publishing in an Elsevier journal (and not for the first time). There was a person involved, because I discussed several of their edits over the phone. It's partially automated, but there is definitely a person involved doing actual work.

It is _not_ , however, a full blown copy editor - it's primarily just minor changes, fixing formatting, and figure placement etc. Again, I don't like Elsevier, but it's not fair to say that they do _nothing_.

</comment></comment></comment></comment><comment><USER5> This contract is causing outrage in the open science corner of the world. Many people think this is a conflict of interest. And many are unhappy that closed, private infrastructure is being used. In the broader context, hardly a day goes by without a story about problematic public infrastructure contracts. Organised commercial companies always have an advantage over open, transparent, community projects.

Here's my take on the collection of some of this kind of data:

[https://blog.afandian.com/2018/05/five-principles- altmetrics...](https://blog.afandian.com/2018/05/five-principles-altmetrics/)

<comment><USER6> > _In the broader context, hardly a day goes by without a story about > problematic public infrastructure contracts. Organised commercial companies > always have an advantage over open, transparent, community projects._

Can you clarify whether you mean if the open public infrastructure is broken, or has trouble getting contracts? Because if you mean the former, I'd say that arxiv.org has been running just fine for ages.

<comment><USER5> I was drawing wider parallels with processes for public contracts outside scholarly publishing, the "Big four" style government contracts. An endless stream of stories and comments appear here. Eg [https://news.ycombinator.com/item?id=1740428](https://news.ycombinator.com/item?id=1740428)

Edit: not comparing Elsevier to McKinsey per se, but the power imbalance of proprietary vs open.

<comment><USER6> Thank you, that helped me make sense of your arguments and links :)

</comment></comment></comment></comment><comment><USER7> Every student I know already uses Sci-Hub anyway, either directly or through Citationsy Archives ([https://citationsy.com/blog/new-feature-citationsy- archives/](https://citationsy.com/blog/new-feature-citationsy-archives/)). All this does is push everyone further into piracy.

<comment><USER8> That may be a short-term solution but that also does nothing to tackle the rentism problem created by these multinationals. They still own and control the communication chanels and researchers are still obliged to serve the rentier's self-interests to see their papers published for the sake of their career.

</comment></comment><comment><USER9> It looks to be a major miscalculation by the European Commission and they should fix it.

<comment><USER10> It is not a miscalculation, by design the European Commission is proprietary and almost always make proprietary decisions that often have to be corrected by the relative toothless European Parliament.

<comment><USER11> This us by far the biggest criticism that I have of the structures within the EU: far too often the Parliament takes up a position that is friendlier to the citizens themselves, but they are not heard or overpowered in the decision making process by the Comission or the Council of Ministers. Complex processes also help direct attention away from this.

If anything, I wish that the EU structures are reformed into something that resembles a "standard" modern democratic government with a clear balance of powers. But it seems people are preparing to tear it all down and plunge Europe into the next war instead of fixing it.

Oh, and just to finish my rant: even RMS calls for the dismantling of the EU! His argument is exactly that it is too friendly to corporations in his opinion. I came close to walking out of the room in anger when I heard him advocate for that. Don't throw good things away as long as there is a chance to fix them.

<comment><USER12> > Don't throw good things away as long as there is a chance to fix them.

It's like the NIH syndrome, but for politicians.

> _I_ didn't build it, so it sucks. Let's start from scratch, with _me_ > building it!

<comment><USER11> I would put it differently: it is often easier to agitate people to be against something than convincing them of the good of something.

In a democracy, politicians need a power base made up of followers (future voters). The more, the better. And when the right conditions meet, sowing a seed of destructive opposition leads to a plentiful harvest of loyal voters.

Why people fall for this mostly nationalistic rhetoric that opposes the EU is quite complex. I don't think that I have a good enough picture of that to say more about it.

</comment></comment></comment></comment></comment><comment><USER13> The business model of these large publishing companies is not selling access, it is peer review. Science and Nature keep their reputation despite Elsevier because it is notoriously hard to pass their peer review process, and the academic world trusts it.

We may live in a better academic world if rigorous peer reviewing was a full- time paid job. Presumably it would not be difficult to do better than 90% of the current peer reviewing by letting people with full-time experience (and the overview of the state of science that comes with it) do it. It may also solve a couple of other problems with anonymous peer reviewing.

(eventually with ever-more complex methodology and involvement of complex programming routines and tools we still have to get rid of the scientific paper as the main form of communication)

</comment><comment><USER14> This is what the finest lobbyists at the highest level can buy you...

[https://twitter.com/Protohedgehog/status/1005064249763385344](https://twitter.com/Protohedgehog/status/1005064249763385344)

<comment><USER15> That's a bit misleading. Lobbyists have to be registered and controlled in the European Parliament. Of course Elsevier is going to talk to MEPs and try to influence them. I would much rather that process happened under public scrutiny than not.

</comment></comment><comment><USER16> Does it matter? I get the impression that big journal has essentially already lost the war.

The open line of reasoning seems to align well with scientists so I don't a version where it doesn't slowly take over the world.

</comment><comment><USER17> One thing to keep in mind is that none of this, even when it comes to Elsevier, is black and white. Yes, Elsevier has been one of the staunchest opponents of the move to Open Access. And yet simultaneously, Elsevier has made one of the most aggressive pushes into OA publishing. They are likely the largest OA publisher by article volume today. Yes, they have the most to lose with a big shift to OA, but they also have the most to gain. And OA publishing has proven that it can be very very profitable, particularly for Elsevier.

The argument in the piece is largely that Elsevier is a bad actor in the larger academic publishing space, so therefore they shouldn't be given the contract/power to produce reports for the EU about the movement to open access. But even if you hate Elsevier, they are indeed in a position to have a lot of the data needed. Elsevier isn't just a publisher, they're a data company as well. They compile a database of all journals and citations (as do a few others, like for-profit Clarivate and non-profit Crossref). They have bought up a number of analytics companies (Mendeley, Plum), as the article makes note of. So like it or not (and I assume most people don't like it), they do indeed have a huge amount of the data needed for a project like the EU Open Science Monitor.

The argument about conflict of interest is a valid argument, but feels like it's getting overblown in this context. The author argues that Elsevier's CiteScore metric (a competitor with Journal Impact Factor from Clarivate) is biased toward Elsevier content. Except CiteScore isn't being used at all in the Open Science Monitor [1]. They're only using total citation counts that come from a variety of sources. So the author manufactures a conflict of interest to bolster his point that isn't backed up by the facts.

Plum analytics is mentioned as a conflict, except the only data from Plum that's being used is Twitter mentions, so I don't see what the perverse incentive is - nobody would be inclined to use Plum Analytics, they'd just be inclined to game Twitter.

The use of Mendeley readership stats I do find bullshit. That's a clear case of Elsevier pushing the use of their product, and I think that should be removed as a metric entirely. I think most "social" signals should probably be removed, like Twitter mentions, because IMO they're not good indicators of quality at all.

What we really need is some set of metrics that can quantify real-world impact of scientific findings. For social science this would be something like the effect on public policy and societal outcomes. For medicine, something like the number of people in the global population positively impacted. These are really hard things to measure and quantify, but I do think there's a need for something more than citation-based impact metrics.

Disclaimer: I'm a family owner and director of Sage Publications, a private for-profit publisher that does a lot of both paywall and open access academic publishing.

[1] [https://ec.europa.eu/info/sites/info/files/open_science_moni...](https://ec.europa.eu/info/sites/info/files/open_science_monitor_methodological_note_v2.pdf)

<comment><USER18> > And yet simultaneously, Elsevier has made one of the most aggressive pushes > into OA publishing. They are likely the largest OA publisher by article > volume today. Yes, they have the most to lose with a big shift to OA, but > they also have the most to gain. And OA publishing has proven that it can be > very very profitable, particularly for Elsevier.

They made the push into __their version of OA __, the hybrid OA, where they can charge exorbitant rate on top of the subscription, that no author would pay, whereas many journals such as the members of the Free Journals Network[https://freejournals.org/](https://freejournals.org/) do not charge at all. And yes, it is obviously very profitable, so why would they not push it?

> But even if you hate Elsevier, they are indeed in a position to have a lot > of the data needed.

Their date will reflect their own interest, where conflict of interest is obvious.

> They compile a database of all journals and citations (as do a few others, > like for-profit Clarivate and non-profit Crossref).

Except that their database excludes many independent journals.

</comment></comment><comment><USER19> We wanted free news and look where that got us. Hopefully the open source research model also doesn't go in that direction eventually.

<comment><USER20> The whole difference is that free news implies that you need new models to remunerate the writers.

Here, the writers are already remunerated _before_ publishing their papers. What we need is a new way to quickly assess a scientist's worth.

<comment><USER19> There is value in curation but this doesn't seem to be playing well with the HN crowd.

</comment></comment></comment><comment><USER21> I do not really understand the outrage.

Nobody forces you to publish in Elsevier journals. Just publish it in a blog, where there will be comments. Out of these you make your choice whether the publication makes sense.

The ones to blame are univesities and grant commitees which use the impact index as The Universal Science Ruler.

It is akin to blaming Oracle for closing their databases. You do 'ot like it, move to Postgres, mysql or something else.

Yes, quality of publications will suffer for some time. Yes, papers (blog posts) will be more difficult to get to but it will settle down. Until we have open source science.

<comment><USER22> I don't think this could work for a few reasons.

1\. Blogs aren't peer reviewed. Anything that is going to be referenced later needs to be reviewed by other people.

2\. It is easy to change the content of a blog after the initial publication. This causes issues for referencing, and removes the "story" of how things were developed which is very important. Hundreds of ideas might end up being wrong before the right idea is found. We shouldn't be able to "delete" the ideas which were wrong from history. This is a part of the reason that papers don't reference websites (with some exceptions e.g. links to software tools or result databases). This is even taught to first year undergrads who try to reference blogs in their lab reports.

3\. The journal acts as an independent trusted third party, blogs wouldn't have this. How do I know whether I can trust a blog owner?

There are probably more reasons. All in all I'd like a more diverse group of distributors but I don't think self-publication could replace journals.

<comment><USER21> Then how is the Apache web server peer reviewed? Or LaTeX? or some other open source software?

By means of people evaluating it (good, bad, knowledgeable or yahoo people), then you read their reports and you make up your mind.

When the subject is one I am an expert in, I will use it and tell everyone it is fine.

When the subject is not one I am an expert in, I will look at what others say and find out the ones who I can trust. This is how, say, Stack Overflow works. And it woks really fine.

The fact that the content is going to change is good. It means that there is a place where the knowledge is updated. Heck, it may become one day the ultimate reference. If it is handled properly it will have updates which keep track of the past.

I have a PhD in physics and had my fair share of publications in the medieval system of "peer reviewed, high impact journals". I am now in industry and I much more prefer to have multiple independent sources of truth and decide on my own. Not a single one is in a journal, all are in places which either state good stuff or are lost in a corner of Internet.</comment></comment></comment>


The trouble with old model steam engines - <AUTHOR> https://www.youtube.com/watch?v=hoDbvTM06Zo <comment><USER2> I loved this video. Here's another good one for a meditative Saturday afternoon:

FilmesJP, "Hand Made Vacuum Tubes by Claude Paillard", 2011, [https://www.youtube.com/watch?v=EzyXMEpq4qw](https://www.youtube.com/watch?v=EzyXMEpq4qw)

</comment><comment><AUTHOR> This is the kind of content that can be done really well on YouTube. Someone who knows a lot about what they're doing, and who's just taking something apart and putting it back together again and talking all the time about what they're doing.</comment>


Cut Microsoft admin rights to mitigate 92% of threats, study shows - <AUTHOR> http://www.computerweekly.com/news/2240214560/Cut-Microsoft-admin-rights-to-mitigate-92-of-threats-study-shows

<comment><USER2> I'll just file this under "No shit sherlock".

Really, is it any surprise to anyone here that if you give employees less rope it's harder for them to hang themselves? For employees that need admin so that they can install programs and modify settings you simply have a "Here is admin access but don't come to us if you break it" policy.

This article seems painfully obvious and doesn't belong on HN IMHO.

<comment><USER3> How is it simple to have a "don't come to us" policy? Who should they then come to? A hundred different people trying to fix a problem they don't really understand a hundred different ways is probably going to do more damage in the long run.

</comment></comment><comment><USER4> Most sysadmins don't want to give users admin rights on their machines. But the problem occurs when there's software (especially software written for previous versions of Windows) that requires admin access to run. Management doesn't wanna hear it about "privilege separation" and "principle of least privilege." Bob in Accounting needs Quickbooks to work _right now._

Then, there are the senior managers who know enough to know that they want admin access so they can do whatever, but not how to protect themselves. They're gonna call your boss, who's gonna tell you to give them admin access. And WHEN something goes wrong, guess who gets the blame?

I don't miss those days...

</comment><comment><USER5> By Microsoft admin rights, I guess they mean Windows admin rights. Otherwise it doesn't make any sense.

</comment><comment><USER6> The "study" looks like spam to me: [http://learn.avecto.com/2013-microsoft- vulnerabilities-repor...](http://learn.avecto.com/2013-microsoft- vulnerabilities-report)

</comment><comment><USER7> The exploits today are written for admin-rights account, because most people use that. But I'm sure there are plenty of non-admin->admin holes too. If running as non admin became wide spread the exploits would just need to add an additional step to become admin after they exploited the non admin user. Thus would be a short term improvement at best.</comment>


Bitstamp was hacked 2 weeks ago, and only now are users finding out - <AUTHOR> http://blog.tian.io/bitstamp-was-hacked-2-weeks-ago-and-only-now-users-are-finding-out

<comment><USER2> Don't use a centralized exchange. Don't use a hosted online wallet. Any centralized source of a large amount of BTC/XBT or any other currency thereof is simply going to be a target, no matter what. Anybody that claims they are 100% secure should be put into question. 0days are very real.

If you would like to use an "online" wallet, use Blockchain.info.

<comment><USER3> Why should we trust Blockchain.info?

<comment><USER4> They don't hold your unencrypted private keys.

<comment><USER5> What's to stop a hacker from serving you malicious javascript that steals your unencrypted private keys?

blockchain.info is no more secure than any other web wallet.

<comment><USER6> They have a browser extension, so there's that. Two-factor involves trusting them, but the actual bitcoin transactions apparently not.

Myself, I only hold pocket change in blockchain, the rest I hold on cold storage.

Regarding them being shady, they are as shady as you all silicon valley fellows. :) I hear that's where they are based.

</comment></comment></comment></comment></comment><comment><USER7> This is a sensational title. Apparently "only" a list of email addresses was stolen.

<comment><USER8> Copied. And who can say with certainty that no other data was copied? If the incident occurred due to a server breach, can you still trust the server?

</comment></comment><comment><USER9> We really need more transparency in Bitcoin exchanges, and this needs to come from within the community. The days of 'playing around' are gone, this is serious business now. Industry leaders should at least form a consortium that handles these kinds of issues and at least does an audit of funds. In addition, exchanges should prove they have the said funds. It's a public ledger folks, we need to demand more openness and honesty.

<comment><USER10> You mean.. like put regulations and oversight into place?

How delicious.

<comment><USER9> What does regulation have anything to do with what I wrote? Do you know you can demand things as a consumer? As a group? As a community? As a market participant?

Target 'leaked' 70m+ credit card details and there was no regulation that would have forced them to disclose it. But yeah, lets make all the regulation in the world for Bitcoin exchanges, because, you know ...

<comment><USER11> Are you being pedantic about forcing them or are you unaware that most U.S. states have notification laws that apply when a data breach involves personal information?

</comment></comment></comment></comment><comment><USER12> who still has money in anyone of these online wallets?

<comment><USER9> Jesus man, do some homework at least. It's not an online wallet, it's an exchange. Do you not understand the difference?

<comment><USER13> Well, technically, you can use them as a hosted wallet, too.</comment></comment></comment>


Files Leaking Sensitive Info – Be the H.A.C.R. – Ep – 02 - <AUTHOR> https://www.youtube.com/watch?v=N6v36e3pXF0 <comment><AUTHOR> Thanks everyone for the warm reception of the first episode of the series Be The H.A.C.R.

Here Comes the second :

Files Leaking Sensitive Info - Be The H.A.C.R. - Ep - <USER2>

HackThisSite - Basic Missions 2 & 3

This episode includes 1\. Twitter Info leak - $560 awarded 2\. Yahoo info leak - 2 phpinfo pages 3\. Boozt info leak. - $60 awarded

Thanks for your feedback. Have done some major improvements regarding the video and audio quality.

Please check this out and give your feedback :)</comment>


Ask HN: Do you use inheritance when programming? - <AUTHOR> I've been writing Ruby and JavaScript for 10 years and have rarely felt the need to use inheritance. The times I have used it, or seen it used, the code was less understandable. Do any of you use inheritance in your apps with success? <comment><USER2> The Linux Kernel codebase is _full_ of inheritance, if you are open to understand how inheritance gets implemented in plain C.

A graphics driver for a certain vendor inherits from the DRM class, which inherits from PCI, which inherits from the Device class. Structs which embeds structs which embed structs, and you can access the base classes using the container_of() macro.

As for me, I particularly abuse inheritance in C++, although I a lot of cases I end up replacing it with template programming. To the luck of society, most of the code where I abuse templates and inheritance is not used by anybody else except for me.

<comment><USER3> Isn't structs which embed structs composition, not inheritance?

</comment></comment><comment><USER4> Only when there's a blatantly obvious reason to. The example that immediately comes to mind is GUI elements: there's both a lot of code that many similar- but-different class instances share, and a strong "is-a" semantic. Even then, most of the hierarchy is only 1 level deep (Button -> Element).

Flat is better than nested.

</comment><comment><USER5> I was doing some genetic programming research. Inheritance was beautiful, because I could have an Instruction base class, and all the possible specific instructions were derived from that. The execution engine and reproduction stuff could just deal with Instructions, without knowing any specifics about any of them. Each specific instruction knew how to execute itself and how to copy itself. It made things _so simple_.

When there's a good reason to use it, use it. If there's not, don't. Nobody's forcing you to use it.

</comment><comment><USER6> I most of the time writing crummy firmware in C. You can do inheritance in C and it always feels like an antipattern. In C# mostly never unless a library requires it. Especially since C# has generics without type erasure.

I think inheritance is a bad solution to the problem of wanting to call foo's baz() method or access a property. Been way long since I poked at Ruby or Javascript but I thought those languages allow you to do that without inheritance. If so why would you even bother 99.9% of the time.

</comment><comment><USER7> Occasionally for edge cases in Java, but generally I go for composition with interfaces.

Never ever do I do this for tables / entities or controllers. Things get fragile fast with that.

<comment><USER8> No need for it since Java got default methods on interfaces.

</comment></comment><comment><USER9> Inheritance can be clean and expressive when used diligently. If you wish to express a tight cohesion between classes with default functionality (especially when it pertains to instance variables), an abstract parent class can keep the shared logic in a single place. I run into this often when dealing with Android UI code which tends to involve many "variations on a theme" classes.

</comment><comment><USER10> All the time. The easiest example is that we have a search box on the top of every screen that makes the same API calls and has the same results (wiki- style app). The code also shares a lot of similar functionality that's on almost every screen, like displaying a loading prompt. We put these in some base classes.

Larger codebases also use them extensively. I worked on a project which had multi-millions in funding. Basically it was video streaming functionality, dealt with DRM/CA, rewind, optimization, all that done. We were on the UI team, meaning we build a different UI based for a specific client brand, utilizing the same code as in done in many countries.

With those, you don't build a custom code from scratch. You just inherit and modify.

I only use them heavily in Java though, never JavaScript, even though we built that video streaming app in both. It's just a different paradigm. I can live fine without inheritance though. It's just a nice to have.

</comment><comment><AUTHOR> This has been great feedback. To summarize, I heard people use inheritance because its the API of a chosen framework and in rare cases when it proves convenient like UI Elements.

I also remembered that unit test suites are an instance when I've enjoyed inheritance.

But it sounds like most people here do not use inheritance in the business logic of their apps/systems. Composition and dependency injection do the job of sharing code without sacrificing comprehensibility.

Thanks everyone! This all matches my experience as well. I just wanted to make sure I wasn't missing something life-changing!

</comment><comment><USER11> Yes. The textbook examples really don't do practical applications justice though, e.g.:

      shape

      ...

      circle extends shape

I find it very useful to extend classes in an existing framework or system with a new functionality specific for my particular problem.

For a general example, sub-typing exceptions is useful.

<comment><USER12> Yeap, same here. The last time when I actually created from scratch classes with inheritance was like 8 years ago. I never made this mistake again and used inheritance only when forced to by creators of some library.

</comment></comment><comment><USER3> One-level deep inheritance can be great for abstracting common functionality, and multi-level inheritance sometimes makes sense in very large applications. What you want to watch out for is multi-level inheritance with an inheritance hierarchy that parallels some hierarchy that is merely _incidental_ to the code's functionality, like the page navigation hierarchy.

I would say that having a multi-level inheritance hierarchy with greater than "constant" number of children per parent in one package is a code smell.

</comment><comment><USER13> I've recently been doing it. We use Dapper ORM. It's super light weight and easiest to make classes that map 1-1 with database columns since Dapper does reflection to match up property names and column headers.

I've found the best way to add some extra view data to a class that is directly backed from a DB table is to inherit from the 1-1 class that Dapper uses, and just add the extra data in the child class.

That way dapper doesn't get confused by properties not mapped to the database table, but I get to use the extra data properties in my view.

</comment><comment><USER14> Inheritance of classes with behaviours has only ever brought me pain and suffering.

Though sometimes I'll have an inheritance tree of interfaces, which is pretty easy to manage.

The best way I've found to share behaviour is dependency injection, it's more flexible and consistent than shared methods in a parent class. But you need a DI framework to manage all the instantiation, which can add undesired complexity.

</comment><comment><USER15> I rarely write my own class and then use that as a parent of a new class. But I very frequently write a class that inherits from a parent class when I use a framework.

When I teach inheritance to students, it's not usually with the mindset that "You'll use inheritance a lot in the original code you write." The mindset I teach with is, "You'll see inheritance often in the codebases you work with."

</comment><comment><USER16> Sometimes, but not frequently. I'll write abstract classes and inherit from those occasionally.

The only times in recent memory where I have inherited a concrete class from another concrete class was to add functionality to an existing program without starting a massive refactor.

</comment><comment><USER17> Very very rarely, and only when it is obvious. I could live without it, I'd say.

</comment><comment><USER18> And the following question is do you honour LSP (Liskov substitution principle)

In other words can you freely swap out derived classes you didn't know about when you wrote the base class.

</comment><comment><USER19> To understand where and why to use inheritance, read about the design patterns first. But anyway it depends on your problem and language you use.

</comment><comment><USER20> Only when the framework I'm using demands it. The oft-cited wisdom of "composition over inheritance" rings true, in my experience.

<comment><USER21> If your framework demands you make certain choices in your architecture that's a bit of a smell isn't it?

<comment><USER20> Lots of frameworks were built when object-orientation were all the rage. I'm not going to insist on avoiding them just because the APIs were designed to be inherited from.

To use a concrete example, it's going to be real hard to build an iOS app without inheriting from UIView at some point.

</comment></comment></comment><comment><USER22> Yes. While submitting technical tests for backward job interviews. Other than that, nahhh not really. It's a hangover from OOP 1.0

</comment><comment><USER23> Typescript and Golang interfaces extend each other a lot via inheritance, from my experience in various codebases.

</comment><comment><USER24> No I don't. I can't remember or think of an example where I used it.

</comment><comment><USER25> Only if I am going to have like ten different children</comment>


Ask HN: Where should I look for Affiliates to for generating revenue? - <AUTHOR>

I've made a site that serves pure HTML Weather widgets. Just after two months I am generating 1.25K hits monthly. Now I want to generate some earnings out of it. You can check my service out on http://www.weatherfor.us . I am looking for affiliate maybe or an Ads service that can I can hookup within my widget. There are few important things however, I want single liner text Ad in a particular location see this snapshot:
http://s16.postimage.org/l986s8tp1/Snapshot_29_10_2012_1_53_PM_2.jpg
Plus I have some unique places in my site to place some banner ads as well, Here are existing set of services that I've already tried:
- Ad Sense, doesn't allow or have such formats of methods.
- Peefly provides you with straight links works best but I recorded some clicks and they didn't show me any, plus it introduces overhead of manually going and choosing your links.
- BidVertise totally rubbish opens popups and what not, makes site look like spam
I am new to this ad stuff so have a limited knowledge. Suggestions please? <comment><USER2> You should take a look into private advertising programs such as BuySellAds, Yoggrt and The Deck.

I'd be happy to talk to you more via Skype text chat. My username is jonnyrowntree.</comment>


Ask HN: What do you use for note taking? - <AUTHOR> I used notational velocity a few years ago and more recently I started to use Apple's "notes" app (because it is on macOS and iOS) but not very happy with it (e.g. it retains formatting and tries to be smart about bullet lists which is annoying).<p>In addition to that I'm using random note pads and a pen. So I was wondering what everyone else is using currently. <comment><USER2> I used to have a different notebook for each topic area. Over time, I couldn't remember which notebook I wrote what in. So these days, I'm using a single spiral bound notebook at a time to record random thoughts, etc. I prefer this to using a computer simply because I can flip back through old pages and even notebooks for inspiration when I feel stuck.

For my development projects I keep a README.txt file in most directories. In that I record whatever is applicable to the contents of that directory. For example, if it is some library that I compiled from source, I will note the dependencies, any gotchas with linker flags, etc. For projects the top-level README.txt will contain a project overview and general notes. Then I have more formalized design documents, etc in a Doco sub-directory.

In meetings I write stuff on pre-punched notepad and place those pages into the relevant project folder. Critical stuff gets transcribed, and expanded upon, in the project's doco directory (as above).

<comment><AUTHOR> thanks, I like the thinking in readme files concept</comment></comment>


Ask HN: What do you think about dev webinars? - <AUTHOR>

I am working on a very ambitious platform for web development. I believe we have a great product. I am planning strategy to spread the word about it.
I am considering a series of webinars targeted at developers (the kind that reads HN). But I wonder how many devs attend webinars at all? Maybe it is better to just focus on producing quality blog content instead.
Being a dev myself, I have attended maybe 3 webinars in my 10-year career. <comment><USER2> I tend to watch the first half of a webinar, and skip the pitch part.

I'll watch the whole webinar if it's for a product I'm using, and paid for.

<comment><AUTHOR> Thanks for your input! Do you usually attend live webinars or watch session recordings? If live, do you find the discussion part of webinars valuable?

</comment></comment><comment><USER3> I've never watched a live webinar but would be interested.

<comment><AUTHOR> Please follow us if you're interested: [http://starcounter.io/](http://starcounter.io/)

Site feedback is welcome at the link in the website footer. Webinars will be announced on Twitter (we may do one in August)</comment></comment>


EU agrees Iter fusion construction shortfall funds - <AUTHOR> http://news.bbc.co.uk/2/hi/science_and_environment/10614542.stm

<comment><USER2> "EU agrees Iter fusion construction shortfall funds" hurts my brain. "EU member states agree on Iter funding shortfall" (the actual headline) is fine. Please keep original headlines/titles unless there is reason to change them.

<comment><AUTHOR> I usually do that. I can't remember where I found that headline, but perhaps it was changed after I posted it. I'm not sure what happened, and I apologise for the brain pain.</comment></comment>


Detroit's 2 speed recovery - <AUTHOR> http://www.nytimes.com/2016/08/13/us/detroit-recovery.html <comment><AUTHOR> I grew up in Detroit and I go back every few weeks. I actually disagree with the premise of this article. While neighborhood revival has lagged behind downtown it is happening.

I watched a video of Mayor Duggan this week where he stated that for sixty years the policy of the city was that decline was unstoppable and that all they could do was manage it. He said that has changed completely and that they're committed to growth. He showed a plan to connect two university neighborhoods with a biking and walking trail.</comment>


A browser extension that replaces occurrences of 'serverless' with 'CGI-bin' - <AUTHOR> https://github.com/ghuntley/serverless-to-cgi-bin <comment><USER2> I appreciate the meme and get it as a response to everything being "serverless" recently. But I noticed some people started repeating it unironically, like cgi-bin was actually equivalent. I wish this project at least acknowledged it's a meme reaction. Maybe people these days don't remember anymore what cgi-bin really worked like? (or never worked with it?)

<comment><USER3> I'd rather say it's worrying how millenials+ raised in post-standard cloud times are in denial of just how much they dropped the ball and are being brainwashed to believe the cloud progress narrative where there is only centralization and monopolization. Self-delusion to stay relevant in the job market.

<comment><USER4> I don't think you're fair here. There definitely are some that blindly believe the hype, but I met many who clearly see through the bullshit. Mostly, it boils down to the crucial distinction: are you building the project for someone else or for yourself? If for someone else, of course you want to maximize your revenue, and here the complexity of AWS &co. is an advantage. However, if you're building something for yourself, unless you're stupid you'll calculate well and choose the option that makes most business sense. In many case this means renting a server or a couple of servers for a flat rate.

The sad piece of truth in your comment is that there are actually people who seem to know only AWS (etc.) and use it for everything, whether it makes sense or not. Well, that's their choice.

<comment><USER3> That's a great point - that there are of course those who ride the cloud wave to milk their customers.

To get a sense of how much we're putting the cart before the horse, I recommend taking an occasional look at a subreddit frequented by webdev bootcampers (eg. [1] where they're hellbent to justify using React for static sites, because that's all they really know, and even accuse dissenters of being hiveminded).

[1]: [https://www.reddit.com/r/webdev/comments/cxfvcw/is_react_sti...](https://www.reddit.com/r/webdev/comments/cxfvcw/is_react_still_worth_it_for_nondynamic_webpages/)

<comment><USER2> I feel you're misrepresenting that discussion. Most people say they shouldn't use react, some propose react to generate static content before deployment, few raise good points for why you may want to use react even if the page is static right now. There's always going to be an extremist opinion somewhere, but it's really not common in the discussion you linked.

<comment><USER3> Maybe I'm biased because I've been downvoted. IMO /u/webdev has become a React echo chamber if there ever was one; it's actually encouraging to hear that you've got a different impression.

</comment></comment></comment></comment></comment></comment><comment><USER5> Ok I'll bite. The argument here is that serverless is similar to cgi (common gateway interface, the original way a web server handed requests to an executable) in that they both spawn a process for each 'dynamic' backend request (static files are served from a cdn in serverless model).

This is of course a false and misleading analogy - the reason spawning a new process for each request is bad is that it doesn't scale on a single server, but in the serverless model the infrastructure serving this is scaled up exactly so you don't have to worry about this aspect.

Response times are measurably very good for go python and js, in our experience, and aws serverless will try to reuse you running process for subsequent requests (warm start).

And most importantly — there are no servers to manage.

<comment><USER6> > Response times are measurably very good for go python and js, in our > experience, and aws serverless will try to reuse you running process for > subsequent requests (warm start).

This is because most modern serverless implementations are closer to FastCGI (which had similar benefits over classic CGI). But the concepts are the same.

</comment></comment><comment><USER7> Funny, reminds me of the whole cloud-to-butt thing.

On a different note, the whole serverless thing seemed weird to me until I looked into it an realized that it kind of is cgi-bin all over again.

I love it, someone else can manage and patch the server and worry about scaling. I just deploy my workload as a self-contained app or set of apps. Scale is only limited by the bank account.

<comment><USER8> It's a really apt comparison. Before PHP and embedded scripting with HTML, and entire contained applications with MVC frameworks, we had our static HTML and our CGI.

Now we have serverless and HTML that talks to our cgi-bin using JavaScript. Life is full circle. Client/server back to the cloud, which reminds me of the dumb-terminal/mainframe days.

<comment><USER9> But the key difference is in the "why". Serving that HTML from a nearby web server is a lot faster, and it's easier to distribute static content to a bunch of servers around the world that are near the people requesting them.

<comment><USER10> Fixing this for you -> "serving a multi-megabyte bundle of Javascript that renders the entire page through DOM manipulation" from a nearby web server is a lot faster, "in some cases almost being as fast as fetching a single HTML file from across the world."

</comment></comment></comment></comment><comment><USER11> Well, maybe I'm just missing something in this meme, but...

Back in the day, deploying code to cgi-bin first required _buying_ and _hosting_ your own server; which I have neither the time or patience to do today.

<comment><USER3> No, it requires _renting_ a server, just like "serverless". Bringing your own hardware was called colo(cating).

<comment><USER11> Scaling still required _renting_ another server, which then went unutilized until peak load was needed.

<comment><USER3> Or ordinary shared hosting on an Apache cluster (that isn't overcommitted)

</comment></comment></comment></comment><comment><USER12> Would this be funnier if it replaced 'container' with 'chroot' too?

Maybe 'Electron' can be replaced by 'JVM'?

</comment><comment><USER13> CGI-bin vs my butt... hmmm</comment>


50% of Japanese surveyed have not had sex in the past month - <AUTHOR> http://www.bloomberg.com/politics/articles/2015-01-25/the-japanese-government-is-trying-to-figure-out-how-to-get-its-people-to-have-more-sex <comment><USER2> It's not the technology nor the porn. It's the stress and work hours. Japanese work very long hours, and very hard jobs. High stress and very little free time create exhausted people who do not have time to do anything but attempt to recover for the next day. Tired people do not have energy nor motivation, get sick more, and don't have time to socialize or to date.

Japan needs labor reform, shorter working days, more vacation time.

<comment><USER3> Exactly. Japanese style work ethic is a pandemic spread across east Asia, in which, devotion(even pretended) wins over efficiency. It also leads to a paternalistic company structure, where your workplace is your home and your boss is the owner.

Ultimately, this sacrifices the employee's personal time by blurring the boundary between life and work. Sadly, a lot of researches show long working hour doesn't necessarily leads to actual output, but the ideology is still largely respected and practiced.

<comment><USER4> How does this explain herbivore men and otaku and the stay at home 'parasites' (parasaitu shinguru) who have quite a lot of free time on their hands from engaging in sex with a steady partner -rather than soapland stuff or out abstinence/grazing.

<comment><USER5> Easily: look outside, decide the world is still a fucked-up place, stay inside. "Normal" social interactions with other people will drag you into society, and you sure don't want that, avoid that too.

</comment></comment></comment></comment><comment><USER6> The title on HN is downright misleading. "... the Japan Family Planning Association interviewed 3,000 subjects, both male and female, about their sex lives." Those aren't couples, they're just random men and women from what I understand this text.

Also, I have lived in Japan for the past 5 years and around me at least a lot of people are (very) sexually active, in fact, too active, or too casual usually. Most guys date multiple girls/have multiple sex friends, and even if they're married or in a relationship, many have sex partners other than their girlfriend/spouse.

Despite the misleading title, I wouldn't be surprised if couples reply that they haven't have sex with each other for the past month and were telling the truth (because they're too busy having sex with other partners).

<comment><USER7> How old are you?

<comment><USER6> Turning 32 this year.

</comment></comment></comment><comment><USER8> It's interesting that these articles always bring up weird Japanese subcultures. The fertility rates of Singapore and Republic of Korea are lower than Japan's, and they have fallen far more precipitously (by more than 75% since 1960). The mainstream pop-demographics articles about those countries' fertility rates tend to focus more on the realistic explanations.

<comment><USER9> Or maybe more relatable to westerners: Germany also has a lower fertility rate than Japan. Nobody's writing these articles about why Germans won't have kids.

I'd be more interested in articles exploring how we can create an economy and society that doesn't rely on neverending expansion (and ever-increasing energy usage), seeing as this is the trend in all western countries, and the immigration band-aid will only be possible for so long.

<comment><USER10> Germany can "import" any EU national as well as the immigrants (not all of them EU nationals) having a higher fertility rate.

<comment><USER9> That's not a solution though, that's a band-aid. I guess I understand that's why it's not in the news today, but personally I'm more interested in the long-term than short-term.

As countries develop the fertility rate drops. This is happening across the planet. Eventually there won't be anywhere to get new immigrants. (there will also be problems before that if you look at places like France, the UK and Scandinavia where resistance against immigration is rising in the form of anti-immigration parties)

<comment><USER10> I agree, in the long term countries will have to learn how to deal with low fertility rates.

</comment></comment></comment></comment></comment><comment><USER11> As a slight tangent, patio11 and his partner in crime/podcasts Keith Perhac talked a little about this on their podcast - basically the hours / presenteeism culture of salarymen has an anecdotal negative impact on family and married life there - basically too knackered.

It's an odd trade off that is not really needed - so it's interesting to see what will happen as the discussion of it moves from "what everyone knows but does not say" to " officially allowed to say it because of science"

</comment><comment><USER12> Japan has been in 25-30 year recession. Due to government polices the Japanese have seen their wealth deteriorate and the hardest hit are the young professionals who have work more than their elders. If people don't feel financially secure they don't procreate. This issue is only going to grow more pronounced as nations devalue in the race to the bottom. However for Japan the problem is exacerbated with great ideas like the one below. FTA:

"handsome tax": "If we impose a handsome tax on men who look good to correct the injustice only slightly, then it will become easier for ugly men to find love, and the number of people getting married will increase."

<comment><USER13> Don't fertility rates _decrease_ with prosperity? Poor families have more kids because they acts as financial security in the old age. How do we reconcile these two theories?

<comment><USER14> Fertility rates decline most strikingly due to the education of women in society:

[http://www.earth- policy.org/data_highlights/2011/highlights1...](http://www.earth- policy.org/data_highlights/2011/highlights13)

"Female education is especially important. Research consistently shows that women who are empowered through education tend to have fewer children and have them later. If and when they do become mothers, they tend to be healthier and raise healthier children, who then also stay in school longer. They earn more money with which to support their families, and contribute more to their communities' economic growth. Indeed, educating girls can transform whole communities."

A bit older study:

[http://www.cdc.gov/nchs/pressroom/97facts/edu2birt.htm](http://www.cdc.gov/nchs/pressroom/97facts/edu2birt.htm)

"A women's educational level is the best predictor of how many children she will have, according to a new study from the National Center for Health Statistics, Centers for Disease Control and Prevention. The study, based on an analysis of 1994 birth certificates, found a direct relationship between years of education and birth rates, with the highest birth rates among women with the lowest educational attainment.

Birth rate patterns also vary greatly by mothers age. Among women in their twenties - the peak childbearing ages - and women in their forties, birth rates are highest for women with the least education. For women with college degrees, rates are highest for those in their early thirties, perhaps signaling the preferred time for childbearing by this group. First birth rates for women in their thirties with a college degree were two to five times the first birth rates for women with less education."

</comment></comment></comment><comment><USER15> Those stats seem slightly misleading. The 49% of participants who had not had sex in the past month seems to include people who are single. I wouldn't be surprised to find that the 50% of couples include couples who havnt had sex ever.

Still interesting.

</comment><comment><USER16> Sex is not fun. Someone needs to say it. Unless you and your partner are devoted to sex it is not fun. In a society where one of the partners doesn't have a voice (woman, usually) that doesn't matter because consent is per- definition not necessary to produce children. Games probably trigger a lot more endorphins than sex (over the span of a day, or week).

Education means to care about things other than the immediate future and we learn to sympathise with each other. We do care about the opinion and about other goals which is why we spend time caring about the bigger goals more than about the fun ones. After all: fun is for children... This whole combination makes enjoying sex incredibly difficult imho.

Making sex fun is an effort many people don't go through. I talk with Japanese friends (I am living in Japan for 4 years now) and many just don't know the least about it. I am guessing that its similar for other cultures.

</comment><comment><USER17> You have a choice:

1) spend all your money on yourself and have around 6 hours of free time every workday + weekend and be moderately happy.

2) make a lot of effort of approaching different girls, getting rejected and then spending your time and money on the girlfriend (and she could still cheat on you meanwhile) and potentially be quite happy.

[http://www.singularity2050.com/2010/01/the-misandry- bubble.h...](http://www.singularity2050.com/2010/01/the-misandry-bubble.html)

</comment><comment><USER18> Employment prospects are worse than ever for the average japanese person, with about 40% of the workforce working on temp contracts with no job security.

Shitty income and no job security = no marriage = no kids.

</comment><comment><USER19> For other population declines, see: [http://en.wikipedia.org/wiki/Population_decline#Japan](http://en.wikipedia.org/wiki/Population_decline#Japan)

</comment><comment><USER20> What is with the media and its fixation on japanese sex?

<comment><USER4> Maybe because on the one hand they're 'liberalized' about it --you have the soaplands and the manga and the pixelation, everywhere --and yet, where it counts they reject it, to some extent.

But yeah, when it comes to fetishising societies and sex it's either Japanese or Swedes.

<comment><USER21> > But yeah, then it comes to fetishising societies and sex it's either > Japanese or Swedes.

Maybe this is because these countries are extremes of Collective vs Individuality.

Source: [http://sverigesradio.se/sida/artikel.aspx?programid=2054&art...](http://sverigesradio.se/sida/artikel.aspx?programid=2054&artikel=6075694) and [http://en.wikipedia.org/wiki/World_Values_Survey](http://en.wikipedia.org/wiki/World_Values_Survey)

</comment></comment></comment><comment><USER22> Knowing Japanese porn Im not that surprised. Japanese men are between awkward and weird when it comes to interacting with women.

</comment><comment><USER23> Here's wikipedia's overview of Birth rates :

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

You can sort it. It's quite informative. It also shows that the difference between Japan and most of Europe is somewhat marginal. 8 vs 10.

But what would be a "steady-state" birth rate ? Well life expectancy is ~70 years. So 1000 people should produce 1000 offspring in ~70 years. So steady- state birth-rate would be in the 14-15 range. Changes compound over time, so numbers close to 14-15 will effectively be equal to that whereas differences with that number have exponential effects.

That seems to indicate that the vast majority of the world is slowly losing population (though that does not -yet- result in large declines of people). On the map that would be everything blue, green up to bright green, with sub- saharan Africa the only place that will experience rapid population growth from now on.

<comment><USER9> But despite the low birth rates in Europe, the populations are still rising through immigration. So we've turned the developing countries into "baby machines" to fuel the European economy's thirst for growth.

<comment><USER24> They are only just rising.

[http://en.wikipedia.org/wiki/Demographics_of_the_European_Un...](http://en.wikipedia.org/wiki/Demographics_of_the_European_Union#Population_projections)

<comment><USER23> Looking at my comment history, I get the impression someone's systematically downvoting all my comments. Can I report this anywhere ?

</comment></comment></comment></comment><comment><USER25> Oh dear, a paywall. Here's a similarly milquetoast but literally more accessible treatment of the topic: [http://www.slate.com/articles/news_and_politics/foreigners/2...](http://www.slate.com/articles/news_and_politics/foreigners/2009/06/the_herbivores_dilemma.html)

But don't close that tab, 'cuz I'm coming at ya with the Silicon Valley bleeding heart liberal nouveau riche's most hated news publication, Breitbart! Be offended! Take the bait, hook, line, and sinker! Reply with a snarky dismissal insulting the intelligence of anyone that would dare link to such a rag! And maybe, just maybe, taste the subtle grit of a grain of the substance we call "truth."

[http://www.breitbart.com/london/2014/12/04/the-sexodus- part-...](http://www.breitbart.com/london/2014/12/04/the-sexodus-part-1-the- men-giving-up-on-women-and-checking-out-of-society/)

[http://www.breitbart.com/london/2014/12/09/the-sexodus- part-...](http://www.breitbart.com/london/2014/12/09/the-sexodus- part-2-dishonest-feminist-panics-leave-male-sexuality-in-crisis/)

<comment><USER26> Japan is very different from the West though, so you should clarify which parts you think actually apply to Japan too. E.g. Japan is well behind the curve compared to the West when it comes to sex disparity in school dropouts or university attendance, though it's certainly moving in the same direction. (See [http://www.oecdbetterlifeindex.org/](http://www.oecdbetterlifeindex.org/), and click on gender differences and then limit to education, you get women 7.7 men 7.6 in Japan vs women 7.3 men 6.3 in the US)</comment></comment>


Spotify might be killing SSDs by design errors? - <AUTHOR> https://community.spotify.com/t5/Desktop-Linux-Windows-Web-Player/Spotify-killing-my-SSD/td-p/1365378 <comment><USER2> Spotify does not care and will not fix this unless there is a major outcry. They've been ignoring user complaints since "1.0" dropped quite a while ago. They don't even post changelogs anymore. Features are added one day and disappear the next. It took months for them to reintroduce CTRL-F. They don't care.

If another platform had the cross-device operability and catalog, I'd switch immediately.

<comment><USER3> They probably won't even fix it if there is an outcry. Their software is pretty bad. Back when I had an android phone (galaxy S5), their app would constantly crash on me multiple times per day.

Unfortunately their competition is not so great. Apple music has the worst UX I have ever experienced. I tried google music when it first came out but I liked spotify's catalog and ability to share playlists better at the time. And finally, there is Tidal which I haven't tried but I have heard it's not that good.

4 big competing streaming services and they all have glaring issues/missing features and yet seem to not be doing anything about it...

<comment><USER4> Windows Phone had Nokia MixRadio, and it was great. And then MS killed it.

<comment><USER5> ex-mixradio guy here, MS didnt kill it really - they "sold" is to Line Corporation which eventually killed us ..

</comment></comment></comment></comment><comment><USER6> After seeing this post today I made a script to install a Electron wrapper for the Spotify web client so that you can still have the "dedicated desktop app" feel/behavior without the SSD-killing part! [https://jamesmcintyre.github.io/spotify-electron- client/](https://jamesmcintyre.github.io/spotify-electron-client/)

<comment><AUTHOR> How can I enable flash in electron to make it work?

</comment></comment><comment><USER7> I'm a heavy Spotify user and my Intel 330 SSD just died catastrophically and I am just about to install a brand new Samsung Evo today. This is definitely concerning, especially the lack of communication from Spotify on the matter.

</comment><comment><USER8> Who is the CTO and what does he say about it so far?

Without a qualified representative making a statement, it simply looks like a case of either poor engineering or pith-poor engineering, difficult to be sure which.

Definitely the type of defect that needs to be corrected in soft-wares before they can actually become worth money.

</comment><comment><USER9> For funsies, I just started Spotify, and closed the window. Nothing playing, no user interaction, no UI to draw.

25 minutes later, and Activity Monitor reports it's written 1.05 GB to disk.

</comment><comment><USER10> This is probably related to the bittorrent client included in Spotify [https://torrentfreak.com/spotify-a-massive-p2p-network- bless...](https://torrentfreak.com/spotify-a-massive-p2p-network-blessed-by- record-labels-110617/)

</comment><comment><USER11> I just checked and it is insane, for a 4 minutes long song the Spotify windows app made 163.165 writes to the mercury.db-wal file.

[http://imgur.com/a/rDhPS](http://imgur.com/a/rDhPS)

</comment><comment><USER12> constantly updating the sqlite temp file.

<comment><USER13> Is this just a guess or did you investigate?

<comment><USER12> I used perfmon and procmon and saw the Spotify process was writing to a file in my temp folder named etilqs_{random string}. The first part of the name is SQLite in reverse. This was on Windows. I also noticed three other etilqs files but they were owned by the Google Chrome process.

</comment></comment></comment><comment><USER14> Anyone know if this occurs on the Mac client?

<comment><USER15> On Mac, 13GB Written by Spotify in the last 4 hours as reported by Activity Monitor. I only listened to 10-20 songs.

<comment><USER16> I've been listening for a few hours now, just checked AM and saw 44GB on disk, but oddly for Network, it has only received 176MB. Where is all the data coming from then?

</comment></comment></comment><comment><USER17> Maybe it is time to charge companies for resources they use to run their apps.

</comment><comment><USER18> [https://en.m.wikipedia.org/wiki/Betteridge%27s_law_of_headli...](https://en.m.wikipedia.org/wiki/Betteridge%27s_law_of_headlines)

No.

<comment><USER19> Even if that was a hard rule, the headline has been altered. Original headline is "Spotify killing my SSD"</comment></comment>


The First New Foreign Crisis - <AUTHOR> http://marcambinder.theatlantic.com/archives/2008/12/its_quite_unsettling_to_talk.php

<comment><USER2> I'm surprised Greece isn't on that list, since much of the recent violence has been fueled by economic woes:

" _Greece needs to tap the capital markets for 40bn euros next year to roll over debt and fund the budget deficit, as well as 15bn euros or so in bond issuance by banks under the state's new guarantee._ "

[http://blogs.telegraph.co.uk/ambrose_evans- pritchard/blog/20...](http://blogs.telegraph.co.uk/ambrose_evans- pritchard/blog/2008/12/10/greek_fighting_the_eurozones_weakest_link_starts_to_crack)

</comment><comment><USER3> I hate pieces like this. You have some reporter or blogger trying to make himself look important by repeating some lurid scenarios told by some Obama appointees also trying to make themselves look important or prescient or serious and responsible, and none of them have any insights or knowledge of the economy or even world politics worth reading about unless you are close to the administration and it is career-enhancing for you to be able to predict what decisions the adminstration will make.</comment>


Why is the Venezuelan gov installing a Twitter proxy just before the elections? - <AUTHOR> http://orvtech.com/en/general/gobierno-venezolano-elecciones-proxy-twitter/ During past presidential elections the Venezuelan government filtered TV, Radio and shut down some SMS networks and most Venezuelan ISPs had a DNS glitches. At the same time many opposition websites that were informing about irregularities suffer DDoS attacks.<p>This year with the penetration of social networks the Venezuelan government seem to be preparing for a new attack, the target this time are the social networks. <comment><USER2> Ah, yes, because that vocal 0,2% of the venezuelan population on twitter is one of the bigest concerns of the goverment.

<comment><AUTHOR> According to Venezuelan government, 6MM of their population are on Twitter. Venezuela has a population of 27MM. Simple math show that is a little above 22%.

Also what they fear are photos and news leaking out the country and other regions withing the country.

</comment></comment><comment><USER3> Gee.. I wonder why? Hugo Chavez will steal the election through fraud and thuggery again, and all the tweets his people see will be cheerful and happy. All the tweets we see will be pro Hugo.

The White House will say nothing about this, as usual.</comment>


Show HN: Data Structures and Algorithms in JavaScript - <AUTHOR> https://github.com/amejiarosario/dsa.js-data-structures-algorithms-javascript <comment><USER2> I bought the book, and so far it's a good overview of big-O notation. However, I'm halfway through the first chapter and I've already found a handful of typos. I commend OP for taking the risk and self-publishing but please have someone proofread your work before you start selling it!

<comment><USER3> Thanks for reading the book and commenting here! Could you please open an issue with the typos [https://github.com/amejiarosario/dsa.js-data-structures- algo...](https://github.com/amejiarosario/dsa.js-data-structures-algorithms- javascript/issues) or create a pull request with fixes? I'll be more than happy to go over them and fix/merge them. I've spent weeks proofreading the material, but apparently, some slipped through the cracks. Thanks again for taking the time.

<comment><USER2> Sorry, but since the book itself isn't open source, I'm not going to do your editing for free. There's plenty of paid editor sites out there. If you give me co-author credit and a slice of sales, though...

<comment><USER3> The book is open-source! All the book's chapters and exercises are open to anybody to see and edit. E.g. First chapter is here: [https://github.com/amejiarosario/dsa.js-data-structures- algo...](https://github.com/amejiarosario/dsa.js-data-structures-algorithms- javascript/blob/master/book/content/part01/algorithms-analysis.asc). The offline formats (PDF, ePub, Mobi) are there for convenience (and to solve the limited support Github has for asciidoc's `include` directives) but all the text/code is open.

<comment><USER2> I apologize for my snark! You're right, and thank you for releasing this open source :)

To attempt to excuse myself, it's not obvious on mobile that the book is included in the repo.

Cheers, then, I'll open a PR.

</comment></comment></comment></comment></comment><comment><USER4> Off topic, but nice use of `<details>` & `<summary>` elements in the README!

<comment><USER5> I think one of the point of using Markdown is that you can read it unformatted. Using `<details>` & `<summary>` kinda breaks that mentality don't you think?

<comment><USER6> Those elements are fairly semantic though, aren't they? Making reading them unformatted still easy?

</comment></comment></comment><comment><USER7> Can you turn this into an interactive thing like Duolingo where you grind through the exercises? Much needed in the developer community...

PS. If anyone else is interested in building this, happy to collab!

<comment><USER8> Small plug-- this is what I tried to do with [https://algodaily.com](https://algodaily.com) \- going from the easiest algorithms (like "Reverse a String") all the way to Union-Find, while sprinkling implementations of BST, graphs, etc. along the way.

<comment><USER9> just tried to sign up but got the following error:

"The change you wanted was rejected. Maybe you tried to change something you didn't have access to.

If you are the application owner check the logs for more information."

<comment><USER8> Hmm just tried to signup and seems to work on my end. Could you try again? Thanks for taking a look!

<comment><USER10> Doesn't work here as well.

Also, do you really need me to signup with a password? These days I'm skeptical of putting passwords out there, and it's just a mailing list.

<comment><USER8> Looking into it now!

And definitely do not need a password. You only need a password if you want an account to save your progress.

If you just want to sign up for the mailing list, you can do so on the popover, at the bottom of [https://algodaily.com/sample_newsletter](https://algodaily.com/sample_newsletter), or at the bottom of any lesson like [https://algodaily.com/lessons/how-to-get- better-at-coding-in...](https://algodaily.com/lessons/how-to-get-better-at- coding-interviews)

<comment><USER11> Hmm, the subscribe button changes color, but doesn't seem to do anything. My email address ends in '.tv' if that matters.

</comment></comment></comment></comment></comment></comment></comment><comment><USER12> For comparison. [https://github.com/trekhleb/javascript- algorithms/blob/maste...](https://github.com/trekhleb/javascript- algorithms/blob/master/README.md)

</comment><comment><USER13> Off Topic: GitHub has so many navigation bars nowadays. Just look at the incorrect overflow caused by the overlapping project name and the buttons on the side: [https://i.imgur.com/iXCgXYH.png](https://i.imgur.com/iXCgXYH.png) . I don't need to be an expert in UI/UX to know the GitHub UI is cluttered with an unnecessary amount of buttons. I can predict a redesign in less than a year or so, mark my words.

</comment><comment><USER14> Hmm, it seems like you made this repo to sell a book.

<comment><USER15> and?

<comment><USER16> The title used to be "Show HN: I made this repo to practice Algorithms in JavaScript", which the GP commented on. It has since been changed to "Show HN: Data Structures and Algorithms in JavaScript".

</comment></comment></comment><comment><USER17> I find it interesting that you consider an LRU Cache an 'algorithm' rather than a 'Data Structure'. I was just curious if you could explain that?

Great stuff though!

<comment><USER18> Different ways to determine / order Least Recently Used so I guess it could be classified as an algorithm.

<comment><USER19> Recently there was an interesting post about a similar topic posted here. It was a fun read. I'm not affiliated with the author in any way.

Link: [https://blog.cleancoder.com/uncle- bob/2019/06/16/ObjectsAndD...](https://blog.cleancoder.com/uncle- bob/2019/06/16/ObjectsAndDataStructures.html)

</comment></comment></comment><comment><USER20> Very nice, tidy and educational!

</comment><comment> sa-mao Pretty cool!</comment>


Someone ported Redis to Ruby - <AUTHOR> https://github.com/antirez/redis/pull/56

<comment><USER2> A direct link to the project is <https://github.com/dturnbull/ruby-redis></comment>


Show HN: Timeleft – See how much time is left of the hour, week, year - <AUTHOR> https://aoueon.github.io/timeleft/ <comment><USER2> I really like the design. Well done!

One thing: After clicking one item it would be nice if using the browser navigation (back button) would show the overview again. Currently it only changes the url.

<comment><AUTHOR> I'll do that. Thanks!

</comment></comment><comment><USER3> Nice, I made a command line version earlier last year, and displays hours until the new year.

[https://github.com/proc0/cucoo](https://github.com/proc0/cucoo)

</comment><comment><USER4> I could see this to be really useful for sprint/milestone/quarter for product teams.</comment>


Has anyone tried using a neural net to tap into the pattern of prime numbers? - <AUTHOR> A month or so ago, this article was shared on hackernews: http://scienceblogs.com/goodmath/2010/06/22/the-surprises-never-eend-the-u/
There's clearly a visual pattern there - which is why the images are interesting at all - but it's complex enough that you can't quite nail down exactly what it is, only attributes of it.
Could a neural net be trained on images of the known prime space, and begin filling in blanks outside of it as likely candidates for new primes? <comment><USER2> Technically yes, however it would be strictly worse than even a simple Sieve of Eratosthenes in accuracy, memory footprint, and speed.

Attempting to automatically discover proofs that constrain the prime number search space would be more likely to be useful in that domain.</comment>