(Some) ORM haters do get it - <AUTHOR> http://www.revision-zero.org/orm-haters-do-get-it <comment><USER3> I don't understand where this ORM 'divide' is coming from.

ORMs are powerful, because they let you say less and do more. For 90% of the queries out there, an ORM is fine.

SQL is powerful, because you can control and fine-tune your statements. For the remaining 10%, use SQL.

Are ORMs bad? No. Can you them for everything? No.

The same thing can be said for almost every technology in existence.

<comment><USER4> The divide is fundamentally about choosing what's in charge of your system, the system being composed of your databases, your applications, and your supporting infrastructure (your scripts, your migrations, etc.) To relational database folk such as myself, the central authority is the database, and our principal interests are what ACID exists to provide: concurrent, isolated, atomic transactions that cannot be lost, on top of a well-defined schema with strong data validity guarantees. To us, what's most important is the data, so everything else must serve that end: the data must always be valid and meaningful and flexible to query.

The side that argues for ORM has chosen the application, the codebase, to be in charge. The central authority is the code because all the data must ultimately enter or exit through the code, and the code has more flexible abstractions and better reuse characteristics.

The reason for the disagreement comes down to disagreement about what a database is about. To the OO programmer, strong validation is part of the behavior of the objects in a system: the objects are data and behavior, so they should know what makes them valid. So the OO perspective is that the objects are reality and the database is just the persistence mechanism. It doesn't matter much to the programmer _how_ the data is stored, it's _that_ the data is stored, and it just happens that nowadays we use relational databases. This is the perspective that sees SQL is this annoying middle layer between the storage and the objects.

To the relational database person, the database is what is real, and the objects are mostly irrelevant. We want the database to enforce validity because there will always wind up being tools outside the OO library that need to access the database and we don't want those tools to screw up the data. To us, screwing up the data is far worse than making development a little less convenient. We see SQL not as primarily a transport between the reality of the code and some kind of storage mechanism, but rather as a general purpose data restructuring tool. Most any page on most websites can be generated with just a small handful of queries if you know how to write them to properly filter, summarize and restructure the data. We see SQL as a tremendously powerful tool for everyday tasks, not as a burdensome way of inserting and retrieving records, and not as some kind of vehicle for performance optimization.

At the end of the day, we need both perspectives. If the code is tedious and unpleasant to write, it won't be written correctly. The code must be written-- the database is not the appropriate thing to be running a web server and servicing clients directly. OOP is still the dominant programming methodology, and for good reasons, but encapsulation stands at odds with proper database design. But people who ignore data validity are eventually bitten by consistency problems. OODBs have failed to take off for a variety of reasons, but one that can't be easily discounted is that they are almost always tied to one or two languages, which makes it very hard to do the kind of scripting and reporting that invariably crop up with long-lived data. What starts out as application-specific data almost invariably becomes central to the organization with many clients written in many different languages and frameworks.

We're sort of destined to hate ORM, because the people who love databases aren't going to love ORM no matter what, and people who hate databases will resent how much effort they require to use properly.

<comment><USER5> But the truth is the days of DB being king are almost gone.

These days you just don't hear about DBAs at all any more. You used to see constant jokes about DBAs being a pain in the ass and stopping programmers doing X or Y. ORMs going to win because there aren't enough of you left. Stored procedures, triggers, etc. are going to be viewed as ancient technology back from the days of yore when people didn't understand how to code properly.

<comment><USER6> I'm not sure where you're working that there are no DBAs..not an enterprise shop.

Honestly, every time I see how badly Facebook handles data and caching, I can't help but wonder why they don't use a real data store and DBAs.

<comment><USER7> I would be interested to know what you mean by "real data store", and what you believe Facebook does badly at in terms of handling data and caching and how it could be improved.

(I am an engineer/developer/whatever at Facebook, and I'm always interested in hearing the perception of the company's technology from the community.)

<comment><USER8> I have two questions:

1\. I've always been under the impression that for what Facebook does, a traditional RDBMS simply cannot handle the scale (like, not even close). Is this correct?

2\. I'm also under the impression that due to the architecture Facebook runs on, from time to time some lesser-important data (ie: a status update or comment) can be lost (temporarily or permanently) and this is not considered unacceptable. (It seems perfectly reasonable to me for this particular use case.)

<comment><USER7> Perhaps it is best for the database team to talk about that themselves - wouldn't want to put words in their mouths. They gave a Tech Talk in December last year, which you can see at <http://livestre.am/1aeeW>

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> He's wrong.

SQL is great for what it does, but I use ORMs for reasons other than writing queries in a different way. I inherited an utter mess of a schema that wasn't even remotely close to 1NF. Imagine fields containing comma-joined sets of values, and with column names not even remotely related to what they actually held. For legacy and business purposes, updating the schema was a non-starter.

So I used SQLAlchemy to remap the schema into something usable. I wrote getters that split out those comma-joined fields and returned the desired value against tables that required indexes like:

        UPPER(SUBSTR(name_delpt,1,STRPOS(name_delpt,',')))

I wrote (and therefore more importantly _documented_) the bizarre and complex way some of the tables joined together. I wrote something that was unit- testable and that could be used as a foundation for other work so that I wouldn't have to memorize the insane corner cases and reproduce them from scratch each time I needed to access the data in some little-used table.

I _didn't_ write a more convenient way to say `SELECT * FROM blog`. In general, that doesn't interest me and I wouldn't have bothered with it. ORMs are great - if used well! - for encapsulating all of the little bits of business cruft in one central, easy-to-manage place. They're handy for roughly the same reasons that subroutines are handy.

<comment><USER10> This is an interesting use and I like the idea, but I don't think it makes him wrong. You don't actually need an ORM to do this. The same logic could be applied to data sets retrieved through regular queries. Or you could create views/stored procedures with the same logic.

</comment></comment><comment><USER11> The author's claim that ORMs are bad computer science is probably accurate. Fortunately, they're really good engineering.

<comment><USER12> We could be more subtle, and go with "it depends". For getting and putting data to be used on an edit form, using an object/class which actually has (non relational constraint) "business logic" in it, ORM good. For batch mass update, ORM bad. (one wonders if every table needs a custom class, though)

<comment><USER13> Batch updates aren't where it ends. As a Django developer with a strong SQL background I find my hands are tied far more often than I would like. Sometimes this is caused by bugs like the current group by bug[1], other times it's caused by the design of the ORM.

I do agree that the ORM is handy for things like "Get me all the things in this table", and "update this single record using a form", but this author is dead on. There is logical reason behind the hate developers have for ORMs.

[1] <https://code.djangoproject.com/ticket/17144>

<comment><USER14> Django's ORM is a piece of junk compared to a proper one such as SQLalchemy, hibernate or nhibernate. I wouldn't go drawing conclusions until you've experienced something else.

<comment><USER15> If Hibernate is one of the "proper" ones, then I can happily declare ORMs to be a non-working, time-wasting, over-complicated POS.

<comment><USER16> Your post is of limited value. What, in particular, are the issues that you have with Hibernate?

<comment><USER16> What in particular is it about my question that caused it to be voted down? I'm actually very interested in hearing the issues that the responder is having with Hibernate. Unfortunately, because they haven't stated what it is that caused them so many problems, it's of very limited value to the discussion being had.

<comment><USER14> I voted you back up. I'm slightly concerned that the down vote was simply retaliatory against the norm which appears to be Common here.

I too would like to understand.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> Can anyone point out the coup de grâce the author seems to think he has arrived at?

He points out some (well known) ways that ORM's can be used inneficiently, and acknowledges the techniques that have been developed to work around these, but then seems to conclude that he has proven once and for all that ORM's are bad. I totally missed the connection on that part. Is it that SQL is _better_ in _dealing with sets_ than an ORM (a fact no one denies), therefore you should not use an ORM?

