Do you guys miss real books? (2014) - <AUTHOR> https://www.reddit.com/r/kindle/comments/206cyn/do_you_guys_miss_real_books/ <comment><USER2> I thought there would be more "yes" to be honest.

I love physical books, I like how they look laying around as a reminder to read them and I like how they disconnect me from technology.

Tried e-readers but I can never stick to them.

If I am doing dry reading, I put my computer somewhere near by for dictionary etc

And I can move around physical books much more easily and it still feels more natural.

<comment><USER3> Why would you expect more people to miss books? Books didn't go anywhere. Anyone who wants them can easily buy them or borrow them.

You know what I miss? Dead tree user manuals that used to come with hardware and software. That's something that has gone the way of the Dodo, unlike most other books. Luckily I can still buy printed manuals from the FSF.

<comment><USER4> With print-on-demand you can make a physical book out of any manual.

<comment><USER5> I just miss manuals, dead tree or otherwise. Where's the manual for my iPhone? It's just a vast unordered, sprawling, inconsistent, incomplete subsection of apple.com.

<comment><USER6> What I miss are schematics and parts lists. Of course, that would be virtually impossible with today's electronics, short of a bunch of PDF documents or something. Even then, they would almost be worthless.

But...back in the 1980s, just about any electronic device you bought (especially if you bought it from Radio Shack), the manual would have a schematic in the back, plus a list of parts (and in the case of RS - the parts list would usually have part numbers you could pick up off-the-shelf at the store!).

I miss that.

<comment><USER4> There's too many black-box chips on a typical product to make any sort of schematic meaningful.

There used to be full wiring diagrams for cars in manuals, but imagine that now where your car has 200 separate computerized systems, each with their own intricate circuits.

</comment></comment></comment></comment></comment></comment><comment><USER7> Two additional thoughts:

1\. These discussions are often framed as digital vs physical books and the reality is more "books vs all other forms of entertainment".

Kindle, etc. really set up books to compete with Netflix and Gamepass in the "It's 9 pm on a Wednesday what should I do to entertain myself for a few hours before I fall asleep?" category of entertainment. Which I think is fantastic.

2\. Given cost and printing constraints there are lots of obvious and non- obvious forces at play that constrain authorial expression. Case in point: novellas are more or less non-existent in printed form as printing costs don't make sense for a "book" in the 50-100 page range, but they're starting a real revival on Kindle where it's entirely possible to charge a $1 for a shorter work.

</comment><comment><USER8> Mixed emotions about them.

* hauling books around at college damaged my back * classic Microsoft texts like ASP v1.0 and SQL Server v1.0 make great monitor height boosters * waiting for a Commodore 64 book to be delivered at the local library in the 80s taught me extreme patience * you can't flick through an ebook quit like a real book * one of the favorite pastimes was the personal collection of books you inherit when you leave your old job * a shelf full of obscure titles makes you look impressive to passers by

<comment> frosted-flakes I don't use e-readers much myself, but I do have a Kobo e-reader (Toronto- based company bought by Rakuten a few years ago), and I was surprised to see how effective the rapid page turn feature they added is. Pressing and holding along the edge of the screen quickly flips through the pages at a speed where you can just catch the gist of the page.

</comment></comment><comment><USER9> For me it depends on the book - usually if its a novel, the kind I would used to buy in paperback, I get the kindle version. Its much more convenient to read the kindle in different places without having to decide beforehand which book you're going to bring. Also, if I just have my phone, its a good alternative to the other things you do on your phone.

The hardware kindle is excellent for travel since I can bring the whole library with me. If I'm going on a trip I'll buy a book or two to keep me occupied, and all I have to worry about is the device itself.

There are also a number of public-domain classics that are either free or insanely cheap on kindle, like Zane Grey or Shakespeare, so for those its like why not?

Having a large collection of print books also implies you have stable home environment or some place to keep them. For readers who are either transient or nomadic, then kindle has a lot of obvious advantages.

For the kind of book I would buy in "hardcover" I still go paper. These include specific favorites, art books, graphic novels, coffee table books. Many books quite simply do much better in print media, especially ones that are highly visual.

There is also much to be said for browsing old boutique bookstores, since they contain a lot of stuff that wouldn't be on Kindle at all, and have a lot of deals.

</comment><comment><USER10> The main thing I miss in physical books is the ability to flip around in them, so while it's technically possible to do this in a kindle, any time there is like a map or something similar in a book I end up just finding a picture of it online and saving it on my phone.

This is also why I tend to prefer physical copies of technical books and RPG manuals.

</comment><comment><USER11> I think there's something about the spatial dimension of how information is arranged in a real book that really helps me learn and retain concepts and information.

<comment><USER12> I'm not sure I agree with the reasoning, but I agree with your result.

I've had a kindle for about six months, and I've been reading a ton. I'm usually more of a 3-5 books/year type of guy, but I've gone through ten since getting the kindle. Problem is that I really haven't retained the content as well as I have been able to with tree books.

</comment></comment><comment><USER13> I prefer the convenience of ebook readers. But strangely the advent of e-readers, has, to my eyes increased the value of physical books, as a physical collectible items. So even though I do most of my reading on the eReader, I buy physical books, whenever I see a beautifully made one or one which is noteworthy any manner, and it gives me the same feeling that collectors of any physical artefact gets. Moreover physical books may become a rare prized commodity in the future, when only the most popular of works may continue to get physical prints, so for many books the time in which they can still be got as physical copies might be passing soon.

In a related matter, ebooks have made the concept of works going out-of-print largely obsolete.

<comment><USER14> Books as collectibles is an interesting development; you see the same happening in the music industry, where especially vinyl is making a comeback. I've bought a number of vinyl albums, despite not having a vinyl player. It's music that I pirated 10-15 odd years ago; I still wouldn't buy CDs (lack of CD players, inconvenient compared to digital), but buying vinyl as a collectible is definitely a thing. Also because they're a lot more tangible, have a nice exploded view of album art, and often have some neat collectable features like multiple disks, fancy colors, etc.

</comment></comment><comment><USER15> I find myself gravitating back towards physical books after years of almost exclusively reading on my phone or eink device. Something about how the you can feel your progress as the thickness of pages in each hand. It's totally irrational, the convenience of an electronic version ought to outweigh that, but... I choose to read a physical version more often than not.

For reference books, where random access is a typical use case, I find a combination of a physical version and a searchable PDF file on a computer is most useful. Mobile devices, especially eink ones, are somewhat unsuited for that kind of reading.

</comment><comment><USER16> I prefer my kindle because it is light and doesn't require a light like a regular book. I would never travel without it. I don't find books more immersive, if the writing is good I'll get lost in the book even if it was on my laptop or phone.

My main issue with ebooks is the DRM around them.

</comment><comment><USER17> The thing I miss most is the physicality not of reading the book, but of browsing a collection of books. When I'm considering whether to start a new book or re-read a treasured one a bookshelf is perfect for this -- I can look at spines and instantly regain context. I can see hundreds of books in a matter of seconds without having to flip pages. I can put candidates aside and prune them down.

Similarly when I'm browsing books -- I still find my self going to Barnes & Noble as a lookie-loo; just browsing around for interesting books, because the experience is so much better than anything you can get on an electronic device.

