Wallabag: a self-hostable application for saving web pages - <AUTHOR> https://wallabag.org/en <comment><USER2> Wallabag is a solid alternative to Pocket. The founder's interview on IndieHackers [1] is pretty nice. They seem to be making around $350/mo from their hosted service.

I also wanted to throw in a link to a similar service that I run called EmailThis ([https://www.emailthis.me](https://www.emailthis.me)). Instead of having to create an account on another website and installing additional apps, EmailThis works by sending the web page (after stripping ads and clutter) to your email.

[1] [https://www.indiehackers.com/businesses/wallabag- it](https://www.indiehackers.com/businesses/wallabag-it)

<comment><USER3> I've been meaning to give Wallabag a shot, and might actually have the wherewithall to do that now.

I'd used Readability, until it shut down (and still have nearly 800 articles now identified only by its rdd.it URL shortener, which is to say, utterly useless to me).

I've been using Pocket for the past two years or so. Unfortunately, the more I use it, the worse it gets.

The basic webpage simplifier aspect of it is fine. The problem is that an archive with more than 100 or so entries in it is effectively write-only. The abililty to search and utilise the store is all but nil.

I've over 6,000 articles saved, with the goal of supporting a research- oriented trove of previously-viewed, vetted, and categorised articles.

It takes several minutes to scroll through my set of tags. _There is no text- based incremental search._ Nor any other form of text-based search. And that's just the tip of the iceberg.

The one saving grace so far is the ability to export a list of URLs and tags, though working with that takes considerably more effort.

[https://www.reddit.com/r/dredmorbius/comments/5x2sfx/pocket_...](https://www.reddit.com/r/dredmorbius/comments/5x2sfx/pocket_it_gets_worse_the_more_you_use_it/)

[https://www.reddit.com/r/dredmorbius/comments/688oc9/pocket_...](https://www.reddit.com/r/dredmorbius/comments/688oc9/pocket_the_worsening_continues/)

<comment><USER4> Pocket Premium does offer full-text search - [https://help.getpocket.com/article/882-pocket-premium- faq#q2](https://help.getpocket.com/article/882-pocket-premium-faq#q2)

However it was completely useless for me the handful of times I tried to use it.

<comment><USER3> I mention that in the articles -- I'd had the freebie version of that for a while.

One very unhappy moment was when that went away without notice -- service downgrades are sort of the exact opposite of "underpromise, overdeliver".

And ... the search was at best only marginally useful, as you note.

The _other_ antipattern aspects of Pocket, as well as the absolute failure to progress in anything remotely like a useful direction, are exceedingly disappointing.

<comment><USER2> Can you also give EmailThis a shot?

As I've written in the FAQs [1], one of the key advantages of EmailThis is that you don't rely on any external service. So if a service like Readability goes down, you don't end up losing all your saved bookmarks.

Regarding search & filtering, if you are using Gmail or Outlook, you can set filters that automatically move incoming bookmark emails (that EmailThis sends) into specific folders based on keywords/tags.

You can also leverage the fulltext search that your email client provides.

[1] [https://www.emailthis.me/pages/faqs#instapaper- readability-a...](https://www.emailthis.me/pages/faqs#instapaper-readability- alternative)

<comment><USER3> I really like the concept, and have strongly considered such a service.

The problem is actually email. I no longer trust it as a secure and private facility.

I've thought of maintaining a _local-only_ email archive as an alternative, which kind of works.

Alternatively, if you were willing to support PGP, and not include metadata in the subject line, that would be an option.

Other than that, I think the idea and service are excellent, and thank you for it, it's just not for me :(

</comment></comment></comment></comment></comment></comment><comment><USER5> Wow not sure why there's so much hate in the initial comments here. I've been using Wallabag for months now as an open source replacement for Pocket and it's been great. They've got great mobile clients, too, which is really what I was looking for. It's not _perfect_ -- some articles get scraped incorrectly or incompletely, but that's fairly rare. Overall this is a great open source project that I haven't really seen getting much press for some reason.

<comment><USER6> I don't understand why there's so much hate for asking basic questions about what the point of using Wallabag is. I am asking questions because I don't understand why this would be appealing. I am not suggesting people should hate it.

<comment><USER7> Try phrasing your question differently:

"This seems very similar to what I can do for free in Chrome using extension/hack/little know default functionality xyz - am I missing something?"

Now I'm not saying we should put soft blankets around everything we say but in this case it would be more useful for us to read (if you have a good solution) and indicates that you are aware that the rest of us might have found something useful that you overlooked.

</comment></comment></comment><comment><USER8> I have a po'-mans version of this: I print everything to PDF.

From PDF, I can grep/grok/sed/convert to my hearts content.

So okay yeah, my po'-mans document/information-organization-system consists of a bit of muscle memory and judicious use of ^-R to get to the ol' grep. But .. true fact .. if you do the info-management at the command line, it scales.

GUI's don't, whether they're web or otherwise.

</comment><comment><USER9> The discussion 3 months ago on bookmarks mentioned several options for archiving pages (some locally): _Ask HN: Do you still use browser bookmarks?_ | [https://news.ycombinator.com/item?id=14064096](https://news.ycombinator.com/item?id=14064096)

extensions: Firefox "Print Edit" Addon / Firefox Scrapbook X / Chrome Falcon / Firefox Recoll

open source: Zotero / WorldBrain / Wallabag

commercial: Pinboard / InstaPaper / Pocket / Evernote / Mochimarks / Diigo / PageDash / URL Manager Pro / Save to Google / OneNote / Stash / Fetching

public: [http://web.archive.org](http://web.archive.org) / [https://archive.is/](https://archive.is/)

</comment><comment><USER3> Request / recommendation to the Wallabag team: please provide a video or slideshow (I'd actually prefer the latter, mostly) which shows an advanced-use workflow.

The wallabag.org video shows ... pretty much nothing of any value.

I checked YouTube and found several "how to install" vids, but nothing showing actual use.

As I've described in an earlier comment (and extensive posts at [https://dredmorbius.reddit.org](https://dredmorbius.reddit.org)), for someone who's looking for a true archiving tool with research interests, and for whom porting an archive of several thousand (or more) references is not a trivial undertaking, lowering the ramp to understanding the value of this tool is crucial.

Thanks.

</comment><comment><USER10> After looking at the website, it still took me some time reading the comments to understand what it does. It's an open source version of pocket you can host yourself, and if you want, they host for you for 12 euros a year.

It's interesting, but pointing to the product page instead of the github project page makes it look like advertising a paid pocket competitor with no apparent advantages.

</comment><comment><USER11> Perfect fit for sandstorm.io - although making it that easy to self-host might undermine their business model.

Although - it's getting pretty easy to deploy things in a bunch of different ways nowadays. If your business model is entirely based on "I don't want to host this myself" then there's a chance it might be increasingly fragile.

<comment><USER12> Already on cloudron - [https://cloudron.io/store/org.wallabag.cloudronapp.html](https://cloudron.io/store/org.wallabag.cloudronapp.html)

<comment> M-arcus It's here: [https://cloudron.io/store/org.wallabag.cloudronapp.html](https://cloudron.io/store/org.wallabag.cloudronapp.html)

Cloudron in General is pretty goof. They just released the 1.0 version.

</comment></comment></comment><comment><USER13> This looks very interesting and like something I'd love to use, but I'm not sure it's functionally complete. For example, saving this thread to it gives me this: [http://imgur.com/a/VFQ45](http://imgur.com/a/VFQ45). None of the comments appear...

</comment><comment><USER14> I had Wallabag on my VPS (more than a year ago) but there were issues with the session cookies where I basically had to login every time I wanted to access it. This was so tedious I stopped using it. I hope this has been resolved now, I really liked Wallabag.

</comment><comment><USER15> What is up with the background music for app demo videos these days? These cute, jaunty, almost childlike melodies all seem the same to me and I'm trying to think of where I first heard the trend. Was it Apple in the late 00s?

</comment><comment><USER16> Any comments on [https://www.dropmark.com/](https://www.dropmark.com/)?

</comment><comment><USER17> Noone has mentioned webrecorder.io, which is what i use to archive pages.

</comment><comment><USER18> Need to register just to actually see and try out the application? Just no.

<comment><USER19> Also, why is this on a .org domain?

<comment><USER20> It's an open source project - the source is available here [https://github.com/wallabag/wallabag](https://github.com/wallabag/wallabag)

<comment><USER19> Ok, I stand corrected. But to be honest, the webpage looks so much like it's a business that I can't blame myself for being fooled here ...

</comment></comment></comment></comment><comment><USER6> Why should I pay 12 Euro a year to do something I can do in Chrome for free?

<comment><USER21> \- You don't have to pay, you can self host.

\- You may want to access your bookmarks outside of chrome.

\- You may want to access your bookmarks when you are not in a safe machine.

\- You may want an API for your bookmarks.

\- You may not be using chrome.

\- You may care about your privacy and want to split the data stack about you among as many providers as possible.

<comment><USER6> > Self host

That's more expensive than the 12 Euro when you factor in the time I would have to spend to do that.

> Outside of Chrome

Ok, substitute Chrome for any browser. How is this better than reading the saved webpage off of a hard disk?

> Not in a safe machine

If the machine is not safe, why am I using it at all?

> API

To do what, exactly?

> may not be using Chrome

Every browser now has a "Save webpage, complete" feature. It's not a Chrome thing.

> privacy

There's nothing more private than my hard disk.

<comment><USER22> You might have missed the point. This allows you to share saved webpages accross machines. The save webpage, complete feature saves it to your hard drive, locally. What I want is to be able to save pages from my desktop, and read them from my android phone.

<comment><USER6> I definitely missed the point; that's why I asked what the point is.

Thank you for clarifying that the thing you want that this software provides is the ability to synchronize saved content across multiple devices of different platforms.</comment></comment></comment></comment></comment>


Pre-release iPhone firmware 2.0 confirms 3G iPhone is coming soon - <AUTHOR> http://www.iphonehacks.com/2008/05/3g-iphone-news.html <comment><USER2> Apple will always limit the potential of the iPhone because of it's ability to cannibalize MBP and MBA sales.

True competition will come from a company with no such issue to worry about.

<comment><USER3> I find this comment ridiculous. I don't think anyone, including Apple is worrying about the iPhone cannibalizing Laptop sales. A Laptop and Cell Phone (even the iPhone) are complementary. People will buy both, not one or the other.

The iPhone is capable of doing quick mobile browsing while you are standing in line or at a bar, but there's no way it replaces anyones laptop in its entirety. <USER3>
<comment><USER4> > A Laptop and Cell Phone (even the iPhone) are complementary.

Not for much longer. Have you noticed that the most capable phones are getting larger and the least capable laptops are getting smaller. And both are available with Windows, Linux and MacOS X. See <http://news.ycombinator.com/item?id=186508> a possible future mix.</comment></comment></comment>


The Real Threat of Google Earth - <AUTHOR> http://rupizmedia.blogspot.com/2008/06/threat-of-google-earth.html Google Earth is gradually becoming more and more popular with the mass users too, But is it a threat to the world. When Google earth had just launched itself, as the virtual globe program, not many people knew about it .... <comment><USER2> FUD</comment>


Meltdown and Spectre: Exploits and Mitigation Strategies: Part 2 - <AUTHOR> https://databricks.com/blog/2018/01/16/meltdown-and-spectre-exploits-and-mitigation-strategies.html <comment><AUTHOR> You can find part 1 here: [https://databricks.com/blog/2018/01/13/meltdown- and-spectre-...](https://databricks.com/blog/2018/01/13/meltdown-and-spectre- performance-impact-on-big-data-workloads-in-the-cloud.html)</comment>


What's it worth to you be in "the zone" for extend periods of time? - <AUTHOR> https://nooyoo.typeform.com/to/v3m1oW

<comment><AUTHOR> I am also here to answer any questions anyone might have.</comment>


Multimedia C++ library SFML 2.0 has been released - <AUTHOR> http://www.sfml-dev.org/

<comment><USER2> It's an easy library to get into. I was able to play around with basic OpenGL, and the program was cross-platform without needing any #ifdef statements. What's amazing to me is how Laurent basically writes it and runs the website by himself (as far as I can tell).</comment>


Building the pipeline from prison to tech - <AUTHOR> https://www.un-loop.org/ <comment><USER2> This is exactly what happens when jobs turn blue collar, anyone can do them, even ex-cons. Working in tech is like plumbing, and it's bad for blood circulation.</comment>


Why Do We Still Have to Work?  - <AUTHOR> http://bigthink.com/politeia/why-do-we-still-have-to-work

<comment><USER2> There's an interesting talk by Jaron Lanier that also addresses some of these issues: <http://www.youtube.com/watch?v=vInXNqK_eIk></comment>


Sandstorm – An open source platform for personal servers - <AUTHOR> https://sandstorm.io/ <comment><USER4> Things like Sandstorm are really important as they allow people options without becoming a full-blown sysadmin. Just look at how many crowd funding ideas are based on 'personal cloud' concepts.

However, we also need to work on the fundamental problems to make it easier to build decentralised products in the first place (not everything is a web-app). Namely, how such apps are built, how they store/sync data, and how we deal with identity. The current tools simply aren't designed for the world we're heading towards, so we need to re-evaluate our assumptions. On top of this is the need for business models that don't rely on mass data collection (eg advertising) -- we can't rely on everything being open source but the underlying infrastructure must be.

There are many ways forward and the particular approach I'm taking is based on unikernels and creating a modern stack to deal with the above issues directly. There's more info at [http://amirchaudhry.com/brewing-miso-to-serve- nymote/](http://amirchaudhry.com/brewing-miso-to-serve-nymote/)

If anyone happens to be at FOSDEM this weekend I'd be happy to chat about these ideas in person.

<comment><USER5> In terms of storage, here's something I've been working with for one of my current projects:

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

Open protocol for synchronized personal storage. It uses a decentralized model where users provide and pay for their own storage. Could be game-changing if it takes off.

<comment><USER6> I've quickly read through your RFC, and since I've recently added support for Content-Range to LibreS3[0] that is the first thing I looked for, and sure enough you support it.

Although it is not clear to me why you need to use webfinger to announce Content-Range support. There is Accept-Ranges header, or you can detect that you get a 200 instead of a 206 reply on a Range request for GET.

For PUT RFC7233 says "A server MUST ignore a Range header field received with a request method other than GET." so I'm not sure how that would work there, can you give an example?

[0] [http://blog.skylable.com/2015/01/build-your-own-cdn-with- sky...](http://blog.skylable.com/2015/01/build-your-own-cdn-with-skylable/)

<comment><USER5> I should have probably made it a bit more clear that I'm only working WITH remoteStorage on one of my side projects, and am not one of its developers. =)

</comment></comment></comment></comment><comment><USER7> Here is how to write a landing page.

Big letters: "Sandstorm makes it easier to do XYZ" or "Sandstorm lets you do XYZ by doing XYZ"

E.g. "Sandstorm lets you run your own personal web applications without needing a background in IT!"

or "Sandstorm lets you to install personal web apps as easily as you install mobile apps!"

3 examples of what this could actually mean for 80% of your users "Run your own Dropbox!" "Host your own WordPress Blog!" "Get a mailbox to match your personalized email address!"

THEN drill down into what it actually is (Sandstorm is a open source platform that makes it easier to run and manage your own personal server, yadda yadda), and its more specific features, such as usability, security, etc.

(This advice operates under the assumption that "individuals" are your main target audience.)

<comment><USER8> +1 I went to Sandstorm's home page, and spent the first 5 minutes trying to figure out what it is & what it does.

"Sandstorm is an open source platform for personal servers". Ok, fine, but what is it REALLY? What does it do? Why is it better than (hosting / VPS hosting / AWS / Docker / PaaS)? Give me some examples of what I can do with it.

Sorry, you lost me with your home page.

<comment><USER9> It's better because the internet was supposed to be a bunch of computers talking to each other. It was a beautiful vision. Instead, it's been centralized on two levels:

FB/Google/Instagram etc. serving content, and AWS/DigitalOcean owning the hardware for those intrepid individuals who want to roll their own solutions.

The internet wasn't supposed to be Amazon, Google, and Facebook all talking to each other. It's scary that ISP's don't even want you to host your own (modest) server. It's SUPPOSED to be a bunch of computers networked together! Sandstorm makes it easier to live that vision where you own the hardware, or at LEAST have full control over your cloud. It doesn't necessarily need to be your home computer - a colo'ed odroid (or RPi if your needs are modest) would do the trick too. As more and more of the internet is gobbled up by VPS services I think it's important that the average Jane or Joe can still put together their own website, blog, game server, etc. and not be reliant on a company for it.

<comment><USER10> Unfortunately, I don't see how this solves the problem. The main problem for me is this part of my ISP's ToS: "Users may not run any type of server on the system."

Further, every ISP I've ever had has had some such clause. I'd have to get a business plan to actually be allowed to run a server. So who is this, or any home server software, even for?

(Or at least, who in the US)

<comment><USER11> Sandstorm is not necessarily about running the server at home (though you can). It's more about being able to choose what is on your server and control how your data is stored and accessed, whether on a home machine or running in a datacenter.

<comment><USER12> I think I can use apt-get/rpm/etc to control what's on my server already these days?

<comment><USER11> Sure, but only if all of the following are true:

1) You understand how to use the Unix shell and everything else that goes into maintaining a Unix machine.

2) You have the time to do it. (This is what has always stopped me, FWIW.)

3) You are willing to spend money on a machine that has sufficient resources to be responsive when you use it but sits idle 99% of the time since you're the only user.

These obstacles are what drive people to SaaS, where they no longer have freedom to install arbitrary software.

</comment></comment></comment></comment></comment></comment></comment><comment><USER13> Sounds cool but I think the WordPress implementation is TERRIBLE: it depends on a WordPress fork that is completely outdated, instead of downloading an up- to-date fresh archive.

<comment><USER14> I agree -- the current WordPress package needs work. Thank you for trying it and looking into it!

Community-wise, one thing we're going to need, as Sandstorm grows, is an ecosystem of app package maintainers. Part of what we're hoping is that more developers of the apps themselves will maintain the Sandstorm ports, like Audrey Tang is maintaining the EtherCalc port.

Tech-wise, one thing we're going to need is a solid story for how Sandstorm packages will easily stay up to date with the latest changes as the upstream author releases new updates.

I work on+for Sandstorm, and I'm also a Debian developer. Debian is not a shining example with regard to either of the above, and I'm sure we can do even better at Sandstorm.

<comment><USER15> Is it possible to run arbitrary Docker containers? If so, that could be a solution.

<comment><USER14> It's not currently possible to run arbitrary Docker containers through Sandstorm, since we prefer app packages (we call them SPKs) to be:

* Self-contained -- if the app needs MySQL, bundle it;

* Able to run with external network access unavailable -- this improves security, since even if an app gets compromised, it's not a big deal since it can't leak any data out to the world;

and a few other constraints that are more technical than philosophical.

[https://github.com/sandstorm-io/sandstorm/wiki/Porting- Guide](https://github.com/sandstorm-io/sandstorm/wiki/Porting-Guide) hints at them, but I don't quickly find a reference for all these constraints. I'm likely to write such a reference in the next few days/weeks, though.

<comment><USER16> These preferences of yours appear to be a step back from installer scripts like Softaculous. Fantastico, etc.

It's a nifty/fun project, but why in the world would I bundle MySQL with a simple blog platform?

It seems like you're trying to reinvent the wheel, and making it less functional in the process.

<comment><USER11> We actually don't want apps to bundle MySQL -- we'd prefer they use sqlite. :) But the point is, it's up to the app. The app gets a slice of filesystem and they can use whatever infrastructure they want to store stuff to it.

We want the experience for users to be install app, use app, without worrying about setting up databases and such. We also want to enforce isolation between apps so one app cannot access another's data, and that's a lot easier to do if they aren't sharing a database. Considering these desires, it makes sense to say that apps should simply bundle their database of choice.

</comment></comment></comment></comment></comment></comment><comment><USER17> Btw the main developer, Kenton Varda, is also the author of Cap-n-Proto -- a pretty neat serialization & RPC format.

[https://capnproto.org/](https://capnproto.org/)

I was playing with that and stumbled on Sandstorm a while back.

<comment><USER18> He likes LAN parties: [http://kentonsprojects.blogspot.com/2011/12/lan-party- optimi...](http://kentonsprojects.blogspot.com/2011/12/lan-party-optimized- house.html)

<comment><USER19> I was there! Small world. I would definitely use sandstorm if I wasn't an IT guy.

</comment></comment></comment><comment><USER20> On their github page, it still shows a warning about not using it for mission critical applications.

[https://github.com/sandstorm-io/sandstorm](https://github.com/sandstorm- io/sandstorm)

<comment><USER21> Well, it's kinda an Alpha. Goes without saying, doesn't it?

</comment></comment><comment><USER22> It's the case of me scrolling the site and reading most of the GH readme - <USER2> still getting almost no idea what status it is, what is the goal/vision and how I might use it..

"We do LXC stuff in secure and user friendly way" is the message?

<comment><USER14> Here's my own summary, which if you like it, I can try harder to make sure becomes more prominent somewhere:

Sandstorm is a way to run web apps as containers, gloriously sandboxed from each other, and moreover a web interface to install them easily and allow the user to create multiple instances of a web app easily.

It intends to grow features relating to sharing instances -- so that an instance of a web app is as easy to share with someone else as a Google Docs link -- and grow features relating to supporting more network protocols -- so that apps can safely communicate with the outside world, mediated by the person using Sandstorm.

Right now, the target audience is people who like running web apps like WordPress or Ethercalc on their own server. In the future, the target audience will grow to include companies whose IT departments want to enable users to install web apps safely without asking IT first -- they'll know it's safe due to the glorious sandboxing.

<comment><USER23> How is glorious sandboxing different from regular sandboxing? Is there a 'glorious' certification?

Just kidding - looks pretty awesome!!

</comment></comment></comment><comment><USER24> I don't understand what this is. Can someone explain? What the hell does "This is the only way to make Open Source web apps viable." mean?

<comment><USER21> The primary idea being that open source web apps can be used without having to be a server admin. Non-technical users can install apps on a Sandstorm server as easily as installing apps on their phone.

<comment><USER25> More details: [https://blog.sandstorm.io/news/2014-07-21-open-source-web- ap...](https://blog.sandstorm.io/news/2014-07-21-open-source-web-apps-require- federated-hosting.html) The central point (IMO) was economical: self-hosting frees developer from expenses. Trivial installation is just a pre-requisite for self-hosting to be acceptable.

</comment></comment></comment><comment><USER26> First(?) discussion on hn: [https://news.ycombinator.com/item?id=7460828](https://news.ycombinator.com/item?id=7460828)

After about a year -- how tied up is sandstorm to meteor? I confess I have issues with the our-way-or-the-highway nature of meteor (our js, our db, our app-server) -- even if I can see that it does appear to give some pretty nice benefits for rapid prototyping.

I'd love to see sandstorm as a handful of small tools with various uis on top: command line, web, etc. Seems like it should be possible to do with (on the extreme end) go and and a berkley/sqlite db+file system for images?

<comment><USER11> Sandstorm's front-end UI is built on Meteor, but this doesn't affect apps -- they can be written using any stack. We have apps written in Meteor, Express, Rails, PHP, Python, C++, and Rust.

Meteor is actually amazingly modular if you look under the hood. We use it in a fairly default configuration, but it's easy for me to see how I would go about using a different database or a different templating language. Those people write high-quality code.

Eventually I would like to ditch Mongo and instead have Meteor speaking Cap'n Proto RPC to a Cap'n Proto database. I don't expect that I'll have much trouble getting Meteor to do this.

> I'd love to see sandstorm as a handful of small tools with various uis on > top: command line, web, etc.

Hmm, not sure I understand what you're suggesting. Sandstorm is all about UI and running web apps, so it seems to me that a "command-line interface to Sandstorm" would really be a whole different project. :)

</comment></comment><comment><USER23> Would a sandstorm app prevent you from using say, Google analytics or new relic without getting a users permission?

<comment><USER27> I don't think Sandstorm wants to be a platform on which you host your large user-facing app. Instead it wants to be the platform on which you can install your personal wiki, ipython notebooks, your streaming media library, etc.

You as the owner of the Sandstorm instance will control whether the apps on your instance can send data to Google for Google Analytics, for example.

If you invite someone else to use an app on your Sandstorm instance, they will trust _you_ with their data and you can decide whether the apps on your instance share the data with Google or not.

<comment><USER23> Ah, that makes much more sense now! I think they need to figure out a better way to spell out their value proposition.

</comment></comment></comment><comment><USER28> Does anybody have any thoughts on the differences between Sandstorm, Camlistore, and Tent?

It seems there are a number of problems here. We need:

1\. Better data stores 2\. Better server environments 3\. Better ways to share data with others

I wonder if Camlistore's approach might not be the cleanest, since it doesn't try to bundle (1) and (2) together.

EDIT: Not to get too sappy, but any of these would be _fantastic_ compared to our current Web 2.0 disaster, and I'm glad Sandstorm is picking up steam.

<comment><USER11> Camlistore and Tent are both complimentary to Sandstorm. Sandstorm gives you a way to run apps easily, Camlistore is a structured storage system which other apps could connect to, and Tent is a federation protocol that apps could use to talk to each other. I'd like to see this all converge at some point. :)

<comment><USER28> That's awesome news.

I'm suspicious there's too much overlap between Camlistore and Tent for them to both be useful, since they each do data storage and sharing, but that's not your problem:)

</comment></comment></comment><comment><USER9> This is exactly what needs to exist. I recently set up Ghost, Owncloud, and Gitlab on a personal server (odroid U3) that sits under my couch at home, and it's really rewarding to own the hardware which is my "cloud". However, it should be easier, and possible for anyone. Good for you guys.

<comment><USER29> ghost what?

<comment><USER26> Incidentally, running containers is probably a great way to "install" the ghost libc vulnerability[1] (assuming you're basing off of base-images made before the bug was patched, and you haven't updated your containers/images).

I'm not sure neither vagrant nor docker have this really fixed -- that is: easily patching the base system/image (and still be confident that the app keeps running).

Is there an easy way to update a container based off of a (possibly few generations remote) base-image? Eg: You've pulled down a bare-bones, official CoreOS/Ubuntu/Debian/RedHat image from docker -- set it up for your use-case (say made a base image with your own CA-cert bundled, wired it up for kerberos/ldap/AD, maybe set up a trusted ssh-server ca-cert) -- then made a handful of images based off that: db, cache, and web-app.

Is there an easy way to patch the base image and all descendants? I assume all state should be in other volumes, so maybe this is easier than I think?

At any rate, it is something to keep in mind -- that grabbing images are great, but updates are still needed!

As other mention, the ghost refereed to by gp, is a blogging platform.

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

<comment><USER11> Well, bad news, good news, and curious news:

Bad news: Sandstorm packages do not have any particular separation between "base system" and "app"; your app package is simply one big archive of the entire userspace filesystem needed. This is something we might conceivably do in the future, but for now we like the simplicity.

Good news: Once the app maintainer publishes an updated package, it is trivial to update your local app instances in-place. Much like installing apps on Android, the system just swaps out the old package for the new one without touching the user data. We are confident enough in the robustness of this that we plan to implement auto-updating of apps, again like Android (though you'll be able to turn it off if you prefer).

Curious news: With Sandstorm, it often (not always, but often) doesn't matter if an app has vulnerabilities. Each app instance is initially only accessible by its owner, and only accessible to others if the owner explicitly shares with them. Often, the people you are collaborating with aren't threats -- they're your friends.

Apps that public a public web site -- like Ghost (the blog platform, not the glibc vulnerability :) ) -- actually do so strictly as static content. Sandstorm serves the content for them, without executing any of the app's code.

Admittedly, this starts to break down if you want to have a public web site in which users can make persistent changes -- say, post comments.

Of course, if someone does compromise one of your app instances, it's only that instance. The rest of your server remains safe, since each app is in an isolated container.

None of this is to say that patching exploits doesn't matter, but security is not about absolutes, it's about risk management. It's significantly less likely that a bug in a Sandstorm app will lead to real damage.

</comment></comment></comment></comment><comment><USER30> There's a lot of focus of how sandstorm allows you to run web applications easily without having to setup the back-end that they need without SS.

There is an additional edge case, that's of web applications that don't have a back-end at all, ours falls into that category. Our web app is a by-product of two of our commercial products, but we don't actually have user management, storage, etc.

Online we integrate with Google Drive and Dropbox, but you can't create an account with us and store your data with us. Sandstorm allow people to deploy our web app, whereas you can't at all, previously. It saves us months of work creating and maintaining the functionality it provides.

</comment><comment><USER31> Sandstorm - this is wickedly cool, tried the demo and it worked great, can't understand all the 'do this, do that' comments. As someone who is just learning to play with docker - just finished dockerizing all my vps apps so the first thing I think of is there a Dockerfile to build this or a docker image - off to have a look for one. Awesome stuff - like the collection of apps you have ready to go. Maybe you have fixed the landing web page in the meantime but I had no trouble understanding what you are about. 100.times upvote.

<comment><USER11> Thanks!

</comment></comment><comment><USER32> > No protection from getting your job done: Security can often be a hassle, > getting in the way of your work. Sandstorm is different. When you tell a > Sandstorm app to talk to some other app, or to talk to the internet, > Sandstorm sees your intent and automatically grants it access. So, you are > never interrupted by a prompt asking "Do you want to allow this app to the > thing you just told it to do?" And yet, the apps only get the permissions > you actually wanted them to have.

So... the program is psychic?

<comment><USER33> > So... the program is psychic?

No, it's just based on DOS.

</comment></comment><comment><USER34> > Contributors: Jasvir Nagra <img src=x onerror=alert()>

Nice try :)

<comment><USER11> I love that Jas (being on the Google security team) just instinctively XSS's any form he fills out, and I love that our code just leaves his tag there, properly escaped, for all to see.

</comment></comment><comment><USER35> Looks great but memory usage is ambiguous. What if I load a data structure to over the 1gb allocation?

If I need to load a 1.2gb dictionary the whole thing topple?

<comment><USER11> There is no 1GB limit. I think you might be confused about compute units? Compute units are just a measure of RAM usage over time -- a compute unit is 1GB of RAM used for one hour. An app can use more than 1GB of RAM; it will just consume compute units faster. E.g. an app using 2GB will consume a compute unit in 30 minutes.

This all relates to our upcoming managed hosting. Self-hosted installs are not metered since it's your own hardware.

[https://blog.sandstorm.io/news/2015-01-14-compute- units.html](https://blog.sandstorm.io/news/2015-01-14-compute-units.html)

</comment></comment><comment><USER36> This looks incredibly useful for things we're currently trying to make Docker do. Huge potential here.

<comment><USER37> Hey polynomial, I'd love to learn more about your use case. Drop me a line at jade at sandstorm?

</comment></comment><comment><USER38> I am not really sure why this is so exciting to everyone. I have seen a couple comments asking what this software does, explicitly. I will admit I like the idea of personal servers but I am not sure how to apply this potential amazing software to my life. Suggestions?

</comment><comment><USER39> Very cool project. I've played around with this same idea, but as a CLI package manager, rather than a webapp.

I think it would be cool to have custom VPS image, where you can install webapps to it from the CLI out of the box easily. Sort of like homebrew, but for your personal servers.

Congrats!

</comment><comment><USER40> I've been following this for a while and really like it. Have yet to try an install but probably will once it's more mature.

Dumb question: why not build on and leverage Docker? I'm sure you have an answer. I'm just curious.

<comment><USER11> Indeed, we have a whole blog post about that. :)

[https://blog.sandstorm.io/news/2014-08-19-why-not-run- docker...](https://blog.sandstorm.io/news/2014-08-19-why-not-run-docker- apps.html)

</comment></comment><comment><USER41> What's make me curious - do you plan enable option for selling apps? As a developer I would be more than happy to allow user install my app, but since I am not charity I would like to earn some money on it as well.

<comment><USER11> Yes, we'll have an app store much like iPhone/Android. Open source apps will have the option of using a "pay what you want" model, but we'll also allow proprietary apps with fixed prices and maybe even subscription-based.

<comment><USER41> Great to read. Fingers crossed for the project.

</comment></comment></comment><comment><USER42> This is actually pretty fantastic. I loved how quickly I could get an app up and running.

I assume that the paid version has a better app search/browse experience? The demo list, while cool, was pretty long and uncategorized.

<comment><USER11> Yeah the demo "app list" is just a placeholder. We're working on an "app store" with self-service uploads, searchability, paid apps, pay-what-you-want for open source apps, etc. Once it is ready it will be available to everyone, whether you use self-hosting or managed.

<comment><USER42> I appreciate this very, very much. You have my attention.

</comment></comment></comment><comment><USER43> The easiest way to get your own LibreBoard while they straighten out their DMCA from Trello! :)

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

</comment><comment><USER44> There's also YunoHost, a project with similar goals. I've played around with it, but it seems to be beta quality. [https://yunohost.org](https://yunohost.org)

</comment><comment><USER45> From [https://demo.sandstorm.io/demo](https://demo.sandstorm.io/demo) : "We only have one machine. It may get slow or crashy under excessive load."

<comment><USER11> And indeed, when we were #1 on HN yesterday morning with hundreds of apps running concurrently, it got a bit slow and crashy. :) But things cleared up after the traffic died down a bit.

Our upcoming managed hosting service will, of course, use multiple machines with automagic scaling.

</comment></comment><comment><USER46> How do you get individually installed apps to selectively share data with other installations? I imagine something like diaspora tried solving this problem. Is there a general solution for any app?

<comment><USER11> This is something we're still building (Sandstorm is still in alpha), but what we have in mind we call the Powerbox.

The idea is that one app can say to the system "I implement such and such protocol at such and such endpoint". Later on, some other app can say "I need something implementing such and such protocol". The system itself displays a picker, showing the user all of their other apps that may satisfy the requirement. When the user makes a choice, the requesting app is told how to contact the providing app and is implicitly given permission to do so, whereas prior to the exchange the apps had no ability to talk to each other. The user can inspect these connections later and potentially revoke them.

This is a whole lot easier for the user than going to the providing app and editing an ACL, then going to the requesting app and giving it an endpoint address, etc.

The way this is implemented under the hood is in terms of Cap'n Proto capability-based RPC. Blog post on that:

[https://blog.sandstorm.io/news/2014-12-15-capnproto-0.5.html](https://blog.sandstorm.io/news/2014-12-15-capnproto-0.5.html)

<comment><USER46> That's pretty neat it's like the android intent system.

How does the system get the list of all other apps that satisfy the requirement? I'm guessing all apps register with sandstorm server somewhere that has a centralized list of other servers?

It'd be neat to have standard protocols, in the same way we have standard media types.

<comment><USER11> The system knows about other apps installed on your server, but not necessarily apps on other servers. To connect to something on another server you will usually want to obtain a Cap'n Proto capability to it. You might do this through, say, a messaging app that has the ability to embed capabilities. Your friend sends you a message with a capability to some object on their server, and then your messaging app publishes that capability on the receiving server, such that it will now appear in the powerbox for other apps on that server.

Alternatively (less cool, but more practical), you might just drop a URL into the Powerbox and Sandstorm will connect to it and turn it into a capability.

</comment></comment></comment></comment><comment><USER47> As a designer, the website gave me an 'aha- moment, nicely done! :)

</comment><comment><USER48> Would this also work for a GNU Social or pump.io service? Or diaspora?

<comment><USER21> One of the Sandstorm devs is already working on porting Diaspora. pump.io has been mentioned as a possible thing to port.

</comment></comment><comment><USER49> I'm a DevOps developer, so keep that in mind as you read below.

Sandstorm looks insecure and inefficient, but that probably won't matter.

The ease of use for the end user trumps all. Users will love this, but I'm not looking forwarding to having to administer boxes running Sandstorm, though.

I imagine there will be a fair bit of work from my end to re-building apps so they can take advantage of tuned settings, shared services, caches, and the like. Plus figuring out a way to automate the usual securing, managing, monitoring, and cleanup around the Sandstorm environment.

Identifying bottlenecks will be fun too, though my first instinct will probably be to look at the Cap'n'Protocol bridge which Sandstorm runs everything through.

<comment><USER50> "Sandstorm looks insecure and inefficient, but that probably won't matter."

You may need to expand on that. It is not clear that you know what they're doing with sandboxing, etc. If you are, then I'm definitely interested in your further criticism, if this was a knee-jerk response I think it's unjustified.

"I imagine there will be a fair bit of work from my end to re-building apps so they can take advantage of tuned settings, shared services, caches, and the like."

Are you building apps that you expect people to deploy to their personal servers on a routine basis? For normal DevOps folks working inside of a corporation, Sandstorm is a complete non-event. It's not targeted at any part of your pipeline. The fact you're asking about bottlenecks makes me wonder a bit if you understand where this is targeted, too; frankly Sandstorm could slow everything it runs down by a factor of 10 and I wouldn't notice. My VPS that I would run sandstorm on is 99.9% idle anyhow, if not 99.99%.

<comment><USER49> I addressed the security concern in a response to kentonv, please feel free to comment more on that one.

> Sandstorm is a complete non-event.

I am speaking from the point of view of someone who may be asked to run and manage Sandstorm servers. Either as a service to sell, or as a service for internal customers. This is a very different use case than using it for just myself.

And if I'm honest, this isn't something I'd need to or want to run for myself. I'm comfortable with managing shared services and propping up web frontends. So no, I am not the targeted user of this software; however, I am the one who gets to write tools and processes to support those targeted users at some point in the future.

<comment><USER11> You might also be interested to know that for large-scale users we're developing tools to manage Sandstorm clusters, with the goal of making _your_ life really easy. :) The idea was introduced as part of this blog post:

[https://blog.sandstorm.io/news/2015-01-15-sandstorm-1.3M-see...](https://blog.sandstorm.io/news/2015-01-15-sandstorm-1.3M-seed- round-pay-it-forward.html)

</comment></comment></comment></comment><comment><USER51> kentonv, any chance of getting a nice extended (eg, support for more than just text; file formats like images etc as well) (or even just regular) pastebin app added to Sandstorm? Perhaps something like bepasty ( [https://github.com/bepasty/bepasty- server](https://github.com/bepasty/bepasty-server) ) or Hosty ( [https://bitbucket.org/xrstf/hosty](https://bitbucket.org/xrstf/hosty) ).

<comment><USER11> Absolutely, if you port it! ;) [https://github.com/sandstorm- io/sandstorm/wiki/Porting-Guide](https://github.com/sandstorm- io/sandstorm/wiki/Porting-Guide)

Or nominate it to our app committee, who votes on apps to port: [https://sandstorm.io/vote](https://sandstorm.io/vote)

(The app committee is 32 people who purchased seats during our Indiegogo campaign.)

</comment></comment><comment><USER52> The web page is beautiful.

It might help to emphasize where this sits between installing Docker images from the repo, and using something like Webuzo or Softaculous to install popular web apps.

</comment><comment><USER53> I really appreciate the humor in Cap'n Proto. That makes the dev team seem like a fun group to hang with.

</comment><comment><USER23> The web site says apps cant perform psych experiments, and links to the contentious facebook emotion split test. I'm pretty sure you'll be able to do split testing on these apps...

That small criticism aside, I'm very curious how developing for sandstorm would be different from from developing for a typical host. Anyone know the major differences?

<comment><USER27> Sure, you could write an app that does A/B testing, but the whole idea is that people will use Sandstorm to run _personal_ servers/apps. And A/B testing your own reaction to an app doesn't make much sense.

Runtime permissions of these apps will be easy to control, so the Sandstorm platform will prevent apps from phoning home without your permission.

<comment><USER23> Again thanks! But using Facebook was still a poorly chosen example of what their apps won't do, since they aren't aiming for hosting large customer facing apps like a social network. Perhaps that is what contributed to my confusion in the first place. Now I have a better understanding of what it's for.

</comment></comment></comment><comment><USER54> Darude Sandstorm is going to conflict with this projects name a bit?

</comment><comment><USER55> The logo is very cute. I love it.

<comment><USER37> Thanks! h/t to Néna Nguyễn :)

</comment></comment><comment><USER56> on the first glance it's similar cpanel or plesk, but opensource, will take a look!

</comment><comment><USER57> Is this like a cloud docker?

<comment><USER37> We use the same Linux kernel features that Docker uses, but we use them directly. Here's a deeper explanation:

[https://blog.sandstorm.io/news/2014-08-19-why-not-run- docker...](https://blog.sandstorm.io/news/2014-08-19-why-not-run-docker- apps.html)

</comment></comment><comment><USER58> Darude - <USER3>

(sorry)

</comment><comment><USER59> What's the name of the song?

<comment><USER60> I thought that too, but was afraid to post it fearing the negative votes ;)

</comment></comment><comment><USER61> This isn't really anything to write home about.</comment>


Show HN: First 5 Minutes on a Server – automated with Ansible - <AUTHOR> https://github.com/chhantyal/5minutes <comment><AUTHOR> Hi Everyone,

After reading this thread [https://news.ycombinator.com/item?id=5316093](https://news.ycombinator.com/item?id=5316093), I realized a lot of people are looking for automated version.

So I tried to automate with Ansible. Feedbacks welcome :)</comment>


SEC to vote on crowdfunding regulations - <AUTHOR> http://techcrunch.com/2015/10/30/as-sec-votes-on-title-iii-crowdfunding-regulations-investment-platforms-are-divided-on-impact/ <comment><AUTHOR> If this is passed, it'll democratize the fundraising process, and millions of Americans will suddently be able to invest alongside VCs.

On the other hand, history has shown us again and again that "small" investors make really bad decisions, and these rules initially existed to prevent such investors from harming themselves.</comment>


America's Dairy Farmers Dump 43M Gallons of Excess Milk - <AUTHOR> http://www.wsj.com/articles/americas-dairy-farmers-dump-43-million-gallons-of-excess-milk-1476284353 <comment><USER2> So why isn't the price coming back down? I remember when dairy prices started climbing fast about 5 years ago the reason given was that there was high worldwide demand and low supply. As far as I can tell, cheese prices (the one I noticed immediately) haven't come down at all.

<comment><USER3> Its being poured out. Supply and demand influence on price depends on goods brought to market. Dumping out some supply removes it from the supply and demand equation.

<comment><USER4> I'm the grandson of an Italian immigrant tenement farmer and it would do my heart good if those loses could be dumped into raw milk artisinal products.

Let me know if you're in a CSA with a raw milk producer or a cheese maker. I'll donate time and effort to hook up producers.

</comment></comment></comment><comment><USER5> So would this be a good reason for decreased use of antibiotics?

<comment><USER6> At this point, I'd take ANY reason for decreased use of antibiotics.

However, I would imagine having a 'heathy' cow and an abundance of milk would be more preferable to a dairy farmer than having a dead cow and just enough milk.

<comment><USER7> I assume OP meant antibiotics for growth (not for infection). However, the FDA is already phasing it out:

[http://www.fda.gov/AnimalVeterinary/GuidanceComplianceEnforc...](http://www.fda.gov/AnimalVeterinary/GuidanceComplianceEnforcement/GuidanceforIndustry/ucm216939.htm#question9)</comment></comment></comment>


Supreme Court declines to block remote-storage DVR - <AUTHOR> http://www.nytimes.com/2009/06/30/technology/30cable.html?src=twr

<comment><USER2> I wonder how different this would be, in practice, to the typical on demand service. My take on it, being familiar with Verizon's fios on demand service, which has no excuses for bandwidth, is that it would be kind of a hassle to deal with and probably fairly unpopular compared to tivo-style devices.

All that being said, it's not a long leap from centralized DVRs to making television available on demand in general, and that is a move I would encourage, even if I did end up having to watch the commercials again.

</comment><comment><USER3> It's just streaming video anyway.</comment>


Study: Religion contributes more to the U.S. economy than FB, GOOG and AAPL - <AUTHOR> https://www.washingtonpost.com/news/acts-of-faith/wp/2016/09/14/study-religion-contributes-more-to-the-u-s-economy-than-facebook-google-and-apple-combined/ <comment><USER2> Go LRH!</comment>


Going 100% Green Will Pay for Itself in Seven Years, Study Finds - <AUTHOR> https://www.bloomberg.com/news/articles/2019-12-20/going-100-green-will-pay-for-itself-in-seven-years-study-finds <comment><USER2> The paper referred to in the article: [https://www.cell.com/one- earth/fulltext/S2590-3322(19)30225-...](https://www.cell.com/one- earth/fulltext/S2590-3322\(19\)30225-8)

<comment><USER3> Thank you, this is a productive answer to the comments critical of paywalls.

</comment></comment><comment><USER4> Whenever I read headlines close to this or a study that find such insane conclusions I automatically dismiss it out of hand. You can only get to numbers this extreme with lots, and lots of hidden assumptions that you need to totally spin your way to get there.

In a world with limited time you need to think about what to study and after many studies that I find totally unrealistic, diving into another one is just not what I'm gone be doing.

<comment><USER5> Along those lines, if the break-even time on the investment is really just seven years, why isn't everyone doing it already?

<comment><USER6> I don't know if it would break-even that fast, but I would say much of why people are not doing it yet is that the technology is so new people don't know about it, and also there are some very powerful entrenched interests fighting it. Like the present US administration.</comment></comment></comment>


Gitfs - <AUTHOR> http://www.presslabs.com/gitfs/ <comment><USER3> OK, the main page lacks information.

[https://www.presslabs.com/gitfs/docs/usage/](https://www.presslabs.com/gitfs/docs/usage/)

[https://www.presslabs.com/gitfs/docs/arguments/](https://www.presslabs.com/gitfs/docs/arguments/)

So apparently you can mount remotes, not only local .git dirs. This is really handy and it should be listed on the main page, really.

I raises an other question: can I mount remotes where I don't have write access read-only?

For the directory structure the history directory makes sense for mounted projects that are edited with gitfs. For other projects, not so much. What about having a read only tags/ and commits/ directory too?

<comment><USER4> I agree, the main page is a little bit outdated. You can mount remotes with where you have only read access, gitfs will fail to push something on the remote, and will put the entire repository in read-only. Right now, you don't have a read-only option, but it would be nice to have :) Great idea about tags and commits directories. It would be nice to specify at mount point, if you also want tags and/or commits etc.

You can fork it [https://github.com/PressLabs/gitfs](https://github.com/PressLabs/gitfs) and start hacking around.

<comment><USER3> Thanks, an other question: what happens when the remote can't fast-forward merge? I assume it doesn't force push.

</comment></comment></comment><comment><USER5> There is a nice EuroPython talk were two of the authors talked about gitfs:

[https://ep2015.europython.eu/conference/talks/gitfs- building...](https://ep2015.europython.eu/conference/talks/gitfs-building-a- filesystem-in-python)

Their main motivation to write this was to give their clients (publishers) a way to interact with a git-versioned project tree without having to force them to use git directly. Overall pretty amazing work!

<comment><USER6> Video here: [https://www.youtube.com/watch?v=LEJb1VZxRoE](https://www.youtube.com/watch?v=LEJb1VZxRoE)

</comment></comment><comment><USER7> interesting to see this! the first thing that came to mind was irmin, from the good folks at MirageOS. unikernels provide an interesting opportunity to rethink block storage, as you're no longer bound the rest of your operating system.

curious to see how gitfs and irmin develop.

[https://github.com/mirage/irmin](https://github.com/mirage/irmin)

</comment><comment><USER8> Shameless plug: Might be interesting to combine this with client-side encrypted remotes, a feature of [https://github.com/lucas-clemente/git- cr](https://github.com/lucas-clemente/git-cr) :)

</comment><comment><USER9> This reminds me I haven't updated my Perl fuse interface to a Git repo in a long, long while… [https://github.com/mfontani/git-fuse- perl](https://github.com/mfontani/git-fuse-perl)

</comment><comment><USER3> For write support you obviously have to mount a branch. Can you mount tags or commits read-only? It would be really useful actually.

Actually I can't see a use case where I would mount it read-write. For developing a website you possibly do not want to commit on every write. Possibly git's limitations on large files still apply to this implementation. For large number of small files: what does it do when I cp like 1000 files into it? Does it create 1000 commits?

<comment><USER10> > mount -o ro ...

<comment><USER3> Since it is a fuse filesystem you don't mount it with mount but with the command gitfs (note that there is no single instruction on the main page how to mount, not even in the demo), then unmount with fusermount -u.

</comment></comment></comment><comment><USER11> It's great that git is super fast, but it seems like it would be pretty horrible at handing the binary files that would be needed for actual filesystem applications.

<comment><USER12> That's not the intended use, though. It is intended as an alternative interface to ordinary git repos, not as an alternative way to store ordinary file systems.

</comment></comment><comment><USER13> Previously: [https://news.ycombinator.com/item?id=8735937](https://news.ycombinator.com/item?id=8735937)

</comment><comment><USER14> Nice! I wish they support fetching changes from the remote repo upon an file change event. I'd written a dropbox equivalent using git as the storage mechanism that does something similar - [https://github.com/prashanthellina/pullbox](https://github.com/prashanthellina/pullbox). It works well, but I like hiding the interaction behind FUSE.

</comment><comment><USER15> What is btrfs?

<comment><USER16> BTRFS is a next-gen filesystem for Linux, if you've heard about ZFS it is sort of similar to that, but with a Linux friendly license.

It will probably start to be the default in Linux distros "shortly".

[https://en.wikipedia.org/wiki/Btrfs#Features](https://en.wikipedia.org/wiki/Btrfs#Features)

</comment></comment><comment><USER17> "Merges with upstream by automatically accepting local changes"

For some reason, this scares me. Is there more info on that somewhere?

<comment><USER4> Yes, it can be scary, but usually this is the safest strategy. You can implement your own strategy and use it very easily ([https://github.com/PressLabs/gitfs/tree/master/gitfs/merges](https://github.com/PressLabs/gitfs/tree/master/gitfs/merges)).

Also, you can see how conflicts are solved, directly in the implementation ([https://github.com/PressLabs/gitfs/blob/master/gitfs/merges/...](https://github.com/PressLabs/gitfs/blob/master/gitfs/merges/accept_mine.py#L99)).

Do you want to know something more specific?

</comment></comment><comment><USER18> Trying to install on mac. got this Error

Error: No available formula for gitfs

Help me please

<comment><USER19> Formula looks there to me:

      % brew search gitfs
      homebrew/fuse/gitfs

have you tried a `brew update`?

<comment><USER18> Great! Updating solved the issue.. Thanks a lot.

</comment></comment></comment><comment><USER20> The page is blank for me. Firefox 37, use ABE.

</comment><comment><USER21> This could be useful, especially with extended "gits" that allow for easy manipulation of large binaries, when working with creative departments who aren't used to source-code control workflows. (Even in 2015, most art departments are still a mess of external drives and drop boxes)

</comment><comment><USER22> Python 2 only - disappointing.

<comment><USER4> Yeah...we know, but there is a plan of rewriting / refactoring some parts and we hope to port as much as we can from Python 2 to 3 by the end of this summer.

Thanks for reminding us ^_^

<comment><USER22> The whole "Python 2 only" thing feels pretty 2012.

<comment><USER23> I accidentally upvoted your comment which is annoying as I think your attitude stinks. This is a useful project, what language it was or wasn't written in should be irrelevant. You'd already pointed out that it disappointed you, a pointless comment but fair enough, then you went on to rub it in further - <USER2> there a need for that? No.</comment></comment></comment></comment>


Reflections on Objective-C - <AUTHOR> http://alblue.bandlem.com/2011/02/reflections-on-objective-c.html <comment><USER2> It looks like everything here are platform features and not language features. The author likes the features of NSObject and NSAutoreleasePool and the fact that the Cocoa libraries make use of autorelease pools.

I have a similar fondness for the Cocoa platform. I was recently asked to port some work to another platform, and considered keeping Objective-C as the language... but my love for the language runs thin once Apple's libraries are gone. The dynamic typing and categories(adding methods to arbitrary classes) are still nice though.

<comment><USER3> This is what I always try to explain to people. Objective-C is a slightly above-average core language (it's a minimal set of extensions to ISO C) with no standard library to speak of. Cocoa is an awesome library written in Objective-C. Any enjoyment you get from Objective-C programming (and pretty much anything you accomplish) is probably thanks to Cocoa, not Objective-C itself.

To illustrate how minimal Objective-C is: There isn't even a standard root class. It includes an Object class, but using it is not mandatory, and only one class used in any Cocoa app is derived from it. There also isn't a "root class" protocol. Due to the lack of a standard root class, outside the safety of Cocoa, there isn't even a standard way to ask an object what class it is or what selectors is responds to.

<comment><USER4> _..outside the safety of Cocoa, there isn't even a standard way to ask an object what class it is or what selectors is responds to._

Yes, there is. The Objective-C run time lets you do all of this. It is in C and not Objective-C. But, NSObject is barely more than a thin wrapper for these functions, anyway.

</comment></comment></comment><comment><USER5> Reference-counting in Objective-C is probably an improvement compared to the very basic memory management of C++. (C++ fans, yes, RAII is better than nothing, but no, it's not enough.) But ref-counting is also a far cry from the tracing garbage collectors most of us expect in a modern language.

There are plenty of gotchas in non-GC'ed Obj-C memory management, see my previous comment in a different thread: <http://news.ycombinator.com/item?id=1986799> . Also, the interaction of ref- counting with multi-threading is just awful: objects that some code uses but doesn't own must be obsessively retained-and-autoreleased in case another thread preempts and releases them. Behind the scenes, this takes and releases a lock on the object, which doesn't exactly help efficiency.

I'd rather hear about more of the things that Objective-C really gets right, instead of another "omg, I'd never heard of ref-counting before!" post. Here's a couple to start people off:

* Using named messages (instead of vtables a la C++) provides quite good introspection and run-time modification of the class hierarchy. This allows cool features like "delegates" that implement a subset of extension behaviours, and method forwarding.

* Objective-C's "informal protocols" are what we'd now call duck-typing.

<comment><USER6> Reference counting is available in C++ through the use of smart pointers ( ex. boost::shared_ptr ). In fact unlike Objective C there is no need to explicitly increment/decrement the reference count.

<comment><USER7> Yes, but the problem is that it's just one approach out of many, so when using other libraries and APIs, you have no consistency. (For example, you'll have to wrap their classes in your refcounting scheme, and unwrap when passing them back in.)

</comment></comment></comment><comment><USER8> Wow, the author is pretty clueless about C++: "Objective-C users never call "dealloc" themselves; whereas C++ users have to call this all the time."

If you ever call delete in C++, you're doing it wrong. I have a large project where I never call new or delete even once. Whereas my Objective-C has plenty of release and retain calls.

Frankly, I'm tired of the endless C++ bashing. Yes, it's a complex language. Yes, it has bad parts that you shouldn't use. But it has strengths that make it ideal for certain high-performance applications. (And before anyone brings up C, profile qsort and std::sort and then shut up).

Use the right tool for the job, and stop being religious about language choice. If you look far enough, you'll find there's something to complain about in every language: <http://twitter.com/#!/ID_AA_Carmack/status/28939697453>

<comment><USER9> NSFormatters do a lot of stuff, internationalization, user preferences for number representation, etc. It shouldn't be a surprise if they're a bit heavy. IIRC they're pretty much intended for UI display, not for tight loops.

<comment><USER8> "A _single_ use of an obj-C number formatter..." [emphasis mine]. Carmack is a pretty smart guy, he wouldn't be using number formatters in an inner loop.

Anyway my point was that you can find fault in just about anything. But, you'll be much better off if you found out the strengths of each language instead, and used that to your advantage. Here's a guy that has this figured out: [http://www.savoysoftware.com/blog/my-iphone-is-not-a-mac- pro...](http://www.savoysoftware.com/blog/my-iphone-is-not-a-mac-pro/)

We need fewer religious language BS articles like this one, especially from a guy who seems completely clueless about C++.

</comment></comment></comment><comment><USER10> tl;dr Autorelease pools are neat, and C++ doesn't have them.

</comment><comment><USER11> tl;dr "I think my language is better than your language because I haven't used your language and am ignorant of the fact that it can do everything I've just described, but with less effort".</comment>


High performance services using coroutines - <AUTHOR> https://medium.com/software-development-2/high-performance-services-using-coroutines-ac8e9f54d727 <comment><USER2> Writing high performance server software is a whole other world from writing services. In the first, data copies can cause unacceptable slow-downs of a fraction of a millisecond - and those copies may be hidden all the way down at the driver level. When writing services (which are just as often written in Ruby or Python) trading off a few milliseconds for safety is often a worthy thing.

I spend most of my time writing services, and when looking at a language like Go, there's a reason the default is pass-by-value. Passing around pointers to multiple co-routines is asking for a race condition, and in non-GC languages, null pointers. Services are rarely written with the precision of high- performance servers.

I don't envy the server writers (although I can see how it would be fun!). Giving up a few milliseconds per request to make sure my co-routines aren't sharing pointers is worthwhile, and I appreciate the safety that gives me. I'm sure someone will mention that Rust could give me the safety I was looking for in a non-GC language, but that's the point, isn't it - that by being able to game the system, you can gain a few precious microseconds here and there that enforced safety might cost you.

<comment><USER3>
      > I'm sure someone will mention that Rust could give me
      > the safety I was looking for in a non-GC language, but
      > that's the point, isn't it

I'm not sure what you're trying to say here. There is no need to game the system, as Rust lets you pass pointers between threads while enforcing that they are used safely. Rust lets you be as fast as an unsafe language while as safe as a managed language; the tradeoff is that you have to give more thought to your design up-front (which, given the pain of trying to reproduce and fix race conditions, is more than worth the effort IMO).

</comment></comment><comment><USER4> This sounds very similar to warp, the Haskell web server that is known for its high-performance on many-core machines. The Web Application Interface (WAI) is also coroutine based (I believe): [http://www.aosabook.org/en/posa/warp.html](http://www.aosabook.org/en/posa/warp.html)

<comment><USER5> Sorry for the shameless plug but I just released HTTP server based on Lua coroutines ([https://github.com/raksoras/luaw](https://github.com/raksoras/luaw)) that pretty much follows the exact design from the OP article.

<comment><USER6> This is pretty cool. Thanks for sharing.

</comment></comment></comment><comment><USER7> >> If not, the coroutine will yield, and at the same time, be scheduled(migrated) to another set of threads responsible for the 'slow' requests(ones that need to block). Those will just schedule the coro in their own scheduler, and perform the read again and continue.

>> Alternatively, we could just yield the coro, waiting for a new special coroutine that would run in a background thread just executing readahead() and then re-scheduling(making runnable) the original coro, waiting for readahead.

Seems to me this scheme will ultimately be limited by the slower request. Performing fast and slow operations is essentially Little's Law[1] where the average time dominates. However if the slow/blocking reads where also async, I think you'd eventually be limited by io speed?

[1] [http://en.wikipedia.org/wiki/Little%27s_law](http://en.wikipedia.org/wiki/Little%27s_law)

<comment><USER6> I am familiar with Little's Law. The key concept is optimistic sequential execution. The overwheleming majority of requests do not need to page in cold- data or otherwise stall for too long. Also, in the case where they can stall to e.g process a lot of data in a loop, they can yield back to the scheduler, thereby being fair to all other accepted coroutines/requests and giving a chance to others to complete earlier. In practice, at least based on my prototype and tests, this works extremely well. If about 10-15% of the requests may end up blocking the thread, while the read can read kernel-cache resident data and proceed, that's really huge in terms of performance gains. The background threads that either become owners and responsible for running slow/blocking coros can rely on a work-strealing scheme to keep them all busy, and if you don't rely on them, thereby removing contention/stall from the 'fast' threads, you are going to eventually suffer stalls and latency spikes.

</comment></comment><comment><USER8> Syscalls are slow. See my previous HN post

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

</comment><comment><USER9> The end implementation sounds a lot like... Erlang. With the exception that this solution avoids allocations that Erlang probably makes due to immutability.

<comment><USER6> This is a C++ implementation. Erlang and other high level languages use Processes(in the case of Erlang) or other such constructs to encapsulate logic and those are indeed scheduled based on either cooperative/preemptive fashion.

The main goals of this system is to minimize potential for blocking or otherwise slow processing steps which can stall processing of other requests, especially if this happens for many such requests/second.

Specifically, the 'optimistic sequential execution' idea is that you run the request on the request it was accepted in, use mincore() to determine if will _likely_ stall if you read from it, and if so, either migrate the coro to a 'slow' coros threads list, or just keep on going (which should be the fast- path here).

This is a solution to a specific class of problems. The similarities with Erlang's Process scheduling is that a process is a lot like a coroutine (it encapsulates logic and data and it's scheduled by a user-space scheduler, and that there can be thousands of them in runnable state, and each has its own stack). But that's really the definition of stackless coroutines.

</comment></comment><comment><USER10> Coroutines are essentially a form of cooperative multitasking. I'm not sure we should be using that in this day and age, especially considering that requests are not purely I/O bound in all cases, and could depend on actual computation.

<comment><USER6> The fewer the trips to the kernel, the more work you can do in user-space, the fewer the sys-calls, the fewer the context switches, the better the throughput and performance.

Even if a request is completely CPU-bound, it's a good idea to be fair to other requests accepted in the thread; that is, if a request should take 2 seconds of processing time, while others would take a few microseconds, they shouldn't all wait until that one request is processed.

Instead, yielding back to the scheduler where appropriate, will give them a chance to complete in time proportional to the effort required to process them, not to the time required to handle long-running requests that stall processing of other coros.

<comment><USER10> Yielding will take CPU time, even when no yielding is necessary. And where to put these yields? In an inner-loop? Should all loops be rewritten to ensure a yield takes place at least every N instructions? Considering all this, I think a better approach would be to optimize the thread scheduler in the kernel, assuming it is as inefficient as you are suggesting.

<comment><USER6> In practice, you indeed yield often enough — there is no perfect formula I believe — so in loops or elsewhere where you are spending too much time doing one thing. You don't need to do it perfectly, you just need to yield often enough to give other coros a fair chance at completion. Relying on the kernel is a bad idea; that's where you lose on performance. Also, to do what you are suggestions would mean that you use many, many OS threads and the kernel somewhat manages them all in a pre-emptive fashion, and you don't need to do it yourself; but that means you need to pay the context switching, memory footprint etc costs. It won't scale and will be slow.

<comment><USER10> The memory footprint is there only to provide for stack-space. This makes me wonder, how do coros implement stacks? And don't they suffer effectively from the same problem?

Another point: what if your code calls a library function for which you don't have control over when it yields?</comment></comment></comment></comment></comment>


Bogdan: F-35 Coolant Line Fix Coming in Weeks - <AUTHOR> http://www.defensenews.com/articles/bogdan-f-35-coolant-line-fix-coming-in-weeks <comment><AUTHOR> "The solution involves cutting holes in the wings of the jets and removing the bad insulation"

That doesn't sound like a long term design.</comment>


Twitter Has the "Now Syndrome" - <AUTHOR> http://danshipper.com/the-now-syndrome

<comment><USER2> _"And so in their effort to make billions now, Twitter is slashing and burning the same 3rd party developers that helped to make it the behemoth it is today."_

Third-party Twitter _clients_ (that is, replacements for Twitter's site and official apps) had little impact on Twitter's success. It's a story that sounds good, but I don't see any evidence for it. Those are the only developers that are materially hurt by Twitter's new policies.

 _"They spend the 6 months they could have used learning to code, trying to find a cofounder instead."_

Someone who thinks they might want to start a software business in the future should definitely learn how to program. Someone who's starting a software business _right now_ should pay someone else in dollars or equity to get it done. It takes more than six months to become a competent programmer, let alone become familiar with the tools and practices needed to build a modern web application or mobile app. This just isn't very good advice at all.

<comment><USER3> While it definitely would take a novice programmer much longer than 6 months to learn to build a production caliber web app, it's plenty of time to make a functioning prototype and get some perspective on the craft. This can focus and clarify the concept, get you taken more seriously, and make you about 1000% more effective at hiring and managing developers down the line.

Unless you have piles of money or friends in high places, learning some programming is a great place to start if you want to build a tech startup and aren't already a developer. It isn't the be-all end-all, but I'd definitely agree that spending 6 months educating yourself and getting something created, even if it's sloppy, is better use of time than cruising around meetups and networking events trying to find someone to implement your idea for you. Ditto for hiring contractors who you can afford and won't leave you with a lemon when you have no basis for judging whether someone knows wtf they're talking about.

<comment><USER2> If you don't have money _and_ you don't know how to program, don't quit your day job.

</comment></comment></comment><comment><USER4> Twitter is just being stupid. They could easily offer a "pro" version of twitter that would give end-users verified accounts, added stats, better photos, wide open use of the API for 3rd party apps, etc.

Some calculations... \- 500 million accounts. \- 1% conversion (they could 2% or higher) \- 5 million conversions \- $50/year Wooo hoo. $250 million. Ok, not a billion but not a bad start, all without burning developers or free users.

Charge businesses for business level accounts and analytics and you could get another $250M.

Twitter's problem isn't just a "Now" problem it's a management team that's following Facebook on their path to ad failure.

<comment><USER5> Twitter dies if they lose 98% of their users. So many people would leave that you'd never be able to keep even 1%.

Watching Twitter and app.net over the next couple of years should be fascinating. Twitter can't start charging, but app.net is starting there. If they get 1% of Twitter's population, they are a huge success. And Twitter just gifted them a lot of potential developers.

<comment><USER6> I think that depends a lot on how it's marketed. If it's touted as something that regular users ought to have access to as well, it _might_ tick off a lot of people, but it doesn't have to be like that.

Although I wouldn't be surprised if the knuckleheads at Twitter botched it.

<comment><USER7> I agree. Think of the way Reddit Gold works. It doesn't really take anything away from the Reddit experience, but it does give folks some additional value that those that feel like paying for it, do. If Twitter just adds features for the premium side, and doesn't strip current features from free users, it should be easy to make that transition.

</comment></comment></comment></comment><comment><USER8> After reading the Innovator's Dilemma, you start seeing this effect everywhere and it applies equally in people's careers. I think it's probably the same principle as the law of diminishing return - you're getting less and less out of your current path but it's still more than some other perceived endeavor.

Perhaps there is some disruptive thing Twitter could do that will eventually disrupt their current advertising model and be a true billion dollar business. It's possible they don't see it (or less likely, there is NO path for them to get where they need to be) and so they're letting it be known that they're planning on extracting increasing rents from their current income streams.

<comment><AUTHOR> Interesting, I've never read that book. But that's a nice take: your feedback loop isn't functional enough to notice diminishing returns. Putting it on my list.

<comment><USER8> Prepare to have your mind blown! :)

Innovator's Solution is probably the better book (same ideas expressed, but more in-depth thinking on how to fix it inside your company by Christensen).

It's a must-read by startups because it puts you in the right mind-set of why your crappy little MVP can possibly disrupt powerful incumbents.

Thanks for your article - I've been enjoying your posts!

<comment><USER9> Good books, but can't they mostly just be summed up in a page or two?

<http://en.wikipedia.org/wiki/Disruptive_innovation>

<comment><USER6> No.

</comment></comment></comment></comment></comment><comment><USER10> In addition to being a young founder, Dan could be the most talented writer I know. Engineering + communication, quite a mix.

<comment><USER11> He's also a genuinely nice guy. A triple threat, if you will. ;)

</comment></comment><comment><USER12> I think this is the problem with the "product first, business later" approach that's dogma in Silicon Valley. People get used to such an extreme user/developer-centric experience that when the time comes for making some profit, it seems absurd to many people. What's so wrong with building the business and the product at the same time?

</comment><comment><USER13> > And so what happens? They spend the 6 months they could have used learning > to code, trying to find a cofounder instead.

Who goes from not knowing how to code to being a decent to good coder in 6 months? Maybe I'm just not that smart, but it took me many years to get to that level. Learn a few basics, hit a plateau, light-bulb is triggered on some concept accelerating your growth, hit another plateau, and on and on like that.

</comment><comment><USER14> Agree 100% on nontechnical founder thing. And the sad thing is, though the level of skill needed for sustainable application development is very high, for building MVPs you need to know very little.

Like not 6 months worth, but on the order of a for dummies book. The fact that someone doesn't do this shows me they lack the desire and courage to achieve their vision.

Not sure how I'd tie it into Twitter, but my 2 cents.</comment>


Voices of finance: computer programmer at a trading company - <AUTHOR> http://www.guardian.co.uk/commentisfree/joris-luyendijk-banking-blog/2011/sep/15/computer-programmer-high-frequency-trading

<comment><USER2> funny that the feedback the interviewee got from his family on his follow-up commentary page is that everybody hates him</comment>


Indaba grand challenge: curing Leishmaniasis, a neglected disease - <AUTHOR> https://deeplearningindaba.com/grand-challenges/leishmaniasis/ <comment><USER2> Leishmaniasis occurs in Africa, but also in many other places. The ceramic record in pre-Colombian Central and South America includes depictions of people suffering from severe Mucocutaneous Leishmaniasis, while Middle Eastern and British "explorers" into India supposedly came across villages completely wiped out by Visceral Leishmaniasis. It's even speculated that Machu Picchu was built where it was because it was above the elevation where Leishmaniasis occurs. I'm all for curing it because 2 of the 3 forms are hideously dangerous (Cutaneous Leishmaniasis less so), but it's disingenuous to call it an African disease.

</comment><comment><USER3> In the south of Europe many dogs die of it; it would be great to have something that eradicates it.

</comment><comment><USER4> Perhaps a better sounding title is "Help cure a neglected disease prevalent in Africa" ?

Leishmaniasis is not restricted to the African continent so the slightly longer title of: "Help cure a neglected disease prevalent in developing countries" may be more accurate.

<comment><USER5> Seriously, there is already a official appropriate term for it: neglected tropical disease (NTD).

[https://www.cdc.gov/parasites/leishmaniasis/index.html#:~:te...](https://www.cdc.gov/parasites/leishmaniasis/index.html#:~:text=Leishmaniasis%20is%20a%20parasitic%20disease,bite%20of%20phlebotomine%20sand%20flies).

</comment></comment><comment><USER6> > Leishmaniasism

This doesn't seem to be a word. Can we get someone to fix the typo in the title?

<comment><USER7> Fixed, thanks.</comment></comment>


The NSA is trying to create a virtual clone of me - <AUTHOR> https://eev.ee/blog/2016/03/03/the-nsa-is-trying-to-create-a-virtual-clone-of-me/ <comment><USER2> Looks like the Twitter account is gone now. Looks like whoever was running it realised the game was up.

As for who would operate it... well, I'm going to guess it probably isn't an NSA AI cloning program in action. My more reasonable guesses are either some sort of aggregator designed to post a constant stream of tech related tweets based on outside sources, someone who's trying to get big on Twitter while putting in minimal effort (a lot of people basically steal social media postings in an attempt to become e-celebrities, it happens even more often on YouTube), or it's some sort of university student project involving AI. The last one's happened a few times in the past already.

Still, it was an interesting read.</comment>


Whats the fastest JSON C serialization library? - <AUTHOR>

<comment> mh- Check out ultrajson (aka ujson) - (also see ujson4c[1] in the same org)

as far as serializing, ujson is 7x faster than simplejson in the _worst_ cases I've seen (disclaimer: using the Python bindings.)

[1] [https://github.com/esnme/ultrajson](https://github.com/esnme/ultrajson)

[2] [https://github.com/esnme/ujson4c](https://github.com/esnme/ujson4c) \- "A more user friendly layer for decoding JSON in C/C++ based on [..] UltraJSON"

n.b.: There also exists a class of "simplified" JSON serializers. They implement _most_ of the JSON specification but leave out some features (or restrictions) that make it more expensive. I don't know anything about these, perhaps another commenter can chime in.

</comment><comment><USER2> If you need "fastest", are you really sure you need "JSON"? JSON has a lot to recommend it, but there are certainly _faster_ alternatives.

<comment><USER3> didn't google open source their in house solution? Protocol buffers? It's late/early, so I may be misremembering, and I'm on my phone.

I wouldn't necessarily assume OP is choosing JSON over other choices. He may be getting data from an API and need to deal with it, or using a C application to do calculations that he then wants to display online.</comment></comment>


Phone Calls Come to Twitter with @call @username - <AUTHOR> http://thenextweb.com/2009/09/17/phone-calls-twitter-call-username/

<comment><USER2> I think the biggest disconnect I see with this is that few people use Twitter as a _synchronous_ one-to-one communication tool. It's used as an _asynchronous_ one-to-one communication tool, and as a _synchronous_ one-to- many / many-to-one communication tool. But the Jajah offering seems to be forcing a technology into a paradigm that isn't built for it.

</comment><comment><USER3> So if somebody looks at my twitter feed then they can see who I'm calling? I'm not sure I'm ready to broadcast that.

</comment><comment><USER4> A _2-minute_ phone call? I'm supposed to interrupt my workflow for the sake of a 2 minute phone call?

No. The only time I want to get on the phone with someone is if I can communicate faster or better that way.

<comment><USER5> i dont think it will be used to call friends/family.. on twitter you can essentially follow anyone.. it will be used by people who dont want to give away their numbers...

</comment></comment><comment><USER5> I knew jajah was disrupting the chat/voice call business, but this is just brilliant.

<comment><USER6> I'm having a really hard time seeing the brilliance in this.

First off, the barrier to entry is -huge-. Both people need to have accounts on both services. That's four accounts for one call.

Secondly, it's allowing you to activate a service via Twitter that should already be easy to do. If it's hard to make a call on Jajah to another Jajah user, they're doing something wrong.

Third, Twitter isn't a command line. I don't type things into Twitter that I want to do. It's a simple, many-to-many communication channel. This doesn't fit in to the way people use ( or don't use ) Twitter currently.

<comment><USER5> just to give you an example.. all the big dating sites (match.com/eharmony.com) have a secure calling service and they charge money for a user to be able to use it...

now on twitter which is again a social site, you can do that without giving much away.. and see how it goes.. before actually going on a date and exchanging real numbers..

<comment><USER6> I don't see how this is a useful replacement for just using Jajah, Skype, IM, or email.</comment></comment></comment></comment>


Tell HN: Coinbase stopped regular payouts of wires as of Dec 15 - <AUTHOR> Myself and what appears to be a hundred other people are waiting for thousands of dollars in wires for the past month.
No way to get a response from Coinbase other than occassional Reddit replies. Phone support claims to investigate and no reply again. Status page has been showing fluctuating numbers (e.g. "up to 5 business days") but about a month already in my case.
https://www.reddit.com/r/CoinBase/ for many such stories.
https://www.reddit.com/r/CoinBase/comments/7mpk7s/upvote_is_your_wires_withdrawals_are_from_dec/
https://www.reddit.com/r/CoinBase/comments/7o6nqb/880000_withdrawal_delay/
https://www.reddit.com/r/CoinBase/comments/7o4tgz/please_help_coinbase_lost_my_8000_usd_wire/
https://www.reddit.com/r/CoinBase/comments/7o7wxa/its_time_for_organized_legal_action/
https://www.reddit.com/r/CoinBase/comments/7nnqxx/us_wire_transfers_from_coinbase_to_bank_from_dec/
https://www.reddit.com/r/CoinBase/comments/7mpk7s/upvote_is_your_wires_withdrawals_are_from_dec/
https://www.reddit.com/r/CoinBase/comments/7kwllo/stop_giving_lies_and_false_hope_with_up_to_3_days/
https://www.reddit.com/r/CoinBase/comments/7kt75b/coinbase_not_paying_out_i_transferred_26k_by_wire/
https://www.reddit.com/r/CoinBase/comments/7mcy2n/up_vote_if_your_wire_withdrawn_from_1212_1215/
https://www.reddit.com/r/CoinBase/comments/7nntqf/waiting_for_30k_wire_for_two_weeks_already/
https://www.reddit.com/r/CoinBase/comments/7o6oyv/list_of_cases_for_olga_from_coinbase_sepa_and/
And many more.
Hoping this is just growing pains, but the lack of communication is scary. <comment><USER2> I know it's not the same thing, but this is seemingly an issue with Coinbase as I had issues with them back in early 2016.

I had to get my bank involved with a purchasing issue from Coinbase. They declared the charges as fraudulent since I couldn't get a response from anyone at Coinbase. This was back in early 2016 before the recent crypto madness too...

</comment><comment><USER3> There's a non-trivial chance that the Bitcoin bubble will burst because of some drastic event from Coinbase (or another exchange, like Binance). There is some incredibly suspicious activity going on there including:

\- The fact that the coins land in your account weeks after you've purchased it (presumably to stop a bitcoin run?)

\- Inability to pay their users.

\- their exchange GDAX is known for having spoof buy and sell orders that disappear sporadically (this is illegal in regulated markets).

\- the whole Bitcoin cash fiasco

I'm OK with speculating and bubbles, but not manipulation.

</comment><comment><USER4> It is a common situation in bubbles that high trading volumes cause market infrastructure to break down. A particularly extreme case was U.S. stocks circa 1968

[https://en.wikipedia.org/wiki/Depository_Trust_%26_Clearing_...](https://en.wikipedia.org/wiki/Depository_Trust_%26_Clearing_Corporation)

</comment><comment><USER5> They sent an email yesterday that they have a backlog and are working on getting wires out just yesterday.

[https://status.coinbase.com/incidents/p9r8swts79xd](https://status.coinbase.com/incidents/p9r8swts79xd)

google search that took .00001 seconds

<comment><AUTHOR> Removed

<comment><USER5> You said that there is no communication which is false.

That you are unsatisfied with it nonetheless is fine, but that is a separate issue.

</comment></comment></comment><comment><USER6> What's a wire? A transfer between two Coinbase accounts?

<comment><AUTHOR> Fiat (cash) payment to a bank.

<comment><USER7> There is no cash left for transfers. "ATM is empty". They wait for new crypto buyers with dollars but market stalled out of crash fear.

<comment><USER8> First and foremost, cash balances at coinbase are FDIC insured.[1] There are regulatory requirements for cash on hand because of this. In the worst case, the FDIC should step in and fork over the cash that people are trying to withdraw.

Secondly, the drop in price of crypto shouldn't cause something like this. Coinbase is a marketplace. When one person sells their cyrpto for fiat another person is trading their fiat for crypto. When someone is going to withdraw money this transaction has already taken place.

1\. [https://support.coinbase.com/customer/portal/articles/166237...](https://support.coinbase.com/customer/portal/articles/1662379-how- is-coinbase-insured-)</comment></comment></comment></comment>


The coolest or the most worthless invention ever created? [video] - <AUTHOR> http://www.wimp.com/inventioncreated/ <comment><AUTHOR> This is actually hilarious.</comment>


Digital logic resources for youth - jay-anderson My son (11) has recently become quite interested in digital logic - designing adders and multipliers based on logic gates. So far he's mostly done this in minecraft with redstone or on paper. It works okay, but it is somewhat limiting. He'd like to understand how to design a full simplified computer. This is far from my area of expertise.<p>- Are there good books on the subject for kids his age? I think he (and I) would be okay with a big text book, but introductory texts or projects might work better. At least something that introduces the major components and how they function and interact. - What are good simulators which would allow this to be created and visualized? I'm not totally opposed to doing this with physical electronic components, but a simulator feels like it would be simpler.<p>In my searching I wasn't able to find a happy medium between full professional digital design and super simple digital logic introduction, but missing the creation of all components of a simple computer. Thanks for the help. <comment><AUTHOR> There is [http://nand2tetris.org/course.php](http://nand2tetris.org/course.php) for some materials up to a working computer. Not sure if suitable for a kid though.

[http://www.cburch.com/logisim/](http://www.cburch.com/logisim/) is a logic simulator that's a bit clunky to use, but not terribly buggy like some others and powerful enough to build a simple CPU in it. (See this [https://github.com/reds-heig/logisim-evolution](https://github.com/reds- heig/logisim-evolution) for a list of maintained forks, but for starting out there shouldn't be anything wrong with the original)

</comment><comment><USER2> You could try [https://logic.ly/demo/](https://logic.ly/demo/) or the much older [http://www.shsu.edu/csc_tjm/fall2003/cs272/dworks_howto.html](http://www.shsu.edu/csc_tjm/fall2003/cs272/dworks_howto.html)</comment>