<comment><USER17> The connection (according to the author as far as I've understood him) is: "All the techniques that have been developed to work around the inefficiencies of ORMs are just reinventing the wheel. The solutions have been there for 40 years and your workarounds are only needed because you think about individuals (object-orientied) instead of sets (relational)."

<comment><USER8> > The solutions have been there for 40 years and your workarounds are only > needed because you think about individuals (object-orientied) instead of > sets (relational)

(This is to OP rather than you)

Well if that's the argument he's making, one example I can think of, in the case of an extremely complex update, while it always _can_ be done in pure SQL, it is much easier to logically code using an ORM, perhaps even using individuals rather than sets (the horror). And while this implementation might execute slower (.1 second vs .01 second), it is vastly simpler to read and refactor without screwing something up (ie: economically cheaper), and as for the performance argument, it only needs to be _fast enough_.

<comment><USER18> The problem is, in the real world the performance divide between iterative and set-based solutions often spans much more than just one order of magnitude. For someone who's got solid experience in constructing set-based queries, the SQL solution can quite often be simpler to read and refactor as well. That's admittedly a big 'for', though. Good database folks reason about this stuff in fundamentally different ways, and there's a lot more to creating a good database person than simply teaching a programmer SQL.

In respects like that, ORM's greatest benefit is also its greatest downfall. Using an ORM means you can put people who don't have a strong grasp of databases in charge of your databases. Sadly, it also means that you've put people who don't have a strong grasp of databases in charge of your databases.

For that matter, only needing to be "fast enough" is fine if you're the only kid in the playground. That's often a safe assumption to make if you're writing app code, but less so with databases. If the database is being shared by a number of applications, or if the server is hosting multiple databases, or if you have to worry about concurrency, then being "fast enough" probably isn't enough. Because you've also got to think about all the other ways that your queries could be affecting everyone else, and making sure you aren't subjecting your server to the tragedy of the commons.

Which comes to another nice thing about having a dedicated database person. It means there's someone whose official bailiwick is the DBMS. If app A isn't experiencing any performance problems itself, but _is_ causing performance problems for app B (say, because of some perverse locking situation), that's a bug that a DB guy is best positioned to diagnose and fix. If the application isn't too tightly coupled to the database (i.e., sprocs are in place) then he can even quietly fix it on the server side without having to hassle anyone about the application code. A team that's too ORM-reliant, on the other hand, risks failing to include anybody who's even well-equipped to _recognize_ the problem, let alone fix it.

</comment></comment></comment></comment><comment><USER19> For easiest things SQL is cumbersome.

Getting single row by primary key which is 90% of access is overly verbose in SQL so ORM wins.

For slightly more complicated cases SQL is much faster and easy to write so people who have to increment field in all rows that satisfy simple condition go: "ORM sucks".

But for more complicated cases like trimming data tree in some places SQL quickly becomes too much of a puzzle for most programmers to deal with so they prefer ORM again because it's doable there and most of the times works. Dedicated SQL users who are not good at puzzles in such cases write full fledged program (if their SQL dialect allows for that) and instead of bringing data to their iterative or recursive programs they bring their programs to the data which creates hard to debug, unreadable often unversionable monstrosities.

There should be some merge between databases and programming languages that could combine beauty of syntax of modern programming languages and efficiency of massive data handling of modern databases.

Why is it ok to have standard hashmap implementation in a language but not file backed hashmap or btree index?

<comment><USER20> I think this is the motivation behind .Net Linq - bringing the relational query semantics into the language.

<http://msdn.microsoft.com/en-us/library/bb308959.aspx>

</comment></comment><comment><USER21> There is a need to manipulate relational data from object oriented code. ORMs are tools that facilitate that. The Object/Relational impedance problem doesn't go away if you hand-carve the code, it just makes you work hard on all the points of contact instead of just the problematic ones.

The real "problem" with ORM is when people use such tools as a way of avoiding having to understand databases (and specifically SQL). Fortunately that's becoming less common at least within the Enterprise Java world where I live and breath.

<comment><USER22> I think you've hit on something here. I came to start using ORMs after 10+ years of writing / optimising databases and SQL. When using an ORM (and most of my work is done with a probably not-well-known one, XPO from DevExpress) I'm aware of what is (or should!) be happening under the hood; my prior experience with 'bare metal' is extremely useful, nay _essential_ to creating a performant system. On occasion, it's necessary to do a direct SQL query, but not often.

Sure, the apps I'm writing are for small-medium business, but XPO 'just works'. Context is important; if I was working on something with more users / tighter speed requirements, an ORM may or may not be the best choice. Still, this falls into the 'right tool for the job' category that good developers are already aware of.

</comment></comment><comment><USER23> Any system I've worked in that didn't use an ORM still implements an ORM.

Save methods which runs insert or updates. GetAll methods get_by_username, get_by_id, get_by_email, get_recent, get_by_foreign_keyed_object, get_by_other_foreign_keyed_object.

And all those hand coded methods directly tied to the dialect of the db the original developer used.

Using Hibernate I had to write raw SQL for some reporting. I've never written raw SQL in Django (the project I've used django on self select for simplicity).

And using SqlAlchemy/Twisted as a backend for a desktop application I haven't found a need yet, for performance or correctness. I have one query I'm eyeing for an SQL rewrite, but it'll probably be a week of work to make sure it works correctly and I'd rather release this phase than save 30 seconds on a weekly query.

I've reached a point where ORM complaints don't really make all that much sense. The issue seems to be "THe ORM breaks down doing X and Y and Z so I had to hand write SQL!"

But you'd be writing X Y and Z anyway if you weren't using an ORM, so what's the issue?

<comment><USER8> Exactly. Or more explicitly, the anti-ORM argument, to me, consists of: ORM works fine for A through W, but SQL is better for X, Y, Z. So rather than just the common sense solution of writing _just_ X,Y,Z in raw SQL, _everything_ has to be written in raw SQL.

<comment><USER24> The argument works both ways; in fact, I think it's worse the other direction. Most projects use the ORM and just the ORM and it's against policy to write anything in raw SQL even if it's better for X, Y, Z.

<comment><USER8> I'm sorry but I don't think you're telling the truth.

I've never encountered in real life, _or during any online discussion_ , the all-or-nothing sentiment from advocates of ORM.

Could you link to _anything_ online where an ORM advocate argues that you should _never_ drop down to raw SQL?

<comment><USER24> The attitude is prevalent in the design of many ORMs. I'm both a huge advocate of ORMs and of SQL. A good ORM provides a simple and direct mapping from storage to the object model. But most ORMs go beyond that and try to cover all the query and performance possibilities available from SQL. Some ORMs have their own text-based query language!

I've met developers who can happily (and effectively) work with an ORM but hardly even know SQL! They certainly don't know SQL well enough to use it in the situations were it would be most effective.

I'm starting to feel like really effective set-based understanding of SQL is becoming sort of a lost art.

</comment></comment></comment></comment></comment><comment><USER25> As is so often the case, IMHO the poster is ignoring the business side of the equation in favour of "correct". A good ORM is fantastic for speeding up _development_. If you design your db around being well usable with the ORM, the potential development gains (at least in dynamic languages like Python) are HUGE. I left Django in part because of their ORM. But using SQLAlchemy, we develop far, far, faster than if we were using SQL directly. And it's flexible enough to allow me to drop into the SQLAlchemy Query language when I need to hand tune a query, or to SQL itself if I really need to get close to the metal.

Will there be downsides one day? Probably. Will they come even close to the business value of the amount of the coding time we've saved during the critical bootstrap phase? No way in hell. As they say, those are problems I'd love to have.

</comment><comment><USER26> This article is all about RBAR vs. set based operations. It has little to do with ORMs per se. That naive ORM users may tend toward RBAR is beside the point.

Go RBAR when it doesn't matter - when it's convenient and you know how it is going to scale ahead of time. A user updating his profile. Creating an order.

Go set based the rest of the time - when you're processing a large batch of data for thousands of user accounts, offload that work into a stored procedure and call it.

ORM does exactly what it is meant to do, and if you're working with data in an OO model, you're _going to be doing ORM_ , whether you know it or not - <USER2> will either pull a decent ORM tool off the shelf, or you WILL be writing your own very bad one.

<comment><USER27> What is RBAR?

<comment><USER26> Row-By-Agonizing-Row, or iterating over a list of rows and operating on each individually with a new query.

Your average Java programmer is used to iterating over collections in a while loop, where 30,000 in-memory objects can be quickly modified. It's tempting for said programmer to do the same to ORM-backed objects and issue 30,000 sql update statements across the wire.