I've thought before that it would be neat to have an "Amazon e-book Store" where there was a single copy of each book, with a QR code that contained an affiliate link to buy the book on Amazon. You'd get all the benefits of physical browsing there; you can take down a book, page through it, look at other books by the same author, have staff recommendations, etc. The operational cost would be small because you wouldn't have to carry multiple copies of the same book, and you wouldn't have to keep any non-display inventory or have to deal with the retail aspect at all.

</comment><comment><USER18> I should answer yes, that I miss real books.

My first job was as a library page. It was natural; I had been reading thick paperbacks since I was 8 or so. In Pennsylvania I needed to check those out under my parents' library cards, because my juvenile library card wouldn't allow me access to them. At age 12, the library finally stopped putting them under my parents card and just granted me an 'Adult' card at an early age. When an opportunity came up to shelf books for $4/hr, I jumped at it.

I was and am a voracious reader. Before ebooks, packing for a vacation sometimes meant I needed an extra bag just for books. It wasn't possible for me to throw a couple changes of clothes in a backpack and head off for the weekend; I needed an actual suitcase because I'd need space to tuck at least a couple of paperbacks.

But I don't miss real books. It took me a few years to get used to reading on an iPad. I can finally travel light, even if I'm spending a chunk of an entire weekend in airports. I don't need to choose between bringing one technical book and three paperbacks. It's so much more convenient.

</comment><comment><USER19> I used to love physical books and the feel and the smell and the looks. Until the day I moved overseas and couldn't take my collection with me. I left them stored in boxes at friend's house and one day, during a storm, his house was flooded and my books were destroyed like most of his stuff.

Today I love my Kindle and I like the peace of mind that my books are safe.

<comment><USER20> > Today I love my Kindle and I like the peace of mind that my books are safe.

Until AMZN decides to take them away from you.

<comment><USER21> It's always a good idea to backup data that is in your possession.

<comment><USER22> True, but in this case that requires stripping the DRM too.

</comment></comment></comment></comment><comment><USER23> I too love physical books. I love holding them, collecting them, reading them, and having them visible in my home, because that also helps discovery by my visitors; who hasn't taken a look at someone else's book case and thought: "That book looks interesting"? You lose that if the books only exist on a harddisk or memory card.

But recently I've been digging through some reading material which partly exists in PDF, and partly in big physical books, and I'm going way faster through the PDFs than through the physical books, because I read the PDFs on a tablet that I always have with me, and the physical book is big enough that I really need to sit down explicitly to read it.

<comment><USER24> This is the biggest thing for me. I can cary my library with me all the time and when I have to wait longer than planned I can read something meaningful instead of just playing a stupid phone game or reading internet banality. I mean there's times when I don't want to think and those things are great. But now I have an option.

<comment><USER25> As much as I love my (physical!) library, I don't feel the need to carry all of it around with me. Just the book I'm reading at the moment suffices — perhaps a completely different second book (e.g., non-fiction if the other one is fiction) if I expect a long trip.

When I go to the barber I know that there is a good chance that there will be a queue, so I grab a book. I got through six chapters of Foucault's Pendulum (Umberto Eco, 1986) that way last week.

</comment></comment></comment><comment><USER26> I don't miss books because they're still a big part of my life. I do have a Kindle, but I don't use it. I still collect and read paper books. I just prefer the reading experience.

<comment><USER27> ditto, reading physical books is easier on my eyes, requires no batteries or chargers (other than coffee), and the good ones can be easily passed on to book-loving friends and family.

</comment></comment><comment><USER28> Something I don't see mentioned: I like the aesthetics of shelves of books. I enjoy perusing the shelves when I'm ready to start a new one. I also enjoy shopping used book sales. Here in San Diego, there's a huge monthly used book sale at the North Park library. Every book is $1 and under and it's actually good stuff. I'll probably only read 10% of the books I pick up, but that's okay considering the low cost of each.

</comment><comment><USER29> Why I like books:

\- I prefer reading on paper

\- Not having to think about charging and battery life (book light excluded)

\- Used books can often be had cheap or free

\- No proprietary lock-in bullshit

Why I do not like books:

\- Turning pages is cumbersome

\- No way to search the text

\- No way to alter the font size

\- No way to look something up in a book you read N years ago unless you're home with your bookshelf

\- Harder to find a comfortable reading position

\- Books are heavy and take up a lot of space

Despite all that, I still mainly read paper books.

<comment><USER30> Mostly agreed, some of my addenda:

Physical better:

\- Persistent subconscious knowledge of where I am in the book (weight in each hand).

\- Much easier to flip back multiple pages to re-read a section and flip to where you were.

\- Resilient to collapses of information/power infrastructure.

Digital better:

\- Traveling with many books is impractical

\- Built-in dictionary and wikipedia search

\- Resilient to fire and water damage

<comment><USER31> Not sure I understand the last point about fire and water damage, but the rest are exactly my thoughts.

<comment><USER32> Not the parent, but at least for me my ebook collection is far less likely to be irretrievably lost than my physical library. I keep important data like photos, documents, and books backed up in multiple places, including off-site. So if my house burns down or floods, my physical library will be irretrievably destroyed, while I will still be able to access my digital library.

</comment></comment></comment></comment><comment><USER31> I went through few Kindles over the years, but ended up going back to real books. Kindle UI is sluggish, it is pain to navigate to bookmark, can't jump between chapters if I want to. Touchscreen is a disaster - press and then think "did I press hard enough or it is just slow?".

</comment><comment><USER33> I have a large screen phone and decent eyesight, so I'm perfectly happy to read books using the Kindle app.

Books are lovely physical objects, but the convenience of carrying a library with me at all times far outweighs any sentimentality I have.

</comment><comment><USER34> Might not be a popular opinion but I like being able to access any book from my phone/computer. Mainly when traveling, it feels like you have an endless library. You can easily purchase new books you're really interested in.

Though, I do understand how some bookstore may suffer. I actually believe we may see more of them. They could benefit from the co-working space / coffee shops culture that's growing.

On the top of that, I would say the ease of purchasing a book today has likely helped a lot of authors increase their revenue or general awareness.

</comment><comment><USER35> The main thing I miss with the physical books, as opposed to e-books, is the ease of giving them as presents. Right now, when I want to give a book I just buy a physical copy; but it's been a long time since I bought one for personal consumption.

The second way physical books are still superior is that the non-text-based ones (i.e. anything with plenty of illustrations, especially in colour) still look much better than their electronic counterparts (and with that type of books, the appearance matters at least as much as the content).

</comment><comment><USER36> Miss ?

Why miss ? Millions of them are still sold every month.

Besides, it's not an XOR proposition.

I had 3 e-readers, as they are handy in a trip. However, it takes less effort for me to read from a real book, and I also read faster.

</comment><comment><USER37> My eyes struggle to focus for too long on a real book, my kindle on the other hand I can read for hours on end.

As a compromise, I will buy books from foliosociety.com as gifts for others instead.

</comment><comment><USER38> I like them for the smell and tactile sensation of it, and after spending hours upon hours in front of a monitor essentially every day, it's nice to unplug for a little while before bed.

