Ask HN: Would you consider running SQL Server on Linux? - <AUTHOR> SQL Server 2017 has been announced and the big feature is cross platform.
I'm wondering how many Linux people out there would consider running SQL Server on Linux in a production environment. If not, why not?
I can guess some of the reasons people will site but I expect there are many more. <comment><USER2> If I put on my "CIO" hat, I would say "no".

An observation from several decades of the software business is the concept of the _" reference platform"_. For MS SQL Server, the _reference platform_ is Windows, not Linux.

This means that if development for the different operating systems gets out of sync, it will be the Linux version that lags instead of Windows.

If I have an urgent crisis with a database down and need to call MS tech support[1], their troubleshooting team will be way more familiar with Windows than Linux.

It's really a bad idea to deploy on a non-reference platform. For playing around and experiments, that's ok. However, for deployment on production environments, it's a risk.

The "reference platform" for MS Windows NT was x86, not MIPS or DEC. Therefore, we didn't deploy Windows apps to MIPS machines. (That was a good decision since MIPS, DEC, and Itanium versions of Windows got cancelled.) Solaris reference platform was their SPARC computers and not Intel x86. Yes, Solaris had a version ported to x86. That was ok to play with at home but we wouldn't deploy any commercial production apps with it.

Same for dev environments. If you're using C#, your life will be easier if you go with Windows instead of "C# NET Core" on Linux. If you're programming Ocaml, stick with Linux instead of trying to cobble together Cygwin+MinGW to deploy Ocaml apps on Windows.

Try to stay with the reference platforms to minimize headaches.

