Unique in the Crowd: The privacy bounds of human mobility - <AUTHOR> http://www.nature.com/srep/2013/130325/srep01376/full/srep01376.html <comment><USER2> Somewhat relevant: My brother attended a conference where a speaker said that gait of human beings are so unique that an individual can be identified with 100% certainty using the accelerometer of the phone in their pocket.

EDIT: Found a paper on the subject from 2009: [http://www.cs.yale.edu/homes/mfn3/pub/mfn_gait_id.pdf](http://www.cs.yale.edu/homes/mfn3/pub/mfn_gait_id.pdf)

EDIT 2: Found another paper from 2012 claiming 99.4% accuracy: [http://users.ece.cmu.edu/~juefeix/btas_2012_felix.pdf](http://users.ece.cmu.edu/~juefeix/btas_2012_felix.pdf)

<comment><USER3> I worked in a lab at Univserity that had several projects using gait analysis. It is very identifying, but much harder to collect than this kind of data -- you need a physical device on the target.

<comment><USER2> Still, it could be very useful for intelligence agencies. If they have identified that a phone is being used by a terrorist they can identify which terrorist is carrying it if they're able to get access to its accelerometer. Or they could gain access to millions of phones' accelerometers and identify which ones are being used by known terrorists. At the very least I expect to see it in some spy movies in the next few years.

<comment><USER4> Given the recent leaks, I think we should start using "terrorist" in quotes, at least when referring to NSA "terrorists".

</comment></comment></comment></comment><comment><USER5> I've always assumed that, given the sheer and ever-accelerating quantity of data produced by people in the 21st century, the similarly increasing collectability of that data, and the massive benefits stemming from making all data more rather than less accessible, algorithmic systems capable of knowing practically everything about everyone are utterly inevitable. Attempts at camouflage are hopeless. Data collection from every avenue is only accelerating (imagine Glass, Kinect, Leap, Streetview and Fitbit recording everything, everywhere, across the whole globe, 24/7) and even the absence of a signal is a trace.

The main flipside is that I see no reason why this power should be restricted to any one sector of society, although it will flow first from those sectors which can sustain the most focus and wield the most resources (as we see currently with the primary use of these systems by governments and large corporations). So the flipside is, okay, maybe the pattern of mouseclicks, touchscreen interactions, body movements and physiological signals of incipient terrorists can be identified, but maybe so can individuals planning government fraud or cronyism. Maybe the positive and negative traces left by surveillance agencies can also be detected and wielded against them. Code has no loyalty.

In other words, equilibrium of social power will be reached not by trying to prevent these possibilities from being explored, but from following simple economic logic and endeavouring to make use of them yourself. I don't see this as the death of anything, more as a new and inevitable frontier, a radically new state of play with massive rewards open to individuals willing to relinquish the old paradigm and embrace the new.

<comment><USER6> Just imagine the uses:

\- the govt could build a really detailed voter database; they could pin the political leanings of a person by the list of web pages they browse, their FB and Twitter feeds, or the analysis of the email and phone contacts. This list could be used to improve the efficiency of "get out to vote" campaigns and donation drives

\- the govt could run a "graph rank" or "page rank" algo over the network of interconnections to determine the influencers; then, in a sensible situation, they know who to silence first; this would make political crackdown very efficient

\- the govt could data mine who's committing crimes and infractions; people who imagined they would slip under the radar will be caught; in the past there was a cloak of anonymity and an asymmetry - there were too few policemen and judges to cope with the illegalities, they had to pick and choose whom to prosecute, but now they could auto-prosecute by machine learning (just like MPAA auto-sends lawsuits based on mere IP addresses)

\- if they wanted, they could selectively silence certain people instead of blocking FB wholesale; this, applied on the list of influencers would wreak havoc in the activist social networks

\- our health, sexual, religious, political and drug use status would be used against us by governments and corporations; there would be no forgiveness and no forgetting

\- economic espionage; ability to blackmail people (because they know all their secrets); ability to blackmail people inside various companies to secretly install backdoors (that's how China gets FB data, from what I read)

There is no escape except self censure. Whatever escapes our heads is public and there is no privacy left. It was inevitable.

The first to be monitored will be people working for the state and especially in NSA, politics and large corporations. They will be the first victims of their own creation. Activists too.

<comment><USER5> Self censure is futile. We all generate far too many data points, its simply inescapable, and machine learning can work with anything, it doesn't have to be explicit as long as you have enough little details. But I don't think there's any reason to panic. Governments and large corps just have a head start over the public in utilising these possibilities, but there is no reason for the situation to remain one-sided forever. Besides, any serious attempt to leverage these possibilities to their fullest extent would result in essentially an instant civil uprising.

</comment></comment></comment><comment><USER7> Someone please edit the title - extremely misleading!

Here's what the article states: "In fact, in a dataset where the location of an individual is specified hourly, and with a spatial resolution equal to that given by the carrier's antennas, four spatio-temporal points are enough to uniquely identify 95% of the individuals."

In other words, they need the location from which you made the call. This data is not available in a normal CDR (call detail record) that carriers routinely use for billing. This is the same data you see on your phone bill. All it has is the date/time, to/from, duration and outcome.

As for the location, there were a number of papers floated in the past that specified that anywhere from 3-5 destinations identified a person uniquely. In fact, a persons daily commute is enough to identify most people. (Don't have a link to paper that found this.)

<comment><AUTHOR> That's true, but according to the Guardian here: [http://www.guardian.co.uk/world/2013/jun/06/nsa-phone- record...](http://www.guardian.co.uk/world/2013/jun/06/nsa-phone-records- verizon-court-order) Verizon handed over location data to the NSA (the original court order states "comprehensive communications routing information" and "trunk identifiers" should be handed over). It's reasonable to assume that the NSA will have that information, which makes their defence that "we don't get your name" pretty laughable since they can almost certainly just derive it.

<comment><USER8> According the Washington Post and other outlets, they do have approximate location data: "So the NSA is collecting information about my location as well as who I've called? It appears so. Cellphones make calls using the closest tower. So if the NSA knows you made a call using a specific tower, they can safely assume you were near that tower at the time of the call."

[http://www.washingtonpost.com/blogs/wonkblog/wp/2013/06/06/e...](http://www.washingtonpost.com/blogs/wonkblog/wp/2013/06/06/everything- you-need-to-know-about-the-nsa-scandal/)

</comment></comment></comment><comment><USER9> I'd absolutely agree. I'm sure I'm an outlier, but I'm definitely recognizable - my calls:

* my girlfriend, in my town (Olympia, WA) * the ambulance company I work for (also in Olympia) * my "daytime" employer, a software company in Scottsdale AZ

Even the convergence of 2 or 3 of these calls would likely identify most.

</comment><comment><USER10> Even metadata is _too much_ information.

</comment><comment><USER11> Just like how it only takes a few GPS coordinates to figure out who you are with a high degree of accuracy. Anonymizing data doesn't mean much in the big data world.

</comment><comment><USER12> Seems similar to claim that you can identify a person based on a handful of locations she visits from her regular daily routine.

<comment><USER13> *he/she, his/her

</comment></comment><comment><USER14> Cesar was my advisor and I was his first student. I've never been happier to see someone make a splash.</comment>


The primary issues that make frameworks flawed - <AUTHOR> http://timperrett.com/2016/11/12/frameworks-are-fundimentally-broken/ <comment><USER2> This: "Concepts such as Functor should not be scary. Many engineers in our industry suffer from a kind of dualism where theory and practice are somehow separate, and formal concepts like Functor, Monad and Applicative (to name a few) are often considered to "not work in practice", and users of such academic vernacular are accused of being ivory tower elitists. Another possible explanation might be that engineers (regardless of their training: formal or otherwise) are simply unaware of the amazing things that have been discovered in computer science to date, and proceed to poorly reinvent the wheel many times over. In fact, I would wager that nearly every hard problem the majority of engineers will encounter in the field has had its generalised case be the subject of at least one study or paper... the tools we need already exist; its our job as good computer scientists to research our own field, and edify ourselves on historical discoveries and make best advantage of the work done by those who went before us."

<comment><USER3> Now you know why programming is not considered engineering. There are plenty of programmers who pride themselves in not caring about "theory" ("I didn't go to school and now I'm making money building cool stuff!!") and thus history is repeated.

<comment><USER4> You don't need much CS theory in order to develop and maintain a CRUD app. I've been a programmer who gets paid to write code for 11 years now, and I'd say most of the code I've seen wasn't that much complicated than a CRUD app.

Also, I don't feel the need to be called an engineer. I just write code, hoping that it would work most of the time, under as many diverse circumstances as possible and trying to meet the client's needs. It sounds trivial, there's no "theory" in it, but sometimes is hard as hell to do all these 3 things right.

<comment><USER5> Some insights inspired from theory help a lot with writing CRUD apps. (Also of course, inspired from outside and then explored further by `theoreticians'.)

 _The most successful of these are now invisible_. Either because they are available libraries or so ingrained in the background of what we are doing.

See for example regular expressions, parsers, garbage collection, databases, file systems, CPUs.

For CRUD apps, "Out of the tarpit" ([http://shaffner.us/cs/papers/tarpit.pdf](http://shaffner.us/cs/papers/tarpit.pdf)) is an interesting paper that I hope describes how the mainstream programmer will build CRUD apps in perhaps ten years time. (I already used a variant of their techniques in a previous job, and it was rather pleasant.)

But yes, in practice knowledge of theory often acts more as a gatekeeper for getting into the likes of Google than you will use it. But when you do spot some opportunities to replace endless workarounds and tedious manual monkey- work with an elegant overarching principle, it often makes all the hours spent studying worth it.

As an great practical example: shake ([http://shakebuild.com/](http://shakebuild.com/)) is a build-system that was born out of our frustrations with Gnu Make at Standard Chartered Bank.

Similarly, Bloomberg used to use C++ to describe financial derivative contracts. Those derivative contracts don't fit well into class hierarchies. Switching to an embedded DSL approach embedded in a functional language made the software easier to write and more robust to common errors especially when maintaining.

<comment><USER4> > See for example regular expressions, parsers, garbage collection, databases, > file systems, CPUs.

Of course we're all standing on the shoulders of giants. So does the milk-man, who goes door to door using a vehicle of which he doesn't know much about how it was built/what its underlying principles are (is it a Otto-based engine? or a Diesel one? does the milk-man need to know the laws of TD?), but that vehicle is paramount to the milk-man's financial success, so to speak.

All I'm saying is that we don't all need to be like Rudolph Diesel, Nikolaus Otto or James Clerk Maxwell, we can still do our jobs as programmers perfectly fine the same as a regular milk-man does, we don't need to know the theory behind CPUs, garbage collection and the like in order to write code that does stuff.

Don't get me wrong, I get what you're saying and understand your points, I just think that right at this moment the programming world needs more "milk- man-like programmers", because if we build walls around our profession ("you can only be a programmer if you know CS theory" and the like) then nothing good would come out of it. I mean, we will certainly build some cool, nice programs, but the world right now doesn't needs just some, few "cool, nice programs", the world needs lots and lots of code. In order to have lots and lots of code we need more programmers.

<comment><USER6> It is precisely this attitude that has hampered the development of programming into a respected profession.

The world does not need lots and lots of code or programmers; the world needs less but better code and programmers, quality over quantity.

But this objective is thwarted when the idea keeps being thrown around that "everybody can, and should, code." There is already a glut of bad code developed by "programmers" unaware of what they do not know and unwilling to continue learning to improve.

Bad code, be it un-secure, un-performant, or un-usable code, is turning off consumers, and the earlier we sit up and seek way to improve code and product quality, the better.

</comment></comment></comment></comment></comment></comment><comment><USER7> It used to be the case, circa the 1990's, that you only saw libraries and example code. Sometimes a "skeleton project". Anything beyond that was exceptional. Having lots of open code available online was a new idea.

The thing that made the framework prolific - and it happened in tandem with the rise of Wordpress and other CMS systems - was having so many small, disposable projects. Rather than copy the same skeleton over and over, you could run a cute "new" or "init" command to do the same thing, glom together some plugins, tutorials, and styling, and instantly have something that looked the part - provided you didn't actually test it on a actual business case. Since many web site projects were and are still primarily fancy landing pages, with simple interactivity, frameworks became hugely appealing as a way to ensure a degree of polish and maintainability.

But frameworks became marketed as the way to make web apps, and here I think our enthusiasm went astray, since apps pretty consistently need to work through all their infrastructure from first principles, even if they're doing something relatively small. The "microframework" approach of bundling together unrelated libraries or interfacing their functions to a common protocol has remained a popular one, and that is most likely because it better satisfies the needs of app makers.

</comment><comment><USER8> He is right. Give me a specialized collection of functions any time, aka, a library, but I will never again use a framework, which is a half-finished program, of which the users are supposed to figure out how to fill in the blanks. A framework imprisons your own code within confines and limitations of what will often turn out to be some kind of imbecilistan.

<comment><USER9> "a framework, which is a half-finished program"

I think you might have another point here. If the framework wasn't a half- finished, but reasonably complete, program, then the criticism of the article wouldn't fly. It's perfectly OK for a finished program to be non-composable.

Emacs is a good example. It is a text editor first and framework second (although it's hard to believe, because people joke about it). It's not composable, merely extensible. Emacs has all faults that the article criticizes about frameworks; however, since it is usable on its own, it works out positively in the end.

</comment></comment><comment><USER10> Frameworks are demonstrably not broken, as millions of individuals and companies use them, successfully, as part of their projects and products.

Why do software developers equate "this technology is imperfect" with "this technology is worthless"? It's the kind of hyperbolic, emotional thinking that I would expect from a child, or Donald Trump, not people who supposed to be rational, analytical engineers.

<comment><USER9> I read the "broken" in the OP title as conceptual problem, not a practical one.

"as millions of individuals and companies use them, successfully, as part of their projects and products"

This was true for COBOL in its heyday, too (well, maybe not millions, but there was less computers in the world, too). But would you use COBOL in a new project today, even if it's not actually broken?

</comment></comment><comment><USER11> I think the question that is left unanswered here is - if not frameworks, what should we use?

Conceptually, there are only two solutions either:

a - write everything from scratch, which I think we all agree will be disastrous.

or b - compose tons of libraries together - for a typical webapp, that means connecting your ORM library to your routing library, to your template rendering library, to your authorization library, to your authentication library, session management, caching, deployment management, logging, monitoring , etc...

Obviously, the big giant downside is that it takes really long to connect all those things, and you usually do it badly and break abstraction layers anyway (not to mention security).

You end up spending 10 hours on every one of the dozens of things you need to make a proper webapp instead of spending a few hours setting up most of your app with the framework of you choice and spend 30 hours on that 1 or 2 damn situations that don't quite fit into the framework's golden path.

Really, you can work to create better frameworks, but the cost-benefit analysis will always sit with working with a framework rather then joining things together - unless the project is trivially small or you have enough resources to practically build your own framework. And that's before we take into account new hires and the reduced cost of training if they already are familiar with the popular framework you chose to use, or the ability to create plugins/extensions/add-ons to a framework that crosses concerns (For example a plugin that can deal with both add a model and a new route).

<comment><USER12> I've found that without a framework, there is very little to actually connect. I use something like spring-context for stateful things like datasources and queue connections, for clean setup/teardown. In the controller, I call a service which returns a plain map with data, and pass that data to a mustache template. I tend to just invoke stuff and pass around data. What is the difference between `mustasche("foo.mustache", myService.baz())` and some implicit render logic a la Rails? One extra line with the template name instead of a framework that implicitly resolves the template?

Setting up a new app usually takes me 10-15 minutes and 100-150 lines of boilerplate (read config files, create spring context, wire up controllers, ...), which is definitely worth the (low) cost in my opinion to achieve the blissful state of absolutely no implicit stuff happening beyond my "main" being invoked. This win gets bigger the more the project grows.

</comment></comment><comment><USER13> If you don't use an existing open source framework, you end up writing your own custom framework from scratch - And the outcome is not usually as good.

Then the next developer has to learn how to work with your custom framework from scratch (which is not as easy as learning the popular open source one).

<comment><USER12> All projects will have custom code in it, the business logic, that other unfamiliar developers will have to learn, regardless of whether or not a framework is used.

If instead of a framework you use a platform, like Ring on Clojure, Facebook React, JVM servlets, etc, then all a new developer needs to know is how the platform works and then get familiar with the code that has been written so far. Typically, these platforms have minimal implicit behaviour, so everything that happens is traceable via some kind of "main" entry point.

What part of this is "writing your own framework"? I don't feel that I write my own framework, I feel that I completely avoid the framework and the framework related problems highlighted in the article.

</comment></comment><comment><USER14> If you aren't using a framework, you are writing your own framework. Moving from project to project will be a pain, for you and others.

Disliking frameworks is not very different from disliking DRY, conventions and abstractions.

<comment><USER9> You can also write a library, which is a different thing than framework. What you're saying is a false dichotomy, based on different understanding of the term "framework".

I think what mainly distinguishes framework and library is that framework dictates you conventions outside its own code, where library does not. This dictate can be as simple as "I must be in charge of running the program, i.e. the top-level thing".

See, the conventions are not bad per se, however, they do not compose. So bundling conventions with potentially reusable code, as frameworks do it, is a wrong idea.

</comment></comment><comment><USER15> I do wonder if some issures (especially about composability) are actually caused a layer deeper, in the programming languages.

For example, java has some very peculiar ideas about typing and metaprogramming that encourage a "plugin" approach an tie your codeto 3rd party libs stronger than would be necessary.

Some examples:

\- Classes that implement an interface now have it as a dependency: If the interface class is not present, your class won't compile. This even though the interface class usually doesn't contain any additional information (exception being "extends" clauses)

\- the same is even true for _annotations_ \- even if those annotations don't even end up in the compiled class at all.

\- the language itself offers an extensive range of tools to package your code into discrete units with well-defined inputs and outputs. It offers significantly less tools to wire those units together and actually make then into a complete piece of software. In the end, if you roll your own solution, you often get to choose between "bowl of spaghetty" or "needlessly complicated". Frameworks stepped in to solve that problem (or at least make it look as if all the complexity were justified).

\- the reflection API encourages adding your own semantics to java language constructs and in a way extending the language - except there is no way to coordinate reflection usage by different frameworks.

</comment><comment><USER16> Saying that Monad should be used instead of frameworks, because frameworks don't compose?

Monads don't compose, and the workarounds are ugly and still a topic of active research.

<comment><USER17> I can't upvote this enough.

<rant> I _want_ to use PFP techniques. I have debugged numerous bugs after which I wished that the return type of a function encoded the effect the function has.

But, boy, do they make it hard?! I really do wish that PFP advocates stop deluding themselves and make a better pitch for why and how what they advocate be used by the industry. The first version of Wadler's "Monads for Functional Programing" [1] paper came out in 1992. The paper "Monad Transformers and Modular Interpreters" [2] came in 1995. Swiestra's free monad paper [3] was published in 2008. The Eff Monad paper [4] came in 2013.

Think of all the advances computing has made since 1992. Programmers in the industry have worked hard equipped with their tools deemed primitive. Hell, people have caused real world revolutions armed with nothing but PHP. Yet, the PFP folks haven't gotten around to compose multiple effects in any sensible fashion ... since nineteen ninety two! But that has not stopped them from pointing out with derision how everyone else is doing it wrong.

> It is imperative to understand that the need for composability in our > software tools is an absolute requirement. If we as an industry have any > hope of not repeating ourselves time and time again, we have to change our > ways.

Yeah, right - and which decade can we expect the PFP solution to be delivered? </rant>

[1]: [https://cse.sc.edu/~mgv/csce330f16/wadler_monadsForFP_95.pdf](https://cse.sc.edu/~mgv/csce330f16/wadler_monadsForFP_95.pdf) [2]: [http://haskell.cs.yale.edu/wp- content/uploads/2011/02/POPL96...](http://haskell.cs.yale.edu/wp- content/uploads/2011/02/POPL96-Modular-interpreters.pdf) [3]: [http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.101...](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.101.4131&rep=rep1&type=pdf) [4]: [http://okmij.org/ftp/Haskell/extensible/exteff.pdf](http://okmij.org/ftp/Haskell/extensible/exteff.pdf)

</comment></comment><comment><USER18> It's kind of a circular argument here. "Frameworks, which I define as things with these problems, have all these problems." A more insightful article or even series would start with the problems and then focus on how various frameworks and libraries either fall into the trap or transcend it.

</comment><comment><AUTHOR> I disagree with the headline quite strongly, but a lot of the negative points made in the article resonate with me

</comment><comment><USER19> It sounds like the author doesn't really have any idea what a "framework" is, but has heard several things they dislike called frameworks, so the presented thesis is "frameworks considered harmful" when what might be more accurate is the "the following design patterns have this set of problems."

<comment><USER16> No, he actually has a very good idea what crappy frameworks are, because he wasted a bunch of his life working on the Lift web framework.

</comment></comment><comment><USER20> I have to say, I disagree with virtually every conclusion here.

I don't doubt that there are some bad frameworks, or indeed that some developers have a habit of reaching for the closest framework even when it's not the best solution to a particular problem. This was most obviously demonstrated to me once when several applicants for a developer role submitted a simple CLI coding exercise _as an entire Rails app_ , despite the complete lack of that requirement.

We all use abstraction to model problem domains in terms of familiar concepts. There are different levels of these abstractions, and different levels are used in different places where it's appropriate. Sometimes using no framework is suitable; sometimes a small framework is suitable, sometimes a grab-bag of libraries, and sometimes a larger framework.

I've used Rails a lot. In some ways, it's a pretty standard implementation of well-known concepts – REST, Active Record, MVC et al. But it removes the work and friction of selecting an ORM, routing library, template renderer, asset pipeline, session management and so on, instead providing workable standard solutions for all of these. In many cases, this is completely fine – there are a class of web applications that Rails is pretty great for. Using it reduces the amount of custom plumbing that is required, and that can be both a short- term and long-term win.

On the other hand, some applications don't fit into a particular framework's constraints. Building a server to do some basic websocket communication would probably not be a good fit for Rails, for example, and one might consider building it on top of some libraries in Go, or Node, or something else. Maybe sometimes a larger application has specialised requirements that mean a framework would be an unsuitable choice, and it's better to compose modules in a different way. These different scenarios come up all the time!

Avoiding the use of frameworks, in my experience, can often result in developers building their own buggy implementation of 50% of what the framework offers. If the problem exists at all, it exists in the unsuitable usage of frameworks.

<comment><USER12> I think it depends on the platform, and libraries available on said platform.

On the JVM, I create webapps using a @ServletContextListener class, which essentially is a "main" that gets the servlet context passed to it. You could call this implicit, but it is at least the only implicit thing you need. I have 5 lines that read in and left merge some config files. I manually invoke a spring context for setup/teardown of stateful stuff like database connections, queue connections, etc, and initialization of core services using these. Some more lines to set up the Jersey controllers on the servlet, maybe asset-pipeline or something else for handling static files, and we're up to a total of 100-150 lines of initialization/boilerplate.

The win here is that there is absolutely nothing implicit about my app besides from the invocation of "main". My main beef with frameworks is the implicitness. Great when it works, but I'm so tired of hitting some kind of bug where some implicit thing stops happening for whatever reason and having to trace it down in the framework bowels.

In my experience, there is very little difference between learning a framework vs learning a platform (JVM servlets) and a few core libraries (spring- context, Apache's data source for DB connections, JMS for queue stuff, Jersey for servlets, spring-security for auth).

</comment></comment><comment><USER21> I don't think frameworks are flawed, but platforms and languages.

I mean, just look at the Web. DOM, Web Components, Indexed DB or WebGL could all be considered features of the Web-Platform and they seem all to have awful APIs.

</comment><comment><USER22> _Most_ frameworks, yes, not all

It's like overcomsumption when using too many frameworks, it ends up bad

</comment><comment><USER23> The last good framework I used was Metrowerks PowerPlant.

</comment><comment><USER24> "Frameworks are the worst thing to happen to software development in the last decade (and possibly ever)."

His site is using bootstrap.

</comment><comment><USER25> Reading that article on the phone is what's broken. It could really do with a framework that will stretch it to 100%

<comment><USER26> This is when Firefox reader mode comes very handy!</comment></comment>


Fanfootage.com puts fan shot videos to good use - <AUTHOR> http://www.vevo.com/watch/GB1101400219

<comment><AUTHOR> We have the video player here for all the different angles: [https://fanfootage.com/shows/616-kodaline-o2-dublin-16-3-201...](https://fanfootage.com/shows/616-kodaline-o2-dublin-16-3-2014) still early days for it.

<comment><USER2> Looks cool :)

</comment></comment><comment><USER3> What upcoming shows have you in the US?</comment>


Echofi - Music suggestions for Spotify based on user's tastes - <AUTHOR> http://echofiapp.com/

<comment><USER2> It doesn't handle the case of not being logged in to Spotify.</comment>


Show HN: New App – Algorithm that predicts outcome of european soccer matches - <AUTHOR> https://play.google.com/store/apps/details?id=com.betalystfootballbettingtips&hl=en_GB

<comment><AUTHOR> Let me know your thoughts on it!</comment>


A List of Hacker News's Undocumented Features and Behaviors - <AUTHOR> https://github.com/minimaxir/hacker-news-undocumented/blob/master/README.md <comment><USER4> I don't believe this is an actual feature, but I've noticed a trend that I've been calling "twos", where, at any given moment, a particular subject (present as a word or phrase in the article's title) will show up twice on the front page.

Funnily enough, currently the "twos" subject is "Hacker News", with this article and "What I've Learned from Hacker News" both being present in the front page at the same time.

<comment><USER5> Very often this is readers following some link, seeing other links from that page and submitting them.

<comment><USER6> That's how I interpret it as well. I also think interesting articles on a topic jog people's memory and cause them to re-submit interesting articles from the past on that topic.

</comment></comment></comment><comment><USER7> Just one comment about vouch, which seems to have have changed behaviour fairly recently.

Used to be that if a shadowbanned user posted a clearly substantive comment a vouch would always (nearly always?) restore it. Now it never does - I guess vouch is now just a vote that needs x votes.

Suspect that's going to unintentionally have even more people talking to themselves, because they've not yet noticed the shadowban.

<comment><USER8> It is possible to lose vouching privileges if the mods feel the comments you're vouching for are uncivil or do more harm than good.

<comment><USER7> That's also possible. Don't think I have vouched for something that shouldn't, but I would say that, wouldn't I? :)

So have others noticed a change, or did I accidentally flag my own account somehow?

<comment><USER8> >or did I accidentally flag my own account somehow?

If you did, the mods won't necessarily tell you, you'll just have to email them and find out.

</comment></comment></comment></comment><comment><USER9> One feature I'd like to see is the split between upvotes and downvotes on a comment. It's a measure of controversiality which I would find more interesting than the net score.

<comment><USER10> Yes. I'd much rather read comments with a high number of votes and net zero score than the two other extremes.

<comment><USER9> Well you don't get to see other people's comment scores anyway. What I meant is for your own comments, seeing a score of +1 doesn't carry the same information than +15/-14.

<comment><USER10> Yep, I know. I was just riffing on your idea; I think the ranking algorithm should be tweaked a bit. Popularity contests don't lend to great debate or conversation. They tend to shut down one side at the expense of the other.

</comment></comment></comment></comment><comment><USER11> Unfortunately the site still has no way of doing bullet lists. If you try this is the result:

\- One \- Two \- Three \- Four

You can do this but it isn't clear that it is even a bulleted list (particularly with real content):

\- One

\- Two

\- Three

\- Four

It does support code blocks but that has strange boxing behavior making them hard to read even for actual code. For example:

          - Super long line that will box strangely for some reason... ! Long Line Long Line.
          - One
          - Two
          - Three
          - <USER2>

As you move further down a reply thread the box around code blocks shrinks and scrolling increases. If you access the comments with increased font size, a mobile device, or a smaller browser window it also gets worse/happens sooner.

There's also now anti-hammering protection on the site (posting/replying/voting too fast) but it is far too easy to trigger. Just voting for a comment and hitting reply to that same comment can easily trigger it.

<comment><USER12> I think this should work

• one

• two

• three

• four

</comment></comment><comment><USER13> Lots of people posting random feature requests in here, but is HN even developed any more? The last significant changes I remember were two and a half years ago ([https://news.ycombinator.com/item?id=12073675](https://news.ycombinator.com/item?id=12073675)) and I think even those were the first ones in a long time.

<comment><USER14> It's interesting to see that question show up, because we work so hard on the code. It makes sense that you'd ask it, though, because most of the changes are either not visible (like anti-spam or anti-voting-ring features), or are subtle. For example, you may have noticed more capitalized titles on the front page in the last couple days—but this is an experiment we're going to roll back.

One reason we don't do a lot of visible changes is that HN's minimalism is one of its biggest assets. Another is that users don't like things to change, and the internal pressures that cause companies to do arbitrary redesigns are thankfully not in play here.

<comment><USER15> A well designed official API would go a long way toward letting a thousand flowers bloom. I know there's web and mobile apps already out there, but IMO the average quality is not great. Which is not surprising, given the awkwardness of the existing firebase API, which probably keeps many developers away and eats too much of the efforts of those devs that do try their hand.

<comment><USER16> IMO, the higher barrier to entry is a benefit to this site. Features that would lower friction increase content dilution. From what I understand, this site is not trying to become Reddit.

<comment><USER8> There is no high barrier to entry here. You literally just have to fill out an HTML form, which _everyone_ knows how to do. It's easier to join HN than it is many other sites, which at least include a second auth factor through email to verify an account. Some sites now require a social media account or validation of a real identity. Lobste.rs won't even talk to you unless someone vouches for you, and they read your existing posts on HN and elsewhere, and decide you're worth letting in. Even 4chan has more friction than HN.

And an API, practically by definition, is not a benefit to membership or a draw for whatever HN considers a typical user, much less the sort of "normie" non-technical user HN wants to keep away. The quality of comments is not maintained to a high standard by the API being more difficult to query than it could be, nor would it be diluted by the API being easier to use.

And as far as Reddit goes, a _lot_ of content gets posted here from Reddit, and a _lot_ of the userbase here are also Reddit users, making the cultural contempt HN has for Reddit more than a bit hypocritical.

A lot of people here, pg included, seem to assume that the "low tech" nature of the featureset here is keeping some flood of unwanted users away but I submit that the title of the site being "Hacker News", it being on a subdomain and the lack of evangelism on mainstream social media do a far better job of gatekeeping than purposely adding "friction" to frustrate people.

<comment><USER14> We are certainly not trying to keep non-technical users away. Where did you get that idea?

HN is for the intellectually curious. Many of the posts here are technical but there have always been plenty of non-technical discussions as well.

<comment><USER8> I was more referring to the community than the staff or its policies.

A lot of people here seem to believe the site is supposed to be for technical users and technical content onlym even though that never was the case. The negative impressions people seem to have about "turning into Reddit" or non- technical content diminishing the sites' quality feed into that stereotype, as does the belief that adding "features that reduce friction" would somehow dilute content.

But... the guidelines do use the qualifier "anything that good hackers would find interesting" for determining what's on topic, which does lead people to fill in the blanks for what a "good hacker" should find interesting.

</comment></comment></comment></comment></comment></comment></comment><comment><USER17> My only wish is that dupes weren't marked as dupes. It's not like you are submitting with the intention of creating a duplicate link (normally), it should just take you there instead of a [dupe] mark on your submission.

<comment><USER8> I'd like to see a "rolling thread" feature where dupe threads (and links) are automatically merged into an existing thread, with older comments and subthreads being deleted over time.

Hacker News doesn't do a good job of avoiding duplicates anyway, might as well make that a feature.

<comment><USER18> > with older comments and subthreads being deleted over time

No, don't delete comments! Hide them if you must, but I always like being able to enjoy and send people link to comments from years ago.

<comment><USER19> Agreed, even comments from 5 years ago are often just as relevant now, and are often more substantive than more recent ones in the same article (in my experience).

</comment></comment></comment></comment><comment><USER20> Here's some features I wish we had:

\- Overhauled voting system. Comment votes are effectively "like/dislike" buttons, and _some_ people use them to help promote/discourage comments central to the discussion. If you get downvoted or upvoted you do not know why, and that helps no one. Slashdot implemented a useful feature for this over 20 years ago.

\- Tags on submissions, which would enable very simple filtering by topics.

\- New hidden sections to let us dig into dead or controversial stories (maybe /dead and /deadnew?). If you watch /newest, you'll sometimes notice information that is interesting or meaningful, but it's auto-killed. There's no way to only show dead info except to page back through /newest. It would also be neat if we could actually vote on these, even if they remain dead. I don't even need comments to work on them, I'd just like to occasionally look at content that either a bot or overzealous human deems 'inappropriate'.

On the last one, here's an example: I just found this dead article in /newest ([https://oilprice.com/Alternative-Energy/Renewable- Energy/The...](https://oilprice.com/Alternative-Energy/Renewable-Energy/The- Worlds-Largest-Battery-To-Power-The-Permian.html)) talking about the world's largest battery being built in Texas. It was submitted by _protomyth_ , number 55 on the HN leaderboard. Of their past 30 submissions, 5 are dead, 1 has >100 votes, and 1 has >200 votes.

You can't easily find articles like this, because you have to keep paging back and paging back to find 30 or more dead articles. And you can't see the highest voted dead articles, so ones that might be interesting but were killed for some reason are also hard to find.

</comment><comment><USER21> Not sure if this applies but new functionality will show up in your profile if you make it far enough in the YC application process. Our team landed an interview for the S2014 batch. There is a whole part of the site that you would only see during this process. I had questions in my profile during the application process (which normally does not appear) and when we were invited to interview there was scheduling tool where you could see the open slots over the four days of interviews. In our batch, they interviewed four teams at a time in 15-minute intervals and you could pick your time in this scheduling grid.

[https://github.com/joseph-adam/YCombinator- Application-S14](https://github.com/joseph-adam/YCombinator-Application-S14)

</comment><comment><USER22> How can we report bugs in the Hacker News site?

My particular bug/request: the story submission form will trim page title suffixes for some popular sites, but the form's "too long" JavaScript check measures the original title length, not the auto-trimmed title length. So I often submit a story and have to manually trim the title suffix that would have been trimmed anyways for a story from the same site with a shorter title.

<comment><USER23> E-mail the mods, email@example.com

</comment></comment><comment><USER24> >If a user has 251 Karma, they can set the color of the top bar in their profile settings

Why on earth is there a karma requirement for this, let alone such a high one?

<comment><USER25> I have exactly 251 karma, this is so exciting

<comment><USER18> user: mereel

created: July 21, 2017

karma: 250

You guys don't have to be mean…

<comment><USER25> Hahaha now I'm at 271

<comment><USER18> Nice! Consider this your rare opportunity to talk about your karma without repercussion. Don't make it a habit, though; I'm sure you have better things to talk about anyways ;)

</comment></comment></comment></comment></comment><comment><USER26> I was hoping to learn about why sometimes comments can't be replied to, especially if they're deep in a thread. Can somebody fill me in?

<comment><USER27> Some kind of anti-flamewar feature. if there are multiple responses added in a very short time HN will temporarily hide "Reply" link.

</comment></comment><comment><USER28> Small correction: the "web" link under a story now takes you to DuckDuckGo instead of Google.

<comment><USER29> Wait, what? When did this change?

Added it to the doc!

<comment><USER30> Very recently. Not a great change in my opinion. The google search always had the article in position one. The ddg so far has failed me every time. :(

<comment><USER14> I've had the same experience, unfortunately, so I think we're going to change it back.

</comment></comment></comment></comment><comment><USER31> > If the comment desaturation makes Hacker News difficult to read, you can > click on the comment's timestamp to go to its page where the comment will no > longer be faded, or you can install the CSS extension discussed here.

Or, you can select its text to see it in (typically) black on blue.

<comment><USER32> This doesn't work for me in Safari on a Mac. The text remains gray and is still quite hard to read against the blue background.

</comment></comment><comment><USER33> Pretty cool report. Personally all I want is to be able to change my username, even if it means emailing and waiting a few days.

<comment><USER34> Agreed, this would be nice to add. However, it would have been easier if everyone's primary identifier was a number, and a name was just an associated field. Unfortunately, it doesn't seem that it was set up this way. Someone correct me if I'm wrong.

Anybody known if emailing the mods will let this happen?

<comment><USER35> Maybe add a displayname "on top" that gets displayed in discussions, while still showing the username in the profile so people don't impersonate each other, add a button to "flag displayname" on the profile so that can be reset if abused or even the privilege to set it revoked -- done?

</comment></comment></comment><comment><USER36> It's interesting that you need at least 501 karma to be able to downvote comments and posts, but only 31 to flag submissions. Kind of surprising considering that they say a flag is essentially a "super" downvote.

<comment><USER9> Out of curiosity, how do _comments_ get flagged?

<comment><USER37> You click the timestamp of the comment, which takes you to a page with more menu options. One of those is [flag]. I don't know how many flags it takes to convert a comment from normal to [flagged], or to dead.

</comment></comment></comment><comment><USER38> This is a great list. It took me years to learn most of this stuff and I still learned a few things.

</comment><comment><USER39> I always thought newbie names were red. Color deficiency sucks.

</comment><comment><USER40> I think I was one of the first to join HN when I was only a teenager. I think 18. I miss the simple days! Went by so fast.

</comment><comment><USER41> Interesting... this post caused me to finally look up what "delay" in the user settings does. As you might assume, it delays visibility of your comment for that number of minutes. I wrote this 2 minutes ago, see you in the future!

</comment><comment><USER42> The ranking algorithm also isn't some simple votes/time metric. The flame war detector for posts is an example that is mentioned, but there are also some undocumented complexities on the comment side too.

An obvious one is brand new comments get a huge boost in the rankings compared to older comments. It is pretty common to see a few minute old comment at the top of a lot of comment threads. It also seems user reputation is a factor in this. A user with a good average karma score (a metric that used to be displayed publicly but is now hidden) seems to have their comments stay near the top longer than other users.

<comment><USER43> Re. comments lingering high based on account karma, I've suggested the same but dang says not. [https://news.ycombinator.com/item?id=16441687](https://news.ycombinator.com/item?id=16441687)

Perhaps such remarks are retaining position by their own merit. An experienced or high quality commentator may simply produce remarks that are better received.

<comment><USER42> I don't know what to say other than there is something going on behinds the scenes that can be seen in play in this thread. My comment is 1 minute newer than another comment in this thread. My comment currently hasn't been upvoted yet is several spots higher in the thread. I tried upvoting the other comment and mine was still higher. My account has almost twice the karma and is older than the author of the other comment. It might not be 100% or even 1% karma related, but there seems to be some sort of user reputation effect.

<comment><USER43> I upvoted your remark and it immediately dropped down the page. Evidently I am typhoid mary for unfavourable comment ranking...

Joking aside, dang specifically denies there is a comment ranking adjustment due to account karma, but not other factors (such as account age, an unseen reputation field, your IP address/choice of web browser/#{1/user.name.size}).

We are the blind to Hacker News's elephant in this.

<comment><USER42> Haha, you are right. I think there is clear proof that it is more complicated than a simple ranking involving points and time. Anything beyond that is mere speculation without clarification from the mods.

</comment></comment></comment></comment></comment><comment><USER44> That's pretty well done and thorough. The wayback feature was one I hadn't noticed before, and it caused me to look at the account creation date - <USER3> years and 1 day ago! Wow...

</comment><comment><USER45> Interesting post, I didn't know about some things like "/noobstories" or the karma needed for downvoting.

One feature I've been wanting lately is the ability to see only new comments since my last visit to the thread. I've thought about writing some sort of reader application for this or perhaps a browser plugin.

Even nicer would be something that takes into account comments I've actually read by using what my viewport has had open, but that may be less useful.

<comment><USER46> The inability to see new comments since your last visit is a feature. :-)

</comment></comment><comment><USER47> I just turned 24, I've been a software developer since I was 18-19,and it's so interesting to go back in time and see what was going on in the HN universe on specific days in the past, way before I even got interested in tech (I was in 6th or 7th grade when HN started). I really wish I would've discovered my passion for tech earlier.

</comment><comment><USER43> Remark ordering also appears to incorporate freshness (new remarks get a moment at/near the top), and I may possibly have also observed a penalty box: hidden downweighting, or reduction in effective comment score, imposed by moderators upon troublesome users that weren't egregious enough to ban/shadowban.

</comment><comment><USER48> This isn't the best place to do feature requests and I also strongly believe the more features HN gets the worserer it will become. But. anyway, my current top fave is this:

 _implement some kind of keystroke scheme to to basic page steerage in emacs /vi mode respecting ways, and ? to show what the keystrokes are_

<comment><USER14> That may actually happen someday, because I wrote an HN client to help with moderation and it has all kinds of keyboard shortcuts for navigation. It's on my list to publish the navigation parts.

<comment><USER48> This would make me very happy.

<comment><USER14> You'd be welcome to bug us about it periodically at email@example.com. The reason it's not done yet is that we have limited resources for working on software and there are always much higher-priority things to get done. But I really would like to get it out someday. Also, it's written in Arc using an Arc-to-JS implementation, which is fun.

<comment><USER48> I think I last bugged you about it, 2ish years ago. So, I'm happy you've got it on the backlog.

I think using front languages which "compile" to JS is a fine foonly thing to do. ghc-js and elm come to mind.

</comment></comment></comment></comment></comment><comment><USER49> > but the minimum score is -4 points.

Is that true? I may misremember, but I thought I had comments in the minus a dozen or so.

</comment><comment><USER50> I'm as surprised to see this posted by a green username as I am glad to know what a green username means after having read your submission.

</comment><comment><USER51> Looks like /topcolors is getting hugged to death

</comment><comment><USER52> You left out orange usernames

</comment><comment><USER53> Flame-war detector remind me of the following short story by Scott Alexander

[https://slatestarcodex.com/2018/10/30/sort-by- controversial/](https://slatestarcodex.com/2018/10/30/sort-by-controversial/)

</comment><comment><USER54> go into your profile and mark the ability to see [dead] comments. a lot of them are useful.

</comment><comment><USER55> How do I turn off echo chamber mode where well-written posts that go against the mob thinking turn grey?

<comment><USER56> Got any examples for well-written grey posts? Most downvoted posts are not that amazing.

<comment><USER57> I have almost a conditioned reflex for upvoting grey posts at this point. The people who downvote are a weird crew that don't seem to judge by Reddit's "contributes to the discussion" standard.

<comment><USER14> HN doesn't have that standard. Not being Reddit doesn't make you weird.

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

<comment><USER8> Reddit's standard seems to contribute more directly to quality discussion than the haphazard result of pg's opinion, authoritative though it may be.

When voting is applied with no real guidelines or standards, it ceases to be an effective filter for anything but the immediate emotional zeitgeist, and this goes against HN's stated purpose of bias towards quality.

<comment><USER14> Pretty much all of HN is the "haphazard result of pg's opinion", no? That is an interesting way to describe creating something. I see no reason to mess with how HN has always worked, at least not where there's no obvious problem.

I know people have strong feelings about downvotes, but those feelings are rooted in something other than discussion quality. Everything I think I know about how to keep HN from deteriorating too badly tells me that the downvotes here serve a critical purpose—even though they're a crude weapon with a lot of downside.

<comment><USER8> >I know people have strong feelings about downvoting, but those feelings are rooted in something other than discussion quality.

How do you know? People have different opinions about what constitutes and contributes to quality. From what I've seen, a lot of people assume Reddit's standard should apply here, and they seem surprised to learn that it doesn't. Those people do seem to be concerned about discussion quality.

>Everything I think I know about how to keep HN from deteriorating too badly tells me that the downvotes here serve a critical purpose—even though they're a crude and imprecise weapon, with a lot of downside.

Fine... but why is it wrong to have a standard for downvotes?

The argument being made here is that arbitrary and excessive downvotes _are_ a symptom of deterioration.

<comment><USER14> I appreciate your passion on topics HN-related!

Taking the last point first: HN downvotes aren't arbitrary and excessive. In most cases, not 99% but maybe 90 and certainly 80, it's easy to see why a comment has been downvoted—except when you agree with it on a topic that pushes your buttons, in which case you will always think the downvote was unfair, but then your opinion can't be trusted. (That applies to all us; we just have different buttons and agree with different things.)

That does leave a margin where the statistical vote cloud converges on a negative score unfairly. But how often does that really happen—maybe 10%? Once you account for the many factors of randomness, e.g. in who happens to see a comment, there's not much room left to make outcomes more precise. Certainly a feeble "rule change" wouldn't do it; if you think it would, try running an internet forum and telling users how to behave. You will quickly know how King Canute must have felt. We'd be better off hiring someone fair-minded to go through all the comments, find those 10%, and upvote them. But what a fate to subject a human being to.

> a symptom of deterioration

HN downvote behavior has been stable for a long time, so whatever's going on, I don't think it's deterioration. But if it is, then I go with what Voltaire said about coffee being a slow poison: it must be very slow.

> a lot of people assume Reddit's standard should apply here,

People assume Reddit's standards apply on HN because Reddit is 100x as big as HN, and therefore much better known even among HN users. This is a simple consequence of size. It has nothing to do with what Reddit's standards specifically are or how high its quality is. I respect Reddit—Reddit is an amazing achievement—but it is not where HN should be taking lessons in discussion quality.

> How do you know? People have different opinions about what constitutes and > contributes to quality.

I don't know, but I'll tell you why I say it. The emotional dynamic in downvoting is very strong. It stings to get downvoted—it feels like _you_ 've been downvoted. It sucks for me as much as anybody. From observing this reaction in myself, and how people's statements about downvotes are connected to their feelings in thousands of cases, I believe that this emotional dynamic accounts for most of what people say on the topic. That's not a criticism; it's just how we are. But given that, it's easy to see how the common belief about downvotes arises: it's not that there was anything bad about my comment (impossible!)—it must rather be that some schmuck disagreed. Therefore, to make the world a better place, people shouldn't be allowed to downvote for disagreement. This is wishful thinking.

I can tell you for sure that, whatever beliefs we have about it, people overwhelmingly downvote based on how they feel about a comment, probably in the first 5 seconds. They're not following any "guidelines". Most don't even know what the guidelines are. It's just lizard-brain like/dislike. Suppose we changed the rules to ask users only to downvote under more refined conditions. Whose behavior would that modify? Not most people's—only that of the very most conscientious users. But those are precisely the users whose instincts should be trusted in the first place.

That is why I don't think we should set up such a rule: first, it's wishful thinking; second, no clear upside. And third, HN's origins are in a kind of counterintuitive minimalism that I think is worth something, and that it takes a certain stubbornness to preserve. Everyone disagrees with the specific acts of stubborn preservation, but somehow people end up liking, or like/hating, the sum it all adds up to.

<comment><USER58> _The emotional dynamic in downvoting is very strong._ c

Have you lot thought much about ways of reducing that, without changing the effect votes have on ordering? I subscribe to the 'emotional dynamic' theory of this and it seems like it's empirically testable without fiddling with the way the site much.

<comment><USER14> How would you reduce it?

<comment><USER59> You've already done some things to reduce it; for instance, by not greying out your own comments when you've been downvoted. Since comment scores have lots of jitter, you could also smooth out the displayed score, or delay updates. There's almost no time-value to comment scores, but I'd bet most of the pain in a downvote is confined to ~15 minutes from the posting of the comment.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER30> A new account posting a very old and famous post... almost looks like karma farming...

<comment><USER60> I've never seen it before, and I've been reading HN for years. A new user might naturally be interested in undocumented features and stumble upon.

I can't help but notice that it's still missing `noprocrast` and related settings.

<comment><USER61> I maintain a list of resources here [https://github.com/keithn/HackerNewsCommunity](https://github.com/keithn/HackerNewsCommunity) I'd actually added this list a year ago, but forgot about it, then just added it again, and had to remove it again as I realized it was dupe :)</comment></comment></comment>


AT&T speaking to Netflix about deal for faster speed - <AUTHOR> http://www.reuters.com/article/2014/02/24/us-att-netflix-idUSBREA1N1TL20140224

<comment><USER2> Has ATT/Comcast cut deals like this before? This really seems like something out of Sopranos/House of Cards.</comment>


Omnisense – Join the new humanity - <AUTHOR> http://omnisense.net/en/

<comment><USER2> I smell scam or cult.

Processor Processor R-2022, 64 Ghz of quantic memory, micro-friction hydraulique welding

Can someone explain what quantic memory is ?

<comment><USER3> It's a teasing website for a facebook experience, so nothing really real, all terms are fake. Also, quantic memory is a reference to qubit

<comment><USER4> It's a school project I thought from reading the philosophy page. Pretty good I thought, albeit lacking a bit in copy and POV to make this more critical.</comment></comment></comment>


Ask HN: Computer Science Learning Resources - <AUTHOR> Does anyone have a great set of Computer Science learning resources?
I realized the other day that I've written hundreds of thousands of JavaScript, etc. and don't know how virtual memory, for example, works.
Anything is appreciated! Thank you! <comment><USER2> Maybe take a look at a college's Computer Science degree requirements and look into topics that interest you:

[https://www.cs.washington.edu/students/ugrad/degree_requirem...](https://www.cs.washington.edu/students/ugrad/degree_requirements)

Wikipedia is pretty decent in most topics.

Also, I've found that GeeksForGeeks is pretty neat too: [http://www.geeksforgeeks.org/](http://www.geeksforgeeks.org/)

</comment><comment><USER3> The Wikipedia articles related to computer science seem to be fairly decent, and have references that you can follow up for further reading. For example, here's the article on virtual memory:

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

</comment><comment><USER4> There are many different styles and paths to learning 'Computer Science'.

But if what you are after is insight into how a computer works I found that I had my 'ah-ha' moment while learning C, Assembly (intel), and writing a compiler. I did have to have a slight basis in computer architecture, but that compiler project I worked on made everything click.

(side note on writing a compiler. Read, Decode, Execute. There are no short cuts around those series of steps).

If you are looking for a book I would recommend the 'Dragon Book'

[http://www.amazon.com/Compilers-Principles-Techniques- Tools-...](http://www.amazon.com/Compilers-Principles-Techniques- Tools-2nd/dp/0321486811)

I found a paper copy of the international version for cheap (like $10 US if I remember) that was amazing.

</comment><comment><USER5> Hey, maybe you will find something interesting with the "Awesome" list on Github? [https://github.com/sindresorhus/awesome](https://github.com/sindresorhus/awesome)

</comment><comment><USER6> The great set of computer science learning resources: [http://www.amazon.com/Computer-Programming- Volumes-1-4A-Boxe...](http://www.amazon.com/Computer-Programming- Volumes-1-4A-Boxed/dp/0321751043)

Suitable for lifelong learning.</comment>


Ask HN: CPM on Android/iPhone? - <AUTHOR>

Just curious to know what some developers on these platforms are earning on CPM? <comment><USER2> Awwwwwww ... I thought you meant CP/M :-( I was thinking "I bet someone's ported a Z80 emulator ..."

<comment><AUTHOR> lol - sorry!

</comment></comment><comment><USER3> Depends on your CTR. If you CTR is like mine @ 0.02% and you only serve banner ads ....

Admob: expect $0.05 average even if you do over 100k ads. Mobclix: random, but under $0.10 Others: unknown, but being investigated :/</comment>


Solving Riddles with Prolog and ES6 Generators (2014) - <AUTHOR> https://curiosity-driven.org/prolog-interpreter <comment><USER2> Partly related but generators clicked for me when I heard them described as, "instead of pushing data into a function, you're pulling results out of a function."

I've been doing a lot of asyncio lately and just having a mental model of my pipelines working by pulling results through them has been invaluable.

<comment><USER3> But you're also pushing data back in. Generators are coroutines that can be suspended and resumed, and the yield keyword is a mechanism for two way communication between the routine and coroutine.

<comment><USER2> True. The idea doesn't hold as well now that data can be passed into a generator in Python. Ie. Now that there's coroutines.

</comment></comment></comment><comment><USER4> Shameless plug: I run a website with dozens of such puzzles that can be solved online. If you're interested, google "zebra puzzles", should be the first link.

<comment><USER5> I want to check it out but all of the Google results are for Einstein's Riddle. What's the link?

<comment><USER6> It's the same thing.</comment></comment></comment>


Apple Reports Third Quarter Results - <AUTHOR> http://www.marketwatch.com/story/apple-reports-third-quarter-results-2012-07-24

<comment><USER2> TL;DR: Exceeded guidance, no blowout.

Mac sales are static, overall iPhone sales softening as the lineup ages, iPads surging, iPod continues to dwindle, miscellaneous sales remain miscellaneous.

\+ stock buyback next year \+ dividends being issued as expected \+ China sales exploding

So: a quiet quarter. New Mac OS released tomorrow. Yay!

<comment><USER3> You forgot another one -- estimates missed.

<comment><USER4> If you can make $8 billion profit in a single quarter and for some reasons the estimates where higher, that's a problem with the estimators, not with your business. In 2012 on the planet Earth averaging nearly $4 million in profit every single hour of every single day is tremendous business.

<comment><USER5> Sure, but the stock multiple prices in the estimates. If it can't meet the estimates, the stock is overvalued.

<comment><USER6> They beat their own estimates, but analysts are proven to be wrong all the time and the make up some numbers which don't reflect what really happens.

<comment><USER7> Here is a better TL;DR. Apple, missed average estimates for most of the reported values for iPhone, Mac, EPS, revenues and profit margin, but beaten its own guidance, which is usually quite low. The stock price was down over 5% after markets.

Most articles blame the next iPhone for the lower than expected sales. So In 1 year there are 4 quarters, and in the last 2 quarters misses on estimates are explained by rumours for the next iphone, this year and last year. Finally, will the current quarter also be worse for iPhone due next release approaching?

Analysts; please be clever enough to take care of new releases in your estimates.

</comment></comment></comment></comment></comment></comment><comment><USER8> Oh... also buried in the release - Mountain Lion is released tomorrow:

"We've also just updated the entire MacBook line, will release Mountain Lion tomorrow and will be launching iOS 6 this Fall. We are also really looking forward to the amazing new products we've got in the pipeline."

</comment><comment><USER8> The amount of the first dividend in a while has been set.

"Apple's Board of Directors has declared a cash dividend of $2.65 per share of the Company's common stock. The dividend is payable on August 16, 2012, to stockholders of record as of the close of business on August 13, 2012."

</comment><comment><USER9> Down 5% in after hours trading, although not sure if that is before or after results.

<comment><USER10> Looks like after, due to being lower than the average analyst expectations... had been predicting $37b revenue, vs. actual report of $35b.

<comment><USER9> They also missed the EPS by a dollar ($9.32 vs $10.35)

<comment><USER11> They missed the analysts predicted revenue and EPS, but not their own guidance: revenue of $34 billion and earnings per diluted share of $8.68. Wall Street investors go bullish when iPhone sales slow, and bearish when sales are exploding.

<comment><USER12> this is traditional: they almost always undershoot the over-expectations

</comment></comment></comment></comment></comment><comment><USER13> Gross revenue and margin rose. Slow iPhone sales were the only weak spot in the report, which is unsurprising given the age of the current model.

<comment><USER14> The current model is less then a year old, I think the problem is people are waiting for 4g.

<comment><USER15> With iPhones, "less than a year old" means "the new one's about to come out". My two year plan expired a few months back and I'm holding out for iPhone 5, and I suspect a lot of iPhone 4 purchasers are in the same boat.

<comment><USER16> >I'm holding out for iPhone 5, and I suspect a lot of iPhone 4 purchasers are in the same boat.

Yep. Hi. *waves from a 3g-only Verizon iPhone 4 :(

<comment><USER17> aww... I'm holding an ATT iPhone 4s that says "4g". Maybe Verizon should make the appropriate payment to Apple for an "upgrade"? <http://www.pcmag.com/article2/0,2817,2401422,00.asp>

</comment></comment></comment></comment></comment><comment><USER18> Almost 43% gross margin, for a (mostly) hardware company !!

<comment><USER19> I don't really understand how people keep calling Apple a hardware company. Yes, they make their own hardware (in some cases) but on the record, repeatedly, everyone at Apple says, all the time, that they treat themselves as a software company.

<comment><USER20> To call Apple a hardware _or_ a software company is to miss the point entirely. Is Ford a wheel company or an engine company?

<comment><USER21> That's not fair, both wheels and engines are hardware ;)

In all seriousness Apple isn't either. They make better software than any hardware company I know of, and better hardware than any software company I know.

<comment><USER20> My point is that both wheels and engines are simply components of what Ford actually makes, which is cars. Likewise hardware and software are just components of what Apple actually makes.

Totally agree that Apple isn't either, which was exactly my point.

<comment> user-id So they're a computer company. Right.

</comment></comment></comment></comment></comment></comment><comment><USER22> What a bunch of fanboys...

They missed their estimates and stocks tumbled 6% in after hours trading. That's $33, more than 10 times the dividends they will be paying on that $8B profit.

<comment><USER23> How did they miss their estimates?

<comment><USER22> "Apple said its earnings per share were $9.32 on revenue of $35 billion. Analysts polled by Thomson One Analytics predicted earnings per share of $10.36 on revenue of $37.19 billion."

Via [http://www.mercurynews.com/breaking- news/ci_21147940/apples-...](http://www.mercurynews.com/breaking- news/ci_21147940/apples-third-quarter-earnings-misses-wall-streets- expectations)

It doesn't matter how much money you actually make when you are as big as Apple, it matters what you make compared to what people (analysts) think and expect you to make.

Edit: Put wrong quarter numbers, fixed.

<comment><USER23> You said "their estimates" which I took to mean Apples own estimates. Isn't it tradition for Apple to beat their own estimates, fail to meet analysts estimates, and having their shares drop for a period of time afterwards? I'm not a trader though so correct me if I'm wrong.

<comment><USER24> They're usually pretty good about their own estimates, but they don't manage "expectations" very well. By way of contrast, Microsoft seems to do this much better, leading to fewer surprises.

These analysts have their heads up their asses, though, as that's the only place you could get numbers like this.

</comment></comment></comment></comment></comment><comment><USER25> I guess this week would be a good time to buy some AAPL and wait for the iPhone 5 frenzy.

</comment><comment><USER26> From Jacqui Cheng's liveblog of the call on ars:

Q: Can you talk about what your conversations are like with carriers in terms of pricing, subsidies, etc.?

Tim Cook: (laughing out loud)

I don't want to talk about specifics with carriers, but generally I'd say our role is to make the very best smartphone in the world that has an incredible user experience that's far superior than anything else, that customers want to use every day at the end of the day, carriers want to provide what customers want to buy the most important thing for Apple is to continue making the best products in the world. we are maniacally focused on it

</comment><comment><AUTHOR> From the Press Release: the Company sold 26.0 million iPhones in the quarter, representing 28 percent unit growth over the year-ago quarter. Apple sold 17.0 million iPads during the quarter, an 84 percent unit increase over the year- ago quarter. The Company sold 4.0 million Macs during the quarter, a two percent unit increase over the year-ago quarter. Apple sold 6.8 million iPods, a 10 percent unit decline from the year-ago quarter

<comment><USER27> This caught my eye. 26 million iPhones. Galaxy S III just did 10 million in 6 weeks since launch? That's 20 million in a quarter. Assume the iPhone number is a blended number too between older and latest model. So did we just see the first real example of one phone model legitimately challenge the iPhone? The argument was always that Android success was across so many phones. Now is the breaking down? Please don't flame me as hater or fan boy and just help me with the question of whether this is meaningful or flawed.

<comment><USER28> And how much money did the Galaxy S III earn on those 10 million sales vs iPhone?

I'm no Apple fanboy, but it always amuses me that the Android boosters talk unit numbers while Apple continues their "BMW" revenues on product. Congrats, you sold 100 Beetles... our sales of 1 BMW generated more profit.

<comment><USER29> A rule that I learned a long time ago in tech is, "The commodity always wins."

And it seems to work out that way most of the time. If there are two technologies, and one manages to become a commodity that is installed all over, that's the technology that you see innovation coming from and the future coming out of. It is often the worse technology. But it wins.

I don't have a horse in the phone race. But when I see Apple folks talking about profit margins and Android folks talking about units sold, I'd lay my money on Android winning in the long run. It may be a worse market to be in now, it may make a lot less money. But where the users are is where the future tends to be.

This happens for a lot of reasons. Let me give just one. When teenage kids (who don't have a lot of money of their own) get a smart phone, they are going to be given Android devices because it is cheaper. When they play around with those phones and master them, they will be learning Android. Many will stick with Android. Others will learn Android, and their first programming experiences will be with it because that is what they have. And once they grow up they will be worth a lot more than $0, both as customers or developers. But they won't be imprinted on iOS.

<comment><USER30> Please, everyone, when talking about "wins"—do specify, what is won. In this case—the race to the bottom?

<comment><USER29> What I mean by win is that they will wind up becoming the dominant technology with the lion's share of the market, revenue, and other companies building on top of. The also ran technology may survive, but it becomes relatively insignificant.

For example compare the Mac vs Microsoft Windows. The Mac was better, had better product margins, etc. Microsoft was the commodity and completely owned the market.

For other historical examples compare VMS vs Unix, Lisp vs C, OSI protocols vs TCP/IP, Smalltalk vs Java, traditional client-server vs web apps, CORBA vs SOAP (vs JSON rpcs), Perl vs PHP, and so on. In many cases the losing technology was technically much nicer to work with. But the winning technology won.

For a famous essay reflecting on why, see <http://www.jwz.org/doc/worse-is- better.html> from the Lisp vs C war.

<comment><USER30> So how your theory explains Apple's success in recent years? Comparing Mac to windows makes no sense, but still: just look at the sales trend of Mac's vs. other computers. Then see how much companies are making with Android: many adopted the OS but only a couple actually get profits from it.

<comment><USER29> Apple's recent success has come from recognizing and creating new markets. Even in traditional computers, a large part of their current success is that they pioneered the market for people who want physically attractive computers. This is unlikely to continue to succeed for them without Steve Jobs a the helm.

As for Mac vs Windows, I'm referring to the old macs, OS 7, etc. That story ended with Apple almost dying before Steve Jobs came back and did what he did best - focused the company on creating new markets.

Moving back to your focus on profits, I think you could benefit from reading _The Innovator's Dilemma_ and its followup _The Innovator's Solution_. What you'll learn is how across many types of technologies (examples include ship design, steel production techniques, earth moving machines, disk drives, etc), across many decades, whenever two technologies compete head to head, the odds very, very strongly favor the one that is cheap and crappy. Throughout the competition, all of the revenue to be made is in the established, strong technology - until they suddenly have no market left.

Given that history, there is no question what to expect in phones. The iPhone is clearly the superior option that makes more money. Android is clearly the cheap crappy option that ships more units. But both are going to improve faster than people's needs increase, and Android is going to win.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER31> I'm surprised the Mac grew at all given how late in the quarter they updated the notebooks plus no desktop updates at all. I guess it just proves how little people really care about spec sheets anymore -- or maybe they made it all up at the end of the quarter with the new notebooks?

</comment><comment><USER27> I think this is a great concise view on the numbers. 23% revenue growth vs Google 21%.... <http://www.splatf.com/2012/07/apple-jun12earnings-charts/>

</comment><comment><USER32> Inspite of being the most valuable company on Earth and making an amazing profit by any metric - you still lose value (stock price) if you come in under "analyst" estimates.

The relentless march of capital may be increasingly going off the rails.

<comment><USER33> It makes perfect sense. If you're widely expected to make a lot of money, people will price that into your stock. If you make a lot minus n, you're doing less well than the analysts expected, and so your stock is overvalued.

The failing here is not that the stock price dropped on results that were worse than the market expected, it's that the market expected too much in the first place, causing the stock to become overvalued.

<comment><USER34> If it happened once, sure.

The thing is, analysts have shown, historically, that either:

1) They are really, really bad at their jobs to have such a consistent track record of producing poor estimates for Apple, or

2) They are really, really good at their jobs, but the jobs they're doing aren't the jobs we think they're doing.

<comment><USER33> > The failing here is not that the stock price dropped on results that were > worse than the market expected, it's that the market expected too much in > the first place, causing the stock to become overvalued.

I don't really see how what I said disagrees with what you said - what I was pointing out was that a stock price falling when the company fails to meet expectations is good and rational behaviour. The problem is the bad analytics that caused the inflated expectations in the first place. Feel free to speculate as to the cause of that as you wish :-).</comment></comment></comment></comment>


Setting up advanced registration forms with FusionAuth - <AUTHOR> https://fusionauth.io/blog/2020/08/27/advanced-registration-form <comment><USER2> Note that this requires a paid license to use the registration forms feature.

> ...Please note that advanced registration forms are a paid edition feature.</comment>


Willfully ignorant vs. aggressively skeptical - <AUTHOR> http://sethgodin.typepad.com/seths_blog/2009/08/willfully-ignorant-vs-aggressively-skeptical.html

<comment><USER2> Totally agree, some people on the internet spent way too much time arguing about topics they know nothing about!</comment>


CIA misled on interrogation program, Senate report says - <AUTHOR> http://www.washingtonpost.com/world/national-security/cia-misled-on-interrogation-program-senate-report-says/2014/03/31/eb75a82a-b8dd-11e3-96ae-f2c36d2b1245_story.html

<comment><USER2> This headline is confusing. It should say "The CIA misled government and public on its interrogation program, Senate report says" or something to that effect. (I only mention this because mods change the headlines so much that I can hope it will actually have an effect)</comment>


Are Algorithms the Magic Bullet? - <AUTHOR> http://calebelston.com/are-algorithms-the-magic-bullet-0

<comment><USER2> In a word, maybe. I think algorithms is like the treasure map ... the way to get your insight , idea, solution done. Everybody, everyday, everywhere have ideas, good and bad ones, brilliant and stupids ... but what makes the difference between what will works, make money and more important, get done, is the way you implement your idea. I have a personal notebook with dozens of insights but i have no idea how to implement most of then ... so what´s the point on having just the brilliant idea ? But when you have an good idea and then write a good algorithm, you can get your idea very close from reality and that´s the most important thing. So maybe, yes, the algorithms is kinda kings in a world where "get something useful done" is extremely urgent.

<comment><USER3> Good comment.

Saying that algorithms are the secret to the success of Google and the like is like saying that tunnelling machines are what made the London Underground popular - not quite true. Obviously, once they'd had the idea for the Underground, designing and building the machines for its construction became an absolute necessity which allowed them to create a far more wide-reaching network than previously thought possible - but this ignores the fact that people would still have used it if it had remained a hand-dug tunnel between King's Cross and Paddington.

In short, one could say that insight makes things popular while implementation makes them excellent - and that you should really be aiming for both.

<comment><USER4> I'm not sure that's a good analogy. People would not use Google if it had "hand-dug" search results. It's that algorithmic edge that makes Google useful for finding things.

</comment></comment></comment><comment><USER5> In a word, no. The netflix effort was many, many man-months of inspired work. And as Norvig points out in a recent paper, "simple models and a lot of data trump more elaborate models based on less data. ..."

<comment><AUTHOR> Agreed - although Cuil's picture matching algorithm might have been a bullet to the head

</comment></comment><comment><USER6> i'm not 100% convinced this author has any idea what an 'algorithm' is.

 _Algorithms are simply one way of executing on insight, a way that is particularly well suited to large data sets, no doubt._

huh

<comment><USER7> Caleb (the author) here. That is a weak sentence for sure. My point here was that there are many sources of data, and not all are massive and easily understood by machines. But for those sources that are, algorithms provide the opportunity to make meaning out of the massive data.</comment></comment>


Facebook Bug Bounties – Unofficial Treasure Map - <AUTHOR> https://www.facebook.com/notes/phwd/facebook-bug-bounties-the-unofficial-treasure-map/1020506894706001 <comment><USER2> He forgot to mention m.facebook.com . There have been many issues over the years with the mobile site that didn't exist on the main site. Examples:

1) You could invite _anyone_ to a Facebook event via their Facebook ID by simply doing an HTTP post of Facebook ID's to the event invitation script on this domain, but not on the main site. For some reason, on the mobile site they didn't implement the check to see if you were actually friends with the invitee. Since FB sends an email to each invitee, this was an enormous spamming loophole for quite a while.

2) For a long time, there was no frame-breaking script on m.facebook.com. You could clickjack essentially anything on Facebook this way. Years ago I did a proof-of-concept on this where I clickjacked a platform app authorization, which let me receive the name, email, and other profile info of any user that did nothing more than click the X button on an annoying overlay I put on the screen.

<comment><USER3> > 2) For a long time, there was no frame-breaking script on m.facebook.com. > You could clickjack essentially anything on Facebook this way. Years ago I > did a proof-of-concept on this where I clickjacked a platform app > authorization, which let me receive the name, email, and other profile info > of any user that did nothing more than click the X button on an annoying > overlay I put on the screen.

Do you still have a copy of this? I'd like to see it

<comment><USER2> Today it wouldn't work because they now have frame-breaking on m.Facebook.com. But if you'd like to see the general template you can email me at the email in my HN profile.

Basically, you position the iframe element over something that will be clicked (such as an advertisement X button), set its z-index so that it is the topmost element, and set its opacity to 0. You can even test to see when the click has occurred by testing for when a certain element on your page has lost the focus.

<comment><USER3> > Today it wouldn't work because they now have frame-breaking

Yeah. I just want to see what the original vulnerability looked like.

I bug hunt.

Thanks for the offer to email you, but, I'm transitioning away from E-Mail for security reasons.

</comment></comment></comment></comment><comment><USER4> Nice. Although I'm still on the fence about bug bounties at their current price, as I can't help but see this as potentially manipulative, like hackathons where a company owns what you make, this guided hacking seems to be taking advantage of people's passions in order to underpay them for work.

But, I can't really say it's underpaid, as I have no idea what the black market for exploits is like, so maybe they are fairly paid.

<comment><USER5> _> > But, I can't really say it's underpaid, as I have no idea what the black market for exploits is like, so maybe they are fairly paid._

There is no black market for isolated vulnerabilities in a single website.

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

<comment><USER6> That's not exactly true.

Plenty of profit to be made from hijacking facebook accounts, traffic, etc.

<comment><USER5> I find this difficult to believe. The demand for a vulnerability is directly proportional to its half-life. Facebook accounts are not like desktop computers that can be harvested for a botnet.

I could see a e.g. XSS worm being useful for spreading an advertisement from status to status, but there are two issues with that hypothesis: 1) Facebook is centralized, so the flaw would have maybe 24 - 48 hours of utility and 2) it's not even necessary to use a vulnerability to spread bullshit on Facebook newsfeeds, so why pay for it?

The alternative claim is that someone would pay a lot of money for a security vulnerability compromising a high value account belonging to a celebrity, journalist, politician, etc. I still find this difficult to believe, because there doesn't appear to be a historical precedent for it. Most such attacks focus on brute-forcing a password or other authentication mechanism.

<comment><USER6> >I could see a e.g. XSS worm being useful for spreading an advertisement from status to status, but there are two issues with that hypothesis: 1) Facebook is centralized, so the flaw would have maybe 24 - 48 hours of utility and 2) it's not even necessary to use a vulnerability to spread bullshit on Facebook newsfeeds, so why pay for it?

Someone paid 100k to put an exploit pack on redtube for a couple of hours, I'm sure they'd pay much more for a XSS worm allowing them to do the same on facebook. The average value per install in western countries with cryptolockers and FakeAV is really high.

>The alternative claim is that someone would pay a lot of money for a security vulnerability compromising a high value account belonging to a celebrity, journalist, politician, etc. I still find this difficult to believe, because there doesn't appear to be a historical precedent for it. Most such attacks focus on brute-forcing a password or other authentication mechanism.

I don't know, I used to regularly get requests from entertainment industry businesses asking me to compromise competitors facebook accounts for obscene amounts of money. Same goes for jealous ex boyfriends, even though the sums offered by them only tended to be a couple of grand.

While certainly true for a plenty of other sites, the claim that there's no market for FB bugs simply has zero basis in reality.

<comment><USER5> You're actually in the industry, as I am, so I'm willing to suspend more disbelief to verify what you're saying. You probably wouldn't be willing to show evidence of these claims here on HN, but would you be willing to do so privately? That might actually be sufficient to change my stance on Facebook vulnerability value.

</comment></comment></comment></comment></comment></comment><comment><USER7> "Facebook's internal network where employees turn those gears so you can scroll past that "10 Things You Love About Potatoes" BuzzFeed article one more time."

</comment><comment><USER8> So I assume they won't give a bounty, if somebody finds a bug like the possibility of calling their testing tool trough a chat message?

<comment><USER9> Just report it. What are you losing if you do?

<comment><USER10> time.</comment></comment></comment>


Should I really avoid OVH for production app? - <AUTHOR> All the reviews on the internet about OVH are really bad suggesting to avoid them, a lot of people complains about bad support, but also some said it is scam, or network is really bad and hardwares are very bad quality. Some people said that OVH will take the server offline for non reason claming is being hacked or something. The reviews are really bad 2/10 and worse. I used OVH before in the late 2007-2009 and they were fine, even support was acceptable. Did they become bad now ? I actually don't care about support but network and hardwares and a fast response on support if the server is down due to hardware failures or networks issue. <comment><USER2> OVH is one of the largest VPS companies on the planet, they didn't get there if they sucked as bad as you make them out to be. I recently switched over to a OVH VPS (just $3.5/month) for 1 project (I usually use Digital Ocean) because OVH has excellent DDoS mitigation (while that is non existent at DO).

OVH's website looks ugly, if you are used to DO's beautiful interface, but they are good. I tested their DDoS protection and is is second to none.

</comment><comment><USER3> I've used OVH for more than three years professionally for both production and development applications without any issues or problems.

Their customer support is indeed quite ever so lacking, but you generally never need them unless you run into a issue with the hardware, or the network.

</comment><comment><USER4> I'm an OVH customer for 5 years, at the beginning all was very great, no problems at all. After several years I switched to Kimsufi (their cheap dedicated server) but it was a mess: Never had a day without a disk failure or good response time. I quit for 2 years (for Online.net) and I've recently bought a VPS for production usage and after some hours problems came again... It's incredible! I cross the fingers for the future but I'll not switch all my servers in their datacenters.

As a french, I'm proud of OVH as a french company but they favor service quantity over service quality and that's a shame.

</comment><comment><USER5> I used to get frequent downtime from them when I used dedicated machines, about 4 hours a month. These days I use their VPS for staging environments and gitlab-agents.

I don't use them for gitlab or production because they do not meet the uptime/response time standards I require (300ms pings from Toronto to their Montreal datacentre).

They are cheaper but if the above is more important than raw power then I'd go elsewhere.

Edit: I haven't used their Public cloud offering yet, that might have improved performance over their dedicated boxes and cheap VPS.

</comment><comment><USER6> OVH are a catch all solution for hosting, and spread themselves very thin, similar to GoDaddy who try to do everything-all-at-once That's not to say I don't like OVH, but if it's a VPS then my default reply is Digital Ocean who happen to _specialize_ in this area. From my experience, OVH support is fast and reliable. OVH's unique selling point is their selection of domains. (They're the only company I know who can sell rare ccTLD at an affordable price).

</comment><comment><USER7> I heard an advice that it's best to pay them on monthly basis. In that case when you encounter hardware problem you just buy a new VPS instead of dealing with support.

</comment><comment><USER8> I have a dedi from SYS, a reseller of OVH with 32 GB RAM for about $50/month. It's a great value for what you can get and haven't really had an significant issues for the past 2 years that we've had it.

</comment><comment><USER9> I was going to ask something similar and was surprised to find a thread. I have been trying to signup for an account and get a vps for 2 days now. Wow, what a horrible website.</comment>


Ask HN: Is that important for a developer to have an impressive personal page? - <AUTHOR>

I am a Python developer with good design background. I am willing to expand my freelance activity in Python web development area now. I have seen tons of visually appealing impressive personal pages of web designers. Those that are more web graphic designers working with HTML/CSS/JS than hardcore programmers. I bet you saw much of them too on the web. They have professional look and feel giving you an image of the person. I tried to find something similar for the programmers to inspire myself for creating my personal page. I searched for 'web developer portfolio', 'web developer personal page' and some other keywords on Google. I didn't find anything as impressive as web designers' pages. All I could see were some boring CVs or something like CVs, sometimes with a small photo of a person and more or less average look. Obviously everyone is the best at what he is the best and programmers sell their technical/analytical skills. They can show perfectly structured code to impress a potential employer while designers show skills by showing their graphic works. So, what I am trying to figure out now, how important is for a developer to have a visually appealing professionally looking page with his story, a list of recent works and GitHub repositories? <comment><USER2> It doesn't hurt. Though an impressive Github repo might make more waves with developers. Depends on who your trying to impress/appeal to.</comment>


Ships fooled in GPS spoofing attack suggest Russian cyberweapon - <AUTHOR> https://www.newscientist.com/article/2143499-ships-fooled-in-gps-spoofing-attack-suggest-russian-cyberweapon/ <comment><USER2> It wouldn't be a great surprise to see this happening, the concepts are far from new.

I attended a talk on GPS spoofing and how it could be used for this kind of attack 6 years ago, there were articles from Wired 9 years ago ([https://www.wired.com/2008/09/researchers- dup/](https://www.wired.com/2008/09/researchers-dup/)) citing warnings from the Department of Homeland security 14 years ago...</comment>


Ask HN: Who does gravatar work? - <AUTHOR> Its a service I use a lot. I can't help but wonder how the whole service works(very technical is fine with me) <comment><USER2> I was an early adopter. In the beginning, there was actually a handful of us reviewing avatars and assigning ratings. Now it's just kind of left up to trust.

I don't think it was an Automattic project at first, so I doubt it's built on WordPress. But it's probably built on PHP and MySQL, with a _ton_ of caching in front of it.

It wouldn't surprise me if it leverages WordPress.com's CDN.

</comment><comment><USER3> What do you find confusing? It's owned by Wordpress guys, and people integrate it into their website. The backend stores a picture you set on the site, or one on other people's sites integrated with it. It then also keeps track of all your different accounts.</comment>