I do have to say brand new books are pretty expensive though, but used books can be gotten for very cheap (and I actually like that older book smell). Or alternatively, free at the library if you have the time/inclination to go.

</comment><comment><USER39> I live in a tiny flat (normal for the UK). I only keep hard copies of special books such as coffee table books and author-signed copies. I'll check whether the library has the book I want before purchasing a digital copy of it.

I ran into the first world problem of not being able to read a physical book in bed because my bedside lamp isn't bright enough, having always used my Kindle Paperwhite.

</comment><comment><USER40> Depends on the kind of a book. Novels, easy read - definitely better in e-form. Anything complex - textbook, or science popularization or even rich fiction - makes me miss real print. Mainly due to the lack of easy navigation. It is a lot easier to go back and re-read fragments in the real book than it is in the e-book.

TL;DR; Working with the book is easy in printed form and pain in e-format.

<comment><USER32> Huh, interesting that our preferences are polar opposites despite being formed for the same reasons. I much prefer technical or 'hard' literature in electronic format due to ease of searching and bookmarking, since I will often need to refer back to previous sections or take notes. However, for something like fiction novels I far prefer paper books, since I don't often need to reference back for something like a SF novel, so I don't care that it's harder to find a specific section.

Might be a difference in reading style, but for something like a physical textbook it is normal for me to have 40-50 separate bookmarks, which I always found unmanageable.

</comment></comment><comment><USER41> If it's a book that's technical in any way, or one that I'll need to reference semi-regularly (say, a self-help book), I'll buy the print version. It's easier to mark up the sides with notes, add tabs to bookmark important points.

Flipping through marked-up books is faster than going through the "highlights" section of your ebook.

</comment><comment><USER42> No, not at all, because I read both "real" books and on the Kindle. I have thousands of print books and keep buying more. I have the Kindle for books which are too expensive to buy in print format. And not all books are available on the Kindle - I thought this last one would be obvious, but apparently it's not.

</comment><comment><USER43> I feel nostalgic about real books. I'm not sure that's exactly the same as missing real books. Having a book on my phone means that when I have time to myself I have the book I want to read. A real book would take effort to ensure I have it.

</comment><comment><USER44> I use my ereader for entertainment and paper books for technical information.

I'm not really a book person though. I don't think owning a bunch of physical books makes me smarter and I don't particularly like the look of shelves upon shelves of books.

</comment><comment><USER45> No, because I still buy almost all reading as physical books.

</comment><comment><USER46> y, it's nice having a book on a phone or iPad or kindle, but it's not the same a flipping through a physical book, adding post it notes, marking notes in the book.

Probably miss physical books more for something you are studying rather than just reading a novel.

So if I'm learning something I'd rather have a physical book, for reading either one works.

I do like having books on shelves though, just the look of it and seeing what you have read, having books for reference.

</comment><comment><USER47> At my house, they haven't left.

I tend to use Gutenberg for quoting passages, and I read most computer documentation on-line. Otherwise, I mostly use physical books.

</comment><comment><USER48> No, as someone with pretty intense dyslexia, books and learning from them have been the bane of my existence. Text to speech has been a life saver.

</comment><comment><USER49> Print book sales are going up, not down.

</comment><comment><USER50> I guess I'm a dinosaur. I tried a Kindle once for about 15 minutes and have never used one again.

</comment><comment><USER51> Unpopular opinion: using phone ereader because you can pick up and listen on way to commuting.

</comment><comment><USER52> No. I read a ton and if it weren't for my phone then I wouldn't read fiction at all.

</comment><comment><USER53> I don't miss them. They're still available. I buy them.

</comment><comment><USER54> No.

