Why Perforce is scalable, and Git is not - <AUTHOR> http://stevehanov.ca/blog/index.php?id=50

<comment><USER2> _When I say large, I mean about 6 gigs or so. Because your company's source tree is probably that large._

Yes, if your company's source tree is that large you might have to use a different VCS. Or: Come up with a much smarter way to manage large binary assets, which presumably are the reason why your repos are so bloated. (If you've got 6GB of text files in your project, you probably have much bigger problems than your choice of VCS.)

I wonder if one could use the moral equivalent of git submodules. Don't manage giant binary blobs by committing them into git. Instead store the giant binary blobs in Amazon S3 (or the moral equivalent), and write some hooks and tools that maintain a separate local cache of those giant binary blobs, with symlinks pointing into the cache from your local working copy of the git repo. Then assign each version of each blob a UUID, maintain a big file listing those UUIDs and the associated S3 URLs, and check that file into git. You might end up having to run scripts like "blob commit" or "blob update symlinks" now and then, but even that might be able to be fully automated via git hooks.

Has someone written a library that does something like this? Looks like a job for Ruby or Python.

<comment><AUTHOR> <http://caca.zoy.org/wiki/git-bigfiles>

</comment></comment><comment><USER3> > When I say large, I mean about 6 gigs or so. Because your company's source > tree is probably that large.

GCC's SVN repo is north of 17 gigs (ref - <http://gcc.gnu.org/rsync.html>) and yet neither svn nor git nor hg (when imported into them) seemed to have managed to blow up on it yet.

Scalable means different things to different people, I expect. Size of the repo is one, but the number of highly distributed users is another and for many projects is much more relevant and one better served by git or hg or darcs. And a license fee of $740 per person per year is another form of non- scalability, again depending on the context.

<comment><AUTHOR> My server blew up when I tried committing a 400 MB video to it's git repo :(</comment></comment>


F.lux for iOS devices now available - <AUTHOR>

Hidden in the comments on the f.lux website is an announcement:
"Hey guys, if you have a jailbroken iPad or iPhone, f.lux is now available for iOS. Go to Cydia > Manage > Sources > Edit > Add: flux.herf.org > Search for "f.lux". Install! It's nice on phones, but amazing on iPads. Let us know how you like it!"
After the install, you can configure it in Settings.  I tried it out; it works really well but right now it has just three options:
Choose lighting: At night: [Candle | Incandescent | Halogen | Fluorescent]
Disabled for older devices: Long transition: [ON | OFF]
Turn off for color-sensitive work: Enabled: [ON | OFF]
Unfortunately there's no way to configure the daytime color temperature or the duration of night, so you have to keep resetting the clock if you want a reddish screen during the day.
You might be wondering how it works; a disassembly reveals that it uses these functions:

  _IOMobileFramebufferGetGammaTable
  _IOMobileFramebufferSetGammaTable
  _IOMobileFramebufferGetMainDisplay
 <comment><USER2> I worked with Herf on this: I spent a few hours at Foo Camp reversing those functions, and then he told me enough about how gamma works (he seriously seems to think in terms of exponential hex color shifts... it's sick) to get the stuff working.

The code for iomfsetgamma is available in the uikittools package: git://git.saurik.com/uikittools.git; if that version of uikittools isn't released yet, then it will be about when iOS 5 hits.

(Note: any developers using these functions /need/ to coordinate using the /tmp gamma cache so we don't lose the pristine gamma information. F.lux was based on the code for iomfsetgamma, and thereby does this.)

The idea, btw, is that f.lux will be in a Cydia default repository, but as of yesterday the depiction was still being finalized (it needed to get a mention that it doesn't work on 2G/3G devices). I will check on the status of that again today. ;P

(edit: oh yeah, I forgot that Herf found a simpler way to get the framebuffer, which I haven't added to iomfsetgamma yet.)

<comment><AUTHOR> Thanks! After seeing mobile f.lux I was looking for a way to set my own gamma ramps. This should come in really handy.

<comment><USER3> "Get" gamma ramp calls simply don't work on 2g/3g devices, so we have to ignore Apple's calibration and just use the native display gamma. Apple is using decent backlights on these, so it doesn't look terrible and this is now in the 0.93 build.

</comment></comment></comment><comment> wh-uws Any word on an android version?

I recently discovered the program for desktop and I'm so thankful for how much better sleep I've been getting

<comment><USER3> Cyanogenmod has incorporated Jeff Sharkey's "surfaceflinger" patch to make the compositor do a tint all the time. I have a private boot ROM that fully implements f.lux, but it's impossible to ship that way...trying to get Google to incorporate this patch so it can be used more generally.

Also, for calibration you'd want all Android devices to have a full gamma LUT. It's not obvious if there's standard hardware in all the android devices...some platforms like Snapdragon have one, but I couldn't find code for it on all the rest. The OpenGL solution Jeff uses works everywhere.

</comment></comment><comment><USER4> Background for those unfamiliar with f.lux - it is a utility for adjusting the color temperature of your display at night to warmer temps. I'm quite fond of it.

<comment><USER5> link: <http://stereopsis.com/flux/>

</comment></comment><comment><USER6> I might jailbreak my iPhone just for this.</comment>


Create your own realtime tradingview dashboard - <AUTHOR> https://gumroad.com/l/GeCri/ <comment><AUTHOR> Create your own realtime tradingview panel. 15+ realtime widgets, pick and customize. Add, remove, reoder, resize. Share!

</comment><comment><USER2> What is the stock value latency within EU and US?

<comment><AUTHOR> Latency from tradingview.com which is basically realtime

</comment></comment><comment><USER3> How do you obtain the real time data?

<comment><AUTHOR> From tradingview, they allow to create widgets and add to your website for free</comment></comment>


Equifax's IT team knew it hadn't patched web app vulnerability - <AUTHOR> https://www.grahamcluley.com/equifax-vulnerability-heads-roll/ <comment><USER2> Then it is even more damning to the head of security if they knew about the vulnerability. The ultimate person to decide whether a vulnerability is not to be patched, is the head of security.

<comment><USER3> There are two unstated assumptions here: 1) She had the organizational power to order patching and rollout (which is more than the power to prevent a rollout). 2) She didn't try.

You may be right. But.</comment></comment>


D3 - Languages and Color - <AUTHOR> http://blog.crowdflower.com/2012/08/what-color-is-this-in-9-languages/

<comment><USER2> Please as soon as every RGB code is reliably named, release the data / build a userscript / browser extension / photoshop plugin.

I could really use one of these, and so do every other colorblind !

</comment><comment><USER3> Don't forget XKCD's take! <http://blog.xkcd.com/2010/05/03/color-survey- results/>

<comment><USER4> Thanks. This is exactly what I wanted to see after reading the original post:

<http://imgs.xkcd.com/blag/satfaces_map_1024.png>

</comment></comment><comment><USER5> Just a heads up... If you think D3, crowdsourcing, distributed systems, or the color "baby poop green" is cool; CrowdFlower is hiring engineers: <http://crowdflower.com/about/jobs>

</comment><comment><USER6> What's the deal with the "English translation" for English? Sometimes it's just the English name with adjectives removed, but other times it adds different adjectives, or changes the name completely.

<comment><AUTHOR> We should've been more clear on that - the English translation is the shortest string length submission we received for that color, while the color name (for English) is the longest (we figured the longest submission would be the most interesting). We only had two different submissions for English, for all other languages we put native language and the English translation.

There are some hidden gems in there one contributor named "Vacation At The Seaside Blue" while another called it "sky," as well as "Bright Endless Meadows Green," while another called that color "green."

You can also download the full dataset on our blog.

<comment><USER7> I found one brownish dot in the "red" sector whose English name was "Milk Chocolate" and whose English translation was "Peru".

</comment></comment></comment><comment><USER8> What has changed since this was posted?: <https://news.ycombinator.com/item?id=3988556>

</comment><comment><USER9> The ways humans stratify a small part of the RF spectrum into named colors is a topic that keeps popping up. What does it tell us?

<comment><USER10> That languages we speak have an impact on how we group and categorise things?

</comment></comment><comment><USER11> See Jeff Heer's work on this: <http://vis.stanford.edu/color-names/>

and the color-name picker application: <http://vis.stanford.edu/color- names/dictionary/>

</comment><comment><USER12> The bottom color is "Free Speech Green" in Chinese

<comment><AUTHOR> Nice catch! We thought that was quite the color name.</comment></comment>


The team behind Cookies is joining Klarna - <AUTHOR> https://techcrunch.com/2016/11/22/the-team-behind-cookies-is-joining-klarna/ <comment><USER2> Klarna is good alternative to Paypal, I am always satisfied with service they deliver in nordics.

Dominance of US in internet should be challenged more by europeans so we need european startups to grow a bit more over here.

<comment><USER3> Klarna is a little too Swedish. There's a ton of fraud related issues they haven't considered. When a former employer wanted to start using Klarna in Denmark, we asked Klarna about fraud, and how they deal with it. The answer: They don't, not really in any meaningful way.

In Sweden you can just order random stuff online and have it show people door step, and have Klarna send the bill to the victim, who now has to deal with returning the 50 dildos you ordered for them.

Even when Klarna works as intended we have experience that they would make us, the webshop, pay for an item, when they failed to get the payment from the customer. The whole idea of Klarna is that they are responsible for collecting the money from the customer.

<comment><USER4> I am part-owner of a large swedish webshop company, and we happen to use Klarna. Klarna is simple and will probably work for most companies.

While it's unusual that there are cases of fraud, it does happen. Every time it has happened, it's enough for the victim to do a police report and just tell Klarna that they have been victims of fraud, and Klarna will remove the invoice due to their fraud policy. Obviously, the police report is meaningless as the police does nothing.

I wish there was a better alternative to Klarna, but sadly, I know of none.

</comment></comment></comment><comment><USER5> This just in, from the random-news department:

> _The team behind Foo is joining Bar_

But the main question is, of course, is if they had an incredible journey or was it a so-so one...

<comment><USER6> Funny but you didn't even bother to open the article, did you? The company went bankrupt.

<comment><USER7> Bankruptcy is a first sign of incredible journey.

Saying that as someone who witnessed a startup burn through 10 mil in a year back in the first .com bubble. That was one opulent journey, I can tell you that.

</comment></comment></comment><comment><USER8> I had never heard of Cookies (I _really_ don't follow fin-tech), but being Swedish Klarna is pretty close to being a household name. Cool to see them mentioned.

This sentence scared me:

 _After filing for bankruptcy, Swedish tech company Klarna approached the team behind Cookies so that they can join another fintech company._

To me the above _really_ sounds as if Klarna filed for bankrupcy, but it refers to Cookie (which is perhaps clear if you know the background and/or context).

<comment><USER9> Their initial launch was to be confined to Germany (as far as I got told by a friend who works at the company), likely reduced the companies visibility.

</comment></comment><comment><USER10> I am not a big fan of klarna, somehow they manage to get the products I buy more expensive then if I did not use klarna.

/Unhappy-customer

<comment><USER11> I work at Klarna and would love to know what kind of use has made you pay more for the same product just because you used our product.</comment></comment>


Ask YC: A simpler STM implementation? - <AUTHOR>

I'm pondering an STM (http://en.wikipedia.org/wiki/Software_transactional_memory) implementation in C#. For me, the main reason to use STM is not because I think locking is complicated, but because of the speed gains. With that said, I find the current STM implementations (in .NET, at least) cumbersome and slow, because they involve cloning and a proxy object for every single object.
So I have thought of several potential improvements to traditional STM, which bring it closer to optimistic locking, and wanted to hear your opinion:
1) Lock on race conditions.
Go ahead and execute the transaction, but if you detect a conflict, acquire a lock on the relevant object and execute the transaction again. Seems like a better decision, with a guaranteed worst execution time, than implementing some kind of throttling.
2) Non-transactional objects.
The idea is to have an STM method like so:

    void STMExecute<T>(T obj, Func<T, bool> transaction, Func<T, bool> failsafeTransaction)
 (FYI in C#, Func<T1, ..., Tn, TR> is a lambda with parameters of types T1..n and return type TR.)
STMExecute would keep track of the generation counter for obj, run the transaction lambda, and if it fails, or there is a conflict, acquire a lock on obj, and run failsafeTransaction.
For example, in a banking system, transaction would increment the account (obj)'s balance by 100, and failsafeTransaction would recompute the balance by going through the history of withdrawals and deposits for the account.
3) No side effect functions
STMExecute would be changed to

    void STMExecute<T>(ref T obj, Func<T, T> transaction)
 transaction would return a new T instance based on the original object, without changing the original object. True, there is some cloning involved, but it works without proxy objects.
A potential issue is that C# doesn't offer a way to enforce transactions have no side effects. This can be done by making immutable types, though.
4) What is a good benchmark?
What's a good, realistic way to test the performance of STM, compared to locks? The most obvious way - run several threads like so:

    while (true) {
        STMExecute(ref var, x => x + 1);
    }
 would always show locks as the winner, as STMExecute will default to locks when a conflict occurs. This scenario is unrealistic, though. Any better ideas? <comment><USER2> "For me, the main reason to use STM is not because I think locking is complicated, but because of the speed gains."