</comment></comment></comment><comment><USER28> Well now I'm reminded of my initial though when a colleague first introduced me to an ORM: "It feels wrong to use this tool to just map every object to a table." Of course I went on to write many, at best, moderately complicated web apps very fast using NHibernate and didn't miss writing vender-specific SQL or column to property mapping boilerplate.

But this article is a breath of fresh air. I may just try Dapper for the next project

<http://code.google.com/p/dapper-dot-net/>

<comment><USER29> I agree, microORMs are the right solution if you are trapped in the mainstream. I'm a very happy user of Dapper.

</comment></comment><comment><USER30> This article is very much to the point. ORMs use the wrong abstractions. They try to 'map' 4GL to 3GL. The results are necessarily unsatisfactory.

<comment><USER15> Absolutely right!

</comment></comment><comment><USER31> I hated _every single_ ORM "system" I have ever come in contact with from many different languages with the exception of one: SQLAlchemy. SQLAlchemy isn't just easy and intuitive, it is _really smart_ and well built.

For a long time I was on the side of the ORM haters, until I tried SQLAlchemy - it truly is an awesome ORM package and I have yet to find anything like it in PHP/Ruby/etc...

</comment><comment><USER32> I think the other point the author makes is that it's not possible to write efficient code that is entirely abstracted from the underlying data (see his loop examples).

i.e. if you have to write your code in a specific way to make the ORM behave correctly (constantly thinking about what kind of sql your code is generating), then the abstraction becomes a lot less useful.

</comment><comment><USER33> I'm well open to correction on this, since I've not much of a clue, but with all this ORM back-and-forth, and relational databases, why do we not see more usage of graph databases?[1] From the wiki, it says they map more directly to OO applications. Is there a reason relational databases are still used by default?

[1] <http://en.wikipedia.org/wiki/Graph_database>

<comment><USER34> Sometimes the reason is that operations is used to it.

</comment></comment><comment><USER35> As an author of an ORM I can agree with the OP that using them incorrectly can lead to horrible punishment on the database. He seems to be most concerned with the n+1 issue which happens when you loop through objects and another query is performed on each iteration.

If you're going to use an ORM then you absolutely have to learn the mechanics to avoid n+1 queries. Every ORM is a little different, some are easier to tune than others.

I personally favor a basic mapping that the ORM does automatically combined with an advanced mapping that allows you to basically write queries for special purposes and map them to transient objects that don't necessarily exist in your schema. You have to do this for things like aggregate queries or calls that require several joins but only need a couple of columns from each table.

The OP raises some good points but I do think that ORMs can be used properly to great effect.

</comment><comment><USER36> Yet another software religious war, which seems to boil down to "if you don't think my technology is correct 100% of the time, you are insulting my honor".

Do other fields get into constant pissing matches like this? Languages, libraries, process, licenses, editors, Operating systems, you name it, software engineers are fighting about how much better theirs is and how you are an idiot for not seeing the true light their vast intelligence is trying to bequeath unto you.

What is it about our brains that makes the subtlety of "use the right tool; every problem isn't a nail" so difficult? Or is it just hard wired into our need to be identified with a community?

<comment><USER37> It's probably directly proportional to one's OCD level or amount of pain accumulated through the years. There's also the need to show and feel that you're superior, and sometimes the need to point out that somebody's superiority is irrelevant.

</comment></comment><comment><USER38> I think the problem with ORM is that at the end it is only a wrapper over SQL, say like Winzip is for Zip. So while it may look pretty and easy to use, it always has to obey the rules of the host program, and so workarounds such as these have to be invented.