Also see: [https://en.wikipedia.org/wiki/Betteridge%27s_law_of_headline...](https://en.wikipedia.org/wiki/Betteridge%27s_law_of_headlines)</comment>


Launch HN: Scribe 2.0 (YC W17) – Configurable, Actionable Alerts on Slack - <AUTHOR> Hey HN,
We're Sachin and Rutika, founders of Scribe (https://www.tryscribe.com). Scribe 1.0 provided sales call scheduling service managing client's sales inboxes, scheduling sales calls and updating their CRM based on email and calendar events. We did this through a human in the loop (software+service) approach. In the process of managing external conversations we built an internal SAAS product which helped us stay on top of all the email and CRM updates. We are opening it up today for others to use as a standalone product calling it Scribe 2.0
It's an extensively customizable workflow builder which allows you to receive events from your email, calendar, salesforce and Stripe accounts either as Slack DMs or notifications in slack channels of your choice. You can configure any number of API actions on top of these events and based on the event contents decide what actions to take with couple of clicks right from slack. We also have a HTTP/webhook option to support custom events or events from other integrations as we explore expanding the workflow builder for more usecases.
Some of the sample usecases we have been used for include
- Share selective emails in slack and based on the email information, you can reply, send a calendar invite and update CRM with single click buttons without opening any other website.
- You can setup custom reply templates for different email categories, and have them personalized based on the incoming email information
- Create support tickets, add assignees and deadlines, from email in slack
- Trigger ML jobs with updated parameters based on previous job's success/failure and performance accuracy.
- Trigger code deployments and task pipelines from Slack
In effect, users can configure workflows to send data from any of their SAAS apps to Slack, update it in real time, and send it back to anywhere else. And all this can be done collaboratively allowing for broad visibility and accountability across teams. We also have a cool gif feature that allows one to attach changing gifs based on incoming event data allowing for some nice surprises
Some of the interesting feedback we have received from our customers are
- They go without logging into gmail and salesforce for days
- We are like a mother who nudges them to do the right thing at the right time
Technically, we have built a unified layer for authentication, resource and crud schema inference. We can therefore integrate with any software that is openApi compliant in a matter of few days. Pubsub management however has been quite nasty given the scale, lack of api standardization and the asynchronous nature of the platform. We also have selectively exposed our email AI from the original Scribe 1.0 product, that categorizes sales email into more than 22 different categories allowing users to setup personalized templates and actions based on the intent of the email.
We are looking to HN to get feedback on the product as well as explore new usecases on how we can extend the service to cover more integrations and usecases. Given our history, we have mostly built with sales usecase in mind, but we do believe that now, this can be extended perhaps more effectively to other markets and would love to get HN's thoughts. Apart from more integrations, we can also provide option to schedule time based notifications as well as ability to define slack commands to pull data/trigger workflows if there is a usecase/market need. <comment><USER2> Hey, congrats!

This seems really cool. As an engineering manager, I can't see how I'd make use of this in my day-to-day, but I could definitely see the sales team using it.

One of my biggest questions is: why Slack? It seems like the majority of the incoming streams would come from email. And it seems like you're targeting integration with SalesForce -- at least that's what I get from the home page.

Other than that -- not to nitpick, but there's a grammar error in your first graphic: [https://www.tryscribe.com/static/img/email.png](https://www.tryscribe.com/static/img/email.png) . It says "You've have an email".

<comment><AUTHOR> Haha, Thanks for pointing it out. Will change it soon. One of the biggest reasons we chose slack as the notification consumption platform is to enable collaboration(and therefore more visibility across teams) as we expand to more usecases outside of sales. We therefore built a robust email <> Slack integration as well.

Also, one of our main USP is the ability to take action on any notification. Slack provides a strong api layer to pull this off, while its extremely tough to do the same as a gmail app. Chrome extension is still a viable option, but for now, we chose to go ahead with Slack due to the collaboration element.

Regarding the engineering manager usecase, although we don't have deep relevant integrations yet, we are considering adding support for Jira, Trello and Sheets as well, but would love to know if any of that will be as helpful in your day to day work. We are not venturing into tech alerts yet, as there are good comprehensive solutions already in place but would love to know of any gaps that might exist where a configurable action layer would be helpful.

<comment><USER2> Cool, yeah, I figured it would be a lot trickier with Gmail, and it seems like you guys are taking advantage of some Slack UI features.

Jira is the only tool I use that you mentioned, and as far as that goes, I'm not really sure what I'd take action on. I get a bunch of notifications about ticket updates, but I mostly ignore those. The one thing that would be pretty awesome -- which I think Atlassian already does, we just don't have it configured at my company -- is to be able to respond to comments from Slack.

<comment><AUTHOR> yup. makes sense. Jira does provide those. The main element missing in native slack apps is the ability to send data across different integrations. So, some cases where a cross channel support that we provide might be handy is if you want to create jira ticket from email, update sheets from jira notification, reassign tickets and update calendar based on email etc, but not sure how often you will need something like this. but if you do, let us know and I can reach out to you directly.

</comment></comment></comment></comment><comment><USER3> Congrats on the launch!

Why did you decide to tackle event-driven workflows with humans in the loop over human-initiated workflows, e.g. making a new staging env? Did customer research suggest that event-drive workflows were more valuable?

Seems like there's still lots of room for companies to adopt chatops solutions, with Slack as a central access point. Or not, of course, as we saw with the overhyping of the chatbot.

<comment><AUTHOR> Thats a very good question. There were 2 main reasons for that. There are a lot of chatbot solutions to enable human initiated workflows while there were hardly any solution which enabled human in between an event driven workflow. But more importantly, since we came from a sales focused market and faced the problem of supporting human element within an event driven workflow ourselves, it was easier for us to get the relevant customer feedback.

Also, chatops right now is mostly human initiated and is focused on tech. We wanted to tackle enterprise integration market where the need seemed more immediate. A lot of the people we talked to hated logging into their CRMs and updating them at regular intervals can be a very tedious task. Hence we decided to prioritize event driven workflows with human in between, while keeping the architecture open to support human initiated workflows triggered from slack as well.

</comment></comment><comment><USER4> My $0.02c - I opened your website and didn't immediately understand your product. It wasn't until I read the guts of your HN post that I figured it out.

Maybe invest a couple of days into researching/testing different (above the fold) taglines with random people off the street to see how quickly they guess what your product does?

<comment><AUTHOR> yup. makes sense. Thanks for the feedback (y)

</comment></comment><comment><USER5> If you don't me asking, and I don't mean to sound rude, but - what took so long to launch? 2017 YC to 2019 launch is a really really long time for what seems like a basic tool. Everybody I know has cobbled something together like this using Zapier/IFTT and other integrations or custom microservices, it just seems like you're a bit late to the starting line.

<comment><AUTHOR> Hi sure. Fair question indeed. We were a sales call scheduling service till september 2018 and had built a strong email categorization and reply layer on top of collaborative inbox to manage multiple client inboxes, schedule calls and update CRMs. By late last year we decided to push to a pure SAAS play and eliminate the human-in-the-loop segment of the company. You can think of this as a soft product pivot to achieve scalability and reduce operational overhead.

That said, since we allow AI enhancements on the event data (email categorization to be precise for now) on top of the zapier model and also allow the human decision making element in between, we could not just plug and play any IFTTT architecture, which definitely meant some more engineering overhead.

</comment></comment><comment><USER6> How would you compare your product to other similar solutions like Zapier?

<comment><AUTHOR> hey, thats a very good question and one that we get very often.

Zapier is a complete automation suite where in an event will automatically trigger a bunch of actions without the ability to modify the event data or decide the action based on the event.

We enable all these usecases where a user will have to see the event and then chose which set of actions to trigger. the user can also send a modified version of the event data to the actions, while in Zapier, the event data consumed by the action layer cannot be updated in real time.

<comment><USER7> Well Zapier has filter and formatting so you can modify data and also filter them [https://zapier.com/apps/formatter/integrations/](https://zapier.com/apps/formatter/integrations/)

<comment><AUTHOR> filter and formatter are still set at the time of workflow definitions and are not real time. When I say real time, I mean that the user in our case can see the exact event (like say the content of the email, ticket or crm update etc), and then decide to take an action. And when he/she is passing event data to that action, they can update it based on what they see and not what they expect as is the case with other automation platforms. In effect we are more interactive workflows than automated workflows if that helps.

<comment><USER7> Thank you for the clarification. Seems like Zapier is also moving to your space, with slack interactions (this came to my inbox yesterday) [https://zapier.com/blog/updates/1969/zapier-slack- action](https://zapier.com/blog/updates/1969/zapier-slack-action)</comment></comment></comment></comment></comment>


App Container Spec One Week In - <AUTHOR> https://coreos.com/blog/appc-one-week-in/ <comment><USER2> "With discussions starting on implementing the spec in [...] Docker"

I guess that depends on who you ask at Docker...

[https://github.com/docker/docker/issues/9538#issuecomment-65...](https://github.com/docker/docker/issues/9538#issuecomment-65967102)

To be fair, the filing of this "Docker is not compatible with ACL" issue is a bit premature when the spec barely exists yet.

<comment><USER3> Sad that the issue was closed with a 3 paragraph long diatribe laced with venom. For someone that talked a lot about taking the high road from a PR perspective, Solomon has certainly not missed an opportunity to get really worked up in various forums over this.

<comment><USER4> The reply seemed strong but on-point and reasonable. Why should Docker break compatibility and abandon what appears to be a pretty serious amount of consensus from a large number of pretty serious industry players, in order to comply with a startup's 3-day-old unfinished "standard" for their "we're building the next Docker, but incompatible with Docker, give us money now please" business plan?

Especially when the request was not worded as "we're trying to standardize this, want to help out", but "we ARE the standard, comply with us".

CoreOS comes off in this exchange looking the very worst sort of VC vaporware wannabes, and that's what I'm going to remember a year or two down the line (assuming they even still exist at that point) if faced with an actual choice involving them.

<comment><USER5> You realize the issue wasn't opened by someone at CoreOS, or the discussion before Solomon's diatribe wasn't forceful or in bad faith? @jfrazelle actually had the diplomatic answer right there, not this "defending my turf attitude". The attitude seems to be "you must use the Docker container spec or gtfo". That's not the attitude of a friendly OSS maintainer but more so of a private interest viciously protecting themselves.

I had no negative opinion about either company but to me it's clear Solomon has come off very poorly and undiplomatic from this whole exchange. CoreOS has done nothing wrong, they are not obligated to do whatever Docker Inc. or Solomon wants them to do. And of course neither does Docker have to do whatever CoreOS maintainers might want of them, but one side is mudslinging and bickering while the other isn't, very childish IMHO.

<comment><USER6> I'm sorry but this is exactly the kind of leadership Docker needs right now. He reminds me a bit of Linus Torvalds and Theo de Raadt in his responses. Doesn't take shit from anyone, doesn't try to please everyone and gets shit done. Exactly what Docker as a project is doing.

<comment><USER5> Has Linus ever gotten bent out of shape at somebody for forking Linux (assuming they've done it while not violating the license)? Let alone someone who would decide to do their own clean implementation of a Linux like OS? I don't think that comparison makes much sense.

EDIT: Let the users work this out, if Rocket fulfills a need for some people better than Docker does for CoreOS then it will become clear overtime. Docker does need leadership, but not by picking pointless fights.

<comment><USER6> I think you're referring to another post now. I doubt they eat the same breakfast either. I was specifically referring to this github ticket.

I think the users have already decided, pretty much everyone uses docker already.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> I don't know about rest of you but at our company we went through a lot of pain dealing with CoreOS. If we had known sooner, I'd gladly have taken a minimal Ubuntu to run Docker over CoreOS. For one, requiring reboot to update is astrocious! Because of these experiences, I just don't much faith in CoreOS guys (at least not yet), and the standard they are creating I think kills the best aspect of Docker, the freedom!

And regards to @shykes response, he was right on all points. Who in their right mind would adopt a supposed "Standard" written only 3 days ago? Doesn't matter who wrote it, it is just very unreasonable to accept a Standard without putting it through the test of time. This is a Standard, once in place you can't really change later, so aren't you glad that they didn't just jump on things?

Also, if you are in Docker's position, why would you want to risk limiting yourself to a single standard? Things change, fads change, people come up with better ideas, etc... No one knows. Some may want a much simpler spec (I for one), others may want something more thorough and detailed, etc. Just let the people decide the standard and let it run it's course, eventually the best will come out on top.

<comment><USER8> _at our company we went through a lot of pain dealing with CoreOS. If we had known sooner, I 'd gladly have taken a minimal Ubuntu to run Docker over CoreOS. For one, requiring reboot to update is astrocious!_

As someone who hasn't invested a lot of time in evaluating CoreOS yet I would be interested in hearing about what other pain points you encountered. The reboot to update requirement seems straightforward given what they state in their documentation [https://coreos.com/using- coreos/updates/](https://coreos.com/using-coreos/updates/)

</comment></comment><comment><USER9> For those looking for a little more context or who want to see the App Container Spec in action we recorded videos following the initial announce of Rocket -- the initial implementation of the spec.

Rocket & App Container Spec Overview by Brandon Philips - ([https://www.youtube.com/watch?v=GYgpaAZMe-E](https://www.youtube.com/watch?v=GYgpaAZMe-E))

Rocket Tutorial and Demo by Kelsey Hightower - ([https://www.youtube.com/watch?v=E9WVjxaRkKU](https://www.youtube.com/watch?v=E9WVjxaRkKU))

Google Hangout with CoreOS: Rocket and the App Container Spec - ([https://www.youtube.com/watch?v=U3UmFQbUsN8](https://www.youtube.com/watch?v=U3UmFQbUsN8))

<comment><USER10> Is there any discussion around why you require all container images to be signed? I understand that you want to provide a means to identifying that user X signed (well key Y signed it -- hopefully that is user X) the container, but it's putting the cart before the horse.

Maybe I'm missing something, but this completely ignores that the biggest security issue is people and process. You can't require people to have good process. IMHO, requiring gpg signatures _WEAKENS_ security, because the people that don't care or don't have strong security requirements are going to play fast and loose with their keys. If you don't require gpg signatures, you can let those people signal their lack of security by having "naked" images. (ie: a security audit will catch that really fast and then force a reasoned discussion about key trust)

Requiring gpg signatures gives the illusion that all of the images are somehow more secure.

</comment></comment><comment><USER11> I'm wondering whether it's a good idea to pay too much attention to a project early on in its design; whether it can lead to a worse interface/less iteration loops vs. a bunch of smart people working and iterating on an idea in private.

<comment><USER12> I tend to believe it's better to keep it private and then introduce it later on when a beta or alpha is done and get feedback then iterate.

People have too many opinions about stuff.

<comment><USER13> I think the hard part will be to try and stay focused and establish milestones. If everyone is giving input at the same time, it'll be extremely spread out and inefficient. Working towards the first few releases (0.1, 0.2, etc..) you need to be really focused on your priorities and not distracted by the big picture too much.</comment></comment></comment>


Why Most of Us Fail to Grasp Coming Exponential Gains in AI - <AUTHOR> https://singularityhub.com/2018/07/15/why-most-of-us-fail-to-grasp-coming-exponential-gains-in-ai/ <comment><USER2> Jesus, this is the kinda shallow meaning business jargon BS that make ML SO HARD to explain to the average person.</comment>


A regular expression to check for prime numbers - <AUTHOR> http://www.noulakaz.net/weblog/2007/03/18/a-regular-expression-to-check-for-prime-numbers/ <comment><USER2> This regular expression is due to Abigail of Perl fame. Who is still very active, see [http://search.cpan.org/~abigail/](http://search.cpan.org/~abigail/) for more.

However while cute, it is very slow. It tries every possible factorization as a pattern match. When it succeeds, on a string of length n that means that n times it tries to match a string of length n against a specific pattern. This is O(n^2). Try it on primes like 35509, 195341, 526049 and 1030793 and you can observe the slowdown. (Some regular expression engines may employ tricks that speed this up over the naive analysis, but none will be super speedy about it.)

Usual arithmetic is much more efficient. :-)

<comment><USER3> It's even worse, because the speed of factoring algorithms is measured against the number of digits of the binary expansion, and this is a _unary_ expansion. So it's really O(2^n^2)

<comment><USER4> You really have to put parentheses when building "towers" of exponentials. The bound is (2^n)^2, which simplifies to 2^(2n). This is of course still horrible, but much less so than the 2^(n^2) for which what you wrote may be mistaken.

<comment><USER3> Yeah, I realized that after the edit link expired. Let's just disambiguate the expression in whatever way makes me look best :)

</comment></comment></comment></comment><comment><USER5> For some this will be obvious, but for others it may still be interesting:

If this was a "true" regular expression, in the sense that it describes a regular language ([http://en.wikipedia.org/wiki/Regular_language](http://en.wikipedia.org/wiki/Regular_language)), then checking whether the number is prime or not, by checking if the expression matches, would run in linear time. This would be worth a few nobel prizes at least.

Unfortunately, it is an "extended" regular expression, i.e. not regular at all in the strictest sense, and (as the article says) requires backtracking.

<comment><USER2> Not true!

First of all there is no Nobel in math/CS.

But more importantly, when we talk about the running time of algorithms, we talk about the time in relation to how many bits it takes to describe the number. So linear in the size of the number is exponential in the number of bits, and that is not very interesting.

And a better primality test would not rock the world of cryptography. At the moment [http://en.wikipedia.org/wiki/Miller%E2%80%93Rabin_primality_...](http://en.wikipedia.org/wiki/Miller%E2%80%93Rabin_primality_test) is demonstrably good enough as a prime test that nobody really is hurting for better ones. The thing that you want is a better _factoring_ algorithm. And the General Number Sieve is already subexponential, and so better than any regular expression could be.

<comment><USER5> _First of all there is no Nobel in math /CS._

I know. An algorithm this efficient would still be worth that much. :)

 _But more importantly, when we talk about the running time of algorithms, we talk about the time in relation to how many bits it takes to describe the number. So linear in the size of the number is exponential in the number of bits, and that is not very interesting._

No, the regular expression described here works on numbers in unary representation. Linear to the size of the unary representation is linear to the number itself.

<comment><USER6> Unary representation is useless when speaking about complexity in number theory.

If you take a number N given in unary, convert it to binary and do trial division up to the square root, it will take O(N log N) time for conversion to binary and O(sqrt(N) * log(N)^2) for trial division (depending on your computational model, it could be O(N) and O(sqrt(N)) - I am counting bit complexity). In total, it's O(N log N). The runtime is dominated by reading the input! The complexity of trial division and the brilliant AKS algorithm is the same from this viewpoint.

Even if you had an algorithm that did not have to convert to binary and could tell in time linear to unary represenation whether a number is prime, it would be interesting trivia but nothing worthy a Nobel prize. In practice numbers are given in binary (or some other base>1 number system). To use your algorithm, you would have to convert to unary, which already means trial division would be faster.

<comment><USER5> Ah, I see, thanks for the explanation.

</comment></comment></comment></comment></comment><comment><USER7> It has been posted before [2], so I'll repost my comment from back then [3]:

It's cool, but it's regexp, not regular expression -- regular expressions cannot test for primeness. The proof is a simple application of pumping lemma[1]: we want to show that language { a^p: p prime } is not regular. Suppose it is. By pumping lemma we have numbers N, n >= 1, such that for every k >= 0, we have a^(N+nk) in our language. But that means that for every k, N+nk is prime, and it fails for k = N, since N+nN = N(1+n) is not a prime, since both N and 1+n are greater than 1.

[1] - [http://en.wikipedia.org/wiki/Pumping_lemma_for_regular_langu...](http://en.wikipedia.org/wiki/Pumping_lemma_for_regular_languages) [2] - [https://news.ycombinator.com/item?id=3391547](https://news.ycombinator.com/item?id=3391547) [3] - [https://news.ycombinator.com/item?id=3391572](https://news.ycombinator.com/item?id=3391572)

</comment><comment><USER8> This is indeed beautiful. But the author limits itself to a low-level unpacking of the regex and running a few tests cases, all the while remaining mystified as to why this works.

A high-level description helps makes obvious what's happening:

      To check the primality of a number N with string matching,
        repeat a string (say, "1") N times
        and declare N prime:
          UNLESS the repetitions match the string 0 or 1 times
          OR the repetitions can be EVENLY matched into groups of MORE than one string.

<comment><USER9> I wouldn't say he remained mystified. His exploration of the 9 case basically explained how it worked, just the author chose to leave it a bit implied for the reader to figure out. I would agree for a blog post it's usually better to hammer the point home though.

</comment></comment><comment><USER10> Uses back-references, so it doesn't describe a regular language in the strict sense. Still, it's pretty cool to use them to trick a string-processing engine to do integer factoring.

<comment><USER11> "Regular expression" lost the sense of "strictly only regular languages" around the time that Perl crushed the world.

It's probably time to give up on that terminology nit-pick.

<comment><USER12> > _It 's probably time to give up on that terminology nit-pick._

Many Perl coders are self-taught programmers with no CS background. If a man page calls something a regular expression, that is good enough for them.

Why drop to that level if you know better?

I don't want to appear "gratuitously ignorant" in front of someone who might be a decent computer scientist.

There are already ways in which I will appear ignorant due to actual ignorance; why go out of my way to dumb down the way I speak about something that I _do_ understand?

If we are going to wreck math terminology why don't we just redefine "prime number". Let's see: 3 is prime, 5 is prime, 7 is prime, oh ... so 9 is prime 11, is prime, 13 is prime, 15 is prime ... And, what do you know: now we can use a regular regular regex for primality testing over the binary representation: why, it's just (0|1)*1. As a bonus, we can restore 1 to its proper status as a prime number and kick out the oddball 2.

Say, if Perl called an odd test function "isprime", would you start calling odd numbers prime?

<comment><USER13> I believe the next line in this traditional dialogue is "Language is a fluid thing and words are defined by their use!"

Your turn.

<comment><USER14> I can't tell if you're defending this line of thought or making fun of it, but the term "regular language" has a specific mathematical meaning and perverting it to include how Perl uses the term is wrong, plain and simple.

<comment><USER13> I was, in fact, slightly mocking both the argument and the related argument that people who use sloppy language like to bring out in favor of using words to mean whatever they like. I certainly agree that words with precise meanings are important to use correctly.

</comment></comment></comment></comment></comment></comment><comment> tom-lord I'm currently working on a ruby gem to generate _examples_ of given regular expression. For example:

        /this|is|awesome/.examples # => ["this", "is", "awesome"]

So, I tried it out on this "prime number validator" regex:

        /1?|(11+?)\1+/.examples
          #=> ["", "1", "1111", "111111", "11111111"]
        /1?|(11+?)\1+/.examples(max_repeater_variance: 50, max_group_results: 100).uniq.sort.map(&:length).first(10)
          #=> [0, 1, 4, 6, 8, 9, 10, 12, 14, 15]

        require 'prime'
        Array(1..100) - /1?|(11+?)\1+/.examples(max_repeater_variance: 50, max_group_results: 3000).uniq.sort.map(&:length) == Prime.first(25)
          #=> true

Horribly inefficient, but pretty cool! Here's my gem if case anyone's interested: [https://github.com/tom-lord/regexp- examples](https://github.com/tom-lord/regexp-examples)

<comment><USER15> Thank you very much for your great gem :)

Very usefull!

<comment> tom-lord Thanks :)

It's still "under development", while I add a few missing features, but as you can see from the README these are only for fairly obscure parts of the regex language! - E.g. POSIX groups, named properties, character set intersection, ...

</comment></comment></comment><comment><USER16> Nice (abuse of regexp) !

AFAICT the way the string is going to be parsed is equivalent to this:

      def isprime(n):
        if n == 0 or n == 1:
          return False
        i = 2
        while i <= n:
          if (n - i) % i == 0:
            return False
          i += 1
        return True

A parser implementation may optimize and do "while (n - i) >= 1" instead, which cuts in half the number of iterations.

<comment><USER17> A better implementation will only check to sqrt(n), as there can be no prime factor greater than that.

<comment><USER18> Yes, there can.

<comment> tom-lord The point is that if there is a prime factor greater than sqrt(n), then your will have already found its co-factor by then.

<comment><USER17> Correct. I misspoke. I should have said,

A better implementation will only check to sqrt(n), as there can be no prime factor greater than that without there also being a prime factor lower than that.

</comment></comment></comment></comment></comment><comment><USER19> I explored this technique applied to a few other problems just for fun, integer square root, coprimes, continued fractions, modulo, etc.

[https://github.com/fxn/math-with-regexps/blob/master/one- lin...](https://github.com/fxn/math-with-regexps/blob/master/one-liners.sh)

</comment><comment><USER20> It uses a string of '1' as a unary numeral representation of a number and then checks it for divisibility with 2,3,4... using brute force.

</comment><comment><USER21> less sexy when you write

      /^(11+?)\1+$/ is a prime test on whether a unary string  > 2 is composite

then people have a real chance of figuring it out. (go ahead and try, if you haven't read the article.)

As it stands that 1 x shift is super confusing. who would have thought 1 would become a literal! we wouldn't even write it that way in english.

</comment><comment><USER22> The thing that made this click for me was realizing the "1" in the regex was not special. The regex is just looping through integers (starting with 2) and checking if the target number is divisible by any of them. It can use any digit if the target string uses the same digit. Ruby example using 5 instead of 1:

def is_prime(n); str = "5"*n; str !~ /^5?$|^(55+?)\1+$/; end

The regex essentially says, for integer n, "does 2 ones fit evenly into n ones", then "does 3 ones fit into n ones", etc., which is the same as "does 2 fit into n", "does 3 fit into n", etc.

</comment><comment><USER23> Thanks for sharing. This is a post I wrote way back in 2007 and, even though, as many have pointed out, the algorithm is very inefficient, it is still a good illustration of how powerful regular expressions are.

When I am explaining the basics of regular expressions to people, I always refer them to this post to make them realize that regular expressions are not only glorified search terms. In general, they are amazed :-)

</comment><comment><USER24> An aspect of the syntax is confusing me here. I would have assumed that the expression 'x+?' would be parsed as '((x)+)?', ie. 'x*'. However, it seems the parser special-cases this as (x)(+?) instead, and interprets that as a non- greedy operator. Isn't this horribly inconsistent?

</comment><comment><USER25> nice trick!

here a JS implementation

        function isPrime(n) {
          var re = /^1?$|^(11+?)\1+$/;
          var s = [];
          while (n -- > 0)
            s.push(1);
          return !re.test(s.join(''));
        }

<comment><USER26> If I may suggest an improvement:

      function isPrime(n) {
        var re = /^1?$|^(11+?)\1+$/,
              s = (new Array(n+1)).join('1');

        return !re.test(s);
      }

<comment><USER27> Why not just function isPrime(n) { return !/^1?$|^(11+?)\1+$/.test(Array(n+1).join('1')) } then? :]

</comment></comment></comment><comment><USER28> We all learned this way back with the Regex Game: [http://regex.alf.nu/6](http://regex.alf.nu/6)

</comment><comment><USER29> Is there a way to write a (non-regular, of course) regular expression that checks for prime numbers in a non-unary base?

<comment><USER30> If there were, there would be finitely many repunit primes (via the pumping lemma and the notion that there are arbitrary large non-prime repunits).

Edit: that's not quite correct. The above would imply some simple structure in repunit primes. If you add the known asymptotical behaviour of the 'number of primes < N)' function, I think it would imply it.

Also, in binary, it would either imply there are finitely many Mersenne primes, or that there is a N such that all Mersenne numbers larger than N are prime (edit: Mersenne numbers are repunits in binary)

</comment></comment><comment><USER31> This one has been going around for a while. I'd be curious to see a base-2 or base-10 variant of it.

</comment><comment><USER32> Evidently beauty is in the eye of the beholder.</comment>


Show HN: Codeless Tests for GraphQL and REST APIs - <AUTHOR> https://github.com/kiranz/just-api/blob/master/README.md <comment><USER2> Projects which start their readme with an ask for donations turn me off, especially now that it is so easy to enable the "sponsor" button on github</comment>


How to read scientific literature [pdf] - <AUTHOR> https://www.dropbox.com/s/dspw4znky3upzy5/How%20to%20read%20scientific%20literature.pdf?dl=0 <comment><USER2> The best thing I took from this is to have a note taking template.</comment>


Keeping up with +500 new PHPUnit tests per week - <AUTHOR> http://tech.blog.box.com/2013/01/keeping-up-with-500-new-phpunit-tests-per-week/

<comment><USER2> We have a similar problem at 99designs and recently open-sourced the work- distribution framework we use:

<https://github.com/99designs/testcloud>

The difficult part (that is not included in testcloud) is synchronizing the codebase that you are testing on the different workers. We use git and post- receive hooks to synchronize.

Aggregating coverage data from the distributed workers is another major TODO for us, would love to hear how Box are handling it.

</comment><comment><USER3> This is really interesting to see how many different strategies you have to take to improve PHP unit, and impressive that many of them were very successful.</comment>


(Preprint) MMR Vaccine Appears to Confer Strong Protection from Covid-19 - <AUTHOR> https://www.researchgate.net/publication/341354165_MMR_Vaccine_Appears_to_Confer_Strong_Protection_from_COVID-19_Few_Deaths_from_SARS-CoV-2_in_Highly_Vaccinated_Populations <comment><USER2> wonder if age is being accounted for?

<comment><USER3> My thought exactly. I had the measles and mumps because I'm from before the time of the vaccines. Old people (of whom I curiously do not consider myself a member) never had those vaccines.</comment></comment>


Hey IAB, It's Time to Shake Hands with Adblock Plus - <AUTHOR> https://medium.com/buysellads-restoring-the-balance/hey-iab-its-time-to-shake-hands-so-we-can-start-building-the-future-8bb40d06fc34#.cbsfz06n2 <comment><USER2> To paraphrase Frank Zappa, _pheeeeuuuw_.</comment>


ArangoDB 3.0 Release – A Solid Ground to Scale - <AUTHOR> https://www.arangodb.com/2016/06/arangodb-3-0-a-solid-ground-to-scale/ <comment><USER2> I would love to see a comparison between Arangodb and Rethinkdb, especially performance wise. Is it suitable for realtime applications? What language drivers are supported?

<comment><USER3> Claudius from ArangoDB here. Frank already answered a question about realtime queries below: "We are evaluating various possibilities, how to implement streaming queries in an efficient and scalable way. For instance, are restrictions to the general AQL necessary for such queries to be able to scale? Stay tuned."

Regarding performance, it would be great if somebody with excellent knowledge about rethinkdb would contribute to [https://github.com/weinberger/nosql- tests](https://github.com/weinberger/nosql-tests)

</comment></comment><comment><USER4> Mad respect for these guys/gals, they managed to squeeze two game changing features in a single release: VPack and Clustering 2.0.

<comment><USER5> Not to blow my own trumpet but I think the new Foxx API (for letting you write your own HTTP endpoints in JS) is a huge step forward, too ;)

(I'm the lead developer of the new ArangoDB Foxx, AMA)

<comment><USER6> Do you have an example app written with some benchmarks?

It says that we can utilize npm, so, how is the compatibility with node? Native (C++) modules?

Is it used already in production somewhere?

(I am asking a lot of questions because I'm very interested, not anything else)

<comment><USER5> Hi egeozcan,

1) I don't think we currently have a benchmark specifically for Foxx. However we did some one-off tests in 2.8 and there was no noticeable difference between the plain HTTP API and a Foxx service using the equivalent JS API (just the V8 context switches).

2) See the section "Compatibility Caveats" in the docs: [https://docs.arangodb.com/3.0/Manual/Foxx/Dependencies.html](https://docs.arangodb.com/3.0/Manual/Foxx/Dependencies.html) Specifically we can't support native modules and there are limits to what Node APIs we can support (network and filesystem APIs are different and more restricted, also Foxx is entirely synchronous).

3) Yes! Check out the case studies linked a the bottom of the website: [https://www.arangodb.com/#casestudies](https://www.arangodb.com/#casestudies) All three of them use Foxx. I also dogfood Foxx: I'm the lead developer of a commercial e-learning product that uses full-stack JS with ArangoDB.

Feel free to swing by our community Slack channel if you have more questions: [https://slack.arangodb.com](https://slack.arangodb.com)

</comment></comment></comment></comment><comment><USER7> Great news! We decided a couple of months ago to go with arangoDB, we have built already a 32Gb Graph Database and so far it has performed really well. It's easy to install and great as a first contact on the GraphDB world aside from Neo4J.

</comment><comment><USER8> This looks pretty fantastic! I'm going to give it a whirl at my company...except...

It apparently uses Facebook's RocksDB, which is also, I'm told, a pretty nice package. However, there is this:

[https://github.com/facebook/rocksdb/blob/master/PATENTS](https://github.com/facebook/rocksdb/blob/master/PATENTS)

"The license granted hereunder will terminate, automatically and without notice, if you (or any of your subsidiaries, corporate affiliates or agents) initiate directly or indirectly, or take a direct financial interest in, any Patent Assertion: (i) against Facebook or any of its subsidiaries or corporate affiliates," ... and so on.

I _think_ that means that if my company goes after (in any way, shape or fashion) any Facebook patents, and we're using ArangoDB, we're instantly in copyright violation.

Is this a roughly accurate assessment?

Thanks!

<comment><USER9> You don't lose your copyright license, you lose the patent grant. Most MIT/BSD licensed software doesn't come with a patent grant; many people assume that you get an implicit grant but that opinion will vary depending on which lawyer you talk to.

<comment><USER8> Ok, I think that makes sense. So, to restate, that means that RocksDB (or whatever) might have Facebook patented code/material in it, and Facebook is granting a very generous grant to use those patents.

...until a given organization comes into patent conflict with any of Facebook's patents, at which time their grants disappear.

So if I'm understanding that correctly, doesn't that basically mean the same thing? You're no longer allowed to use their software?

<comment><USER9> "until a given organization comes into patent conflict with any of Facebook's patents"

Note that the grants only disappear if you _initiate_ the conflict; they don't disappear if Facebook initiates and you counter-sue.

<comment><USER8> Ok, so that's a useful clarification.

My problem is that I'm working for a subsidiary of a really big company that is directly competing with some parts of Facebook. There's a non-zero chance that some part of my company, far far away from me, will initiate an action that triggers this clause some time in the future.

In short: my company's ability to use a growing set of otherwise high-quality projects is greatly impacted because of this legal language. I also strongly suspect this isn't limited to just my organization.

One way or another, thank you for your attention.

I would love to hear from any other members of large organizations about this matter. Granted, my view is pretty limited, but this doesn't strike me as a good way forward for the overall free software community.

<comment><USER9> AFAICT, Apple finds this patent grant acceptable, whereas previous versions were unacceptable. Apple is well known for suing competitors for patent infringement, so they obviously feel that the loss of this patent grant would be acceptable, that the devolution to pure BSD is enough protection.

<comment><USER8> Well, Apple certainly qualifies as a big company, thanks for the input.

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> We have been using ArangoDB (2.8.x) for some time. Solid product with awesome support in Google group and SO. Great job guys! Looking forward to migrate to 3.x especially for the persistent index.

</comment><comment><USER11> Awesome, I JUST started using ArangoDB for my latest project. So far so good, and these changes look solid. Only thing I wish they had(unless I'm missing something), is a GridFS type storage.

<comment><USER12> Hi this is Jan2 from ArangoDB... my team mate Jan1 wrote a blogpost: You can already handle binary data with ArangoDB Foxx framework... here is how [http://jsteemann.github.io/blog/2016/06/22/handling- binary-d...](http://jsteemann.github.io/blog/2016/06/22/handling-binary-data- in-foxx-3-0/)

<comment><USER11> Interesting, not sure I want to go down that route of creating a separate Foxx service to essentially shoehorn in blobs. We'll see what happens in the future, when that becomes native. But since you guys love incorporating many types of databases into one, add ArangoFS ;)

</comment></comment></comment><comment><USER13> Congratulations! What a nice bunch of new features. Thinking all three models from the ground up has really payed off! Will check out the docker image soon...

<comment><USER14> Max from ArangoDB here. Just to avoid disappointment: The official Docker image arangodb will need a few days to be updated and be validated by Docker. Use arangodb/arangodb:3.0.0 in the meantime.

</comment></comment><comment><USER15> Does ArangoDB support streaming queries like RethinkDB?

<comment><USER16> We are evaluating various possibilities, how to implement streaming queries in an efficient and scalable way. For instance, are restrictions to the general AQL necessary for such queries to be able to scale? Stay tuned.

</comment></comment><comment><USER17> This looks really interesting. Is there a NodeJS ORM comparable to Mongoose for using Arango?

<comment><USER16> You can use the Foxx framework to create a REST api that suits your needs. There is also a community project for an ORM, see [https://github.com/arangodb/arangojs/issues/215](https://github.com/arangodb/arangojs/issues/215)

However, in general it is more flexible and safer to use Foxx, because it allows you to fine tune complexes queries and supports transactions.

</comment></comment><comment><USER18> Can I change the number of shards on an existing collection without taking it offline?

<comment><USER16> Hi, I'm Frank from ArangoDB. You should create a number of shards that is much higher than your initial number of servers. ArangoDB can cope with multiple shards per server. This way, you can easily redistribute shards when adding new servers.

<comment><USER18> Thank you for the answer. I'm currently dealing with an inflow of about one million documents a day; it's an ever growing collection (grows by a few TB each year). Should I just configure it with 1000 shards? Or would it perform bettet with fewer shards?

<comment><USER16> yes, using 1000 shards would work. Eventually, we will also support splitting shards.

<comment><USER18> Thank you, that was the answer I was hoping for.

</comment></comment></comment></comment></comment><comment><USER19> Is there a reliable python module for working with ArangoDB 3.0?

<comment><USER7> We use joowani/python-arango, but I haven't test it with 3.0 yet.

<comment><USER19> My dream is to see one of these graph databases use NetworkX for the python API and the database for the back end / storage.

<comment><USER7> That's a pretty cool idea.. Up until know I have used JSON whenever I wanted to use NetworkX. It shouldn't be too complex to connect them.</comment></comment></comment></comment>


Foreign Data Wrappers in PostgreSQL and a closer look at postgres_fdw - <AUTHOR> https://www.percona.com/blog/2018/08/21/foreign-data-wrappers-postgresql-postgres_fdw/ <comment><USER2> Would be waiting for a similar post on PostgreSQL talking to other heterogenous databases like MySQL and MongoDB.

</comment><comment><USER3> A summary of all the main features included in the PostgreSQL FDW so far with Illustration.

</comment><comment><USER2> This is one of the posts requested by many PostgreSQL users.

</comment><comment><USER4> A great article on this very useful feature of PostgreSQL.</comment>