I'm rather confident that STM is a lot slower than locking. Wasn't the main idea of STM to simplify coding while sacrificing some performance?

<comment><AUTHOR> I know, but I'm trying to get the best parts of STM to actually get an improvement in performance.

<comment><USER2> I don't think that's possible, but would be happy if proven wrong. I just downloaded the STM implementation and it seems to include some benchmarks. So that could be at least an answer to your question 4.</comment></comment></comment>


This French tech school has no teachers, no books, no tuition - <AUTHOR> http://venturebeat.com/2014/06/13/this-french-tech-school-has-no-teachers-no-books-no-tuition-and-it-could-change-everything/

<comment><USER2> Among the very finest classes I ever took was Caltech's Physics X, taught by Richard Feynmen. No grades, no credit, no homework, you could ask him any question you liked provided it was purely conceptual - that is it didn't require him to work out any math.

</comment><comment><USER3> I would love to see a curriculum from this place. It would be interesting to see what types of things they learn. Does every team get the same project? If not, is every team tested on the same skillset (ie, could you have a team building a compiler and another building a web framework)?

<comment><USER4> [http://www.42.fr/notre-pedagogie-programme/](http://www.42.fr/notre- pedagogie-programme/)

</comment></comment><comment><USER5> They clonned Epitech and made it free and hopefully with a better service. But if they really liked free education they would publish the classes for free online. They will earn money from recruiters.</comment>


Ask HN: Recent denial of H1-B visas for low paying IT positions systematic? - <AUTHOR> After hearing several anecdotes of renewals and new H1-B visas for lower paying IT positions being either in bureaucratic limbo or automatically denied (for positions where renewals would previously be rubber stamped), I wonder if these are these just rumors, or if this is unofficial policy now? <comment><USER2> Didn't want to write all this but feel that people need to open their eyes and see whats going on. I for one am glad that something is finally being done after 35 to 45 years of bleeding our jobs to workers from other countries. These people were taking away our jobs and transferring them to Indian outsourcing firms. Essentially stealing jobs created here and moving them to India and the Philippians. Once you include all the manufacturing plants and know how that was transferred to China, Japan, South Korea etc.. ( rough estimate of just the manufacturing plants that were sent to China alone is 45,000 to 60,000)

China required American companies to transfer technology in order to sell in china. Once they got a hold of the transferred tech, they copied and built it on their own and they no longer needed to buy from American companies. They stole all our defense and engineering tech from our defense contractors as well.

All current tech that are the prime generators of jobs and profit were created or brought to commercial success here in the USA essentially for the defense of the nation during and after its major wars. Along with a great deal of standards in many disciplines (medicine, finance, Research and development , engineering, transportation, power generation and distribution, governmental oversight and judicial transparency etc.. can go on and on and on.) These standards were a huge give away since we had to spend enormous amounts of money and resources and decades to create them. They were given freely to our competing nations. They started with these standards that we had to spend a hundred years time money and resources to build and codify. And, Oh by the way, most of the engineering, computer science, math, physics, biology, chemistry texts and curriculum was translated and copied from American and European universities and taught in China, India, Korea, Japan etc.. all these countries depended not only on America to take our technology but also the training texts and know how to teach its workers and students. While we trained and cultured our students towards entertainment oriented fields, they recognized the value of physics, math, engineering, etc.. Subjects that America essentially created or dominated are now the domain of competing nations.

To top it all off, AI and bio/genetic engineering is now being co opted by china. If I were to list all the tech that is now permanently gone to our competing nations, its just too depressing.

The Indian tech companies are great at sending unqualified workers here with doctored resumes and work/education histories. They train their h1b workers to replace qualified American workers and pay them less. As an added bonus, they were given all the most private databases of American households and corporations without any regard to security, Hence, all the wonderful identity theft and sales calls from India and the Philippians.

A good part of the blame goes to wall street for enabling all this in order to maximize share holder value at the expense of the American middle class and, just as importantly , the American higher educational system that ill trained its students and workers for subjects that were needed in the new economies. The horrible professors and schools that were relying on outdated instructional methods to convey complex concepts in math and physics and engineering to the average to below average students. rather than just focusing on the few outstanding student, they should have focused most of the resources and effort on the average to below average students and they needed to be trained. These are the lost workers whose lives have been destroyed by the opioid crisis. Their tragic state was avoidable.

Wall street initially financed these foreign countries by investing in these corporations.

Japan, Korea, China, India, SE Asia etc.. all these nations have as their primary industries things that were developed and transferred in one form another from the USA.

Its nothing but tragic and sad and the future of American children i really feel sad for. The urban poor who should have benefited from Americas development lost it all to the countries mentioned above.

these industries and their know how will never come back to the USA, they are gone gone gone. All the lifetime of R/D and knowledge built by the past generations of Americans were summarily given handed over to these nations and they will never ever give them back. Its lost. They would never be stupid enough to do what we did and give away our jewels.

Meanwhile, bill gates and others like him are concerned about the worlds poor, which is fine, but they needed to be concerned a little more about the poor and middle class of America.

<comment><USER3> I mean... isn't all that knowledge in books, patents, papers, Internet, etc. No need to 'steal away' anything?

<comment><USER2> We need to be savvy enough or real world wise enough to understand that our technical knowledge loss to these nations could and should have been kept from happening made very difficult to transfer such knowledge to these nations. We financed our own demise. More recently, Companies such as Global Crossing enabled the deployment of otherwise unaffordable means of connecting these nations to fast networks that allowed them to accelerate their taking away our jobs and technical know how. Suffice it to say that our retirement funds invested by wall street firms financed companies like "Global Crossing". By the way, for all those people whose retirement funds were invested in Global Crossing, they lost it. The Chinese army known as the PLA has a unit devoted purely for hacking into American and European defense contractors in order to steal and suck away every last bit of engineering data. Any way I will stop. I should not have opened my mouth. sometimes its better to shut up.</comment></comment></comment>


CSS Grid is better than Bootstrap for creating layouts - <AUTHOR> https://hackernoon.com/how-css-grid-beats-bootstrap-85d5881cf163 <comment><USER2> This is all very true. CSS Grid does simplify the markup needed for a column based site, and means that people willing to design everything themselves do have a better alternative to frameworks like Bootstrap and Foundation.

However, I think what a lot of people miss about these frameworks is that they're not just easy to use systems for coding a grid layout. They also provide decent 'default' designs for people with zero artistic talent.

And that's crucial for people who struggle with things like colour schemes, button/menu/pagination designs, etc. For someone whose favoured design ascetic is that of a 90s Geocities page, the standard Bootstrap styles will at least help it remain looking like something from the 21st century.

Bootstrap isn't just a frameworking tool, it's a quick way for people with no visual design skills or without a proper designer to make something that looks at least passable by using the default components and their included styles.

<comment><USER3> Agreed, but one can provide a "decent 'default' design" by leveraging CSS Grid and avoiding those pitfalls that come along with techniques used in Bootstrap.

</comment></comment><comment><USER4> Bootstrap has a leg up on CSS because all you need to know is centralized in Bootstrap's docs. Anyone who touches the project mainly just needs to credentialize in those docs.

Meanwhile, I'm not sure I've even worked on a project where the CSS files didn't devolve into an unmaintainable append-only log.

For example, the blog post's hello world CSS seems pretty nice at a glance. But I know that in the real world, you'll have to do quite a bit of reading to find all those grid annotations in the CSS and then composite them together in your head to get an idea of why the website looks the way that it does.

Because of this, I consider the extra HTML of a solution like Bootstrap to be a pretty small price to pay in the scheme of trade-offs. I've seen quite the monstrosities committed (even by myself on hobby projects) in the effort to minimize markup.

Of course, there's never a best way to do something, only trade-offs.

</comment><comment><USER5> If you're using Bootstrap just for its great, yes I agree.

But Bootstrap has a lot of battle tested UI components that does a lot of heavy lifting. Also, you can customize a lot of via editing variable.less or if you're included, edit individual less files.

It's not really an apple to apple comparison.

</comment><comment><USER6> It took a little practice to really grok CSS grid for me, but now that I'm somewhat used to it, I really have to agree with the author's position. I don't think you could talk me into going back to a bootstrap-style grid system.

</comment><comment><USER7> Does anyone have experience with both CSS Grid and CSS Flexbox? Are they comparable?

<comment><USER8> Rachel Andrew has a great presentation on this that you can find on YouTube. But the summary of comparing them is this: flexbox is designed to help with 1-dimensional layout. It gets a bunch of elements to behave well when laid out in a row (and you can orient that row in all kinds of ways). Grid is designed for 2 dimensions, so rows and columns together. You can implement grids with Flexbox but it's hacky. Whereas implementing grids with Grid, you will be working with the grain.

My favorite thing about grid is that using grid overrides floats, so you can have a kind-of-ok floated layout as a fallback on browsers that don't support grid, and it's very little work to do so.

</comment></comment><comment><USER9> Forgive me for what may be a cliché but aren't we just going back to 10 years ago when we moved from layout in HTML tables to CSS? Only now it's `<div class="row"><div class="col-xs-12">` instead of `<tr><td>`.

I worry that the reason people started to swing back towards that style isn't really being addressed by things like CSS Grid. That being that it's very hard to maintain CSS because it's very hard to reason about what rules are being applied where unless you follow some strict personal naming conventions.

What are we doing to address this?

<comment><USER10> Totally agreed that Bootstrap styling-in-HTML sucks, but it was only ever pushed by Bootstrap, BEM and other things that are slowly going away.

I build using CSS grid. Since there's no requirement for stylistic class names, I don't use them: instead I use the class names for what that item is.

Eg, to make a login box I use:

        .login {
            @include center-in-parent;
            background: $dark-background;
        }

Rather than:

As a result, when I change what login box looks like I change only my SCSS, rather than both the HTML and the SCSS.</comment></comment>


The New Yandex.Browser - <AUTHOR> https://browser.yandex.com/future/

<comment><USER2> 2x the size of Chrome, 10 mins to dl, asks for access to Chrome...at least "the future" looks cool</comment>


Is Apple About to Accidentally Kill Government as Platform? - <AUTHOR> https://medium.com/code-for-america/is-apple-about-to-accidentally-kill-government-as-platform-f68eef001d37 <comment><USER2> I appreciate that the author is calling this out and takes the time to understand what Apple is trying to accomplish. I wish there were more discussion of details as to what's going on in specific cases.

I hope that there's more to the story, that these government orgs are reaching out to Apple and that there's some dialog going on to try to remedy the situation. I understand that dealing with the App Store can be frustrating, but it's still a course of action. And it wouldn't be the first time that the App Store policies have changed. The author makes a similar call at the end of the piece. I find it a little surprising that someone who happens to know enough about the situation to write a post would also not know details of at least one case. It seems feasible that Apple could put in place a policy to, say, whitelist specific vetted accounts. I would be disappointed to find out that there _isn 't_ some ongoing dialog going on. However, neither this post nor the referenced June 22 Fortune article provide any additional information.

If anyone knows more about this, I'd appreciate it.

</comment><comment><USER3> Maybe this will inspire cities to create a web page that anyone can use whether or not they have an iPhone instead of making apps that are simply a wrapper for a website.

<comment><USER4> There are lots of great uses for push notifications with users and government that are not possible without having a standalone app. FWIW, _I agree with you_ , but due to this other annoying and selfish decision by Apple to not support the Web Push API, this isn't really a viable alternative.

</comment></comment><comment><USER5> How to read this headline:

Apple -> a change in the app store guidelines

kill -> make more difficult

Government as Platform -> development of municipal apps

</comment><comment><USER6> _An effort by Apple to prevent spam may unintentionally undue years of digital government app development_

Please undo this transcription error.

The trust problem is among the most basic in society, and it seems that today we're faced with competing and to some extent conflicting approaches:

Government restricts the use of official symbols such as seals so that citizens have some token of authenticity they can rely on

Corporations find it easiest to do business by requiring everyone to adhere to a single standard, and leverage a monopoly or strong market positions

Technologists offer blockchain methods as an objective method of establishing authenticity - but consumers are confused by the proliferation

<comment><USER7> The digital method of proving identity is a digital signature, not blockchain.

<comment><USER6> When I write 'authenticity' I do not mean 'identity'.

<comment><USER8>
      token of authenticity they can rely on

Rely on for what? In cryptography, authenticity refers to the source or origin of some data; in other words, the identity of the creator.[1] Likewise for official seals--the seal attests to the identity of one of the parties (either one of the principles, or an attester).

Your usage regarding seals seems correct. It's the analogy with the blockchain that is confusing. It's difficult to tell without more detail. If you broke things down you'd probably end up also using terms like integrity and non- repudiation, which are quite distinct.

[1] For example, an excerpt from the Handbook of Applied Cryptography ([http://cacr.uwaterloo.ca/hac/about/chap1.pdf](http://cacr.uwaterloo.ca/hac/about/chap1.pdf)):

      Once the TTP creates a certificate for a party, the
      trust that all other entities have in the authenticity of
      the TTP's public key can be used transitively
      to gain trust in the authenticity of that party's public
      key, through acquisition and verification of the
      certificate.

      -- Chapter 1, Section 1.11.3.

</comment></comment></comment></comment><comment><USER4> I agree 100% with everything in this article... at which point I just can't bring myself to not call them out for using Medium--a centralized hosted platform--when there were numerous available white-labeled options that would have allowed them to both maintain control over their branding and viewer's information as well as allow for future upgrades without lock-in. They didn't even set up a custom domain name, even though Medium supports that option. (And to the extent to which this is "just Jennifer Pahlka" and not "Code for America", the same arguments apply.)</comment>


How to build a double-arm barn door tracker (2001) - <AUTHOR> http://education.jlab.org/tracker/ <comment><USER2> I've been meaning to do this for my 14 inch reflector. The Dobsonian mount is totally inadequate.

</comment><comment><USER3> Wouldn't this be a perfect project for a 3D printer these days?</comment>


A Cunning Traveler Ate 300 Consecutive Luxury Meals for Free - <AUTHOR> https://medium.com/better-marketing/how-a-sheisty-traveler-ate-300-consecutive-meals-for-free-908228c921f1 <comment><USER2> [http://archive.is/gMev6](http://archive.is/gMev6)</comment>


How Geckoboard got their first 2000 beta users (2010) - <AUTHOR> http://startupbynumbers.posterous.com/how-i-got-my-first-2000-beta-users/

<comment><USER2> I wrote this post almost 2.5 years ago - happy to answer any questions here.

<comment><USER3> Would absolutely love to see or hear more of your growth stories!

<comment><USER2> Will give it some thought. Is there anything in particular you would like me to expand on?

<comment><USER4> Hi Paul, I'm a big fan of Geckoboard - in some circles, your name is almost analogous for a dashboard :)

Getting to over 2500 signups in four months is definitely a great achievement, but I think it would be more interesting to hear about getting to 100 daily active users for example. After all, signups are not worth much if the users don't keep using the service (I'm sure this was not a problem in your case though).

I know there are a lot of generic blog posts and SaaS services for maximizing customer engagement, but reading real stories from founders is always uniquely inspiring.

<comment><USER2> Thanks!

Totally agree, beta signups is almost the definition of a vanity metric. That said, at this particular (very early) stage of product development I wanted to solicit as much feedback as possible much of which was gathered from usage data - particularly first time users usage patterns. Having a reserve of signups that I could drip into the app as we released new features was useful in itself.

Will have have a think about whether I can add any value above the noise of the generic blog posts that you mention, thanks for your interest.

Feel free to drop me a line for a private discussion. I'm seriously impressed what you're doing with BitDeli!

</comment></comment></comment></comment></comment><comment><USER3> Analysis reveals they got over half their first 2K users from right here.</comment>


Who funds the arts and why we should care - <AUTHOR> http://on.ft.com/1ubPM0g <comment><USER2> I think that its important to note that as a culture - we have more access to art than any time in history. Music, movies, literature is at our reach with unprecedented ease.

This article is not talking about art as a whole, but "The Arts". I'll be playing a tiny violin for them.

</comment><comment><USER3> True story: I went to the _Bangkok Arts and Culture Center_ in Thailand last year. Showing in prime position was an 'exhibition' about the dangers of counterfeit medicines, sponsored by a major international pharmaceutical syndicate and facilitated by a European consulate. It was mostly composed of art by children in Indonesia on the subject. The whole thing gave me the heeby-jeebies.

</comment><comment><USER4> if Artists(capital A) are to be given no-strings-attached money then why not everyone?

why don't they do their own ice bucket challenge or something to raise their own funds if they're not happy with their current sponsors?

</comment><comment><USER5> This article seems to presuppose that "Art" is some independent entity (from what? All sponsors?) and that corporate sponsorship of art is problematic. Namely, that corporate sponsorship of art either sanitizes the image of morally reprehensible organizations or that the sponsors and the message of the artistic work itself are in conflict.

But, as the article rightfully notices, this is hardly new. It is a partnership that goes back for millenia. So for the author to claim that "the sheer weight of discontent suggests we are reaching a tipping point", it demands fairly convincing evidence. And to this effect, the author is tremendously underwhelming.

The simple truth is that the arts are realized to be important to society (although the specific reasons seem to differ depending on who you talk to) but are incredibly hard justify spending lots of money on "for art's sake". It's similar to the tension that exists in funding very basic science research. Yes, there is the outside possibility that we will generate work (artistic or scientific) that can contribute greatly in a pragmatic sense (i.e. a return on investment) but the great majority of endeavors will probably fall short.

The most convincing arguments for artistic funding are the ones that are being criticized: sending a specific message either indirectly (i.e. Company X supports the arts and is therefore a great humanistic organization) or directly (Company X commissions an artwork about subject Y). And this criticism does seem to stem from the fact, as mentioned in the article, that "Much avant-garde and contemporary art is actively hostile towards capitalism. If an artist who is critiquing corporate power is presented as part of this branded apparatus, the work is being betrayed quite fundamentally."

But already, this statement suggests a solution. Have the artist retract their work. I suspect this doesn't happen more often both due to the legal complexities in consenting that your art may be shown at an institution, and the fact that it would mean a lot of artists actively shunning exposure on some of the most lucrative stages.

And so ultimately that's the crux of the argument: artists need to be funded to get exposure and survive. If we want them to be truly independent (again, from what? The article seems to cast it in the narrow sense of capitalist influence) then we need to find an alternative way of funding them. FURTHERMORE, and I think this is the truly difficult part, we would have to explicitly prohibit the commissioning of art by these agents.

The reality would be that we would have much less art than we do now, and existing art would be harder to see, too. For example, insurance for masterpieces isn't cheap. That money has to come from somewhere. And if so, you just have a situation where corporations don't commission art - they just ensure it can be displayed.

Lastly, though, and this is what the real logical flaw of the author is, does art truly depend on context? I know that this is the classic post-modern argument, but the emotions that we feel when seeing art are probably quite unique to us. They might be the message the artist is trying to convey, or they may not. Either way, even if the capitalist system wants me to interpret an artwork in a certain way, it doesn't necessarily mean that I will.

<comment><USER6> I tend to ask this sort of piece to identify clearly "What is your ideal?" (I'd ask the author, but I can't, so asking the piece has to do.) Like so many others, I think that this does a lot of hand wringing but won't answer that question, either because the author hasn't examined it herself, or because on some level they either wouldn't like the answer or wouldn't want it to get out.

Of course the answer will vary from person to person. But rather a lot of artists would, if they answered honestly, seem to want to live in a world in which they are paid string-free money to just Art, and when it comes down to it, that's not realistic, nor is it particularly fair to anybody. I mean, that's great and all. I'd like to be handing string-free money on account of the sheer radiant awesomeness of being me, but that's just not on the agenda here.

It's not as if government money is string-free either... it just so happens that the artists in question _like_ playing the tunes that the artist-funding portion of the government is calling. Which is their right, but makes this whole thing a lot less about the Morality of Artistic Funding and a lot more just grungy money grubbing.

<comment><USER7> Actually, I think the future is that people are all given string-free money. If you want more money than the baseline, you have to earn it through the market, but I think a decent, livable wage should just be provided to everyone. It would be a net benefit to society as a whole and have very little downside.

<comment><USER6> "Basic Income" is an entire other problem. No Basic Income proposal I have ever heard will be enough for some of the performance art installations artists will want to build, nor should they be. It is perhaps a solution for musicians (they can burn through dough, sure, but at least equipment tends to last), or artists of more modest goals, but it is not a generic solution to the funding problem.</comment></comment></comment></comment>


RANT: We need to end security questions - <AUTHOR> https://kolemcrae.com/end-security-questions/ <comment><USER2> > "Another issue is that there is no "standard" set of security questions. > This means I can't just memorize a set of 5 answers that I use for > everything."

That's because if a "5 questions standard" existed across the industry, your answers would be the equivalent of a single password that is identical across all services.

(ie: if one service gets breached, you are exposed everywhere else)

<comment><USER3> I generate random hexadecimal strings as answers to mandatory security questions. All authentication information is stored in a password manager entry.</comment></comment>


Sentience discovered in the Linux kernel - <AUTHOR> http://www.chipx86.com/blog/2010/08/17/sentience-discovered-in-the-linux-kernel/

<comment><USER2> Did anyone get chance to read it while it was up? What's the art. about?

<comment><USER3> It's a joke article attributing the misbehavior of buggy suspend/resume on Linux to the kernel achieving sentience and expressing its desires through crashing (or not).</comment></comment>


Google Patents Prior Art Finder - <AUTHOR> http://www.google.com/patents/related

<comment><USER2> Based on the wording of the title ("Google Patents Prior Art Finder" at the time of this comment) I thought this would be a link to information on how Google had patented a prior art finder service, which would be... pretty funny.</comment>


Inside a Chinese Bitcoin Mine - <AUTHOR> http://www.thecoinsman.com/2014/08/bitcoin/inside-chinese-bitcoin-mine/ <comment><USER2> Is there any estimate of how much income this particular mine can produce, compared the the capital outlay and the ongoing costs?

<comment><USER3> This operation currently mines about $262k per month:

230e9 (each machine does 230 Ghash/s) * 2500 (# of machines) * 3600 (second/hour) * 730 (hour/month) / (2^32 (average number of hashes to solve a block at diff=1) * 19.8e9 (current Bitcoin difficulty)) * 25 (BTC/block) * 590 (USD/BTC) = $262000/month

The article says their electricity bill is $60k per month. Subtract the 3 employees salaries, say $5k per month (this is China). So you are looking at a pure profit of $197k per month. Of course these profits are declining quickly over time; look how fast the difficulty has been rising: [http://bitcoin.sipa.be/speed.png](http://bitcoin.sipa.be/speed.png) (logarithmic scale!)

And this mine only represents 0.3% of the total network speed (about 170,000,000 Ghash/s).

Edit: bellerocky: most exchange fees are < 1% to turn BTC to fiat.

Edit: FigBug: roughly yes, but because the network is growing, there are more than 3600 coins mined per day (blocks are solved a bit more often than every 10min).

<comment><USER4> that doesn't include the cost of hardware but I guess it is negligible... and I thought mining was not profitable at current prices.

<comment><USER5> Mining tends to not be profitable if you pay retail prices for ASICs, but if you make your own ASICs it's still pretty profitable.

</comment></comment></comment></comment><comment><USER6> Quite interesting. What's to stop the bitcoin pool from consolidating into a few key players as difficulty to mine progresses? There's no way that the miners are spending >250k/mo and pushing bitcoins back into the system. Wouldn't this hypothetically consolidate wealth in the hands of those with enough capital to create monstrous factories like this?

</comment><comment><USER7> I wonder about the effects of such establishments on the Bitcoin ecosystem as a whole. In theory, they're supposed to strengthen the network by providing more hashing power. But what worries me is the onset of mega-pools composed of such factories that will gain >51% of the network's computational power effectively gaining a monopoly on Bitcoin.

<comment><USER8> That's the one thing that keeps eating at me. Would it not be trivial for a large corporation or government entity to throw enough money around to accomplish this? The only response I hear is that the market will magically prevent this.

<comment><USER9> Subverting the entire Bitcoin network is almost certainly not as much as a 1 ACE problem. (Aircraft Carrier Equivalent)

<comment><USER10> Except the network can adapt by modifying the code, so calculating the cost of destroying Bitcoin is not trivial. The security of the network is not static, because it's also made of people with economic incentives, the same way any other system is also made of people, eg: When a website is under a DOS attack, their administrators will do various things to mitigate or completely stop the attack.

</comment></comment></comment></comment><comment><USER11> The cables snaking everywhere and the old hardware piles give me flashbacks to _Serial Experiments Lain_.

All they're missing is some chrome and neon, and we're living the cyberpunk dream.

</comment><comment><USER12> I wonder how much effort they've put into optimisation? Small gains (1-2% rather than order of magnitudes) for these guys obviously mean a lot more than for any bedroom operation.

<comment><USER13> They're ASIC processors. It's already set in stone (silicon, whatever).

<comment><USER12> That occurred to me while writing the comment, but I assume there are other factors which could be worth monitoring and improving, for example network topologies or even cooling methods.

</comment></comment></comment><comment><USER14> What is their internet connection, fiber? Surely they must have a special contract or multiple providers.

<comment><USER15> I don't think Bitcoin is a big bandwidth user. A lot of little/small connections.

<comment><USER16> They also only need one connection; they can simply split the data across all the workers. They will need to send shares from all the workers if they're not solo mining, but even those are less than 100 bytes each, and if that becomes too much of a nuisance they can just solo mine.

</comment></comment></comment><comment><USER17> Google Cache: [http://webcache.googleusercontent.com/search?q=cache:ZwsYcfx...](http://webcache.googleusercontent.com/search?q=cache:ZwsYcfxQH8kJ:www.thecoinsman.com/2014/08/bitcoin/inside- chinese-bitcoin-mine/+&cd=1&hl=en&ct=clnk&gl=us)

<comment><USER18> Google doesn't cache images but archive.today does: [https://archive.today/8EX79](https://archive.today/8EX79)</comment></comment>


Larry Page: 550,000 androids activated a day and other announcements - <AUTHOR> https://plus.google.com/106189723444098348646/posts/dRtqKJCbpZ7

<comment><USER2> 550,000 x $15 a handset = $8.25m a day for Microsoft in royalties?

$8.25m x 365days = $3,011,250,000 a year in royalties?

Is MS making $3B a year off of Android?

<comment><USER3> Well, $5 from HTC, probably none (?) from Motorola.

No doubt they're making a fair amount of money though.

<comment><USER4> Motorola is currently being sued by Microsoft.

</comment></comment></comment><comment><USER5> This is 16.5 mil a month or nearly 50 mil a quarter.

<comment><USER6> The staggering thing is that they are activating about as much in a quarter now as they did in all of 2010. I honestly thought it would plateau by now, but it hasn't. It's truly hard to appreciate how big the Android tidal wave really is.

</comment></comment><comment><USER7> it's funny how his signature is -Larry.

<comment><USER8> Actually, the top 3 at Google insisted on calling each other by their first names in the IPO papers, to the chagrin of the SEC.

</comment></comment><comment><USER9> tl;dr ... haha not really. Google is on a roll. I both fear and love it.</comment>


Don't Let Zuckerberg Kill Free Speech - <AUTHOR> https://spectator.org/dont-let-zuckerberg-kill-free-speech/ <comment><USER2> This is one of those problems where the sickness is uncomfortable but the readily available remedies probably do more harm than good. Facebook and internet platforms more broadly definitely seem to enforce double standards on what is and isn't allowed on their platforms. This is very likely due to the narrow set of viewpoints (or more importantly, voiced viewpoints) at these companies. I worked in 2-3,000 person tech company in San Francisco 2015-2019 and interned at other Bay Area companies, and I can attest that there's a pretty strong liberal monoculture going on there. That the hammer comes down on conservative speech is pretty clearly apparent to me, and I don't think this is good for society in a platform as big as Facebook et. al.

On the other hand, this is entirely within their rights. These are private companies and they have no obligation to host content impartially. Any legislation on this would be a pretty flagrant violation of the First Amendment. Not to mention this requirement is just hopelessly hard to enforce, and is bound to be subjective and prone to abuse if some body is given authority to define this for all online companies.

The only argument that can feasibly be made is to treat Facebook and other platforms like utilities - a power company can't just decide to not do business with people they don't like. But that's extremely far-fetched. I think good argument can be made to treat server hosting providers, payment processors, and domain name providers like utilities. It's not hard to create your own forum, but it is prohibitively hard to set up your own server farm, lay your own fiber cable, and somehow get users to connect to your site with just an IP. I could get behind treating the infra as a utility, splitting hairs over the platforms themselves is not a priority for me. As long as the infrastructure doesn't discriminate, the market will sort things out of the incumbents don't stay on top of things as far as providing a good public forum.

</comment><comment><USER3> This is basically the slippery slope argument, with a slap dash addition of "suppressing the conservatives" commentary at the end - noting that if your "conservative speech" is indistinguishable from hate speech, maybe you need to reconsider your life choices?

Not sure I agree with the counter claim - FB should be required to reproduce all content and allow any person to join irrespective of their comments and/or behaviour - essentially it slippery slopes its way to "should the NYT be required to run an OpEd by [insert serial killer, or whatever here]"?

On the other hand: it seems that requiring them not to censor would require saying that a corporation is not a person under the constitution, which would mean corporations would lose the ability to enforce their religious beliefs on their employees?</comment>


Still Fighting The Wrong Fight - <AUTHOR> http://cheolhominale.posterous.com/28141681

<comment><USER2> At the moment web apps are not ready to replace native apps. I believe one day they will be but it might become a difficult journey.

(Caveat: I am not an iPhone dev) When the iPhone first came out Steve Jobs extolled the virtues of having web apps, yet people everywhere started clamouring for an SDK (rightly so). With a web app you may not be able to access all the juicy goodness of the on-board hardware (GPS, compass etc). Until those things become accessible via web-based software, I don't think we'll see a massive exodus.

If Apple has their wits about them, then they'll keep introducing new hardware features and the the inventive developers will find cool things to do with them, but only with native apps.

I do think we'll end up with making a shift to more mobile web apps one day but I'm no longer clear on what that journey will look like.

</comment><comment><USER3> I only somewhat agree with the blog post you linked to.

The problem with webapps is it makes it extra easy for closed source vendors to just lock all your data way just to be dicks.

For example, look what happens when your Google account is locked... there goes all your mail, all your stuff in Reader, all your stuff in Docs, no more posting on Groups, etc etc etc. Now, imagine if Google was evil.

The only way for webapps to flourish on the web in the way mobile users would need, licenses like AGPL would have to become the norm, and downloading your data to use offline would also have to become the norm.

Plus, some things simply don't make sense as a webapp, such as applications that have large data sets (such as games). Until HTML5 offline storage starts actually working, theres no fix here.</comment>


Common sense dies when adults catch teenagers "sexting" each other - <AUTHOR> http://www.reason.com/news/show/133863.html

<comment><USER2> OK let's take a step back and examine the core issue here: are minors capable enough of making sound decisions to be held legally liable for the outcomes?

If they are, then they should also be allowed to "sext" similar peers. If not they are not capable of making such decisions, then they should not be arrested for receiving such messages.

To say that teenagers are both culpable and incapable of sound reasoning is not a consistent position. But then, are we really trying to be sensible?

<comment><USER3> Minors are _not_ capable of making sound decisions, which is why they should be treated differently (and usually are). But, I _disagree_ that this is the core issue. I believe that this is _not a crime_. At all. Not even a little bit. The idea that it is _illegal_ for those under 18 to do anything sexual is wrong. It moves to preposterous when you start calling them sex offenders. Why? Because it is a natural and normal part of growing up. The body secrets huge amounts of testosterone/estrogen during puberty. Humans are designed/programmed/whatever to start thinking about sex at this point. Finally, because kids are actually people too. They do get to make decisions. Small ones at first, but bigger ones later. A 17-year-old that is going out with an 18-year-old should not have to break up with their significant other simply because of the magical 18th birthday.

<comment><USER4> great post!

I think the kid puts it best (and ironically in an extremely mature way) when he talks about how a split second decision screwed it all up. We talk about underage and minors because we are a lot older - but forget that to them that age divide is non-existant. At home with the guys, testosterone going, recieve a text from a girl that sounds a bit sexy - hey we've all done it. Difference is where it's "allowed" for us - for them it, apprently, isnt. Leaving the images on screen or w/e is, obviously, very thick but I struggle to see a serious crime. The boy's parents approach seemed the best of the lot......

Yes, nail whoever actually posted them publicly online (and perhaps lightly reprimand the guy for leaving his inbox open). That is the _real_ crime - regardless of the age of the victim.

(ps sorry about spamming this topic: strong opinions here :D shout if it's too much)

<comment><USER5> Apparently him leaving the inbox open wasn't what spread them she sent those same pictures to other guys.

</comment></comment></comment></comment><comment><USER6> I only read half the article, but from what I can tell:

\- 14 year-old girl sends topless pics to multiple teenage peers.

\- One of the recipients leaves his inbox open and his friend posts the images online.

\- That same recipient gets arrested.

It seems like of those three people (the girl, the recipient, and the poster), the most-innocent one was the one that got arrested. That's bass-ackwards.

<comment><USER7> you should have read the entire thing...

</comment></comment><comment><USER8> Anyone who aids and abets this sort of thing -- criminalizing the quite natural urges of those growing into adulthood -- should go to prison themselves.

The perils of living in a puritanical country....

</comment><comment><USER9> It's not a minor thing if naked pictures of your daughter are permanently circulating around Internet porn sites.

I have no other comment to make about the underlying issue here, and I am specifically _not_ making a stand. I'm just saying, it's not a minor issue.

<comment><USER3> As a father with a daughter, I can imagine I would be very distraught. But, in this specific situation, if my daughter took pictures of herself, of her own volition and sent them out, it's really her decision. She might also get a tattoo or ride a motorcycle or even want to program in Java. My job is to educate her, get her ready to make big decisions and teach her that her decisions have real consequences.

<comment><USER10> >"...if my daughter took pictures of herself, of her own volition and sent them out, it's really her decision"

And that's the key here, isn't it? She wasn't coerced into these pictures. She may have been peer-pressured, but the article doesn't cover whether this is the norm in this school or not. I suspect not. She did it, she distributed the picture. What did she think it was going to happen?

Her father's quote is laughable: "This country has laws in place to protect children. Those laws need to be enforced, and parents need to pursue those laws to the fullest extent to protect their children." What the hell does he think happened here?

<comment><USER11> Her father is blaming someone else's child as being the 'bad egg', just like is frequently seen when a parent denies their child being a bully.

He's an incompetent parent who doesn't want to admit his daughter has turned into an eSlut sending multiple pornographic images and videos to multiple people at the same time. I'm sorry, but sending nude pics to your boyfriend is acceptable, sending it to a non-boyfriend is trashy, but 4 guys at the same time is just slutty.

<comment><USER12> This kind of attitude (some third party with absolutely no business butting in deciding what is or isn't an "acceptable" way for another human being to express their sexuality) is exactly what got these kids into this legal mess.

</comment></comment></comment></comment></comment><comment><USER13> Reading this I couldn't help but think that standardised, easy-to-use, end-to- end crypto could have prevented a lot of these cases. No way for the pictures to be intercepted by the law, no way for a "friend" to steal them out of the recipient's mailbox. Of course, trust only goes so far as a teenage boy's trustworthiness, but it's something.

<comment><USER14> The reason the friend was able to steal the pictures was because the recipient left his e-mail program open and unattended. End-to-end crypto is useless if either of the ends are compromised.

<comment><USER13> That is true, but I would imagine crypto-centric email software would have a timeout feature or similar to mitigate this.

</comment></comment></comment><comment><USER15> "That might have been the end of it, had the files not, as digital files will, leaked onto the Internet."

This makes it sound like the tubes were leaky that day and because the files were "digital," they just spread out over the Internet like an oil slick. Um, no. Files do not spread simply by virtue of being on a computer.

</comment><comment><USER16> here is a case where we actually need DRM. the girl should have been able to secure the content and allow access to only those people she wished to grant it to - there is both nothing legally or morally wrong with that.

there is a tech angle to this story - and its about how we need solutions to stop unauthorized propagation of private content. DRM systems as already built into Windows and other systems would work perfect - it just needs to be standardized and rolled out across mobile and web platforms (most of it is based on open protocols)

It's a shame because we have the technology, it is just currently being applied in the wrong places

<comment><USER7> wow, isn't that a good idea!!! Startup idea for anyone who wants it.

<comment><USER17> No, it's a bad idea. It wouldn't work. Neither on a technical level (DRM on images is trivially circumvented), nor on a social level (idiots will always be idiots - no matter how many safeguards you build in, they always find a way around them).

And that's without even getting into the slippery slope aspects of DRM technology.

<comment><USER16> no, it would work. it doesn't have to be DRM per se, just automated public key encryption and signing using something unique such as the phones IMEI number.

it is very possible to implement encryption and signing without having the user go through key generation etc. make it all transparent and give them a lock to click on if they want to make the message and attachments secure. PGP already has a similar product, and hushmail is pretty easy to use.

<comment><USER17> And what does that gain you? Nothing.

The image needs to be _displayed_ on the receiving end. From that point the cat is out the bag, no matter how many locks you put on the bag.

<comment><USER16> we are talking about propagation here. its built so that the person who receives the image is then unable to forward it to somebody else. or at least they can, but that person won't be able to unencrypt.

its pretty standard, and working with e-commerce for a while now.

<comment><USER17> _its pretty standard, and working with e-commerce for a while now._

In what area of "e-commerce" is that standard and working? I don't know of any but I know at least one where DRM was tried and failed miserably (music distribution).

Moreover I can only repeat that DRM is technically infeasible for images because the images need to be _displayed_ on the clients screen. When your eyes can see it then the lens of your digicam can also see it. Get it?

<comment><USER16> wow, your on a completely different page - and im going to leave it at that.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER18> From my point of view this is a kind of overreaction from the society to an existing problem where we mixing real criminals with kids. Based on that strict rules long generation could be criminalized... The magical figures of legal age are based on traditions but puberty comes way earlier nowadays with all the bad consequences. We are sending police officers after kids but there are no words against the girly image from the media which is far from innocent and a good inspiration for all the illegal behaviour. As a father of three I just hope the best that my kids will survive these years without an incident like that.

</comment><comment><USER11> This is just a clear illustration of the fallacy of our legal systems. I had a 2MP camera phone at ~13 years old, even at that time it was fully integrated to the cellular network and internet. Any picture I took could be sent to another phone or emailed on. I had a webcam on my own computer and vast knowledge of computers; I started on DOS at like 3 and was online long before the mass adoption of IM.

</comment><comment><USER19> So basically, everyone who took private pictures of their high school sweetheart back in the day and never bothered to delete them after turning eighteen is in possession of child pornography?

<comment><USER20> Even _BEFORE_ you turn 18. There are cases of <18 yo kids being tried as adults for 'possessing', 'producing' or 'distributing' child pornography. Even the girl who takes the pictures of herself is not safe from this sort of legal system madness.

</comment></comment><comment><USER21> It makes a really nice system of governance if people break laws early in their life, and "government" can tag them and monitor them for the rest of their life... if you represent the government.

And "child porn" brings in a lot of emotional baggage. We all think of Mr 40 year old kiddie diddling with a 9 or 10 year old. That's just gross. So politicians made laws to handle that. Of course, the young boy looking at porn was completely ignored. However, the other fact that was ignored completely is simple biology. We all know about 'adolescents' and their 'hormones', yet the laws ignored any idea of following biology. Instead these politicians follow the most puritanical belief set they can find.

And tell me: What politician wants to give up that much power, or "Let Those Evil Men Have Sex With Your Young Child" ?

Yes, Im cynical, only because I've seen this 'game' in many other areas of government. Alcohol, seat belts, Smoking, university funding, Roads... you name it.

</comment><comment><USER22> "Then there were the things they could not control, such as the confiscation by police of the computer belonging to the dean of students at Alex's school. The dean had requested the images in an effort to sort things out" --- haha...sure dean, sure. "sort things out"

<comment><USER23> I know its a joke here, but if that attitude really prevails, there will be no way at all to deal with this in a rational way at the level where it will do the most good.

We've already got a serious problem with over-escalation here. All this will do is make the people most able to deal with the problem too afraid even to acknowledge it.

Don't look, don't think, just call the Miniluv.

<comment><USER4> True enough: but that is not something the dean is equipped to cope with on his own. They are pictures of minors and no matter his intentions requesting them (where from?) off his own back sounds like a bad move!

Get in with the police force (in all liklihood they would welcome his connection to the pupils) and provide suppor through that medium; that seems a more logical approach (what he did sounds like a half cocked investigation of his own - which is a bad idea full stop anyway :D).

As it is he will almost certainly be let off with a caution (provided nothing else is found) - but siezing it is all but mandatory. If nothing else to ensure the images are correctly destroyed.

<comment><USER23> In the current environment, the dean's best course of action (provided he cares about the students and their futures) is to keep the images as far from the police as possible and try to handle it as quickly and quietly as he can.

Such is the sad but true we now find ourselves in.

<comment><USER24> It didn't happen at school, and it didn't involve school resources as far as I can tell from the article. The best course of action for the dean is to avoid dealing with the situation entirely.

There seems to be a common attitude among school administrators that anything involving students is their business. It is not.

<comment><USER22> can someone explain why Zak is +14 while i'm -7 and we basically said the same thing. it was a joke guys.

<comment><USER12> Because Zak just said it (clearly and understandably), and you tried to convey it through a vague and not-especially-funny witticism.

You also complained about getting downmodded, which is why you're at 0 here.

</comment></comment></comment></comment></comment></comment></comment><comment><USER25> Maybe she shouldn't be such a slut. Just my two cents.

On top of it, the distribution wasn't intentional by the boyfriend. Why not go after those that did distribute it ie- his friends? May be hard to prove the computer was left open and "person x" did it.

Yes, it's horrible this happened, and I'd be pissed if I was a dad. I'd also try to be rational. Like Chris Rock said "Youve done a good job if you keep your daughter off the pole". Seems like this Dad is about to fail.

<comment><USER26> When I have a daughter, I want her to be able to do whatever she wants without worrying that society will judge her for actions that have harmed no one. Comments like yours make that less likely. Please stop.

<comment><USER25> I agree with you. I'm not for over protective parenting and kids should be able to have fun/express themselves without lots of judging.

Honestly though, there's probably a fine line somewhere. I think you can say that it might not be the best idea for your daughter at 14 to be sending around naked photos and stripteasing.

This could easily become a long argument and no one is wrong or right. Maybe it's more of a case of would rather and would rather not. Most people would probably agree that they would rather not have their 14 year old daughter sending around some naked photos and videos.

<comment><USER26> I definitely wouldn't want my daughter to send around naked pictures of herself. However, if she did, that wouldn't make her a bad person, as "slut" connotes.

<comment><USER27> I don't think it connotes that to everyone. At least, to me, it only suggests high promiscuity, which isn't a bad thing in and of itself. Nor is it necessarily true in this case, but to those who formed our worldviews before omnipresent recording, sex-themed pictures of someone intuitively imply promiscuity. We'll just have to get over it; the world has changed.</comment></comment></comment></comment></comment>


Chicken Scheme 5.0 - mario-goulart http://lists.nongnu.org/archive/html/chicken-users/2018-11/msg00006.html CHICKEN is a compiler for the Scheme programming language. It produces portable and efficient C and supports the R5RS and R7RS (work in progress) standards, and many extensions.  More info at https://www.call-cc.org/<p>A new major version has just been released.  See the announcement message here: http://lists.nongnu.org/archive/html/chicken-users/2018-11/msg00006.html <comment><AUTHOR> Wow! It has been almost 6-7 years since I used Chicken Scheme, but I have fond memories of it. I wrote a program to automatize the creation of scientific reports in the Planck/LFI project [1]. The purpose was to quickly scan a large number of maps and power spectra produced by the data analysis pipeline, detect any weirdness in the data, and create a report in HTML format. The report included several tables and plots.

The ability to natively encode HTML in Scheme syntax was the main reason why I chose Chicken Scheme: LISP is perfect for creating HTML programmatically. However, while using Chicken Scheme, I discovered a few other features that were big timesavers:

(1) The simplicity of its FFI was incredible. It was immediate to link existing C libraries we were using in the Planck project, as Chicken Scheme compiles to C.

(2) Eggs were a joy to use. It was trivial to download and install them, compared to the amount of work needed for the usual C and Fortran libraries needed in our field (Lapack, Blas, HEALPix, etc.)

(3) Several tools were available: documentation generators (I don't remember the name of the one I used, but I remember the good looks of the documents it produced), seamless integration in Emacs, etc.

(4) Developers were super-friendly. I did not need to ask questions very often, but the few times I had to do so, I found them responsive and happy to help.

(5) The fact that the compiler produces an executable made deployment quite easy: once I verified that the necessary dynamic libraries were available, I compiled the code using Chicken Scheme on my laptop and then copied the executable on the server hosting the data to analyze.

Congratulations to the team for this new release!

[1] [https://en.wikipedia.org/wiki/Planck_(spacecraft)#Low_Freque...](https://en.wikipedia.org/wiki/Planck_\(spacecraft\)#Low_Frequency_Instrument)

<comment><USER2> If you don't mind me asking, why did you stop using it?

<comment><AUTHOR> Essentially, because at that time I was the only one in charge of producing the reports, and so I could choose any tool in the market. (This does not mean that I have not met resistance by other colleagues in using Chicken Scheme: had I used a more widespread language, other people could have helped me in hacking the reports.)

Recently I coordinated the development of a similar tool for another experiment, but this time I was managing a team of three. While everybody knew how to program in Python, I was the only one with an adequate understanding of Scheme. So I decided to allow the members to use Python. (This time, however, we produced Markdown reports, which we converted to HTML using Pandoc.)

Most of the other codes I regularly develop for my job do not involve HTML reporting but make heavy use of Python libraries. In this case, I either stick with Python or use Julia.

</comment></comment></comment><comment><USER3> Great news!

When I applied for my present job (at a Golang/JS place), the dumb little coding exercise I was asked to do said it could be done in any language. Before thinking about whether or not it would actually be a good idea, I'd opened a new file and started hacking with this at the top:

;; you said any language

;; this is chicken scheme

And it worked! Thank you, chicken.

</comment><comment><USER4> One of the best intros to generational garbage collection is on chicken internals[1]. If you've ever wondered about GCs I thoroughly recommend giving the article a read, it's full of interesting asides as well.

I think I would use chicken more but usually when reaching for scheme it seems to be because I want something embeddable. Even so, extremely excited about this release!

[1]: [https://www.more-magic.net/posts/internals-gc.html](https://www.more- magic.net/posts/internals-gc.html)

<comment><USER5> JOOI, what's your embeddable Scheme of choice?

<comment><USER6> Guile or Chibi depending on what I want. Guile is about 2mb and seriously fast. Chibi is tiny and not very fasy.

<comment><USER7> Do you statically link Guile? Guile is a pleasure to work with, but I was under the impression that you can't embed Guile because it's GPL.

<comment><USER8> Guile ls LGPL.

You can statically link to LGPL libraries so long as you also provide your program in "object form" so that the user can re-link their program with a different version of guile.

See: [https://www.gnu.org/licenses/gpl- faq.html#LGPLStaticVsDynami...](https://www.gnu.org/licenses/gpl- faq.html#LGPLStaticVsDynamic)

</comment></comment></comment></comment></comment><comment><USER9> One of the hard problems in CS is naming things. WHY do scheme implementations decide to name stuff by SRFI numbers? Even if you've been using the language a lot, numbers don't make very much sense. I want to import the standard list library -- not library #1. Even (import srfi-1-lists) would be better than (import srfi-1).

In addition, such names make the language more approachable for new users. Not only do they have to know that SRFI exist, but they have to look over all of them to see if one exists for what they need.

<comment><USER10> Working on that. As SRFIs get incorporated into the R7RS-large edition of the standard, they get renamed to (scheme list) and so on. Of course, that hasn't propagated too far yet, but it's coming.

</comment></comment><comment><USER11> Chicken is an instance of "Mysteryware".

* Who created it?

* Why didn't them pick one of the other implementations?

* What's the history / background?

Could not find any of the answers to those questions after a few minutes of Googling around, nor in Wikipedia [1].

Closest I got is this page [2] that list "Felix Winkelmann" as the top core contributor. I'm guessing he is the author since the name rings a bell (after dabbling a bit with scheme and comparing implementations, so maybe I read his name somewhere, probably right here at HN).

Regarding the "why", I also think I read somewhere that the idea was to implement scheme using the ideas on "Cheney on the M.T.A." [3] and later the project took off, but I don't know the details... did I just make this up? :-p... damn, really need to improve my note taking process.

1: [https://en.wikipedia.org/wiki/CHICKEN_(Scheme_implementation...](https://en.wikipedia.org/wiki/CHICKEN_\(Scheme_implementation\))

2: [http://wiki.call-cc.org/maintainers](http://wiki.call-cc.org/maintainers)

3: [http://wiki.c2.com/?CheneyOnTheMta](http://wiki.c2.com/?CheneyOnTheMta)

EDIT: Found it! I think most I remember about Chicken history I read from these blog posts:

* [https://spin.atomicobject.com/2013/05/02/chicken-scheme-part...](https://spin.atomicobject.com/2013/05/02/chicken-scheme-part-1/)

* [https://spin.atomicobject.com/2013/06/19/chicken-scheme-spoc...](https://spin.atomicobject.com/2013/06/19/chicken-scheme-spock-part-2/)

<comment><USER12> _I had a plastic toy of Feathers McGraw on my desk, the evil penguin (disguised as a chicken!) from the Wallace and Gromit movie, "The Wrong Trousers." Looking for a preliminary working title for the compiler, I used the first thing that came to my mind that day. I'm somewhat superstitious about names for software projects, and things were progressing well, so I didn't dare to change the name._

Great!

</comment></comment><comment><USER13> I wrote an IRC bot[1] to get a feel for Scheme in general earlier this year. I chose Chicken for it, which got me to look into Cheney on the MTA and other implementation details which were really interesting.

The FFI is really nice, given that Chicken compiles to C.

The Chicken IRC channel was a lot of help early on.

All in all an enjoyable experience!

[1] [https://github.com/sebcat/kylling/blob/master/kylling.scm](https://github.com/sebcat/kylling/blob/master/kylling.scm)

<comment><USER6> The chicken IRC channel is IMHO one of the kindest and most helpful places on the internet.

I have asked so many stupid questions and they were so helpful. I would go as far as to say that they were an important part of me becoming proficient in scheme. The chicken community is my prime example of welcoming and nice open source communities.

I still use chicken from time to time, but I switched to guile for a project with an embedded scheme. I wrote quite a lot of scheme code and suddenly had a prelude in guile that wasn't so easily ported.

</comment></comment><comment><USER14> At my last job (company that builds data portals) I put together a basic site- to-Gopher gateway, so that people could explore data portals in glorious ASCII.

I didn't get all the functionality I wanted built in the time allotted (some of the time was also spent trying to fix up an old Wyse60 serial console that was on the fritz), but I had a blast writing that in Chicken Scheme. I was surprised and enormously entertained that there's a pretty well-baked Gopher server for Chicken... it supports IPv6 even!

Kudos to the Chicken team. While I like some of the Racket-isms in Racket, Chicken is a delight and has an awesome deployment story.

</comment><comment><USER15> Great to see this. I liked using Chicken on Linux, but unfortunately for me, I am on Windows and do not like using Cygwin or Mingw to compile it for Windows. There is no current MSVS solution as far as I know for now. I use Racket, Extempore [1], and I play with Shen [2] for my lispy appetite. Shen has been ported to Chez Scheme, which is also what Racket is being re-written in (sort of).

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

[2] [http://shenlanguage.org](http://shenlanguage.org)

<comment><USER16> Not sure if this will work for your use case but have you tried compiling it with WSL? It's much more convenient way to work with Linux software on Windows but may not be what you're looking for if you want to link a library in to a Windows project.

<comment><USER10> Chicken works great on WSL. I used to have it on both WSL and Cygwin.

<comment><USER15> I am not running Windows 10 on my daily computer. I'll try this on my other box. Thanks!

<comment><USER15> Still a bit of a hassle, but I got it working. It's a shame it isn't easier to install like Racket, Shen or CL.

I really want this to build as a Windows exe without the need for the Posix stuff, I think?

</comment></comment></comment></comment></comment><comment><USER17> For those wondering what this is like I was: Chicken is a compiler for a version of the Scheme language, which is a dialect of LISP. It compiles to portable C.

<comment><USER18> THANK YOU! My Google-Fu was failing on me!

<comment><USER19> More information on wikipedia: [https://en.wikipedia.org/wiki/CHICKEN_(Scheme_implementation...](https://en.wikipedia.org/wiki/CHICKEN_\(Scheme_implementation\))

</comment></comment></comment><comment><USER20> Is there some lisp that has offers nearly as powerful and fast data processing and tensor algebra facilities like Pandas and Numpy of Python? I would love to use a lisp but am not sure how well are they going to manage with huge 2-3D arrays.

<comment><USER21> Yes there is a really great statistics functional programming language that was founded on being a scheme for data science. Unfortunately the data scientist back then were not training in doing code well so the examples of the language got cluttered up but there is a great functional Scheme right in there.

That language is R. [http://adv-r.had.co.nz/Functional- programming.html](http://adv-r.had.co.nz/Functional-programming.html)

I learned Racket (Lisp) and then realized I had so many thing inside of R that I was missing. Hadley Wickham's tidyverse and funtional Advance R book changed everything in my code.

<comment><USER14> Currently, this comment is heavily downvoted, which I do not understand. If Julia warrants mentioning as having a lispy core, then it's at least as valid to point out R's deeply lisp-inspired (and technical implementation based) heritage.

I mean, scratch the surface on any of the FFI docs, and you'll see that SEXPRs are right there lurking barely beneath the surface: [http://dirk.eddelbuettel.com/code/rcpp.html](http://dirk.eddelbuettel.com/code/rcpp.html)

EDIT: and you can, as the parent comment says, do much worse than Hadley's functional programming guide as an introduction.

<comment><USER20> > and you'll see that SEXPRs are right there lurking barely beneath the > surface

Then why the surface? Why can't we just have a lisp with a good data-science library? Scheme seems the easiest of all the programming languages to me. I bet I can teach Scheme (not including advanced FP stuff though) to anybody faster than any other language although I have never used it to code anything serious (because libraries), I actually find it simpler than Python or even VBA. Phenomenally everybody seems so scared by the parentheses but these are not a serious problem given an intelligent IDE with proper outlining and highlighting.

<comment><USER14> You're preaching to the choir here.

I'd love to see a data science community around Racket in particular. In fact, you can do quite a lot in Racket today, just with not nearly the libraries and tooling as Python or R.

But as a consolation prize, R is pretty Schemey, and has the best collection of libraries for data around. It's been a dream for years to figure out a way of making use of more of R from Racket, but time and deadlines keep getting in the way.

<comment><USER21> I searched and I can't find it but someone was trying to implement R inside of Racket.

Personally I really want a language just for cleaning data in Racket first and then tidyverse.

<comment><USER14> Have you seen this package yet? [http://alex-hhh.github.io/2018/08/racket- data-frame-package....](http://alex-hhh.github.io/2018/08/racket-data-frame- package.html)

I think it could be the starting point for some data science work in Racket.

<comment><USER21> Thank you so for finding that. It is a totally different project but further along then the one I was following a few years ago.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER22> Chicken sounds super interesting but I've never used it. Anybody have a tutorial(s) on how to get started using chicken? And specially how do you do to 2D graphics with it?

<comment><USER21> I like Chicken but I still think Racket should be the first one learned, because of the documentation. [https://docs.racket- lang.org/quick/](https://docs.racket-lang.org/quick/)

<comment><USER23> And the free, online textbook How to Design Programs.

[https://htdp.org/2018-01-06/](https://htdp.org/2018-01-06/)

</comment></comment></comment><comment><USER24> Awful seems to have come a long way since I last looked at it: [http://wiki.call-cc.org/eggref/4/awful](http://wiki.call- cc.org/eggref/4/awful). Anybody used it in production?

<comment> mario-goulart I don't know many uses of awful in production.

[http://paste.call-cc.org/](http://paste.call-cc.org/) is awful-based. My home page ([http://parenteses.org/mario/](http://parenteses.org/mario/)) is also in awful, but it's nothing fancy.

It's been ported to CHICKEN 5, by the way: [http://wiki.call- cc.org/eggref/5/awful](http://wiki.call-cc.org/eggref/5/awful)

<comment><USER25> I took a peek at the link to your homepage. I wish I had a cute dog named Ada!

</comment></comment></comment><comment><USER26> Looked really cool. Downloaded it via Homebrew but my first test file[1] ran into a myriad of issues like 'unbound variable: use', 'unbound variable: printf', 'import had trouble expanding the macro: srfi-1' (paraphrasing). Not sure if the Homebrew recipe is broken but I would love to use this for some of my side projects.

Congrats on the release!

[1] test.scm

(use srfi-1) (define (test number1 number2) (printf "Sum: ~s" (+ number1 number2))) (test 1 2)

<comment><USER27> This is an old example. This should now be something like

(import (chicken format)) (define (test number1 number2) (printf "Sum: ~s" (+ number1 number2))) (test 1 2)

If you're trying to actually use srfi-1, that's now imported via (import srfi-1). (use...) no longer exists.

<comment><USER28> You can use two spaces at the beginning of the line to get code mode:

      ;(use srfi-1)                ; <-- old
      (import (chicken format))    ; <-- new
      (define (test number1 number2)
        (printf "Sum: ~s" (+ number1 number2)))
      (test 1 2)

</comment></comment></comment><comment><USER29> Just curious. Does anyone use Chicken Scheme in production?

<comment><USER27> The CHICKEN team is a big fan of dog fooding: the wiki, pastebin, egg documentation search (which is yet to be updated to C5) and our infrastructure sysadmin stuff in the background is all written in CHICKEN.

<comment> mario-goulart Also the test stuff and the compiler itself. :-)

Regarding non-own dog food, [http://wiki.call- cc.org/Software](http://wiki.call-cc.org/Software) lists some projects using CHICKEN.

</comment></comment></comment><comment><USER30> Builds are fully bit-for-bit reproducible!

</comment><comment><USER31> I have been playing with gambit and gerbil in my spare time. How is chicken compared with gambit and gerbil?

<comment><USER27> CHICKEN has a more permissive license, larger community (and therefore more libraries) and a slightly better bus factor than Gambit and Gerbil.

Gambit is faster on many benchmarks and has multiple backends. This makes it easier to run inside a browser, for example, with the JS backend. It also has better introspective capabilities than CHICKEN, if I remember correctly.

I believe Gambit is currently R5RS only with no plans to implement R7RS, and it has no native module system like CHICKEN does. If I understand correctly, Gerbil adds this to Gambit, but there's also the Black Hole module system. I don't know how compatible those are.

Both have full continuations, tail call optimization and take the standard serious. You can compile stand-alone programs with both, and both can link to C libraries quite easily.

Full disclosure: I'm a CHICKEN developer and my knowledge of Gambit is somewhat limited.

</comment></comment><comment><USER32> Really exciting!

Unfortunately, it looks like some of the page references are broken for eggs. [0]

[0] [http://wiki.call-cc.org/eggref/5/mpi](http://wiki.call- cc.org/eggref/5/mpi)

<comment><USER27> I've notified the author of the egg. Should hopefully be fixed soon. Thanks for reporting!

<comment><USER33> iup and nanomsg has the same issue, but the v4 pages work so most of the docs can be seen there if needed.

<comment><USER27> Indeed, just bear in mind that (use foo) is now (import foo). For most eggs, that's the only user-visible change.

I've also notified the authors of these eggs.

</comment></comment></comment></comment><comment><USER34> This page might give an idea of what's new in Chicken 5:

[https://wiki.call-cc.org/chicken-5-roadmap](https://wiki.call- cc.org/chicken-5-roadmap)

<comment><USER27> That wiki page was just an informal working page for the core team to keep us focused. That's why it is a bit messy and incomplete, plus it mentions some changes that we decided not to include in CHICKEN 5.0.0.

I wrote a more accessible introduction to CHICKEN 5's new features on my blog, [https://www.more-magic.net/posts/chicken-5.html](https://www.more- magic.net/posts/chicken-5.html)

</comment></comment><comment><USER35> Whatever happened to the Chicken Gazette?

<comment><USER27> The Gazette archive is still there at [http://gazette.call- cc.org/archive.html](http://gazette.call-cc.org/archive.html) but the Gazette hasn't seen new issues in a long time.

It turned out that keeping a regular writing schedule with a small group of people is quite hard. Gathering the news and coming up with interesting new content is quite a lot of work. Eventually the releases started to drift further apart because people did not find the time to write the articles anymore. Eventually nobody volunteered to put in the time anymore.

It's unfortunate, but people have busy lives and we're happy we find the time to develop the CHICKEN code itself. So, I don't see a way to restore it unless droves of new volunteers step up.

</comment></comment><comment><USER36> Would Chicken Scheme work ootb to code along with SICP?

<comment><USER27> There are minor differences, as SICP was written with MIT Scheme in mind, so you'll run into nonstandard procedures like "1+" not existing. In CHICKEN that one is called "add1". But for the most part, things should just work.

</comment></comment><comment><USER37> Great news, Mario.

</comment><comment><USER38> Bravo guys.</comment>


Implementing a Large Scale Document Storage Service - <AUTHOR> http://blog.thegrizzlylabs.com/2014/12/implementing-large-scale-document.html

<comment><USER2> How do you plan on implementing a local export? As you mentioned, cloud services aren't suitable for all users or all use cases.

</comment><comment><USER3> Numbers are quite impressive: Millions of monthly active users. How do you plan to handle the operations once this is running? If I read correctly you are only two?

<comment><AUTHOR> Thanks! And great questions.

We are currently two but we will be three starting next year. That will definitely help!

We want the backend to be very transparent for the user. This means that if there is any downtime on the server, you will still be able to use the app, scan documents, create PDFs, export them etc.

However, it has always been our philosophy to take our time to reduce the operational load as much as possible since our time is so precious. We have quite some experience with that having run the business as a side-project for a while before going full time on it. Running a boostrapped, profitable company also helps in that you don't have any external pressure.

</comment></comment><comment><USER4> Good read! That is an ambitious project. Very interesting to note that the implementation didn't take more than a few days.

<comment><AUTHOR> Thanks! Note that it's just a prototype implementation. We wouldn't want to put it like that in the hands of users, but it's definitely good enough to play with and get a sense of the final result.

<comment><USER4> In terms of scalability, is SQL an option for you or do you plan to go NoSQL?

<comment><AUTHOR> SQL should be fine with sharding. Evernote has actually a great article on how they sped up their sync by rethinking the sharding. [http://blog.evernote.com/tech/2014/01/28/synchronization- spe...](http://blog.evernote.com/tech/2014/01/28/synchronization- speedupification/)</comment></comment></comment></comment>