On the other hand if somehow ORM was part of the core compiler AND database, then somehow it could be possible that even when you write a for loop on the top and have an if conditions inside the block, or perform a join, the compiler understands it and pre-compiles your code without needing such workarounds (as there aren't two separate layers to join). So you would treat objects and objects and never have to worry about how the wrapper is being generated or what kind of indexes or queries it will run finally. I'm not an expert at compilers though but for strictly typed languages it could be possible.

<comment><USER37> That would never work though, at least not in the perfect, non leaky way the author and you would like. When you have a loop, even if the database could somehow understand that loop, you can put anything inside it. You could make a call to an outside service, write to disk, etc. With a single SQL query the database can take it and optimize it since it has a full understanding of its data domain.

</comment></comment><comment><USER39> There's a problem that's inherent to any client/server architecture: what work should get done on the client, and what should get done on the server? The author presents this as an ORM issue, but it has nothing specifically to do with ORMs; you'd have the same problem using an OODB server.

</comment><comment><USER16> I agree with a lot of what you he says, however what about the case of getting 10 rows with 20 columns - each column needing a join. The optimizers often go nuts over this sort of thing, as that's 20! combinations the optimizer must iterate over to get a good join order.

Apparently, Postgres has a genetic optimizer that handles this... curious to see if this is an issue or not.

Incidentally, I'd like to say that I loved the author's Relational Basics II at <http://www.revision-zero.org/relational-basics-2> I've come to the conclusion that SQL is particularly limited in its application and implementation. I'd love to see a better declarative language for databases!

</comment><comment><USER40> This is all very nice, except that users often do want to work on individual records (at least when updating them). Codd's simplifying assumption is for mathematicians, not users.

</comment><comment><USER15> The idea of translating the declarative way of doing things to an imperative approach (that's basically what ORMs are doing) is imho a huge failure. It just never worked decently.

These days, we have languages which integrate rather nicely into the declarative mindset, so no need anymore for such bizarre "paradigm translators".

<comment><USER29> What are those languages and how do they integrate nicely into the declarative mindset?</comment></comment>


Ask HN: What are some great resources to practice SQL? - <AUTHOR> There are a lot of courses which teach SQL but I could hardly find a website which provides beginner to advanced SQL practice questions on almost production real datasets. Any recommendations would be helpful. <comment><USER2> Sqlectron [1] is a great open-source GUI SQL client that allows you to see what you're doing in real-time, which helps massively with practising.

You can also use it to validate what you've done using other tools. E.g. if you write some PHP or Python to interact with a database, you can open it in Sqlectron to double-check for yourself that it worked correctly.

[1] [https://sqlectron.github.io/](https://sqlectron.github.io/)

<comment><AUTHOR> looks interesting

</comment></comment><comment><USER3> I typically point folks here: [https://pgexercises.com/](https://pgexercises.com/)

I like it because as a beginner you can just follow the learning path. But if you just need a refresher about how to write a window function you can jump right to that section.

Oh, and no account sign-ups which I really appreciate.

<comment><AUTHOR> thank you

</comment></comment><comment><USER4> hey,

not by itself a general resource but it's the best book on postgresql i have read recently. (i have read 2 or 3 but this stood out).

learning postgresql 11: [https://www.amazon.com/Learning-PostgreSQL-beginners- high-pe...](https://www.amazon.com/Learning-PostgreSQL-beginners-high- performance-solutions-ebook/dp/B07NGSGBY6)

i have also subscribed to the following newsletter to keep myself up to date with what is going on in the community. keep in mind that postgresql 12 has been out for a minute.

postgres weekly: [https://postgresweekly.com/](https://postgresweekly.com/)

in my mind postgresql is one of the most interesting projects out there in the open source community. and that newsletter sometimes includes articles that compares it to other big names like mysql/maria, oracle, etc. this helps expand your sql scape a little.

<comment><AUTHOR> thank you</comment></comment>


Saying "Do no evil" excludes you from any serious conversation about Google   - <AUTHOR> http://lists.canonical.org/pipermail/kragen-tol/2011-August/000936.html

<comment><USER2> This started as a couple of HN comments: <http://news.ycombinator.com/item?id=2889133></comment>


Jumpstarter launches "next-gen hosting", promising sub-second server spin-up - <AUTHOR> http://gigaom.com/2014/03/05/jumpstarter-launches-next-gen-hosting-platform-promising-sub-second-server-spin-up/ <comment><USER2> I'm very interested in this. Do you guys support Rails 4, PostgreSQL? There are a few icons there in the landing page but no tooltips or anything to let me know what they are.

I want something in between DigitalOcean (barebones) and Heroku (configures everything but doesn't let you customize anything either) - this seems like a perfect fit.

<comment><USER3> Hi! Thanks for your interest.

We don't support Rails and PostgreSQL quite yet, but they are both in our future plans, so we should have support for them soon.

You can also make requests on our wiki for frameworks you would like us to support: [https://github.com/jumpstarter- io/help/issues](https://github.com/jumpstarter-io/help/issues)

<comment><USER4> I personally want Rails and PostgreSQL too. We've talked about it a lot and its definitely something we're keen on implementing :)

</comment></comment></comment><comment><USER3> Hi! Laura from Jumpstarter here. :) Hoping to answer any questions.

<comment><USER5> Suggestion more than question. I like your Getting Started wiki page, but it would be good [for me] to break those down into individual pages with either screenshots or replicated HTML5 to show each step of the experience. One quick Hello World example on your tour would help me grok what your product actually offers (or how I would use it) better.

<comment><USER3> Our wiki is brand new this week, so I am glad you like it! If you haven't seen already, you can click on the 'see it in action' button to see a gif that walks you through lots of the setup steps. We'll definitely think about your suggestion for the tour page though. Thanks for the feedback :)

</comment></comment></comment><comment><USER6> "300,000 requests per month"

What counts as a request? A hit to any asset? A connection/

<comment><USER7> I'd like to know that as well.

It's interesting that they focus on WordPress. A custom WordPress install could potentially have several requests that make up a given page. Wordpress isn't really designed with reducing the requests in mind.

<comment><USER3> A request is a http request.

Wordpress is getting increasingly better at keeping requests lower. And it's all up to a user how they optimise; they can get it down to just a couple of requests if they wish.

<comment><USER8> That seems a little weird. Let me put this in context, if I host my server on digitalocean for $5 a month or what ever, and let's say I have 1,000 visitors a day, which is rather small for a blog. And let's say I have a css file, js file, 10 images, and a website. That's 13 http requests assuming that nothing is cached. That translates to 390,000 requests a month (assuming 30 days), which is 90,000 over your 300,000 request limit. So for $50 a month I can't even do what my $5 a month server at digitalocean (and a free server at heroku if we want to compare it) can easily do?

You may want to rethink that.

<comment><USER3> It's all relative. We save you time, and make sure your service is always up. We work with you through any pain points you have. If your server goes down, and you lose an hour of your time. You've already lost that difference.

You also assume nothing is cached, whereas only if those were all uniques would that be likely. Which is generally unlikely.

Our price is based around quality. Both the fact that we grow with you, and the fact that we strive to make every task you need to do, ridiculously easy.

<comment><USER9> Depending on the website 13 requests is kind of small, 20-30 requests for a regular page probably more likely with maybe 3 or 4 that can be cached on an unoptimized site and the rest being image assets for that particular page and so on.

So with 300,000 I get something like 10,000-15,000 pageviews which is pretty much nothing.

<comment><USER6> What makes the "request" metric even more confusing is they say "Unlimited Data Transfer". Which means absolutely NOTHING if the # of requests is limited.

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> Couldn't find a link to their site in the article:

[http://jumpstarter.io/](http://jumpstarter.io/)

<comment><USER3> Thank you!

<comment><USER11> On that page all I'm getting is text:

"Pricing Tour Support Sign up Login"

No links. View source code shows html though.

This is on ffox latest and safari latest.

<comment><USER4> Apologies for that. I'm going to put my hand up and say I made a mistake but it's all back now :)

</comment></comment></comment></comment><comment> dav- The free development plan is pretty neat, but other than that it just seems like another shared PHP host.

<comment><USER3> Far from it.

You never have to worry about if other people are being resource intensive for one major reason. And if you got Hacker News'd, rather than punishing you and everyone else – we'd instead give you more resources to deal with it :)

<comment><USER12> If someone got Hacker News'd they'd immediately owe you $799 by the look of those prices.

It's like you guys don't know anything about normal website traffic volumes, which isn't a good sign for a host.

<comment><USER3> We won't be charging people extra or forcing them to change their plan if you have a sudden influx of visits from Hacker News or another site. We will consider that a temporary traffic spike and we will be happy that you are in the spotlight rather than trying to charge you more! The plans are based on your usual monthly usage, so if you continued to get the same number of requests monthly, we would talk to you at that point about upgrading.

<comment><USER13> In other words, something akin to 95th percentile billing? Odd that you didn't use terms like that in the response. Most experienced hosts or ISPs would.

<comment><USER3> We like to talk in plain English and just explain what we mean rather than using jargon terms that everyone might not understand.

</comment></comment></comment></comment></comment></comment><comment><USER14> The only metric used by them 'request' is not explained neither through the website nor FAQ found on Github! Good luck with taht. And i really hope it does not mean, what it means. If so it's darn expensive. perhaps more than MT.

<comment><USER3> We do need to add it to the website, and to our brand new Github FAQ we're in the process of building. But a request is a http request. :)

Thanks for your feedback.

<comment><USER14> yeah I am aware of it, but my mom does not ;)

on a sidenote, you have entered pretty much competitive market with tons of 'major players'. Deep down in our hearts we all know, what 'quality hosting mean'. They are all the same. some of them suck much other less. They all have down time. It's only up to you pay more or less for having almost same service from any of them. You are only good for them as long as, you have steady traffic than spikey ;)

<comment><USER3> That has indeed been the way for many years and a valid worry. And yet, we're changing it. A lot of hosting companies are white labelled without any major differences.

Our tech was completely written from the ground up to combat this. As said in the marketing materials; if you have a spike, we handle it fine. We've done intensive testing to make sure that being linked to from Hacker News, or anywhere else that gives you a big influx of traffic, won't make your server go down.

We wrote this because we too were tired of the landscape, and we wanted people like ourselves not to have to suffer with this anymore.

<comment><USER15> So your website and this comment seem to be highlighting automatic scaling as the major advantage of the system. But I'm not really getting why you think it is worth highlighting. It almost seems like the opposite, with scalability being the weak point.

As far as I can see, your architecture is explicitly limited to a single instance of each app at a time, so there is almost no scope for scaling at all in the first place. The only reason it would probably not be an issue in practice is that the request limits are absurdly low. The story is further weakened by no mention anywhere of what happens when the paid for quota is exceeded -- this seems like a key detail that's completely glossed over.

I can see the point of selling a system like this to less technical users based on an ease of use or the conceptual simplicity of an application as a filesystem. Even if the suggested advantages, such as no need for deploying code and easy copy-paste for starting new projects, make me shudder a bit. But selling on scalability just makes no sense, it almost comes across as snake oil.

<comment><USER4> We don't do horizontal scaling, correct. We have some great advantages of not doing that. We isolate your project, and give it as many resources as it needs.

The largest instance we can put you on is equivalent to 100 Heroku dynamos for instance. And we plan on growing that farther.

I have a blog on a popular host, and when I got hit by Hacker News my server fell over. Doing so caused me to lose a lot of the reads and garner plenty of complaints from here. It can be a total pain, and every time my posts appear on HN, I get scared inside if the project isn't on HN.

As for simplicity; it's not just the filesystem. The panel itself is easy to use, and we're continually adding more relevant features to help people just focus on staying in flow and working on their code.

If we can save devs any time, we've won. And I think we save them a lot of time.

</comment></comment></comment></comment></comment></comment><comment><USER16> Not actually a server that's spinning up though is it?

<comment><USER17> You seem to get a locked down VPS. Looks like a Debian distribution, but no root access, no installing packages.

<comment><USER3> Yes. However, it's not a VPS service. The file system is automatically managed by Jumpstarter and upgraded without downtime. The idea of no root access is not to limit you, but because you shouldn't have to worry about administration - we handle it all.</comment></comment></comment>


Live coverage as Mandela death announced - <AUTHOR> http://www.bbc.co.uk/news/uk-14237599 <comment><USER2> "Live coverage as Mandela death announced" \-- e.g stupid real time BS that doesn't educate the reader at all, instead of a restrospective or some detailed piece to help him understand who Mandela was and what he achieved.</comment>


Kirby is a file-based CMS - <AUTHOR> https://getkirby.com/ <comment><USER2> I dont have any connection to the company but for small webshops doing custom small-mid sized sites this is awesome. We have many sites built in kirby and its far better than any cms we have tried. And we tried everything.

Its something between static site generator and full blown database cms. Its easy to debug and you can deploy just with git.

There are other similar cmses Grav, Pico, Statamic. Kirby is the most mature and just works best.

<comment><USER3> What makes it more "mature" then say grav? Just started using it and it's pretty good so far.

<comment><USER2> Its much older. Kirbys admin is the big difference.

In Grav admin you have problems when you start to have more than 30 pages. Because of its design it shows pages as flat structure. In kirby its more like folders. In grav you cant say this type of page can have only these type of children. Basicaly you have to remember which page type belongs to this page.

Kirby comunoty plugins are awesome kirby-modular for exp.

Kirby also has permissions in admin, so you can limit users what they can do.

Its also way easier i think while achieving more. There is clear path of how things work and Grav is somehow overengineered idk why i would my simple cms to compile stylus or js... it uses twig which is fine but i found it to be wrong choice because in cmses like this you are traversing trough the pages (pages are your db). Twig is not meant to do that its for showing already queried stuff from db. So they are basicaly recreating more and more php in twig so you can actualy get the data.

<comment><USER4> Can I create custom fields for posts in the Kirby admin frontend (or any other way??

<comment><USER5> Sure! Take a look: [https://getkirby.com/docs/panel/blueprints](https://getkirby.com/docs/panel/blueprints)

<comment><USER4> Excellent, thanks.

</comment></comment></comment></comment></comment></comment><comment><USER6> Seems to be not open source[1], which is a deal breaker for me. It is also in PHP which I also frown up on for a rather new project in this day and age.

I do not see how it could win me away from either QOR (Go), Grav (PHP, but MIT licensed) or DatoCMS (SaaS but ties in with Hugo).

1: [https://github.com/getkirby/kirby/blob/master/license.md](https://github.com/getkirby/kirby/blob/master/license.md)

<comment><USER7> The license isn't free but it is open source, you can examine the entire source code in that repo.

<comment><USER8> That's not open source by common definitions of the word, e.g. the most commonly referenced OSI definition: [https://opensource.org/osd](https://opensource.org/osd)

</comment></comment></comment><comment><USER4> Be sure to have a look at Grav. [https://getgrav.org/](https://getgrav.org/)

It's insanely awesome and open source. No database needed either. Can also run more like a static site generator, without admin interface.

<comment><USER9> > Can also run -snip- without admin interface

Is running it with an admin interface an option? I'm looking for a good CMS I can deploy for others (less tech-inclined) where they could still make their own small changes.

<comment><USER2> Sorry i misunderstood the question.

Yes both have admins and as i wrote in coments around i think admin is what makes kirby highly superior.

We always have problems with clients not being able to edit things in wordpress.

In kirby its possible to do in much simpler way. Basicaly you create admin that has only the content. No settings and user managment and all kind of useless functionality..

Grav is fine too but users will have to learn a bit more. Its more clunky and not so dumbproof.

<comment><USER9> Okay, thanks for the info. I'm not planning on doing any web dev as more than a hobby, but it's good to have a go-to when I get another "client".

</comment></comment></comment></comment><comment><USER10> I used Kirby for a travel blog a year ago. I needed something lightweight, for which I could prepare material offline and then upload when I had connectivity. Android phone + bluetooth keyboard were the preparation tools.

Using Kirby was an enjoyable experience. Easy to setup, good docs. Easy to work with on the road. A copy of the blog on the phone and on a thumb drive.

I can't offer a comparison with other file-based cms. Didn't look around. Though I don't doubt there are other very capable offerings out there. Tried Kirby, found it to be a low fuss solution that met my needs and didn't mind paying the few quid to continue using it.

<comment><USER11> Would love to see that blog. Would that be possible?

</comment></comment><comment><USER12> Here's what I would love: A wysiwyg editor much like WordPress outputting static HTML (maybe even directly to S3 buckets).

Does this exist?

<comment><USER13> You just described Movable Type ([https://movabletype.org/](https://movabletype.org/)), which was WordPress before WordPress was WordPress.

The irony here is that the reason WordPress eclipsed Movable Type was that people got tired of having to go through the edit-output static files-publish cycle to modify their content. They wanted to make their changes in an editor and have them appear immediately on the live site, without waiting for a new set of static files to grind out. WP, which generates all pages dynamically, met that demand nicely.

Then of course people eventually discovered the downside of generating every page dynamically, namely that it's much more resource intensive, and started to clamor for something more efficient. So the current wave of static site generators were born, doing the exact same thing MT got killed in the marketplace for doing.

Sigh.

<comment><USER14> Yeah, I learned about MT's approach from Jeff Atwood back in '09, and have been reading about the new "discovery" of the static site generators with some amusement.

That said, MT has a big issue: for something that has been killed in the marketplace, it's quite expensive. I'd love to use it for the non-profit I help out, but at a $1000, it's about $950 more than what they can aford.

</comment></comment></comment><comment><USER15> Looks like it is a paid CMS. Is it much different from Grav and Pico? I have used Pico for a project and it is amazing.

<comment><USER2> Its not very different but its more mature. It has awesome apis and it has best admin interface.

We use it for many websites, its something hackernews people will not like but its fastest way to make small-medium size websites i know of.

<comment><USER16> The prices seem really reasonable ($17 for personal, $89 for commercial). Have you found it reasonably usable for non-tech users?

<comment><USER17> Is it just an honor system licensing? If it's a file based CMS, nothing stopping me from putting the files on any webserver right?

Edit, to answer (from the docs):

 _There 's no validity check of your code or any other communication between your Kirby installation and the Kirby server. You get a clean installation without any hacks or tricks. Entering the license code is for your own records, so you can track which installation uses which license.

I'm focusing on making Kirby better instead of fighting software pirates. I trust in you to support me with a legally purchased license if you like Kirby._

<comment><USER7> It is. Legally you need to pay a license to use it and to get tech support, but if you never ask for support, no one is going around checking for non- licensed users. I roll the fee into my expenses when I use it for clients.

</comment></comment></comment></comment></comment><comment><USER18> The price is a little difficult to find.

[https://getkirby.com/buy](https://getkirby.com/buy)

$17/USD for a single website license. Very reasonably priced.

Really looks like its some decent software. My only concern is its longevity as it is not open-source.

Its hard to compete with Codeignitor or Drupal.

<comment><USER2> Its been going strong for years. Its small well run german team of few devs. It has solid userbase in europe (germany).

Bastian Allgeier the founder and main developer is very open about everything.

I wouldnt worry about stability here because those guys make their living there and iam sure they dont want stop. If they did im sure Bastian wouldnt just leave it and would figure out some future (open source it).

</comment></comment><comment><USER19> The front page says:

        "NoSQL? Kirby Prefers NoDB!

        Kirby is file-based – No database involved. This means first class performance,
        version controllable content, simple backups and many other awesome sideeffects."

What other "awesome" sideeffects? I tried the link and found only a download page. I also scanned threw the documentation and found no further statements and no explanation.

Seams to me, that the claims are just made without any explanations or prove. Sad.

Edit:

The claims are nice, but many of those are rather thin. For example, content in a database is also version controllable. I see no substantial advantage here in content on the file system.

<comment><USER20> It is just marketing spin. "File-based CMS" just means an editor/authoring tool. FrontPage was a file-based CMS. Dreamweaver was a File-based CMS. Heck, Sublime Text can be used as a file-based CMS, if you are comfortable with WYSIWYG not being a requirement.

<comment><USER2> I wouldnt say so, its cms that instead of database uses md files. But you can do very similar things like with cms that has regular db.

</comment></comment></comment><comment><USER21> Anyone know if this is the right tool for what we are trying to accomplish?

We are creating a CSV of thousands of food and allergy-related items, and want to automate the creation an independent post for each item. We can use another type of input instead of a CSV, as long as we can do it in bulk.

We want to have these pages to be SEO optimized for easy discovery on Google.

We could use wordpress with a mass importer, but it has a lot of bulk. These file-based CMSs look interesting.

<comment><USER22> > _We can use another type of input instead of a CSV_

Popular static website generators like Jekyll can generate pages from YAML files. Jekyll even supports CSV directly.

[https://jekyllrb.com/docs/datafiles/](https://jekyllrb.com/docs/datafiles/)

[https://jekyllrb.com/docs/collections/#step3](https://jekyllrb.com/docs/collections/#step3)

<comment><USER23> I can second this. I've built an index of scientific papers before with Jekyll's data feature. Built remarkably fast even with a lot of loops over the whole dataset.

</comment></comment></comment><comment><USER24> Hey, folks! I've read the whole there but I couldn't figure out how to deal with some dynamic content. Let me expose what I mean: I have a blog. I want to create posts. So I'd write my blog post and publish (write my blog post to disc as a static file). How could I instantly see the new blog post in my home page?

<comment><USER25> When you write a blog post, it creates a text file (metadata & content) in the /content folder, not an HTML file.

Take a look at the Starter Kit (it's the best way to try Kirby): [https://github.com/getkirby/starterkit](https://github.com/getkirby/starterkit)

Look inside the /content and /site/templates folders.

<comment><USER24> Thanks man! But how do I loop through this content? ie How can I write a small widget with all the recent posts?

<comment><USER25> You can do whatever you want on your templates. If by widget you mean reusable code, you could use a snippet.

So this logic can go on a template or snippet:

      <?php $latest = page('blog')->children()->visible()->limit(6); ?>

      <?php foreach($latest as $post) : ?>
        <a href="<?= $post->url()?>">
<?= $post->title()->html() ?>

      <?php endforeach ?>

Instead of fetching the post on the template, you could use a controller and just pass the $latest variable to the template.

</comment></comment></comment></comment><comment><USER26> With all the discussion around other decent options for Content Management Systems, I'm surprised nobody has mentioned OctoberCMS ([http://octobercms.com/](http://octobercms.com/)) yet.

It's an awesome, highly extendable, very clean CMS to work with as a developer. Based on Laravel, it's also open source: [https://github.com/octobercms/october](https://github.com/octobercms/october)

It gives you all the power of Laravel with some very nice features built in that make developing for it a breeze. Runtime extendable classes, event listeners, Twig templating, and an AJAX framework for interacting with the PHP side of your code are just a few of the features that it includes by default; not to mention the rapid development experience empowered by the Form & Lists widgets.

Disclaimer, I'm a maintainer on the project :)

<comment><USER27> Been a while since I dug into October, but last I checked its back-end admin area was very much developer-focused (as opposed to non-technical site maintainer)... editing content required editing actual code in a textarea. Has this been addressed in the system at all (or is it even a design goal?)

<comment><USER2> Exactly what i thought too. I couldnt find the reason for using admin area since my clients wouldnt be able to use it. I guess the idea is to create admin app for clients and this makes sense on big projects it can be done much faster when you do something standard.

<comment><USER26> Depends on how you set it up. I usually use the RainLab.Pages plugin to have a nice interface for clients to manage page content instead of having them use the CMS editor.

I'm looking forwards to the frontend editing component that's coming to October soon, it should make client interaction with the site much nicer.

</comment></comment></comment></comment><comment><USER25> I'm a web developer who have been happily using Kirby for over a year. I'm available for answering question you might have about Kirby.

(I'm not affiliated with the Kirby team).

</comment><comment><USER28> Kirby is awesome. Mature, simple, clean, stong community, frequent updates. Lovely.

</comment><comment><USER29> doen not seem to be open source

<comment><USER30> The source code is here [https://github.com/getkirby](https://github.com/getkirby)

<comment><USER31> The source is there but it's not free nor open source. See the license. I don't know if they're allowed to put such licensed code on GitHub as a public repo.

<comment><USER11> And why should it be. Someone invested time and wants something in return.

If you want something for free there probably are other alternatives.

Sorry, but this idea of 'what costs money isn't a viable option' just puts me off more and more.

Esp. if the price level for something great is that reasonable.

<comment><USER31> I only said that it's not open source, and did not say anything against it and its being proprietary. And AFAIK github only allows public repos if they're open source, I mentioned that. Read the thread.

</comment></comment></comment></comment></comment><comment><USER32> this is from the folks who made the now defunct zootool.com.</comment>


Ask HN: Trying to get a copy of Hacker Monthly (in Aus) - <AUTHOR>

I would really like to buy a copy of the first edition of Hacker Monthly (despite having the pdf to it), but MagCloud doesn't ship to Australia and I have no contacts currently in the states or anywhere else that they do ship. Anyone willing to help me out? I would pay for shipping of course. <comment><USER2> Sure thing -- my email is in my profile.</comment>


Unveiling the "Sixth Sense," game-changing wearable tech - <AUTHOR> http://www.ted.com/index.php/talks/pattie_maes_demos_the_sixth_sense.html

<comment><USER2> Very cool, can't wait for my HUD. I imagine many of us will be wearing these in sunglass/monocle form in 3-5 years. Maybe even contact lenses.

It's unfortunate that these TED stories don't seem to do well on the front page anymore.</comment>


Ask HN:  Please complete survey to help price our product - <AUTHOR>

Getting ready to launch an unsubscribe product next week and we're doing final price testing.  If you can fill this out, I would be extremely appreciative.<p>http://bit.ly/fH00re <comment><USER2> I went to your survey page, and find it somewhat difficult to respond to your questions for a few reasons.

1) you're expecting your non-customer to price the product for you. I don't believe this is the same as asking your customer to price the product for you. You should have beta users, so after they have used the product, they should be able to tell you what they would be willing to pay

2)Is monthly billing really the best way to price a product like this? Am I going to use it every month? How many email newsletters do most people subscribe to? How often are they going to 'unsubscribe'?? Isn't this more of a one-time thing, or maybe once a year? Is there another business model that would work better for you?

3)don't all newsletters have an 'unsubscribe' button on the bottom of the page? Why would people use your service instead of the unsubscribe link from the newsletter provider? Though I actually think many people just 'send to junk', so you've got two free alternatives that you are competing with

4) Personally, I wouldn't provide access to my gmail so that a 3rd party can go through my email looking for newsletters.

To me it seems like you are trying to kill a fly with a wrecking ball, but maybe I'm misunderstanding the market.

<comment><AUTHOR> Thanks for the feedback.

1.) I used <http://www.priceintelligently.com> for the survey, it's pretty neat.

2.) Perhaps, we're testing many different options.

3.) Also, I'd check out unsubscribe.com.

4.) Non developers are much more likely to give access. It's been tough trying to stay away from my own "developer's bias".</comment></comment>


Missouri Police Search for Marijuana in a Stage 4 Cancer Patient's Hospital Room - <AUTHOR> http://time.com/5548593/police-cancer-patient-marijuana/ <comment><USER2> The whole incident is shameful especially the hospital staff that called the police.

We talk about police being brave and courageous, but I wish these officers had the courage to say this is wrong and I don't want to be part of it.

<comment><USER3> Hospital staff has every right to call the police if they believe someone is using an illegal substance (state & federally) on their property. We should just fix the laws.

<comment><USER4> No one here is talking about legal right. We're talking about moral right.

<comment><USER5> Expecting a few human beings, who all are involved in a stressful situation and have probably no philosophical inclinations, to come up with a morally sound choice on the spot seems like a tall order.

<comment><USER4> I think it's fair to expect people to think morally. It should be the default way of thinking, not something you spend energy on.

</comment></comment></comment></comment></comment><comment><USER6> Maybe not consenting to it would be better. I understand he probably thought it was better to just let them search and get it over with. But forcing the cops to get a warrant would have been better, imho. Of course, I am not the one in hospital fighting for my life.

On the other hand, the cops have to do their job. Till it's legalized, part of that job is to search for illegal substance. But maybe refusing a search would have made the choice easier for them as well. They decide not to pursue a warrant.

I heard that it's `treaties` that USA has with other countries that complicates legalizing medical cannabis at federal level. I am not sure about all the reasons though.

<comment><USER4> They had "reasonable doubt." He basically couldn't do anything about it or he'd be arrested.

<comment><USER7> I think you mean "probable cause"

</comment></comment></comment><comment><USER8> I have no specific knowledge of this case, but I live about two hours south of where it occurred so I'm somewhat familiar with the culture of the area.

It strikes me as highly likely - especially given the fact that there was one bag that was searched by a single officer alone in the room with the patient - that there was in fact marijuana in their possession, and that the officers overlooked it.

If they're called by the hospital, they respond. Most of the police officers I know^† would be likely to judge a situation like this with compassion, not necessarily a black-and-white view of the law. Either refusing to search the room or acknowledging the existence of a controlled substance and refusing to act would put their career at risk; going through the motions of the search and "missing" it would give plausible deniability.

†: I'm no fan of cops in general, and certainly no "police apologist". I'm an Ancap, and both distrustful and resentful of police. I'm also a human being, though, and judge others based on their individual actions. I know a number of officers, some of which I consider fairly close friends. I don't agree with their choices, but am intellectually honest enough to recognize that they do in fact have a large positive impact on the world around them, and do what they do out of a sense of honor and duty to their fellow Man.

</comment><comment><USER9> Well, he wasn't shot, assaulted, arrested or even issued a citation. You can't really ask for a better outcome.

</comment><comment><USER10> Warning: Link is not HTTPS. Even if you manually change it, it downgrades.

Kind of shocking that a website would downgrade connections in 2019.

<comment><USER11> Agreed, and the reason is probably equally as bad... I mean, it's probably because they use cross-domain requests for advertising and/or tracking and one of those isn't HTTP so they don't want warnings/errors from some requests not being HTTPS.</comment></comment>


AOL and Huffington Post sued by unpaid bloggers - <AUTHOR> http://www.reuters.com/article/2011/04/12/us-huffington-lawsuit-idUSTRE73B5JT20110412

<comment><USER2> "The middle class is teetering on the brink of collapse just as surely as AIG was in the fall of 2009 - only this time, it's not just one giant insurance company (and its banking counterparties) facing disaster, it's tens of millions of hardworking Americans who played by the rules." -A. Huffington

Also see: <http://mattbors.com/archives/726.html>

</comment><comment><USER3> I believe in being paid for writing, but if they volunteered to write for free, how can they turn around and ask for money now?

</comment><comment><USER4> To call this lawsuit quixotic would be too generous. (And I forget, did Don Quixote ever come off as so whiny?)

</comment><comment><USER5> Second time's the charm! <http://en.wikipedia.org/wiki/AOL_Community_Leader_Program>

</comment><comment><USER6> It always made me sick that Huffington was making so much coin from unpaid bloggers.

<comment><USER4> Do you feel the same way about any profitable company that runs Apache or FreeBSD? I don't understand your sentiment, which seems quite common. These unpaid bloggers on HuffPo have in aggregate contributed almost nothing of durable value to civilization (and I think I'm being generous, as someone whose politics are not incompatible with your typical HuffPo reader or contributor, in assuming the net contribution has been positive) while the contributions of these developers have been enormous and transformative to our society.

Unpaid bloggers of the world, stop writing! You have nothing to lose but the time you've wasted adding noise to a vapid cacophony.</comment></comment>


How to Convince Someone When Facts Fail - <AUTHOR> https://www.scientificamerican.com/article/how-to-convince-someone-when-facts-fail/ <comment><USER2> Point 6 is probably the most important

> try to show how changing facts does not necessarily mean changing worldviews

Point 4,about respect, is a consequence.</comment>


Alibaba finally launches its own smart car and car OS - <AUTHOR> https://www.techinasia.com/alibaba-smart-car-2 <comment><USER2> I found "finally" to be so funny in this context. Like, what kind of lame internet company are you if you aren't making cars?</comment>


NASA's Curiosity keeps rolling as team operates rover from home - <AUTHOR> https://phys.org/news/2020-04-nasa-curiosity-team-rover-home.html <comment><AUTHOR> > Planners rely on 3-D images from Mars and usually study them through special > goggles that rapidly shift between left- and right-eye views ... But those > goggles require the advanced graphics cards in high-performance computers at > JPL. ... to view 3-D images on ordinary laptops, they've switched to simple > red-blue 3-D glasses.</comment>


Bad Piggies (successor to Angry Birds) - <AUTHOR> http://www.badpiggies.com/

<comment><USER2> There's a cute independent game called "Misunderstood Pigs" where you place walls to try to _prevent_ each incoming barrage of flying birds from succeeding in killing everyone.

[http://bostinno.com/2011/12/20/misunderstood-pigs-angry- bird...](http://bostinno.com/2011/12/20/misunderstood-pigs-angry-birds-parody- app-pictures-aapl-apple-store/)

</comment><comment><USER3> And so has begun the typical symptoms of those that make a one-hit wonder in any field...</comment>


Facebook AI Interview Questions - <AUTHOR> https://medium.com/acing-ai/facebook-ai-interview-questions-acing-the-ai-interview-5982add0af55 <comment><AUTHOR> Happy to take feedback/questions.</comment>


Pentagon compiled research into invisibility cloaking, wormholes, and warp drive - <AUTHOR> https://www.theverge.com/2019/1/29/18187178/pentagon-research-documents-invisibility-cloaking-wormholes-warp-drive-department-of-defense <comment><USER3> Here's the list itself, following The Verge to Federation of American Scientists.

[https://fas.org/irp/dia/aatip-list.pdf](https://fas.org/irp/dia/aatip- list.pdf) (Page 5)

\---

1\. Inertial Electrostatic Confinement Fusion, Dr. George Miley, Univ. Of Illinois

2\. Advanced Nuclear Propulsion for Manned Deep Space Missions, Dr. F. Winterberg, Univ . of Nevada - <USER2>

3\. Pulsed High-Power Microwave Technology, Dr. James Wells, JW Enterprises

4\. Space Access, Dr . P. Czysz, HyperTech

5\. Advanced Space Propulsion Based on Vacuum (Space time Metric) Engineering, Dr. Hal Puthoff, Ear thTech International

6\. BioSensors and BioMEMS, Dr. Bruce Towe, Univ. of Arizona

7\. Invisibility Cloaking, Dr. Ulf Leonhardt, Univ. of St. Andrews

8\. Traversable Wormholes, Stargates, and Negative Energy, Dr. Eric Davis, EarthTech International

9\. High-Frequency Gravitational Wave Communications, Dr. Robert Baker, G-ravWave

10\. Role of Superconductors in Gravity Research, Dr. George Hathaway, Hathaway Consulting

11\. Antigravity for Aerospace Applications, Dr . Eric D avis , Earth Tech International

12\. Field Effects on Biological Tissues, Dr. Kit Green, Wayne State Univ.

13\. Positron Aerospace Propulsion, Dr. Geruld Smith, Positronics Research

14\. Concepts for Extracting Energy from the Quantum Vacuum, Dr. Eric Davis, EarthTech International

15\. An Introduction to the Statistical Drake Equation, Dr. Claudio Maccone, Intemational Academy of Astronautics

16\. Maverick Inventor Versus Corporate Inventor, Dr. George Hathaway, Hathaway Consulting

17\. Biomaterials, Dr. Bruce Towe, Univ. of Arizona

18\. Metamaterials for Aerospace Applications, Dr. G. Shvets, Univ. of Texas - Austin

19\. Warp Drive, Dark Energy, and the Manipulation of Extra Dimensions, Dr. R. Obousy, Obousy Consultants

20\. Technological Approaches to Controlling External Devices in the Absence of Limb-Operated Interfaces, Dr. R. Genik, Wayne State Univ.

21\. Materials for Advanced Aerospace Platforms, Dr. J. Williams, Ohio State Univ.

22\. Metallic Glasses, Dr. T. Hufnagel, John Hopkins Univ.

23\. Aerospace Applications of Programmable Matter, Dr. W. McCarthy, Programmable Matter Corporation

24\. Metallic Spintronics, Dr. M. Tsoi, Univ. of Texas- Austin

25\. Space-Communication Implications of Quantum Entanglement and Nonlocality, Dr. J. Cramer, Univ. of Washington

26\. Aneutronic Fusion Propulsion I, Dr. V. Teofito, Lockheed Martin

27\. Cockpits in the Era of Breakthrough Flight. Dr. G. Millis. Tau Zero

28\. Cognitive Limits on Simultaneous Control of Multiple Unmanned Spacecraft, Dr. R.Genik, Wayne State Un iv.

29\. Detection and High Resolution Tracking of Vehicles at Hypersonic Velocities, Dr. W. Culbreth, Univ. of Nevada Las Vegas

30\. Aneutronic Fusion Propulsion II, Dr. W. Culbreth, Univ. Of Nevada Las Vegas

31\. Laser Lightcraft Nanosatellites, Dr. E. Davis, EarthTech International

32\. Magnetohydrodynamics (MHD) Air Breathing Propulsion and Power for Aerospace Applications , Dr. S. Macheret, J -! ockheed Martin

33\. Quantum Computing and Utilizing Organic Molecules in Automation Technology, Dr. R. Genik, Wayne State Univ.

34\. Quantum Tomography of Negative Energy States in the Vacuum, Dr. E. Davis, Earth Tech lnternational

35\. Ultracapacitors as Energy and Power Storage Devices , Dr . J. Golightly, Lockheed Martin

36\. Negative Mass Propulsion, Dr. F. Winterberg , Univ. o fNevada- Reno

37\. State of the Art and Evolution of High Energy Laser Weapons, J. Albertine, Directed Technologies

38\. State of the Art and Evolution of High Energy Laser Weapons, J. Albertine, Directed Technologies</comment>


CppCat, an Ambitious C++ Code Analyzer from Tula - <AUTHOR> http://www.viva64.com/en/b/0232/

<comment><USER2> Developers are a notoriously bad group to sell software to, and this interviews only confirms that once again. The authors feel they have to apologize for the price €5250 for a team of 9 developers. 9 office chairs cost more than that! Then the interviewer follows up with "such a high price, are there really any customers?" Geez.

With specialized products like these you need to find your exact target audience. If your audience is small then you need to deliver tons and tons of value.

Back of the envelope, you have to reach 1000 new customers a year at €5000 each in order to pay for development, an office, and all other overhead. Difficult, but not impossible. There still are tons of C++ shops out there.

<comment><USER3> One group that _should_ be willing to pay for it are those writing high- reliability and safety-critical code, e.g. DoD. It appears they have less of a preference for Ada nowadays, instead using a "safer" subset of C++ and static analysis tools.

<comment><USER4> The problem is that in the early days Ada compilers were more expensive than C and C++ static analysis tools. :(

Nowadays we have cheaper options, but the harm is done.

However, from what I can infer from last years of FOSDEM, at least in Europe, Ada use seems to be slowly rising.

</comment></comment></comment><comment><USER5> This was a great interview about selling a very complex product to a very difficult customer base (programmers). Someday, I want to start a developer tools company so it was cool to hear about the challenges they faced in getting started. My key take points were:

1\. Your tool must demonstrably solve a challenging problem right away. Programmers will ignore it if on first run it doesn't have a good result for them.

2\. Marketing via finding bugs in FOSS software can help sell licenses.

3\. Mindshare is difficult to build because your target is often big companies with big budgets, but the people you need to convince are everyday programmers. Hopefully, their new lower priced option will help them in this case.

Anyway, very cool bootstrapped business. It is always nice to read about someone who has been able to make a business out of solving hard problems. Many businesses seem to solve easy problems which people haven't noticed before (which is likely a better business strategy but can sometimes lead to boring work).

<comment><AUTHOR> Thanks for the comment.

</comment></comment><comment><USER6> Love this: "Ours is a most typical software company: we create software products and sell them to customers. In this sense, we are not quite "in the trend": we don't design mobile applications with millions of installs, or possess a website with hundreds of thousands of unique visitors. We run a, so to say, classic business which seems to be pretty rare nowadays."

</comment><comment><USER7> Woah!

I've been sitting on a need for MSVC static analyzer for years. I looked at PVS-Studio (prompted by that exact Carmack's plug mentioned in the interview), but the multi-$K price was a non-starter. Static analysis has always been a secondary need in our case, a "nice to have" thing, which is now very easy to justify with $250 price tag. Thanks, guys!

(edit) Ha, it is $250 _per year_. Interesting. Aside from an initial gut rejection, this is actually not a big deal. 10 years worth of a license is still $2500.

<comment><USER8> Visual Studio 2013 has a static analyzer.

A "good enough" solution that comes free kills all possibility that a second company can make a living by selling an cheap solution.

<comment><AUTHOR> > A "good enough" solution

Comparing static analysis in Visual Studio 2012 (Visual C++ 2012) and PVS- Studio - [http://www.viva64.com/en/b/0151/](http://www.viva64.com/en/b/0151/)

It's old comparison. Soon there will be an article about the comparison of the new PVS-Studio and Visual Studio 2013. PVS-Studio is much more better.

</comment></comment></comment><comment><USER9> Any chance of Linux support? How does it compare with Coverity, Clang Analyzer, PREfast, Klocwork et al?

<comment><AUTHOR> The answer can be found here: PVS-Studio and CppCat: An Interview with Andrey Karpov, the Project CTO and Developer - [http://www.viva64.com/en/b/0231/](http://www.viva64.com/en/b/0231/)

</comment></comment><comment><USER10> if they support linux, I'd license it without any thought. $250/year is pretty cheap...

<comment><USER11> Agreed. I'd love a command-line version for both Mac and Linux that I can use for embedded C work. $250/year for this would be a no-brainer.

</comment></comment><comment><AUTHOR> P.S. Ask everyone who like CppCat to leave a review here: [http://visualstudiogallery.msdn.microsoft.com/8edc3425-8e8e-...](http://visualstudiogallery.msdn.microsoft.com/8edc3425-8e8e-4376-b660-fe0c81f9bdd3?SRC=Home)

</comment><comment><USER12> I can't help but feeling like you need guys would need an American sales team to sell your stuff in America. Or is corporate America pretty okay dealing with "commies"/Russians these days? (I mean no disrespect)

</comment><comment><USER13> Thanks for the new program. It is we were looking for....</comment>


How expensive is a can of Coke if social cost is priced in? - <AUTHOR> http://www.kurtsp.com/how-expensive-is-a-can-of-coke.html <comment><USER2> _Multiply the cost of one case of diabetes ($85,200) by the marginal chance of developing the disease (18%), and divide by the number of 12oz cans consumed over that decade (2555) gives $6.00._

The marginal increase is not 18%, it's 18% of the base rate.

<comment><USER3> I tried to read the research article, but I'm not sure about the notation. One can of coke increase the risk

a) from x% to x+18%?

b) from x% to x*(1.18)%?

<comment><USER4> Neither seems reasonable. The a is definitely wrong, or 6 cans would give you diabetes guarantee, which is wrong. The b grows slower, but is still uncapped and speeds up as it grows.

<comment><USER5> The 18% transformation is associated with the change in risk due to a _serving of coke every day for a decade_. Option b) is correct.

<comment><USER3> I forgot to add "per day" in my comment. (I was aware of it, I just forget to write it.) So option b) is almost correct.

</comment></comment></comment></comment></comment><comment><USER6> I read this article expecting to hear about negative externalities, but it seems the social cost described here is entirely in "private costs", at least under the assumption of no government-sponsored healthcare.

</comment><comment><USER7> Would be interesting analysis if done correctly. Unfortunately author mistakes absolute for relative risk. To be fair, this isn't an infrequent thing.

</comment><comment><USER8> What if you live in an economy with an NHS, and the direct and indirect costs of diabetes mediation are less? (not that it's good, but it becomes an argument in the application of indirect cost into pricing, which breaks the macdonalds burger index apart into shards of social policy costs)

</comment><comment><USER9> that's okay because they're going to pass those costs onto the community.</comment>


Is an open-source pacemaker safer than closed-source? - <AUTHOR> http://williamedwardscoder.tumblr.com/post/22833490643/is-an-open-source-pacemaker-safer-than-closed-source

<comment><USER2> <http://news.ycombinator.com/item?id=3959547>

</comment><comment><USER3> sad it got flagged

thx for posting my blog article

<comment><AUTHOR> Doesn't seem flagged to me. Ping me back if you want to submit this yourself, i'll delete this one, np. (nice post,btw)

<comment><USER3> it got an upvote after the flag so it floated back to page 2

if you delete it you can always resubmit the exact same story a second time; it might go nowhere though ;)</comment></comment></comment>