[1] [https://www.microsoft.com/en- us/microsoftservices/support.as...](https://www.microsoft.com/en- us/microsoftservices/support.aspx)

<comment><USER3> Support is support, Microsoft is very comfortable with Linux and uses a lot internally already. They're also partners with Redhat which is what most enterprises will use anyway.

MSSQL also runs on a abstraction layer since v2005 so there's no inherent problem with running on Linux. Also containers change the entire scenario.

<comment><USER2> _> MSSQL also runs on a abstraction layer since v2005 so there's no inherent problem with running on Linux._

Yes, one would think an extra abstraction layer would render platforms exactly equal but that's not the real-world outcome. For example, Windows Server also runs on an "abstraction layer" called HAL (Hardware Abstraction Layer) and yet we had production problems with Windows on Itanium that had specific knowledge base articles and hotfixes for Itanium.

Did Microsoft premier support help us with Itanium problems?!? Yes, they were responsive and eventually solved some obscure bugs. But their support for Intel x86 was more complete and up-to-date. Likewise, I anticipate that Microsoft will be competent and helpful with customers running SQL Server on Linux. But I don't expect their specialists to have the same level of expertise as MSSQL on Windows.

If someone wants to run MS SQL Server on Linux, that's fine but don't think the enterprise platforms are equal. That usually doesn't turn out to be the case.

 _> Also containers change the entire scenario._

I'd be totally comfortable with MSSQL on Linux for dev/sandbox/QA environments (avoids licensing costs of Windows). But not for mission-critical production deployment.

</comment></comment></comment><comment><USER4> Yes, absolutely, because of Microsoft's licensing model for HyperV.

Windows Datacenter Edition is not cost effective for us, and that means we only run two Windows instances per host. By moving MSSQL to Linux, we can free up a Windows Server Standard license for other purposes.

You can run as many non-Windows instances on HyperV as your want, but you can only run 2 Windows instances unless you pay to license every physical core on the server a second or third time, even if you are not using them for Windows (for example, if you wanted to run a third Windows instance on a host.) This means we have additional hardware capacity that we use to run Linux instances next to the 2 allowed Windows instances.

<comment><USER5> Be careful here. I suspect that licensing terms may change a bit with this.

However, you are mistaken. Windows Server standard allows 2 VMs (plus the host). Datacenter allows unlimited VMs. If someone told you otherwise, that's incorrect: [http://www.microsoftvolumelicensing.com/ProductResults.aspx?...](http://www.microsoftvolumelicensing.com/ProductResults.aspx?doc=Product%20Terms,OST&fid=27)

<comment><USER4> No. The licensing terms changed from per socket to per core. Other than that, the rules are the same. If you virtualize Windows Server, you must pay for core licenses for every physical core of the bare metal, regardless of which hypervisor you are using (HyperV, ESX, Xen, etc.). You may then run 2 Windows Server VMs on that host. If you want to run a 3rd, you must relicense every physical core on the machine a second time. You can then run up to 4 Windows Server VMs on that host.

The licensing terms you linked to are for Windows Server VMs. When the licensing documents refer to an "OSE," they are referring to a Windows Server Operating System Environment. They are not referring to other OSs you may be running on the same host (remember, the host can by any hypervisor). Non- Windows VMs are not relevant to Windows licensing, even if you are using HyperV to host them.

The only difference between using HyperV and other hypervisors is: IF you are installing the HyperV role on a Windows Server, and _only_ using it to manage HyperV, you don't have to count that bare-metal Windows Server against your license count, provided you are running Windows Server VMs on that host.

Remember, there is also HyperV Server, which is console-only, and free, but fully functional, and managed just like any other HyperV server. It is a slightly scaled down version of Window Core. You can run as many non-Windows VMs on that as you want, without paying a cent, or pay for Windows VMs according to the above rules.

</comment></comment></comment><comment><USER6> I would consider using it because:

1\. I work in a backwards enterprise shop where "no one ever got fired for choosing Microsoft" and it would be easier (read as "possible) to get IT here to support it than Postgres. (That said, they _do_ support Mongo internally but won't admit that to software teams)

2\. It's much cheaper than Oracle, which is the other "enterprise" database where it's easier to get an install done

3\. It's not Oracle

<comment><USER7> Can you elaborate on point 3? If the argument is ideological, I get it. I'm more interested in the technical argument.

<comment><USER8> Oracle is a fine enough database (it really is), but it costs an exceptional amount of money and (I haven't touched it in a long time so I may be out of date on this, but I don't think I am) the developer tool experience is not great. Oracle SQL Developer is ugly and slow compared to SQL Server Management Studio. Basically, if you've used both Oracle and SQL Server you can tell which company had their CEO on stage shouting "developers developers developers" and which is run by the lawnmower.

<comment><USER9> > and which is run by the lawnmower.

More on this reference, the brilliant slam down of Oracle by Bryan Cantrill: [https://youtu.be/-zRN7XLCRhc?t=1981](https://youtu.be/-zRN7XLCRhc?t=1981)

</comment></comment></comment></comment><comment><USER10> No, almost certainly not. Why would I use MSSQL in the first place, when I could just use PostgreSQL? The main reason I could see to use MSSQL would be "you're in a Windows shop already", and if that isn't the case, I don't see much reason for it.

<comment><USER11> I would have said the same thing if I had never used MSSQL.

PG just doesn't have the same quality SQL-dialect or tools as MSSQL though. Some very basic facilities are missing from PG like snapshot and transaction logs, batched triggers and being able to return multiple resultsets from a single trip to the database server.

Even the free tools for SQL Server are better than anything you can get for PG and there's nothing like SQL Server Data Tools.

<comment><USER12> > PG just doesn't have the same quality SQL-dialect or tools as MSSQL though.

T-SQL sucks, I don't know how on earth you get the feel of "quality" from it. Every time I have to work with it I cry, pl/pgsql is a hell of a lot nicer and I can feel comfortable stating that as an objective.

As far as GUI tooling? Ya got me there, even as terrible as auto-complete is in SSMS it's leaps and bounds better than PGAdmin or DataGrip for pointy- clicky DBA tasks - though I've just learned to use the system tables/views in PostgreSQL like I have MSSQL because I can't stand pointy-clicky stuff.

> Some very basic facilities are missing from PG like snapshot and transaction > logs

What? Snapshot isolation is available by default with PostgreSQL, it _ONLY_ uses MVCC for transaction isolation. You want snapshot, set your transaction isolation level to REPEATABLE READ. And transaction logs? What on earth do you mean? Transaction logs are fundamental to PostgreSQL like they are any other RDBMS, you can ship them off for backups, do PITR with them, etc - just like you can SQL server.

> batched triggers

Yup, that's true.

> being able to return multiple resultsets from a single trip to the database > server.

Technically doable with stored functions in PostgreSQL, though ill-advised. SQL Server makes this easier if you need it, for sure.

> there's nothing like SQL Server Data Tools.

Yup, although this is really down to a matter of preference. SQL Server Data Tools is great for warehousing projects, but for application databases using the database migration tools provided by your framework of choice work just fine.

And hey, I've got respect for MS SQL Server, it's a well-performing, well- supported enterprise SQL database - not to mention SQL Server Analysis Services kicks some serious ass for business intelligence use-cases (especially considering it's included right in the package, and with the new PowerBI-derived Reporting Services you get a full BI package for a really good deal). But let's make sure we're all educated on tools before we start nitpicking them, eh?

<comment><USER13> How about some features that really matter for an enterprise... compare the differences of HA options between PostgreSQL and SQL Server. Or maybe something a little more simple like point in time recovery. Backup and recovery is probably the most important feature of an enterprise RDBMS, and I'm sorry, but PostgreSQL doesn't cut it. It's really fun to develop on, but it's an absolute nightmare to administer. That makes it a liability.

<comment><USER14> Think there's plenty of missing tooling around postgres. But what are you lacking in backup with [http://www.pgbackrest.org/](http://www.pgbackrest.org/) ? Or is it just that it's a separate package?

<comment><USER13> The point I was making is the lack of easy to use native features to perform typical administrative operations. When all is said and done, you may end up with a multitude of 3rd party tools to achieve feature parity with SQL Server , which is the particular comparison, and would be a limiting factor to implementing the platform in an enterprise that cannot withstand down time or tight RPO/RTO requirements.

In regards to SQL Server on Linux, I have just spun up (for testing) a three node AlwaysOn cluster with Pacemaker/Corosync, which is working quite well. Failover works as expected, however it is a tad slower than a Windows Failover Cluster. First impressions are very good and I would not hesitate to recommend the solution over a PostgreSQL or MySQL implementation. It is far less complicated and provides excellent HA and recoverability options.

</comment></comment></comment></comment></comment></comment><comment><USER12> Would I? Yes, I would. We're primarily a .Net / MSSQL shop, our DBA's are all familiar with MSSQL and all but a handful of our applications (internally developed or purchased from a vendor) use it.

We just build a giant new MSSQL cluster using AlwaysOn, configuration management with Windows Server Failover Clustering (which AlwaysOn is built upon for some low level functionality) is a HUGE pain in the butt. If SQL Server 2017 was GA at the time I would have highly suggested we just go with RHEL because Pacemaker/Corosync is a lot easier to deal with.

Out of personal preference, I like PostgreSQL a lot better - but when your business already runs MSSQL having options for deployment outside of Windows Server is a welcome change.

<comment><AUTHOR> As good as Pacemaker is I don't really like the look of using it to achieve HA for SQL Server. Hopefully this will be better in 2018.

</comment></comment><comment><USER15> In a previous job we had a central master MSSQL database and several replicas of this database globally. This was all run on Windows (obviously) Were I still there, and were this arrangement still in effect, I would certainly be interested in migrating the installations on Windows to installations on CentOS, if only to make the server fleet that much more homogenous.

So, to answer the question, to eliminate Windows server installations in a predominantly Linux environment, yes.

<comment><AUTHOR> Cool, I've seen this mentioned as a potential reason, so it's good to hear of a real-world example

<comment><USER16> Just for my curiosity, do you work for microsoft?

<comment><AUTHOR> No, but I am predominantly a SQL Server DBA. I thought people might think that after I posted.

</comment></comment></comment></comment><comment><USER3> Yes. .NET based startup, everything else is already .net core (containers + kubernetes on GKE) so we only have Windows for MSSQL.

Looking at migrating to Postgres but MSSQL in containers sounds great so far. Features are good with both databases but built-in graph, columnstore, hekaton, better backups, etc in MSSQL are strong temptations.

</comment><comment><USER17> No. It won't save us on licensing costs and it won't be more secure, so the only reason I can see that it exists is for cloud hosting, and my organization has no interest in that.

</comment><comment><USER18> > If not, why not?

First most important question to answer: in what way MS SQL Server would be better than PostgreSQL? Fields to consider:

\- Easier to install? (apt-get install postgresql-server)

\- Easier to use? (initiating the Sybase client library used to be terrible) (EDIT: it was installing the client library, not initiating it)

\- Easier to manage? (Postgres is excellent in this field)

\- Has important functions or features that PostgreSQL doesn't?

\- Works significantly faster than PostgreSQL?

Going out of one's way to use third party software needs to give some benefits to offset the cost of doing so.

<comment><AUTHOR> Yeah, I agree. Each has the odd thing the other doesn't but it is hard to justify the cost of SQL Server over Postgres

<comment><USER19> > but it is hard to justify the cost of SQL Server over Postgres

For the benefits of readers who don't know, SQL Server Standard Edition is ~$2k USD per CPU core, and Enterprise Edition is $7k.

<comment><USER12> EnterpriseDB is something like $1700/core/year, which targets the same market - "enterprise" shops who want a vendors neck to wring when something breaks.

Honestly, SQL Server is priced very well - even enterprise edition given the features it provides. The biggest problem I have with it is T-SQL being terrible compared to pl/pgsql and the lack of developer-centric features like arrays, composite types, and a lot of other QoL features postgres has that MSSQL doesn't.

If you're going to deploy SQL Server, being able to do it on a platform that doesn't make me as a sysadmin/DevOps Engineer want to strangle myself with cluster configuration nightmares is a welcome change.

</comment></comment></comment></comment><comment><USER20> Probably not. We use SQL Server for our product running on AWS and we tested it with the Linux edition and it works fine.

But what's the advantage of moving it over to Linux. It's anyway sitting on a dedicated box and Windows Server hosting charges are only marginally more expensive than Linux on AWS(depending on the AZ you use).

So it's cool and works well but there's no compelling reason for us to move to it yet. At least not one that I could see

<comment><AUTHOR> Do those charges include the cost of Windows licenses?

</comment></comment><comment><USER21> Does it have analysis services and Integration services yet? Last time it I checked it didn't. It's a big differentiator against open source stacks. If it was available on Linux then perhaps some of our clients would consider moving to Linux based SQL server.

<comment><USER5> SSIS, yes: [https://docs.microsoft.com/en-us/sql/linux/sql-server- linux-...](https://docs.microsoft.com/en-us/sql/linux/sql-server-linux- migrate-ssis)

SSAS, not yet, though few people use this and I don't know I'd recommend it on the same box. Is that a reason to move SSIS/SQL Engine to Linux and have SSAS on Windows? You'd have to decide.

<comment><USER21> The reason is to get out of Windows licensing that is a mess, if you are trying to offer something on a cloud, outside Azure. In theory and in some interpretation, Windows Authentication (the only accepted auth mechanism by SSAS) requires all direct and indirect users to have a Windows Server CAL (!).

</comment></comment></comment><comment><USER22> My organization is not, because our SQL Server DBAs with 20 years of experience are linux newbies.

</comment><comment><USER23> No, I won't. We use SQL Server only in some legacy projects, but newer ones are using Postgres or Oracle, running Linux.

We know open-source RDBMS like Postgres, and the ones developed by Unix/Linux vendors like Oracle, are unlikely to drop Linux support anytime soon. But can we say the same about MSSQL? Today we got this CEO... but tomorrow?

It's a risk we're not willing to take, specially when there's no SQL Server feature that we cannot find elsewhere.

</comment><comment><USER24> If SQL Server is what the clients/users required, sure. I'd much rather run it on a Linux server because that's what I'm familiar with.

</comment><comment><USER25> "Would you?" Of course.

"Will you?" Of course not.

</comment><comment><USER26> I actually have been running SQL Server for linux for the past few months.

In a docker container, no less.

This is entirely for testing a part of our application that needs to connect to legacy mssql servers. The server is spun up, databases are created programmatically, tests are run, and then the container is destroyed.

As for running this in production, ahahaha no.

<comment><USER27> I was in this thread looking for this reply. If nothing else, the ability to run code on your Mac laptop running MSSQL server in docker is a huge win, even for what may later be a Windows deployment of MSSQL server. I definitely see the use-case for automating QA workloads and running tests against a real MSSQL server on what is otherwise a fully Linux based build system. The cheapest way to run MSSQL server (TCO which includes the human cost) is still likely Windows, but the docker-izing of MSSQL opens up soo many doors now.

That all being said, I would expect that there are also companies moving to use MSSQL in Linux for production as well, but personally, I would wait a couple of years to hear other's experiences.

<comment><USER26> Yeah, it's pretty great. We evaluated spinning up RDS MSsql instances for our testing, and found the time that it took to spin up one of those to be extremely prohibitive for use with CI pipelines, I mean something to the tune of 20 minutes for the instance to come up. Whereas with docker and mssql- linux, we only have to (at most) have a 10-15 second delay before the container is fully online. Definitely great for devs to run their local tests against, and great for me to be able to do some minor admining via the CLI tools provided in the container.

</comment></comment></comment><comment><USER15> Link to the announcement:

[https://blogs.technet.microsoft.com/dataplatforminsider/2017...](https://blogs.technet.microsoft.com/dataplatforminsider/2017/09/25/sql- server-2017-and-red-hat-enterprise-linux-offer/)

</comment><comment><USER28> Not really. We have a number of SQL Server databases where I am, for a number of reasons. Several are for Microsoft Dynamics. How does that work with Linux? One is for print-management system, which I suspect has hooks into Windows.

</comment><comment><USER29> Probably Not for my use cases. If I really wanted sql server then I most likely will consider azure's hosted sql offerings.

One thing I'm not so clear with , however, is linux support for sql server clients. More specifically Django?

<comment><USER5> What support are you looking for? SQL Server on Linux, is for the most part, SQL Server. Django support for SQL Server should be roughly the same on Windows and Linux, they're just client apps.

All my testing, which is inherently limited to the things I look at, show that apps seamlessly port over from Windows to Linux, unless they're doing something in the file system, or have complexities with SQL Agent and other subsystems. Maybe of the Agent limitations have been removed, I just haven't retested.

MS supports Linux the same as Windows, with lots of their systems people having spent the last year+ learning about the differences between Windows and Linux.

Are they all going to be experts on client interactions? No, but they should be able to provide support in most cases.

</comment></comment><comment><USER30> Why would I invite that headache when I can just install PostgreSQL instead?

[https://www.pg-versus-ms.com/](https://www.pg-versus-ms.com/) says it all.

<comment><USER31> The certificate has expired, Chrome gives a nice ugly warning. But thanks for the link, I'm curious.

<comment><USER32> Another poorly configured Let's Encrypt client. :(

</comment></comment></comment><comment><USER33> No, because PostgreSQL has much better documentation.

<comment><USER5> Perhaps. There are tons of SQL Server sites and articles to provide information and details the docs lack.

Plus, the MS docs are now on Github and we can submit PRs to correct and expand things.

</comment></comment><comment><USER34> I am new to this and would appreciate an update on where to find a 'how to' for doing this. Thanks very much!

</comment><comment><USER35> Related question. Where can i run and host a SQL db for free? Or for cheap. It's for a hobby project.

<comment><USER36> For a hobby project, you can probably use whatever is running the rest of your project. Sqlite in particular is lightweight.

If you need hosting, I've heard good things about Digital Ocean, Vultr, and Linode. You'd have to install the database yourself though.

</comment></comment><comment><USER37> Nope

</comment><comment><USER38> Nuts

</comment><comment><USER39> I would not consider it today because today it's closed and expensive. I can't get support on stack overflow for example. In a few years I might consider it.

<comment><USER40> [https://stackoverflow.com/questions/tagged/sql- server+linux](https://stackoverflow.com/questions/tagged/sql-server+linux)

Why can't you get support on Stack Overflow?

</comment></comment><comment><USER41> Depends if Microsoft would consider open sourcing it so it can catch up to everyone else.</comment>


The Crackpot Index - <AUTHOR> http://math.ucr.edu/home/baez/crackpot.html <comment><USER2> This list made an appearance on This American Life.

<http://thislife.org/Radio_Episode.aspx?sched=1090> (Act 3)

</comment><comment><USER3> _10 points for arguing that while a current well-established theory predicts phenomena correctly, it doesn't explain "why" they occur, or fails to provide a "mechanism"._

this one can be legitimate. I suppose they could all be legitimate in the right context (actually being right) but this one shows up fairly often in non-crackpot science. we are still trying to find the mechanism for gravity for example.

<comment><USER4> Where do people get this idea that "we" don't know the mechanism for gravity?

<http://www.overcomingbias.com/2007/10/no-one-knows-wh.html>

"Mechanisms" that don't give you better predictions really are almost always crackpot. Really understanding a new mechanism usually comes with better predictions of _something_ \- though not always everything.

<comment><USER3> I was speaking of the propagation of gravity which defies C as a limit on mechanical interaction.

you also missed the point of the overcomingbias post, which wasn't that his uncle was wrong, but that he was right for the wrong reason. If an idiot tells you the sky is blue that doesn't make it false. His uncle wasn't making a specific claim against the theory of gravitation, but using gravity as an example of the ignorance of scientists as evidence against listening to their claims in general. this kind of reasoning is common and dangerous.

<comment><USER4> _the propagation of gravity which defies C as a limit on mechanical interaction_

Nazgul, you've obviously got no clue how gravity works. You may not realize it, but you don't.

Physicists, on the other hand, do.

This may seem surprising and even insulting, but it shouldn't. This is not a tiny little hunter-gatherer tribe and it's not surprising that there are people out there with knowledge of incredible specialized depth built upon ages of scientific labor all of which you have not the tiniest hint even exists.

Such is the point of the essay.

<comment><USER3> right, but I'm not using my own ignorance as evidence that I should ignore scientists when they claim that they do in fact understand the mechanism of gravity.

I was under the impression that this was one of the main problems with our understanding of gravity. Have any pointers on material? all wikipedia says that is useful to me is that bodies don't transmit information about their position faster than c, which does solve that particular problem. I just can't wrap my head conceptually around how that works from the frame of reference of the body being acted upon.

</comment></comment></comment></comment></comment><comment><USER5> I like crackpots.

I would say more, like defending the idea of unusual thinking or pointing out great people in history who have been thought of as crackpots, but, alas, that would make me a crackpot too.

I love a system that prevents itself from being criticized.

Let's just say that if you're trying a startup with true world-changing potential, like Google, FaceBook, YouTube, etc -- don't read the list because you're a crackpot too.

What's the old saying? Just because you are paranoid doesn't mean people aren't out to get you. Well just because you are a crackpot doesn't mean you can't change the world, either. Lots of crackpots have.

<comment><AUTHOR> "They laughed at Columbus, they laughed at Fulton, they laughed at the Wright Brothers. But they also laughed at Bozo the Clown."

\- Carl Sagan

Unusual thinking itself is not valuable. Unusual thinking with _rigor_ is.

<comment><USER5> Sure. But unusual thinking does not mean a lack of rigor. Simply because you qualify as a crackpot doesn't mean you lack rigor or potential. Just means you're provocative and "out there"

And I liked Bozo the Clown.

<comment><AUTHOR> Then we have different definitions of "crackpot." My working definition is someone who is convinced their ideas are better than orthodoxy despite no evidence in their favor and reasoning that lacks rigor.

The author of the list is a mathematical physicist. I assume the list is inspired by the letters he receives from people who are sure they've disproved relativity or quantum mechanics.

<comment><USER5> Rigor is relative, unless you're talking about formal proofs. This struck me as simply a guideline to use in regular conversations with anybody you might meet on the street.

I know who the guy is. I'm just saying there's a fine line between busy and can't be bothered and a pompous asshole with poor social skills.

The list makes me lean towards the latter opinion.

<comment><USER6> Please consider revising your comment.

<comment><USER5> You're right.

The last comment was too harsh. If I still had editing capabilities, I'd revise it.

Oddly enough, I'm guilty of the very point I was trying to make.

Thanks for catching it. Apologies to the group for my poor taste.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> I think '8' should be amended with Nikolai Tesla.

</comment><comment><USER8> So what do you do with the credits/index once you figure it out? Does 100 mean you're a crackpot? Is 10 ok?</comment>


17 year old Carmageddon debugging symbols file dumped using Node.js - <AUTHOR>

In the Carmageddon Splat Pack folder, there is a file called 'DETHRSC.SYM', last modified 13th November 1997. It has sat there, un-noticed and un-loved for the last 17 years...
More details here: http://1amstudios.com/2014/12/02/carma1-symbols-dumped/
Browsable symbol output here: https://github.com/jeff-1amstudios/carmageddon1-symbol-dump <comment><USER2> Posts without URLs are penalized. You'd be better off submitting this with a link to that article.

<comment><AUTHOR> Thanks for the pro-tip. I tried, but whenever I posted the url it never showed up unless I was logged in :(

<comment><USER2> You got hit by a spam filter. Try posting it with this account, which we'll mark legit to bypass those checks.

<comment><AUTHOR> Thanks - it worked this morning. New story is [https://news.ycombinator.com/item?id=8699543](https://news.ycombinator.com/item?id=8699543)

</comment></comment></comment></comment><comment><USER3> This kind of programmer archeology is super interesting and pretty important for keeping knowledge of early gaming culture around. Its fascinating to imagine the software development practises and company culture that bought about a codebase containing such function names as 'CalcOpponentConspicuousnessWithAViewToCheatingLikeFuck' and 'MakeFlagWavingBastardWaveHisFlagWhichIsTheProbablyTheLastThingHeWillEverDo' (Well actually in this case you don't have to imagine - The Carmageddon creators Stainless software have footage of their Christmas parties on youtube where they pretty much destroy their office once a year)</comment>


Why we ground electrical systems (2015) - <AUTHOR> https://www.reddit.com/r/electricians/comments/38qiyy/an_explanation_of_why_we_ground_electrical/ <comment><USER2> I'm actually the person who wrote this Reddit post. I'd never heard of Hacker News before, but someone messaged me on Reddit telling me this 4 year old post just surfaced over here.

Let me know if you have any questions about electrical theory or installation, or anything else!

<comment><USER3> So in the UK we have 3 wires, red, blue and green, the green is ground or earth, what purpose does this serve? Is it the same as ground as you call it in the US

<comment><USER4> The reason for having ground is simply because if an electrician makes a mistake and reverses the hot and neutral, and you plug something in, the body of the device will now be connected to hot, and you'll get a shock.

By having a separate ground, it's harder to mess that up, and devices can connect the body of the device to that.

Inside the electrical box (mains) the neutral and ground are connected together, and are at the same potential.

The only reason they run separate wires is in case of of mistakes.

<comment><USER5> > _The only reason they run separate wires is in case of of mistakes._

Erm no.

1\. In case the neutral gets disconnected, so the frame isn't at the potential of the hot (no voltage drop across the device)

2\. So the return voltage drop in the white wire isn't on the body of the device. ~20 volts between adjacent high-current appliances on different phases probably wouldn't be terribly dangerous to most people, but it is sloppy.

3\. For GFCI/RCD, it separates bona fide return currents from "accidental" return currents. With only two wires, dropping a toaster into a (PVC-drain) bathtub wouldn't trip. (Erm, I just realized most toasters are actually only two wires. Well uh, don't do that).

<comment><USER6> If that "toaster circuit" is protected by a GFCI, it will indeed trip with only two wires. The GFCI is sensing the imbalance between hot and neutral (the rest went through the bath water). Both currents pass through the same toroid, but they are in opposite directions and normally exactly cancel, so no flux is induced in the toroid. If there is an imbalance, a current is induced in a secondary winding. This will trip the GFCI internal breaker. Note that this does not involve the green wire.

<comment><USER5> Except there will be no imbalance if there is no other path for the current to travel by...

The geometry of the electric field in water should probably be similar to that in air (mostly contained to within the case), just don't drop both a toaster and a waffle maker in at separate ends.

<comment><USER6> The resistance of slightly salty bathwater is much lower than air. While baths are not often plumbed with metal pipes these days, one can still expect some current flow to ground. It only takes milliamps of stray current to trip a GFCI.

<comment><USER5> Milliamps sounds like a tiny amount in the context of home power, but 5mA at 120V is still only 24kOhm. This is actually pretty low to just assume away. I'd agree there could be some water left over in the drain pipe from the last bath, splashes making a path to the spigot, or something like that. I just wouldn't count on it.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> I have been studying Grounding vs Bonding these past few weeks, great timing to see this HN discussion.

Some training videos for pro electricians and US National Electric Code compliance helped me.

[https://youtu.be/qNZC782SzAQ](https://youtu.be/qNZC782SzAQ)

Basically, _bond_ everything together if it can carry a charge. _Ground_ that bond at _only one place_ in an electrical service.

More than one "ground" sets up a situation where a potential difference can develop between the various "grounds". Ground Fault detection may no longer work in that case. Which is not good.

(The presentation is weirdly sexist in offhand comments, which I often encounter in trade work of this kind, but I do believe that's changing. Slowly. The USA needs more people who know how to build things.)

<comment><USER8> > The USA needs more people who know how to build things.

USA? The WORLD needs more people who know how to build things.

</comment></comment><comment><USER9> Beware as this explanation does not apply to every country in the world, in France for residential systems at least, the protection (green/yellow) wire is never connected to the neutral (blue) wire, only to earth with a metal rod at the house. You would get a shock if it was somehow disconnected from the rod/earth. Neutral is also not bounded to earth inside the house. Be safe!

</comment><comment><USER10> "Since the ground-fault current path has inherently much higher resistance than the neutral wire, the amount of current flowing through the circuit jumps enormously during a ground-fault."

This is incorrect (probably a typo) - the GFC ensures there is a very _low_ resistance path to source, which ensures a current spike that is sufficient to blow the fuse.

<comment><USER2> Yeah, that was a typo on my part. I didn't notice it at first, and it's now been so long since I posted it that I would feel disingenuous editing it. I think someone pointed out the typo in the comments.

<comment><USER11> It's very common to edit your typo but still leave it there either crossed out, and/or leave an EDIT: and explain what/why you changed it.

It's perfectly okay to ensure your text is communicating accurate information - in fact leaving it may undermine your explanation as certain folks will focus on the error (or others won't notice it and learn something incorrect).

</comment></comment></comment><comment><USER12> The details of this also vary based on where you're at. In the US, neutral is bonded to earth at every house I think. In Europe, neutral is only bonded to earth at a local power station.

<comment><USER13> The US system is somewhat unique and lacks heaps of safety features: I am guessing mostly because a 110V shock is far less dangerous than a 240V shock (Although higher amperages mean higher risk of fire?).

For example for UK, EU and NZ etc: sockets and pins have a variety of features to avoid touching the phase (live) wire with say a screwdriver or knife in hands of a child.

For example, all new circuits installed in New Zealand since 209 must have an Residual Current Detector (the actual rules lead to multiple RCDs per main power board). This will cut the circuit if someone does manage to touch a live wire somehow (current from phase to neutral doesn't match, because some of it is grounded through your body, and the mismatch triggers the breaker. Wayyyyyyy safer than a fuse!

<comment><USER14> In the US there is tamper proof outlets and GFCI is equivalent to RCD. Its pretty much required for new houses though older houses may vary on what they implement.

<comment><USER13> Are tamper proof outlets mandatory? The UK has had shutters on the phase that is opened by the earth pin forever. Which is why their plugs are caltrops, and have a plastic earth pin if double insulated (only phase and neutral wired, with no earth wire).

I don't think I have ever seen a US plug where the pins have a non-conductive protective covering at the base of the pin (I think all modern UK and NZ male plugs have that. Although I'll be honest that I think the NZ solution makes plugs less safe due to risk of pins bending then breaking and leaving a live metal pin exposed in the socket).

EU sockets are mostly recessed from what I have seen (some NZ sockets are, but the recess is still is often unusable with old plugs, so is not common yet, but will become so as more plugs are sold that fit properly).

<comment><USER15> > The UK has had shutters on the phase that is opened by the earth pin > forever. Which is why their plugs are caltrops

No, bad design is why they are caltrops. Over here in the Netherlands shutters are similarly required but none of our plugs need a third pin. The shutter is a see-saw construction that works in such a way that you need to insert both prongs at the same time for the shutter to rotate out of the way.

That said our grounded plugs are still caltrops for no real good reason, though less so than the UK ones. They tend to fall with the prongs to the side instead of prongs-up.

</comment></comment></comment></comment></comment><comment><USER16> This blew my mind. So the white wire (neutral) is actually what I thought the ground was (connected to earth) and the "ground" wire (usually bare or green) is a conductor for clearing ground faults and isn't connected to earth.

Marvelous explanation.

<comment><USER17> They are both connected to earth at the same point. The big difference is that "neutral" has current flowing through it during normal operation, but "ground" only has current flowing through it in a fault condition.

<comment><USER18> Right because the hot/black is connected to the neutral/white through the load completing a circuit so current flows. The "ground"/green is only connected to the chassis so no current flows in normal operation.

</comment></comment></comment><comment><USER19> See also "Why Three Prongs (1996)" discussed recently:

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

Also, be aware of grounding requirements when using a generator:

[https://cpower.com/PDF/InfoSheets/44.pdf](https://cpower.com/PDF/InfoSheets/44.pdf)

</comment><comment><USER20> Why are there three wires in new receptacles? From my understanding, new code has you have to have a 3+ground but why is that safer? Did they just add an extra wire so you can have a hot, lead, and neutral to ground all the receptacle? (Plus the green/bare to bond the receptacle to switch/outlet)

Also, for home owners, what's the best resource to learn common sense basics of electrical work (besides reading the city/states codes). Are there classes for such cases?

<comment><USER2> The three wires in any typical household circuit are your Ungrounded Conductor (hot wire), Grounded Conductor (neutral wire), and Equipment Grounding Conductor (EGC/Ground Wire). The hot and neutral are what actually makes the circuit work. The EGC/ground is a safety measure that creates a ground fault current path which enables overcurrent protective devices (like breakers and fuses) to operate.

As far as learning common electrical, I'm sure local organizations in your area will have some kind of classes. Probably local hardware stores? I don't know. I learned through trade school and on-the-job training. As an electrician, I will self-servingly tell you that you should always hire a licensed electrician.

<comment><USER4> > The EGC/ground is a safety measure that creates a ground fault current path > which enables overcurrent protective devices (like breakers and fuses) to > operate.

This is NOT TRUE!! You've said it so many times in this thread, and it's just not true.

A lot of people are tying to correct your mistakes, but you're not fixing them. Please do so, you are misleading a lot of people.

<comment><USER18> Perhaps you could explain it correctly?

<comment><USER21> You can trip a breaker without the ground wire being involved. The ground wire does help with one failure case, but that's not the _only_ way that your circuit breakers/fuses protect you.

</comment></comment></comment></comment></comment><comment><USER22> One of the few times I wish I had a reddit account, just so I could give an old post some $REDDIT_KARMA_POINTS (whatever currency they use). That is an outstanding explanation that cleared up some things for me that I do because electrical code, not because "knows the 'why' of what he's doing".

<comment><USER23> Maybe it offers some solace to know that old posts (older than six months) cannot be voted on.

</comment></comment><comment><USER24> This section is plain wrong:

"The ONLY purpose for the EGC (or green wire) is to clear a ground-fault (clearing a ground-fault means tripping a breaker or blowing a fuse) in the 'oh shit moments'. It has absolutely NOTHING to do with the ground or the Earth and will work exactly as it is intended to regardless of whether it is connected to the Earth or not."

If the EGC is floating, no current will flow in a ground fault and the breaker never trips.

<comment><USER2> I'm not trying to be argumentative but you are misinformed. "Floating" means that the system is not connected to ground. That is, there is no system/main bonding jumper. There is no connection to a grounding electrode conductor. This has nothing to do with the Equipment Grounding Conductor, though. I don't know what you mean by a "floating EGC".

The entire purpose of the EGC is to bond all normally non-current carrying conductive parts together to provide a ground-fault current path back to the source of the circuit. If the EGC is not connected to some non-current carrying conductive part, then it is not installed correctly, is against code, and is a safety hazard. If the EGC is bonded to everything properly and there is a fault (say an ungrounded wire touches a metal box), then the current will flow through the ungrounded conductor, through the metal box, through the EGC (which is bonded to the box), back to the source (usually a transformer), across the windings, and eventually back to the breaker that controls the circuit. This will build up enough current (usually VERY fast, like milliseconds) and the breaker will open. The Earth has nothing to do with this.

<comment><USER4> He's right and you are not.

If you don't bond neutral and ground at the main, it's still bound at the transformer.

> then the current will flow through the ungrounded conductor,

No, it will flow through the _grounded_ conductor.

> back to the source (usually a transformer), across the windings, and > eventually back to the breaker that controls the circuit

The flow of power is the same via ground as it is via neutral.

> This will build up enough current (usually VERY fast, like milliseconds)

There is no such thing as "build up enough current", current does not "build up".

The milliseconds has to do with built in time delays at breakers, it's not a function of the electricity.

> The Earth has nothing to do with this

The actual Earth is used as a conductor, so yes, it definitely has something to do with this.

<comment><USER25> _If you don 't bond neutral and ground at the main, it's still bound at the transformer._

That would be a pretty good trick. The transformer is outside my house on a pole. Two wires run to it, the hot and the neutral. The "ground" doesn't leave the house. (Other wiring schemes exist, but this is standard USA residential.)

[EDIT: brainfart, see helpful correction below. still no "ground" at the pole...]

<comment><USER26> > _Two wires run to it, the hot and the neutral_

Standard US residential is 240V split phase, with two hot and one neutral conductor from the transformer. So three wires, minimum. Unless you have a very old feed.

<comment><USER25> Ah, yes, well spotted. That was an oversimplification. Two hots, one neutral, zero "grounds".</comment></comment></comment></comment></comment></comment>


Apple opens "Try Before You Buy" section in App Store, Step to fight app piracy - <AUTHOR> http://9to5mac.com/app-store-try-before-you-buy <comment><USER2> Apple needs to build in proper software support for app trials. You shouldn't need two copies of the apps in the app store (each with their own ratings and comments). You should be able to purchase the full version of the app and keep your existing data (tricky to do unless the developer builds in code to send your data to the server and load it back into the paid version of your app, since apps can't share data).

<comment><USER3> You're right that trials should be represented as a first-class concept in the App Store, but right now the best solution is already fairly elegant: in-app purchases for free apps. That lets you sell the upgrade to the full version from inside the trial version, and avoids any issues with data migration.

</comment></comment><comment><USER4> I hope they also introduce a real "try before you buy" option for all paid apps that wish to support a trial period.

Today's new feature seems like a promotion of apps that offer a "lite" version. It makes "lite" apps more discoverable, but doesn't come close to offering a trial option (and I'm not sure why 9to5mac believes that making a few free apps discoverable will help "fight app piracy")

<comment><USER5> It looks like it's more of a curation strategy. It looks like they want to reduce the amount of noise in the App Store by getting rid of the Free vs Paid Apps split. The first step was allowing In-App Purchase for Free Apps.

</comment></comment><comment><USER6> Lack of this prevents me from buying _tons_ of apps. The idea of spending money with no promise of ROI is pretty hard for me.

</comment><comment><USER7> I'd like to see the addition of videos to go with screenshots on the app description pages. A good video walk through is sometimes better than a lite version or a time bombed trial. It would be fantastic for games.

</comment><comment><USER8> The solidly financial reason for Apple to do this would be to fight refunds.

No idea if there are app-return-rate numbers, but doing refunds isn't a cheap process.

<comment><USER9> Under what circumstances does Apple even issue refunds? The app store terms of service is pretty clear within the first few paragraphs that all sales are final.

<http://www.apple.com/legal/itunes/us/terms.html>

<comment><USER10> That may be true, but in practice Apple issues refunds to anyone who asks.

<comment><USER11> My understanding of this is that the developers have to pay 100% of the refund, even though they only got 70% of the revenue. Does anybody know if that is, in fact, the case?

<comment><USER12> That was not the case for me. I've seen some refunds in my financial report, but apple only took their 70% back, not the full 100%.

There _is_ a scary clause in the agreement which says they _could_ do that, but to my knowledge they never have. All of the scary blog posts on the subject were worried speculation, not actual applications of that policy.

<comment><USER13> This is worrying. Apple have a history of treating developers badly with the App Store. They might start enforcing that rule someday.

<comment><USER14> >Apple have a history of treating developers badly with the App Store.

Citation?

</comment></comment></comment></comment></comment></comment></comment><comment><USER15> I really hope this practice extends into all app stores. It would only be bad for people who make bad apps.</comment>


This Much I Know - <AUTHOR> http://www.guardian.co.uk/lifeandhealth/series/thismuchiknow

<comment><USER2> I must say, I really love this one from Lundgren: "The memory of you is all that's left of you when you die, so I'd like to be remembered as a generous, loving human being when my time comes."</comment>


A Node.js chat server in CoffeeScript - <AUTHOR> http://dhotson.tumblr.com/post/634304174/node-js-chat-server-in-coffeescript

<comment><USER2> I really like CoffeeScript. I've always liked JS because of how first class closures are, but the C syntax and that damn "function" keyword took a lot of the fun out. And even if CoffeeScript didn't take care of that, the => symbol would be worth it alone.</comment>


Ask HN: How to get a job in silicon valley - <AUTHOR> As a blockchain engineer product manager <comment><USER2> I think adding more details such as your current work profile, location, visa status, expected salary etc will help elicit quality responses.</comment>


Google Cloud's Diane Greene thinks it has "a pretty good shot" of overtaking AWS - <AUTHOR> http://www.geekwire.com/2017/googles-diane-greene-thinks-pretty-good-shot-overtaking-aws-five-years/ <comment><USER2> Downvote any article that mentions Diane Greene. Her job is literally "Google Cloud Hype-woman". There is nothing of substance here or in any interview with her.

Nothing more than hot air and marketing bullshit.</comment>


You don't need 1 blog: you need 3. - <AUTHOR> http://www.47hats.com/index.php/2008/08/19/you-dont-need-1-blog-you-need-3/

<comment><USER2> Why not simply 1 blog with appropriate tags on your posts?

Personal, Professional, Technical, Speculation, Announce, Startup, Rant, Meta (blogging about your blog).

You could even derive versions of your blog based on those tags, for example one with (and Personal (not Professional) (not Startup) (not Technical)). So you could have 4 sites: the one with all tags available, and 3 others with restricted tags (that the user can restrict further). This way you can direct someone to your Technical blog without them tripping in your Personal stuff.

<comment><USER3> Is there--understand, here, that I don't have a blog and haven't blogged, so I have no idea--is there blog software that will do this for you already? Like, handle a different URL, css styles, etc. but point to the same database? That sounds like it would be really handy.

<comment><USER4> I couldn't find one, so I wrote my own.

<comment><USER3> I'd be interested in discussing it. If you (or anyone else) are, too, feel free to email me at the address in my bio. Thanks!

</comment></comment></comment></comment><comment><USER5> I need to start a blog called "57piglets"

edit: "67bigones" looks like it's available, too.

</comment><comment><USER6> I liked the title, but the key points of the post kinda broke down into very boring and obvious practical matters.

I thought a more interesting point to make would have been to say that you need 3 personal blogs, for some reason or another. Now that'd be a nice, juicy, meaty controversial statement to make.

<comment><USER7> I have 3 blogs, i have one in Bulgarian in witch i post everything im interested in, i have an English version of it, and a 3-rd blog where i post the cartoons i draw. Im lazy and don't update my English blog very often, and i haven't drawn anything in two weeks.

</comment></comment><comment><USER8> No, you just need a damn _left margin_ on your paragraphs!</comment>


Show HN: React Static Site generator as simple as it can get, with browserify - <AUTHOR> https://github.com/fiatjaf/react-site <comment><USER2> How does this compare to Gatsby and Phenomic.io, two fairly well-established static React site generators?

<comment><AUTHOR> It uses browserify instead of webpack; it produces a bundle that doesn't contain the written content of all pages in the site (these are kept separately in super small JS files loaded at navigation time); it is simple to understand, no dark magic (the site is generated from a shell script, as you can see); doesn't need fancy configuration, config files, webpack loaders, mandated CSS preprocessing and postprocessing.</comment></comment>


(Vimeo Founder) Jake Lodwick's Standards Experiment - <AUTHOR> http://jakelodwick.tumblr.com/tagged/Standards/chrono

<comment><USER2> One of the more amusingly bizarre things Lodwick has done in his career. Also worth nothing is <http://odwick.com/>, his series of arthouse (and frequently nude) movies.

I love characters.</comment>


Excessive DNS queries for NTP pool addresses - <AUTHOR> https://forum.flightradar24.com/threads/11042-Excessive-DNS-queries-for-NTP-pool-addresses <comment><USER2> The NTP Pool has very simple guidelines for vendors distributing software with hard-coded NTP server names. Very simply, they ask that you set up a vendor DNS alias. Details here: [http://www.pool.ntp.org/en/vendors.html#basic- guidelines](http://www.pool.ntp.org/en/vendors.html#basic-guidelines)

The NTP Pool is an incredibly valuable public resource. It's run by volunteers, all they ask is you treat the resource with respect so it works for everyone.

<comment><USER3> Try explaining that to Poettering. [1] [2]

[1] [https://lists.freedesktop.org/archives/systemd- devel/2014-Au...](https://lists.freedesktop.org/archives/systemd- devel/2014-August/022575.html)

[2] [https://github.com/systemd/systemd/issues/437](https://github.com/systemd/systemd/issues/437)

<comment><USER4> I think you linked something that has little to do with the subject at hand in order to take a jab at Poettering. Lame behaviour.

The issue, as I remember it, is more complex than you suggest with your quip. Who is the vendor for a distributed copy of systemd, is it systemd or the distributor?

<comment><USER5> Both threads are exactly about the subject of the discussion. How does it have "little to do with the subject at hand?"

<comment><USER6> I think the context that a lot of people seem to miss is that this default was never used in practice with a real Linux distro. So in effect it was never really an issue in the real world since the default was always changed.

<comment><USER3> Then why provide a default at all? Especially one that isn't suppose to be used publically like google's?

<comment><USER6> So systemd at least compiles without manual settings, and convention over configuration trends. It would be ideal if they just setup their own NTP server for the default though. I think from a practical perspective though the whole thing was blown out of proportion.

<comment><USER3> It requires a configuration file to even compile? How's that work?

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> Later in the thread:

> I looked at it in some more detail a few hours after I posted this and it > looks like this isn't a "normal" feature of the FR24 client but rather a > failure to handle DNS problems gracefully. An issue with a local DNS server > meant it was returning "domain not found" for some domains, including the > *.pool.ntp.org domains.

> It seems the FR24 client has embedded calls to system programs to would find > the first working (i.e successful ping) NTP host, sync up time from there > and then carry on, but in this case as each host fails it tries the next in > the list and when the list is exhausted it starts again from the top. Thus > firing off an endless stream of DNS queries at a high rate until it manages > to connect to an NTP server. The ICMP traffic wasn't actually generated in > this case as the ping command fails because in my specific case the host > address couldn't be found, for NTP servers that are in the pool but block > ICMP this would generate traffic but still fail a ping.

> The local DNS problem turned out to be a misbehaving Pi-Hole installation on > my home network refusing some DNS queries but it would be nice to see some > kind of backoff algorithm or delay in the client, or preferably just insist > on a working NTP client on the feeder rather than forced NTP syncs via > external commands and a liberal use of ping.

Seems like the title is misleading.

<comment><USER8> It seems not, because, even later:

"fr24feed appears to be doing 12 NTP queries direct to servers around the world every ten minutes, which is about three times as much load as the pool recommends and appears to be a very high load on the parts of the world where there are few volunteers running NTP servers"

[https://forum.flightradar24.com/threads/11042-Excessive- DNS-...](https://forum.flightradar24.com/threads/11042-Excessive-DNS-queries- for-NTP-pool- addresses?s=9c2a36a984a38ff32360f8f3d10efc28&p=101240&viewfull=1#post101240)

<comment><USER7> While 1.2 vs 0.4 requests per minute is indeed a factor of three, calling it "abuse" instead of something like "misconfigured" or "misuse" seems overblown.

What are you going to call the initial report of thousands of requests per second then?

<comment><USER9> It's not overblown to characterize something about a system _you are told not to do_ "abuse". If it is misuse, it is abuse. Words mean things.

<comment><USER10> Words do in fact mean things, and that's why there's so many of them. Abuse and misuse are two similar words with distinct connotations. Abusing something means it's intentional and is causing significant harm. Misusing something means using it in a way that could be accidental or intentional, but is contrary to the way the thing should be used.

I have to agree with the other person, unless this was done intentionally and the programmer knew it would cause damage, calling it abuse sounds overly dramatic. I think the word misuse is far more accurate here.

<comment><USER9> Send an email to email@example.com and explain the problem and I'm sure someone will get right on it.

Wait--you mean to tell me it's abuse@ _for a reason_...?

</comment></comment></comment></comment></comment></comment><comment><USER11> This sounds like a bug (or maybe two bugs), not the result of any sort of policy decision. So, before taking a combative stance and trying to shame them into fixing it, it's important to make sure the relevant information has actually reached the person who actually _could_ fix it, and they've had some time to work!

<comment><USER12> The first post in that thread was made 2017-05-03.

<comment><USER11> Okay, but did it actually get read by the right person? It's very easy for bug reports that came in the form of forum posts to slip by unnoticed. Or noticed by tech support people who don't realize it might be worth escalating to dev.

</comment></comment></comment><comment><USER13> I used to love FL24, until it stopped supporting its Mac client which I paid for, rendering it useless. All you get is a message asking you to subscribe to the program you've already paid for.

<comment><USER14> What did the desktop client have that the web interface doesn't? Would love an OS X client personally.

<comment><USER13> Primarily speed. Secondarily, the ability to display full-screen across a 27-inch display.</comment></comment></comment>


Nick DiUlio: What economists are learning from cyber economies - <AUTHOR> http://www.thebigmoney.com/articles/0s-1s-and-s/2010/03/08/forget-invisible-hand

<comment><USER2> Cute, paper generating, but probably fruitless. Even large real economies are poor models for each-other, and second life et all have more in common with flea markets than they do the complexity of modern macro econ.</comment>


Killing The Messenger At Mozilla - <AUTHOR> http://modelviewculture.com/pieces/killing-the-messenger-at-mozilla

<comment><USER2> Yeah we should be so happy that, instead of staying relevant and bringing the web forward, Mozilla has turned into a bastion of feels where expertise and merit is ignored. Nothing Mozilla does is remotely related to any of this, and just because a few whiny LGBTs got their panties in a twist doesn't mean they speak for every gay person out there.

The only good part is where the author criticizes the "doing good" cult vibe that's been substituting common sense at Mozilla more and more lately.</comment>


Incentive Pay Considered Harmful - <AUTHOR> https://www.joelonsoftware.com/2000/04/03/incentive-pay-considered-harmful/ <comment><USER2> Just a sincere, one on one atta-boy goes a long way.

Reward: All it takes is for your manager to come by your desk or stop you in the hallway and softly tell you he (actually) noticed and appreciated the effort you put in to help ship something.

This doesn't mean you can pay people less but it will probably help with employee retention.</comment>


How I reduced Page Load Time by 75% - WordPress Optimization - <AUTHOR> http://www.kadavy.net/blog/posts/wordpress-optimization-dreamhost-rackspace/

<comment><USER3> If your problem is CPU usage rather than bandwidth overage, consider switching from Apache to nginx. I found my LAMP WordPress blog (hosted on a small VPS and using W3 Total Cache) was having trouble with concurrent users - <USER2> spikes would make my CPU usage skyrocket.

I've since switched to nginx and the results have been great under moderate to high traffic, and without the use of any caching plugin.

<comment><AUTHOR> I heard that advice about nginx, but was concerned about lack of a mod_rewrite module for smart URL structure. Is there a way to have search-engine-friendly- urls easily with nginx?

<comment><USER4> Nginx configuration is about as powerful as Apache, and personally easier for me to grok, but you have to be able to get past the lack of documentation.

Here's the configuration file from my new project -- with the domain name removed. I've marked the magic bits that gets you Wordpress pretty URL compatibility. If you're actually asking about more complicated rewrites, those are all possible too -- look at the Nginx rewrite module docs.

<http://www.pastie.org/929223>

<comment><AUTHOR> That's a much more attractive configuration file than an Apache one.

I see that you're using FastCGI. Something I didn't mention was that I attempted to use FastCGI, but gave up because my memory usage kept snowballing until I had to reboot my server over and over again. I don't know for sure whether it would have made things any faster.

<comment><USER5> David, Nginx is awesome.

<comment><AUTHOR> No, _you're_ awesome, Jöel

</comment></comment></comment></comment></comment></comment><comment><USER6> W3 Total Cache really is a fantastic plug-in. It's significantly reduced my server load, and hasn't caused any problems as far as I can tell.

<comment><USER7> Yup, I have been using it with maxcdn (PULL) and other custom optimization; was able to go from ~8sec load time to less than 2 second load time on average.

</comment></comment><comment><USER8> What an excellent post, and easy enough for someone without tech experience to follow. This will definitely be forwarded to friends wanting to get into the more serious side of web publishing.

</comment><comment><USER9> Great tips. The most useful one for me is to put images and script files on a subdomain.

Doesn't adding CSS and JavaScript inline hurt your google rank?

<comment><USER10> >Doesn't adding CSS and JavaScript inline hurt your google rank?

Why would it do that?

<comment><AUTHOR> As I talked about in the post, I have some pages that are popular with search engine visitors. They generally come to the page, read, and then leave. I serve CSS and Javascript in <style> and <script> tags on those pages so it's fewer HTTP requests, and loads faster.

Unless someone has a reason I should do otherwise?

UPDATE: From Yahoo: [http://developer.yahoo.net/blog/archives/2007/07/rule_8_make...](http://developer.yahoo.net/blog/archives/2007/07/rule_8_make_jav.html)

"The key factor, then, is the frequency with which external JavaScript and CSS components are cached relative to the number of HTML documents requested. This factor, although difficult to quantify, can be gauged using various metrics. If users on your site have multiple page views per session and many of your pages re-use the same scripts and stylesheets, there is a greater potential benefit from cached external files."

</comment></comment></comment><comment><USER11> "A single-user client SHOULD NOT maintain more than 2 connections with any server or proxy". In reality, it is 6 in IE 8, 8 in FF 3.x, Safari and Opera

<comment><AUTHOR> Thanks for that. I heard something similar but couldn't find records of specifics. I suppose that means that its 6 in Chrome as well.

And of course, there is IE7, which is still what many of my visitors use.

</comment></comment><comment><USER12> <http://wordpress.org/extend/plugins/chennai-central/>

FTW

<comment><USER13> What does that actually do? All the description says is that it saves you bandwidth.

<comment><USER14> The "FAQ" link below the description leads to:

"Chennai Central is a bandwidth saver plugin that makes your wordpress site support conditional GETs by search engine crawlers , feed readers and more."

(followed by more detail about what conditional GETs are, and why they help)

<comment><USER13> For me the FAQ was empty, maybe a compatability problem with Android's browser. I'll check it out on a real computer.

<comment><USER15> Never mind the FAQ, the "Download Now!" link is a 404.

I'm kind of surprised that in 2010 stock Wordpress would not have this kind of cache-friendliness built in.

</comment></comment></comment></comment></comment><comment><USER16> Moving to Xen-based VPS with fast connection from dedicated server. Big deal.

For me it looks much better to rent a dedicated server and divide it into several KVMs and resell them. =)</comment>


What's the best way to spend $20,000 to help the common good? - <AUTHOR> https://80000hours.org/2015/06/whats-the-best-way-to-spend-20000-to-help-the-common/ <comment><USER2> The life satisfaction chart is what caught my eye.

Everyday I am more convinced that the high real state prices are eating away a lot of the income in the economy. Prices are not to bad in median cities with houses around $150k, but most larger cities start around $250k. This is income that cannot be used to buy other things. But the prevailing mindset requires you to have a lot of space between your family and your neighbors. Which IMHO is unsustainable.

<comment><USER3> Isn't that crazy?

And many jobs that lead to personal financial gain very rapidly are concentrated in and around city centers.

This means that most people are playing the 250k+ game and not the 150k game.

And all they are doing is bidding on how close they want to live to work usually.

Now imagine all of the good things you could put that money towards that isn't just rent-seeking.

Things that will result in wealth/value creation (better medicine, better technology, higher median net worth).

And then cry a little inside, because despite the technology existing for many people to work remotely, the 500 companies who control most of the world's wealth generally don't allow it.

</comment></comment><comment><USER4> spend 20k on btc, hold for future orders</comment>


Article: Plaintext passwords are sefe enough - <AUTHOR> https://blog.viktomas.com/posts/plaintext-passwords/ <comment><USER2> The article goes on to describe how hard it would be to crack their, despite the title, non-plaintext password. What exactly is the point the author is trying to make here?

<comment><AUTHOR> Oh, I see how the title could be confusing. I should probably use a title along the lines of "Using text passwords for encryption is safe enough"?

The point I was trying to make is that reasonably long password (six simple words) makes AES encryption with key transformations almost impossible to crack. (As opposed to my intuition).

Thanks for taking the time to write the comment. It's the first time I shared my article on HN.

<comment><USER2> Oh, I see, thanks for clarifying, I was seriously confused for a minute there :)

<comment><AUTHOR> :) It's great to get feedback. I wish you a splendid weekend.</comment></comment></comment></comment>


Ask HN: How to get started with programming, web development? - <AUTHOR>

I know this is a question that's been asked countless times, but I can't seem find any recent discussions on HN. I would appreciate it if anybody could point me towards a link to a discussion or something similar.
I live in the heart of Silicon Valley, and I'm fairly well versed in computer hardware. Unfortunately though, I have absolutely no programming experience whatsoever. What do you guys suggest doing if I want to get started with programming/web development?
Currently, I've decided to start with HTML4, checking out books from the library on that. Basic HTML is fairly easy, and uses pretty similar syntax to BBCode, which I've used on forums.
What methods do you guys suggest to jump from basic BBCode into actual programming and/or web development? <comment><USER2> Zed Shaw has some guidelines about that <http://learnpythonthehardway.org>. You'll learn some basic programming in a very good and versatile language. I learned web programming a few years ago. In my opinion, I gained about a 3 weeks head-start in productivity by choosing PHP, but I ended up making up for it for the next 3 years. There are other commendable books geared towards beginner programmers, but only a few that also target _web enabled_ languages come to mind.

JavaScript: <http://eloquentjavascript.net/> (I recommend the interactive HTML version). Ruby: <http://mislav.uniqpath.com/poignant-guide/>

If I were to begin programming with the goal of working in the web today, I would love that someone pointed me to any of these 3 resources.

Like I said there are other beginner books and online tutorials using languages that aren't usual for the web like _The Little Schemer_ (Scheme). It's always a plus.

You'll need to learn to use a good text editor or an IDE. I'm biased toward Vim, it takes time, but it's a good investment.

You'll need to learn HTML and some CSS. There are countless lists of recommendations out there for _best books on x_. Just checkout StackOverflow with similar queries for JavaScript, CSS and HTML. e.g. [http://blog.reybango.com/2010/12/15/what-to-read-to-get- up-t...](http://blog.reybango.com/2010/12/15/what-to-read-to-get-up-to-speed- in-javascript/)

You'll need to learn to interact with databases. You'll need to learn some SQL. However, I've been doing this for quite some time and I've only recently been playing with document oriented databases (aka NoSQL), it is _my_ opinion that there are very few situations where they might not be suitable. Seeing that nothing prevents you from mixing solutions (SQL + NoSQL), I would frankly recommend to a beginner to invest in NoSQL _first_. Redis, MongoDB, CouchDB are the NoSQL DBs I've played with and would recommend.

<comment><AUTHOR> I really do appreciate those links, I will be sure to check them out.

Thanks!</comment></comment>


The Sed FAQ - <AUTHOR> http://www.pement.org/sed/sedfaq.html

<comment><USER2> My favourite use case is when ssh complains about a host key being changed. I just substitute the offending line number into this: sed -i <line_no>d ~/.ssh/known_hosts and I'm done. Obviously I don't do that thoughtlessly otherwise I'd just disable ssh hosts checking altogether.

<comment><USER3> actually that's a perfect use case for _ed_

for example:

Offending key in /home/user/.ssh/known_hosts:12

ed .ssh/known_hosts

12d

w

q

</comment></comment><comment><USER4> I always have problems when running sed, especially with capture groups. I can never get the syntax right for non-trivial stuff.

I wish there was a sed-like tool that used python or javascript regex syntax!

<comment><USER5> perl -pe is my usual replacement for stuff where I want a sed-like filter but PCRE syntax.

<comment><USER6> Yep, as soon as my sed gets even slightly complicated I reach for s2p (sed to perl translator).

Also see a2p (awk to perl) and find2perl.

</comment></comment></comment><comment><USER7> My traditional reference for sed syntax (though hardly so well-explained, it can usually get the job done).

<https://www.google.com/search?q=sed+one+liners>

<comment><USER8> I love seeing my blog posts at the top. :)

</comment></comment><comment><USER9> Hello. It is always nice with more stuff on sed, Here is a nice link for those wanting to learn the basics: <http://www.grymoire.com/Unix/Sed.html>

</comment><comment><USER10> Needs a single page HTML version.

Single page text version here: <http://www.pement.org/sed/sedfaq.txt>

</comment><comment><USER11> Nice collection of one-liners:

<http://sed.sourceforge.net/sed1line.txt>

</comment><comment><USER12> Why not publish MAN itself

<comment><USER3> Here you go!

<http://man.freebsd.org/sed>

also reading the ed man page will help as well for newbies.

\</comment></comment><comment></comment><comment></comment><comment></comment><comment>--

IEEE Std 1003.1-2008 :

[http://pubs.opengroup.org/onlinepubs/9699919799/utilities/ed...](http://pubs.opengroup.org/onlinepubs/9699919799/utilities/ed.html)

[http://pubs.opengroup.org/onlinepubs/9699919799/utilities/ex...](http://pubs.opengroup.org/onlinepubs/9699919799/utilities/ex.html)

[http://pubs.opengroup.org/onlinepubs/9699919799/utilities/se...](http://pubs.opengroup.org/onlinepubs/9699919799/utilities/sed.html)</comment>


Dart2js is faster than V8 in DeltaBlue test - <AUTHOR> http://www.dartlang.org/performance/#

<comment><USER2> From this page:

 _Similarly, the dart2js numbers are generated by compiling the benchmarks and harness to JavaScript and then running the generated code in V8._

 _Finally, the V8 numbers are generated using the same benchmarks written in JavaScript and with exactly the same harness rewritten in JavaScript._

From what I'm reading, this appears to suggest that Dart2js isn't faster than V8, but is instead faster than a handwritten code. Still a good achievement!

The reason I bring this up is because I was confused at how javascript (even compiled from Dart) could be faster than the engine that is running it.

<comment><USER3> Right, they're basically saying that v8(dart2js(code)) is faster than v8(transliterate(code)), i.e. that dart2js is becoming better at optimizing the code for V8 than V8 is by itself.

<comment><USER4> isn't it v8(dart2js(dart_code)) vs v8(js_code)

So there could be some difference between the original code in both, and some benefit from compiling to js (e.g. they could use crazy tricks similar to asm.js to generate faster code perhaps based on type hints present in Dart but not the JS)

</comment></comment></comment><comment><USER5> I can see that Dart definitely has the potential to be faster than Javascript, but at the moment the difficulty of measuring the speed of its implementation is the lack of representative benchmarks. Richards and DeltaBlue aren't exactly ideal.[1]

But it's still encouraging to see such results from its Javascript backend. Ideally we'd be able to experience the productivity gains of Dart without having to introduce an entirely new browser VM.

[1] [https://blog.mozilla.org/nnethercote/2012/08/24/octane- minus...](https://blog.mozilla.org/nnethercote/2012/08/24/octane-minus-v8/)

<comment><USER6> On the server-side, a few people on the Dart mailing list have started messing around with competing in some server-side benchmarks done by the Debian [1]. Dart isn't exactly doing well so far, but the submission have been written by people that aren't as familiar with Dart yet and how to get apps running quickly on the DartVM. I'm still working on improving my submission to see how much faster I can get it.

[1] [http://benchmarksgame.alioth.debian.org/u64q/performance.php...](http://benchmarksgame.alioth.debian.org/u64q/performance.php?test=revcomp)

<comment><USER7> >>benchmarks done by the Debian<<

No. Not "done by Debian". Alioth is a project hosting service like sourceforge or savannah.

</comment></comment></comment><comment><USER8> The chart legend is confusing...

• "dart" means "handwritten Dart running in the Dart VM"

• "v8" means "handwritten JavaScript running in V8"

• "dart2js" means "dart2js-generated JavaScript running in V8"

I can't find any link to the actual handwritten JavaScript (or the handwritten Dart) that these benchmarks are based on. Without this, it's impossible to know the value of these numbers.

Maybe the handwritten JavaScript is written really badly. Maybe the procedure performed by the respective languages is something that dart2js is particularly good at optimising. Who knows.

<comment><USER9> Digging through some of the links, here are the sources I found:

The JavaScript version is part of the Octane Web Benchmark. The DeltaBlue component is here: [https://code.google.com/p/octane- benchmark/source/browse/lat...](https://code.google.com/p/octane- benchmark/source/browse/latest/deltablue.js)

The Dart version of DeltaBlue is here: [https://github.com/dart- lang/benchmark_harness/blob/master/e...](https://github.com/dart- lang/benchmark_harness/blob/master/example/DeltaBlue.dart)

<comment><USER8> Thanks. I withdraw my last two paragraphs :)

</comment></comment></comment><comment><USER10> It seems disappointing that the Dart VM is slower than both JS and dart2js, when Google justifications for creating Dart instead of working to extend JS was that Dart could be faster than JS could be.

<comment><USER11> Dart VM is the fastest, followed by dart2js then V8. The key thing to remember is that this is a time-series chart. So you have to look at the right hand side where dart2js just overtook V8.

</comment></comment><comment><USER12> It's interesting to some of the reasons Dart can be faster [http://highscalability.com/blog/2013/3/20/dart-is-it-the- fut...](http://highscalability.com/blog/2013/3/20/dart-is-it-the-future-of- the-web.html) However, this is a welcome side effect to me. Rather, I am more productive in writing working code in Dart because of the higher level nature of the tool set. Less pain, more gain.

</comment><comment><USER13> None of the other browsers have any plans of implementing support for Dart. I don't see any point in getting excited about yet another language which compiles to javascript.

Everyone wants to replace Javascript, but this seems to be another opportunity for reposting the worse is better article.

<comment><USER12> You're missing the point, which is about the speed of JavaScript. No one in the Dart community I read is even talking about getting the Dart VM on other browsers. As far as I'm concerned, it's a development platform. The "Yeah but no other vendors are going to implement the Dart VM" might not be an accurate prediction and has become a hackneyed way to dismiss Dart.

<comment><USER6> Exactly. The DartVM isn't in Chrome yet and may not be for a while. When you ask people on the Dart team when the DartVM will be integrated into Chrome, you don't get any kind of real answer. The best I've seen them say is that once Dart hits 1.0 (scheduled for this summer), they will start worrying about getting the DartVM into Chrome. But no promises or timelines.

The Dart team has realized that selling people on the DartVM will be hard, so they are putting a lot of effort into dart2js.

(note: yes yes, there are chromium builds that include the DartVM, but it is not officially part of Chrome yet).

</comment></comment></comment><comment><USER14> You have got the scale in reverse. From the article :

"The score is essentially runs/second: the number of times you can run the benchmark in one second. _For all scores, bigger is better_ "

So, no, dart2js is actually slower than hand written javascript code, which is in turn slower than dart code running on the dart VM.

EDIT : I got it all wrong, sorry, didn't see the far end of the graph.

<comment><USER15> If you look at the right end of the graph, you'll find that dart2js score is bigger than v8's

</comment></comment><comment><USER16> I love the idea of Dart, and was hoping for this to happen (makes sense it would). My biggest problem with Dart today is it's lacking support for Internet Explorer 7.

<comment><USER12> dart2js currently targets IE9 and above but I'm thinking that a shim could be written for older browsers. I've haven't investigated this because I haven't needed it, but it should be possible.

<comment><USER12> I'll take the downvote as an indication that this is a bad idea and probably won't work. I hope to never have to worry about IE7 so that's that.

</comment></comment></comment><comment> johnx123-up OT: What chart lib is used in this page?

<comment><USER17> AFAIK the chart does not use any library. It's a simple in-house solution written in Dart.

</comment></comment><comment><USER18> since google is behind dart.. i wont use it... ill stick to v8. This is just as google GO, which to me seems that GO is being left behind

<comment><USER19> google is also behind v8.

<comment><USER20> You've just ruined his day!</comment></comment></comment>


Ask HN: What to do with daily 2 hrs of free time? - <AUTHOR> What shall I do in 2 hrs of free time on a daily basis? My goal ia to have $200k passive income so that I can quit 9to5 job.  I get 2 hrs on weekdays and 10 hrs on Saturday and Sunday.<p>Any suggestions? <comment><USER2> That's not realistic, unless you come up with some brilliant idea that nobody else had.

Plus you shouldn't wait till you get to $200K/year. If you hit $20-30K/year, you can move to a cheap area and work on improving your project full time.</comment>


Half plant half animal, slug with photosynthesis ability - <AUTHOR> http://www.msnbc.msn.com/id/34824610/ns/technology_and_science-science/?GT1=43001

<comment><USER2> "The researchers used a radioactive tracer to be sure that the slugs are actually producing the chlorophyll themselves, as opposed to just stealing the ready-made pigment from algae. In fact, the slugs incorporate the genetic material so well, they pass it on to further generations of slugs."

That is simply mind blowing. So essentially the case is made that DNA that you _eat_ ends up in your genetic lineage ?!

That means that there might be serious repercussions from ingesting genetic material.

I find that in some way bigger news than the slug that does photosynthesis, mind boggling as it is.</comment>


Your Cloud Instance Just Died. We're Sorry. - <AUTHOR> http://blog.jelastic.com/2012/06/30/your-cloud-instance-just-died-were-sorry/ <comment><USER2> Doing it wrong? If one DC going down, takes out your "cloudy" application, you suck at making cloudy apps. Surely? It's a pretty big SPOF if you are trying to be highly available.

</comment><comment><USER3> If a single region is a single point of failure, isn't that "doing it wrong"?</comment>


"If we can use your details to legally make a profit, we probably will."  - <AUTHOR> https://addons.mozilla.org/en-US/firefox/addon/screenshot-pimp-screengrab-scr/privacy/

<comment><USER2> Just to make this clear: this was _not_ said by Mozilla, despite it being on the Mozilla domain. It was written by "Screenshot Pimp", who wrote their own Privacy Policy. If you read it, the whole policy attempts a humorous tone.

The add-on is clearly marked on the download page as having been only preliminarily reviewed, which means that it is yet to get a thorough review (and can be treated as "experimental"). Here's what it looks like: <http://cl.ly/1a2b2T2v2V2L3M0f3G3W>

We're looking into it now, but as far as we can tell there is nothing malicious about their actual add-on.

(Disclaimer: I'm a Mozilla employee who works on the site linked to, addons.mozilla.org)

</comment><comment><USER3> Take note that this is a privacy policy for a preliminarily reviewed add-on (only reviewed for basic security issues) and most likely written in jest.

<comment><USER4> According to one of the comments the add-in rewrites amazon searches to provide affiliate income to the authors of the extension. So, it may not be in jest. I certainly wouldn't use this extension.

<comment><USER5> I don't see any problem with affiliate links.

We do we think that we are totally entitled to someone's work, be it a plugin or anything, but have problems giving back even in the totally easy, transparent and of no cost to us method of affiliate links?

I'm not talking about this add-on or comment in particular, I'm talking a animosity I see towards affiliate links in general.

<comment><USER6> Affiliate links seem OK _if_ your website is actually driving traffic to e.g. Amazon.com, but simply rewriting every link to Amazon.com on any page (even ones that already were _someone else's_ legit affiliate links) seems a bit abusive.

</comment></comment></comment></comment><comment><USER7> The headline is a fairly misleading: I thought it was a quote from somebody at Mozilla saying something stupid.

</comment><comment><USER8> How do you flag an extension for manual review? This is just making all add- ons look bad.

<comment><USER2> We're already on it, however there's a "Report Abuse" link here:

[https://addons.mozilla.org/en-US/firefox/addon/screenshot- pi...](https://addons.mozilla.org/en-US/firefox/addon/screenshot-pimp- screengrab-scr/)

</comment></comment><comment><USER9> A parody to show that nobody reads privacy agreements?

<comment><USER10> Maybe, but the user reviews indicate that the app install lots of bloat and borders on malware.

<comment><USER11> At least they're honest!

</comment></comment></comment><comment><USER12> Headline is very misleading--link and karma bait. Should be flagged and removed.

<comment><USER13> The fact that the domain is "mozilla.org" means nothing. Should we remove every google.com post because it doesn't come from a Google employee but a Google+ page? Nothing is misleading here.

<comment><USER12> A more honest headline would have been:

Firefox 3rd Party Plugin TOS: "If we can use your details to legally make a profit, we probably will."

The current headline, even if not deliberately misleading, is poor because it lacks proper context and isn't descriptive. Instead, it lets the user make assumptions about who said it and click the link to validate their assumption. It is most definitely misleading because the headline + domain is a half- truth.

It is /most likely/ link-bait, or at best an inexperienced user who should be taught that these sorts of headlines are not constructive to the community.</comment></comment></comment>