Git's initial commit - <AUTHOR> http://github.com/git/git/commit/e83c5163316f89bfbde7d9ab23ca2e25604af290 <comment><USER3> Well, while we're looking at FIRST POSTS, here's Mercurial's, self-hosting a month after git, and like git, also created to replace bitkeeper:

[http://selenic.com/hg/rev/0#l10.1](http://selenic.com/hg/rev/0#l10.1)

The revlog data structure from then is still around, slightly tweaked, but essentially unchanged in almost a decade.

<comment><USER4> Mercurial is impressive for making Git's UI look intuitive.

<comment><USER5> Other way around

<comment><USER4> C'mon, man, you make branches by _cloning the repository_ [1]. That's insanity.

[1] [http://hginit.com/05.html](http://hginit.com/05.html)

<comment><USER3> git at revision 0 worked the same way. You can see that there are no references in git at that time either. They're both copying bitkeeper, which worked the same way.

Nowadays git has references (branches), and hg has bookmarks which are the same, plus hg also has the option to label every commit with a permanent branch name. They also still have branching-by-cloning, and if you listen to Linus's original Google code talk about Git, you can see that he conflates "branch" and "clone" because that's what he originally envisioned! Even in 2007 he was still thinking in bitkeeper terms too. I bet that branching with references was Junio Hamano's idea, after Linus did the code hand-off.

I find branching-by-cloning a bit more natural in hg, because you can push to any repo. It's useful for quick, throwaway, local, easy testing out of ideas. In git, you can only push if your push doesn't modify HEAD, which typically translates into only being able to push to bare repos.

<comment><USER4> Interesting, thanks for the info. I've only been using Git since 2009 or so. I love Git's model of commits being objects in their own right, allowing you to cherry-pick them across branches, or rebase them to reorder or squash several commits together, for example.

My usual development routine is to make a ton of small commits that add up to a small set of good commits, to promote bisect-ability. I do dozens of rebases, squashes and amends when working on a topic branch. I have to use Mercurial for one of my clients, and it's a nightmare doing my development model in an SCM where I can't toss commits around willy-nilly like I can in Git.

<comment><USER3> > I have to use Mercurial for one of my clients, and it's a nightmare doing my > development model in an SCM where I can't toss commits around willy-nilly > like I can in Git.

Yes you can. `hg histedit` is a lot like `git rebase -i`, and `hg rebase` is like `git rebase` without -i and `hg commit --amend` is a lot like `git commit --amend`.

There are also some really cool things that we're working on with hg:

[https://www.youtube.com/watch?v=4OlDm3akbqg](https://www.youtube.com/watch?v=4OlDm3akbqg)

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> I love checking out very early versions of projects. You often get to see the essence before the real world came in and ruined the beauty of it.

<comment><USER7> I do this as well. It really should be more widely broadcast.

(I've also spent some time thinking about how it's kind of a hack, and what we can do to make it better: [http://akkartik.name/post/wart- layers](http://akkartik.name/post/wart-layers))

<comment><USER8> There is The Architecture of Open Source Applications series of book [http://aosabook.org/en/index.html](http://aosabook.org/en/index.html) were one of the author of the software explain the essence of the program.

</comment></comment></comment><comment><USER9> My god... the comments. Looks like the reddit culture (i.e. fun for in jokes but not particularly professional)

<comment><USER10> "A marathon of clicking 'next page,' but the view is worth it." So, this commenter practically worships git, but apparently doesn't actually understand it well enough to know a better way to find the hash of the first commit and punch that into Github. Or, it was just a joke and they got there the quick way, but still felt obliged to post a dumb joke to inflate their own ego by "leaving their mark" on git. Maybe I'm being too mean, but yeah, I also think a lot of the comments are pointless.

<comment><USER11> > Maybe I'm being too mean, but yeah, I also think a lot of the comments are > pointless.

Yeah, I think you're being a little mean. If you browse to that user's GitHub page, it looks like it's just somebody new who's excited about software. Good for them.

The comments are pointless, sure, but also harmless. Similar comments might crowd out productive discussion if they were on (say) the head of the master branch, but I doubt that any serious development is happening on git's initial commit anyway. Let the new people have their fun.

As far as newbie disruptiveness goes, it could be far worse. When I was getting started with Linux, I posted this cringeworthy gem to LKML, now enshrined in the archives for all eternity: [https://lkml.org/lkml/2000/10/22/69](https://lkml.org/lkml/2000/10/22/69) If newbies today are merely posting "yay, git!" and "thank you!" to a secondary forum where it doesn't disrupt development, I'd say they're doing pretty well in comparison. :)

<comment><USER10> Yeah, fair enough. Good on you for linking your own cringey post. I think a lot of developers have those early cringe moments, especially if they were young when they started.

As far as disruption, it did occur to me later that somebody may be getting notification emails about these comments. But it's not too bad, as I assume they could just send the emails to /dev/null, since Github is not the official host of git. (As a tangential note, I sort of wish Github would handle this better. So many Github-mirrored projects end up with something like "don't submit pull requests or open issues here, they will be ignored" in their repo description.)

</comment></comment></comment></comment><comment><USER12> Interesting fact about Git is that it was self hosting in two weeks, IIRC.

<comment><USER13> How can something that isn't a programming language be self-hosting?

<comment><USER14> Overloading the term. The OP presumably meant that the source for git was under git source control.

<comment><USER15> 'Hosting' means 'contain', 'serve'. A building can host a department or a convention, and a married couple can host a dinner party, with neither being required to be a webserver or programming language.

<comment><USER16> To add to that, IMHO self-hosting for VCSs is closer to the original meaning of the phrase than for compilers.

</comment></comment></comment></comment></comment><comment><USER17> Maybe I've been drilled too hard by a couple of programming gurus, but I immediately noticed there are quite _a lot_ of repeated yet unnamed magic constants in the (otherwise pretty clean) code. According to wikipedia [1] the rule to not use them is even one of the oldest in programming. Curious what kind of profanity Linus would come up with when confronted with this :]

[1] [https://en.wikipedia.org/wiki/Magic_number_%28programming%29...](https://en.wikipedia.org/wiki/Magic_number_%28programming%29#Unnamed_numerical_constants)

</comment><comment><USER18> I've read so many git tutorials, I wish I had seen that README file before.

<comment><USER19> This. I find that learning from original documentation tends to be _much_ more efficient than learning from third party blogs/tutorials which try to "simplify" things, and usually do the opposite.

</comment></comment><comment><USER20> It's so short.

The readme is the best explanation of git I've seen.

<comment><USER21> Does anyone know if the structure of git has changed much? I would like to read this thinking this is pretty close to the current implementation but I would have no idea. anyone?

<comment><USER22> You can just see the structure with git cat-file

        -> % git cat-file -p 8c48d1a36c3d11db44c75a431d4f09cb0035222f
        tree 288c2d5379768f685f391bdbffd31b8965318c63
        parent 002ae35061beef02453b7fb1045a50fa2f7f30f8
        author Denis Bilenko <firstname.lastname@example.com> 1246939605 +0700
        committer Denis Bilenko <email@example.com> 1246939605 +0700

        MANIFEST.in: include libevent.h and libevent-internal.h
        -> % git cat-file -p 288c2d5379768f685f391bdbffd31b8965318c63
        100644 blob 6e543dc13df1b556fd95530061ac0c77a9178309.hgignore
        100644 blob 79c7beb2227ce149c7a71e58e2f7379071b7a189MANIFEST.in
        100644 blob 0d05178544942a035a82599900bec27fbac1c9c5README.eventlet
        040000 tree edb8f37fa622315dcf7bf4f7316d5e85c48cfdbdexamples
        040000 tree 64cf252d77a4162099442bb0153985fc20ed5ba3gevent
        040000 tree 261052e04b4aece469b2e767e394aafbc9d88a32greentest
        100644 blob 488e805c563dfeeb6af5e7a1a8953b706d9676e3setup.py
        -> % git cat-file -p 6e543dc13df1b556fd95530061ac0c77a9178309
        syntax: glob
        *~
        *.pyc
        *.orig
        dist
        gevent.egg-info
        build
        htmlreports
        results.*.db
        gevent/core.so

And yeah it's still very similar though it currently doesn't store the objects individually but rather packs them together.

<comment><USER23> I wrote about the format of git trees (and other object types) here:

[http://alblue.bandlem.com/2011/08/git-tip-of-week- trees.html](http://alblue.bandlem.com/2011/08/git-tip-of-week-trees.html)

</comment></comment></comment></comment><comment><USER24> Thread from 829 days ago. [https://news.ycombinator.com/item?id=4395014](https://news.ycombinator.com/item?id=4395014)

<comment><USER25> Good memory!

<comment><USER24> Nah. I just use Hackbook.

[https://chrome.google.com/webstore/detail/hackbook/logdfcelf...](https://chrome.google.com/webstore/detail/hackbook/logdfcelflpgcbfebibbeajmhpofckjh)

</comment></comment></comment><comment><USER5> Linus wrote:

* +Side note on trees: since a "tree" object is a sorted list of +"filename+content", you can create a diff between two trees without +actually having to unpack two trees. Just ignore all common parts, and +your diff will look right. In other words, you can effectively (and +efficiently) tell the difference between any two random trees by O(n) +where "n" is the size of the difference, rather than the size of the +tree. *

Um, What?

<comment><USER26> Since a git hash points to a sorted list of filenames and content hashes, to diff two git commits you lookup the commit objects by their hash, run down the resultant list of filename/hash pairs & then only lookup & diff the content of those files that have differing hashes (if they have the same hash, they must have the same content according to the git data model, so they can be safely ignored).

Hence diffing arbitrary commits with git is always O(N) in the number of changed files, regardless of the number of interstitial commits.

<comment><USER27> In particular he's saying that for a tree, you can quickly skip sub-trees if they are the same, regardless of how deep they go. Kind of like a Merkle tree: [http://en.m.wikipedia.org/wiki/Merkle_tree](http://en.m.wikipedia.org/wiki/Merkle_tree)

I'm no git internals expert, but I suspect for a flat list of files the complexity is still O(n) where n is the number of files (not changes) because at very least you must check that n checksums are the same.

<comment><USER26> _I 'm no git internals expert, but I suspect for a flat list of files the complexity is still O(n) where n is the number of files (not changes) because at very least you must check that n checksums are the same._

Sure. The constant factors make a huge difference though - even if you've cached all the data in memory walking all those structures and diffing the actual file data is going to be enormously slower than simply walking a list of hashes, so you're really saying that the total time is big * O(number of files changed) + small * O(number of files). If small*N ~ big then it's reasonable to just disregard that cost - it's going to be lost in the noise.

<comment><USER27> I'm not arguing that, but rather that this ability to skip unchanged trees because the hash of all contents is bubbled up is specifically what Linus is referring to in the comment, not simply the comparison of hashes in the flat- directory use-case.

</comment></comment></comment></comment></comment><comment><USER28> Why are there multiple main() functions? I've never seen this style before. Is it multi-process?

<comment><USER29> There's a bunch of different utilities in there. Each has it's own main() function, and they're compiled into a bunch of binaries.

</comment></comment><comment><USER30> [https://github.com/git/git/commits?page=1091](https://github.com/git/git/commits?page=1091)

If you want to see the commits going forward from here.

</comment><comment><USER31> This is a great lesson in writing focused & succinct specs, when one clearly sees what his/her program is going to do.

</comment><comment><USER32> Did all of the inital commit code is written by Linux Torvalds ?

<comment><USER33> Yes. The interesting thing is actually that it isn't that much code.

</comment></comment><comment><USER34> Gotta love the fact that there are open pull requests.

[https://github.com/git/git/pulls](https://github.com/git/git/pulls)

</comment><comment><USER35> Does Github offer an easy way to get to the first commit of a project? Traveling page by page back in time is time consuming (yeah, i did that)

<comment><USER36> No, but if you have the full history you can grab it with a shell command.

        echo https://github.com/git/git/commit/$(git log --pretty=format:%H | tail -1)

</comment></comment><comment><USER37> Great to see the original command set, and the title of course: "GIT - <USER2> stupid content tracker"

<comment><USER38> If I recall, Linus was highly pissed at the time he wrote GIT. Lots of his comments at the time were meant as a slam against the guy who was reverse- engineering the Bitkeeper protocol, which resulted in the license for Bitkeeper getting yanked for the kernel project. I wonder if Linus is still angry with Tridgell?

<comment><USER39> I've been in the situation where a combative party has spurred me on to do some of my best work. I doubt Linus holds a grudge... and considering the consequences I wouldn't be surprised if he wrote a tounge-in-cheek thank you letter!

</comment></comment></comment><comment><USER40> I only realised reading the README that git is a great lesson in branding.

</comment><comment><USER41> I wonder what the first commits for big sites/projects look like?

<comment><USER42> I tried to compile a list of a few of them a while ago:

[http://jcooney.net/post/2011/06/22/First-Check-in- Comments-f...](http://jcooney.net/post/2011/06/22/First-Check-in-Comments- from-Popular-Open-Source-Projects.aspx)

</comment></comment><comment><USER43> Where are the tests?

</comment><comment><USER44> Following the tradition of sports, I propose that commit id e83c5163316f89bfbde7d9ab23ca2e25604af290 be officially retired.

<comment><USER45> Given that the only way to reuse it is to duplicate the tree and commit metadata exactly, or find an sha1 collision, I think it's pretty safe. :)

I wonder if there are any git sha1 collisions out there in aggregate, say across all of github. Would they even notice if there were?

<comment><USER46> >I wonder if there are any git sha1 collisions out there in aggregate, say across all of github.

Despite the incredibly high number of all commits there must be, I think the chance of a collision is still very unlikely. 2^160 is a pretty big number.

<comment><USER47> The number of inputs before a likely collision is more on the order of 2^80. Which is still pretty large.

<comment><USER48> This is comparable to the number of atoms in the universe. Pretty large! We will never see an accidental collision.

<comment><USER49> Not quite, atoms in the universe is in the range of 10^80, which is a bit less than 2^266.

On the other hand, 2^80 is "only" approx. 1.2 * 10^24. Still, good luck colliding with that without big effort.

</comment></comment></comment></comment></comment></comment><comment><USER50> Is there a reason there aren't any braces around single-line _if_ statements? Is that a C thing? It seems kind of inviting to bugs to me.

<comment><USER51> It's pointless to argue over these kind of things. Every major project/company has their own codified code style guide, and if you want to contribute/earn your salary then you must follow that style guide to the T. Here's the relevant quote from the Linux kernel coding style[0]:

        Do not unnecessarily use braces where a single statement will do.

        if (condition)
    	    action();

[0] [https://www.kernel.org/doc/Documentation/CodingStyle](https://www.kernel.org/doc/Documentation/CodingStyle)

<comment><USER52> I consider that a bug in their style spec. Single line if statements are known to cause bugs.

<comment><USER53> That's what I'd thought for may be over a decade. About ~3 years ago I revamped my personal coding style to eliminate as unnecessary baggage as possible. As part of that I stopped using braces for single line if and I'd yet to bump in a bug _because_ of that. Overall I find code looks more compact and cleaner, may be even less friction to read. Nowadays when I see a braces around single line if I get that "oh that's clunky code" feeling in my stomach. Things are worse with C# and lot of Java code where people insist not only having braces around single line if but also have { on its own separate lines.

I think a good language shouldn't have braces to mark blocks in first place. Given indentation,they are redundant most of the times and they just contribute in clunk. This is exactly the case with Python and hence this is essentially a default style and people hadn't be complaining about it's causing bugs.

<comment><USER54> There's an enormous difference with Python, because the indentation is syntax. These two code snippets, one in Python, the other in C, do _not_ mean the same thing:

C:

      if (condition)
        statement_1();
        statement_2();

Python:

      if condition:
        statement_1()
        statement_2()

Personally, I always use braces in C and C++, even though it is more clunky. I want the assurance. I also frequently have to make changes to code that does _not_ use braces, and then I have to add the braces in because I am adding statements to a conditional. To me, that is _more_ clunky.

</comment></comment></comment></comment></comment><comment><USER55> Code comment about git:

      stupid. contemptible and despicable.

That sums it up quite well. Every day I pay thanks to The One Who Programmed Me that my workflow doesn't put me in need of that shitload of crap that is git. I pity those who do need git.</comment>


HN Nomination: Hacker news person of the the year? - <AUTHOR>

Time magazine have just released their annual person of the year! Why not have Hacker News Person of the year?Kindly nominate HN member who you think deserves the title "HN Person of the Year". Thanks <comment><USER2> I'm guessing most people lean towards Edward Snowden.

<comment><USER3> Edward Snowden is not a member of HN

<comment><USER2> So you think! :P

Okay, maybe pg or pmarca? patio11? That awesome lawyer dude who wrote the stock options comment? (EDIT: grellas?)

</comment></comment></comment><comment><USER4> I nominate Grellas[1]. Aside from the value I get in reading his posts, he is an actual member here on HN, and that's got to count for something over Snowden.

Edit: According to the leaderboard[2], he's got the 17th highest amount of Karma, the highest per-post average - an impressive 41.8, which is almost double the next-highest, [cletus] and roughly quadruple patio11, for reference.

[1] - [https://news.ycombinator.com/threads?id=grellas](https://news.ycombinator.com/threads?id=grellas)

[2] - [https://news.ycombinator.com/leaders](https://news.ycombinator.com/leaders)

<comment><AUTHOR> Noted!

</comment></comment><comment><USER5> Reg Braithwaite.</comment>


Show HN: Bowlr – A robust, feature-rich bowling tracker app for all bowlers - <AUTHOR> https://bowlr.app/ <comment><USER2> From the screenshot, it looks like a pretty well made application. I bowl a lot and know of a few bowler tracking apps. This one seems a clean as the rest.

That said, I never use these tracking apps since every game, especially in sports shot, varies from lane to lane and night to night.

I'm hesitant on spending money of the bat to see if I like it or not. Is there a way you could add a trial mode (say 10 games free)?

I think more people would go for it.

<comment><AUTHOR> Hey! Thanks for the feedback. I have definitely considered doing a trial of sorts. It is something I have in my backlog.

Can you help me with this statement " I never use these tracking apps since every game, especially in sports shot, varies from lane to lane and night to night.". Are you saying that other tracking apps you have used don't allow you to track the lane patterns per lane and per night?

<comment><USER2> Good Question! Its not that other apps do not track lane patters and what not. They do.

For me, I find that tracking software is too much analytics and no real payoff. They are just lists of scores with not much meaning behind it. After a while, you forget why you've done a bad/good job. For me, when I make mistakes bowling, I just simply write down the note and store in my notepad on my cell. There I can write text notes for what's going on with myself.

Maybe a good solution for this frame of mind is to showcase users who have improved over time with your app. Of course, they would have to opt in for that, but that may sway someone like me to giving this software a go.

There's so much more in this space that you can do besides simple analytics.

I have a lot of ideas for this, but wouldn't want to bombard you with suggestions unless you're interested. I and am actually planning an web app and will start developing on it soon (have to finish another app first).

I will say that congratulation in gaining some traction on Reddit. Its hard to get the courage to list your project there, for the response can go either way. With you the best of luck with this.

<comment><AUTHOR> Ah, ok. I understand what you mean. And I totally agree. Quite often I think about this very topic. How can I present the data in such a way that helps bowlers actually digest it and improve their game? It's definitely a tough thing to do. I would absolutely love to hear your ideas and suggestions!! Please, don't hold back. Bombard away! If you don't want to post them here, you can always send an email to email@example.com and we can start a thread there.

Thanks for the complements! I hope we can keep up the conversation.

<comment><USER2> Yes, lets continue our thoughts through email. I'll send something for you this evening. My email is firstname.lastname@example.com.</comment></comment></comment></comment></comment>


Ask YC: How will you build the community for a niche social news site? - <AUTHOR>

Hi all, I started Siliconverge (http://www.siliconverge.com) - a Digg like social news site for Semiconductor & Hardware industry a few months ago.
The site is catering to very niche market. I am doing this in the part-time because I strongly believe that this site will add tremendous value to lives of people from Semiconductor industry. I'am a Chip Design Engineer and feel the pain, and see tremendous value in this service.
Semiconductor/Hardware people still visit 10 different news sources on the web to read news - the typical traditional way. And there is no service for this industry, which provides similar experience the way Siliconverge tries to provide.
Now, my question is - how do I build the community around this site? As we always know, these services don't add value unless there is a passionate community behind it.
All kinds of inputs/suggestions/feedback will be highly appreciated.
In general, this question applies to all those people, who want to start such niche news sites using Slinkset/Pligg or so.
Creating such sites has become very easy now - but what about building the community, and hence the potential business around it? Any thoughts?
Aditya, Siliconverge.com <comment><AUTHOR> I just want to add some more inputs - 1\. Remember, Semiconductor industry people still don't get the "Social" aspect on the web. 2\. They question "What's in it for me?" for Submitting news aspect.

I'm trying my best to convince every single user about "community/Social/WIIFM" aspect, but I would love to hear your thoughts/inputs about how would you create a community in such situation?

-Aditya</comment>


Ricky Gervais: Why I'm An Atheist - <AUTHOR> http://blogs.wsj.com/speakeasy/2010/12/19/a-holiday-message-from-ricky-gervais-why-im-an-atheist/tab/print/ <comment><USER2> Great article, but it's been posted a few times this week:

<http://news.ycombinator.com/item?id=2023215> <http://news.ycombinator.com/item?id=2030286></comment>


Lehigh University student sues over grade, seeks $1.3 million - <AUTHOR> http://www.mcall.com/news/local/mc-lehigh-university-student-sues-over-grade-20130211,0,937005.story

<comment><USER2> Is the inevitable next step to grade inflation? I think so.

I have seen tactics like this, only without the courtroom. A few years ago someone I know successfully had her grades/classes expunged from her record at a second-tier university where she received incompletes and low marks.

Her mother, a lawyer, with the help of a psychiatrist were able to write letters to the dean citing some academic hardship mumbo jumbo. And it worked.

To her credit, the friend has done well and earned post-graduate degrees.

But the beginning feels a little... murky.</comment>


Cephalopods Switch Transparency and Pigmentation for Camouflage in the Deep - <AUTHOR> http://www.cell.com/current-biology/abstract/S0960-9822(11)01138-9 <comment><AUTHOR> Here's a link to a BBC report (<http://www.bbc.co.uk/nature/15654086>)

Here's a link to the researcher's page (<http://www.biology.duke.edu/johnsenlab/people/sarah.html>)

The 'glass squid' really is remarkable. And the rapidity of change is surprising.</comment>


Ask HN: Programming Literature that's Valuable Sans Computer - <AUTHOR>

I've been pining for some good books or articles on programming that I can read while I'm away from a computer and still get value out of. Every now and then I find a good one on the front page of Hacker News, eg the Functional Reactive Programming intro [0], but I want more. Any suggestions?
0: https://gist.github.com/staltz/868e7e9bc2a7b8c1f754 <comment><USER2> Read about the life and works of Alan Turing [1]. Not only did he do seminal work for invention of general purpose computer, he actually went on to study the limitations of this _theoretical_ computer even before it became a practical reality. Every time you see a captcha, recall that CAPTCHA = Completely Automated Public Turing test to tell Computers and Humans Apart.

[1]: [http://en.wikipedia.org/wiki/Alan_Turing](http://en.wikipedia.org/wiki/Alan_Turing)

<comment><AUTHOR> Cool. I have read some stuff about him and he has interested me; I will look into more literature on him. Thanks.

</comment></comment><comment><USER3> _The Mythical Man-Month_ and _The Pragmatic Programmer_ are two of my favorite classics. Fairly easy reading and valuable insights.

</comment><comment><USER4> _The Art of Computer Programming_. It is designed to be read without a screen nearby.

<comment><AUTHOR> Cool, got it!</comment></comment>


EU's Tusk Says May Expects to Start Brexit Talks by February - <AUTHOR> http://www.bloomberg.com/news/articles/2016-09-16/eu-s-tusk-says-theresa-may-told-him-article-50-likely-triggered-early-next-year <comment><USER2> EU just can't afford to give the UK a good deal since this will start a chain reaction with other dissatisfied countries. Sadly this will only end up being a lose/lose situation.

<comment><USER3> On the other hand, countries which are dissatisfied may work hard to give the UK as good a deal as possible, knowing that it will set a precedent which might end up applying to them.

<comment><USER4> Non-UK politicians dissatisfied with the current state of EU, giving UK a better deal at the expense of their own country? Sounds rather unlikely...

(Maybe they could sabotage their own negotiation and use that as a talking point against EU, but that's a risky gamble.)

<comment><USER3> Yes, I'm talking about sabotaging the negotiations.

</comment></comment></comment></comment><comment><USER5> Has anybody yet plotted the time when article 50 should be triggered against the time of the announcement? First it was immediately. Then it after a few weeks. Then it was after a new PM was found. Then it was later this year. Now it is early next year.

<comment><USER6> Actually, the current prime minister announced that Article 50 wouldn't be triggered until 2017 (at the earliest) in a Hustings about 2 weeks after the referendum.

</comment></comment><comment><USER7> Part of me wants to be proven wrong on how strong the EU will negotiate but I understand the reason and need for them to do so and I expect they will. I hate that it is likely that remain supporters will get to say "I told you so' in about 2 years time.

<comment><USER8> If the EU _really_ wanted to hurt the UK they'd declare the following things, in increasing order of nastiness:

1\. Britain can swap immigrants for retirees. The residency rights of all Britons in Europe are contingent on residency rights of Europeans in Britain. If Europeans are made to apply for visas, so will every one of the millions of Britons in Spain.

2\. Drain the country of talent. Recognizing that millions of British are being unilaterally stripped of their EU citizenship, create a new category of general EU citizens, and allow talented British to apply for instant and permanent residence, conditional on (1) giving up British citizenship and (2) learning the language of their continental locale within the next five years.

3\. Tell Scotland that it would accept their continuing as a member of the EU if and only if they applied, as an independent state, while the UK was a member state of the EU.

4\. Tell the UK that Article 50 is considered to have been invoked as of _now_ , and they have two years to leave.

The last two would be especially funny.

<comment><USER9> since we're into the absurd (3 and 4 are Treaty breaches), here's a _satirical_ list of how the UK could respond to the above, in increasing order of nastiness:

1\. The residency rights of all EU citizens in Britain are contingent on residency rights of Britons in the EU.

2\. Cut corporation tax to 0% and freeze all contributions to the EU budget with immediate effect

3\. Veto everything possible in the Council until exit, and voting against where QMV applies

4\. Send half the Royal Navy to the Mediterranean and offer to transport anyone from Northern Africa to the south of Europe, and use the rest to exclude EU ships from British waters

of course once you're at 4 you're basically at war, and then maybe May will press the red button and launch Trident at Brussels

<comment><USER10> There isn't much left [https://en.wikipedia.org/wiki/List_of_active_Royal_Navy_ship...](https://en.wikipedia.org/wiki/List_of_active_Royal_Navy_ships) especially the surface fleet. Compare with

[https://en.wikipedia.org/wiki/List_of_active_French_Navy_shi...](https://en.wikipedia.org/wiki/List_of_active_French_Navy_ships)

[https://en.wikipedia.org/wiki/List_of_active_Italian_Navy_sh...](https://en.wikipedia.org/wiki/List_of_active_Italian_Navy_ships)

[https://en.wikipedia.org/wiki/List_of_active_Spanish_Navy_sh...](https://en.wikipedia.org/wiki/List_of_active_Spanish_Navy_ships)

[https://en.wikipedia.org/wiki/List_of_active_German_Navy_shi...](https://en.wikipedia.org/wiki/List_of_active_German_Navy_ships)

</comment></comment></comment></comment><comment><USER11> Still doesn't guarantee an actual Brexit. My guess is when all is said in done there either is no Brexit or there's a deal that is very close to staying in the Union with a few adjustments. The vote was critical to obtain a negotiating position. I don't see it as the end of the world.

<comment><USER12> I approve of this plan. Work something out where there's no Brexit, but there are a couple of token, hot-air actions on immigration to convince the Leave voters that Something Is Being Done. That's all they ever wanted anyway; if the options on the referendum had been "Remain", "Leave" and "I don't care, I just want fewer immigrants", Leave would have lost in a landslide.

<comment><USER13> _That 's all they ever wanted anyway_

FYI, that's probably not true. We don't know why people voted the way they did, on either side. However, some of the more credible polling suggests that sovereignty was actually the biggest single issue for leave voters (with immigration second).

</comment></comment></comment><comment><USER14> These lose-lose scenarios make me sad. Does anyone else feel that the "we're paying 4 gold coins but are receiving only 2 platinum bracelets" style arguments are _extremely_ petty? They come from stable societies in which people who are willing to put in the effort are well rewarded and live carefree lives. I don't know if it's just because I'm living right in the middle of the tech bubble and I am empowered to pursue my interests anywhere, but I wish people would be taught that they have no right to feel they own a place just because they were born there. I believe spreading progress is essential for our peaceful survival and maintaining our way of life. The media is actively harming this.

<comment><USER15> > Does anyone else feel that the "we're paying 4 gold coins but are receiving > only 2 platinum bracelets" style arguments are _extremely_ petty?

Send me four gold coins; I'll give you two platinum bracelets. Deal?

</comment></comment><comment><USER16> I guess this proves that economic suicide does not have to be rushed decision. The EU is going to make an example of the U.K. When you have interest rates at zero, a large deficit (both current account and governmental), and a political system at war with itself, then it might not be the best time to leave.

<comment><USER17> Recruiting all the necessary people to negotiate with the EU (and all deals proxied by EU toward the rest of the world, including the US) do take time, the EU have handled most of this for the UK the last 40 years or so...

<comment><USER16> So even if it was possible in theory to negotiate a decent outcome the UK won't be able to because they have no one to do the negotiation. Leaving everything up to Boris to work out does not sound like a plan.

</comment></comment></comment><comment><USER18> Well, this explains the 3.2 pence drop of GBP vs USD today.

I'm glad that they are going through with it, even though I voted to stay. Backing down would have been a big signal to the public that it has no voice. At least we can say that democracy is still functioning (partially).

<comment><USER19> The thing about referendum democracy is, if they voted again today the result would probably be different. Why is the public's desire from the past more binding than the public's desire today? The timing of referendums is a political game played by the elites to manipulate the results. But you couldn't run the country if there were periodic votes and the public changed their minds back and forth repeatedly. Direct democracy doesn't work for long term planning which is why representative democracy with slow changes in government is the only way to make a modern democracy work.

<comment><USER20> A game played by Cameron expecting a coalition government and bugger all chance of needing to call a referendum. Probably going to hasten Scots secession too. A game Cameron wasn't very good at.

He now gets the place in history he deserves. Shame everyone outside Westminster suffers though.

<comment><USER21> I don't think you can blame it on just a game by Cameron. There definitely was a strong movement among the voters that _wanted_ the Brexit referendum to take place.

You know, in fact so strong that Brexit got a majority of votes.

<comment><USER20> No? Let's look how we got here.

He boxed himself into a stupid position by betting all on renegotiating UK's place then bringing home none of the things that mattered _to their party policies,_ finishing by tellng the country what a great job he'd done. It was a play to diffuse UKIP and the EU sceptic segment of the party which has been a varying problem for decades. Certainly since Maastricht almost split the party. Referendum wasn't necessary, there was no new treaty, no change in our terms. That's when a referendum may make sense, like fter Lisbon or Maastricht perhaps.

Wilson gave us the 1975 referendum on the EEC (Britain's first referendum). That was called because euro sceptics were threatening to split the _Labour_ party. Plus ça change.

The 75 campaign had nearly everyone for remain. Tony Benn and Enoch Powell were the main proponents of out - for remarkably similar reasons. Thatcher campaigned hard for remain! All long before anyone aside from Heath and a few FO wonks knew anything about ever closer union and so on, it's _just_ the Common Market. As we've learned since, Heath knew full well what he signed up to.

Post Maastricht when realisation of union hit, UKIP and Tory Euro skeptics became more visible, and started to lead to some vote fragmentation. Some of the calls for referendum were actually audible now, and as we went through the Blair years we learned new government by pager and soundbite. This fed the rise of LibDems, Greens and UKIP (probably SNP too), as the electorate became disillusioned with media centric government.

Of course many were attracted to the various policies, but a time of plummeting turnouts, and politicians no one trusts, it doesn't matter who you vote for, especially with our electoral system. Remarkably we end up with our only coalition since the war.

In an age of government by ideology and Overton Windows, even on scientific and factual matters, the voters wanting a referendum was irrelevant, unless there's rioting in the streets. They sure as heck didn't _listen._

After Brexit both Johnson and Gove looked ashen. Neither believed they'd win. They had no clue what next. A depressing amount of Brexit voters seemed to regret the morning after or just wanted to make an anti-govt protest.

A game good sir. Very badly played as it goes. Just another knee jerk idea so beloved of Cameron.

No wonder May made Boris Foreign Secretary - "you broke it, you bloody fix it".

<comment><USER21> So it's just a "bad play of game" if a politician allows a referendum about something where a very large part, likely a majority, of the population _wants_ a referendum?

This looks to me a bit contemptuous towards the voters.

And I think that contempt, quite visible in the campaign at least in British media, is precisely what turned the tide in the referendum.

<comment><USER20> > So it's just a "bad play of game" if a politician allows a referendum

Yes

> very large part, likely a majority, of the population wants a referendum

Not true. Noticable minority

> This looks to me a bit contemptuous towards the voters.

Politics since 1997. Hence the ever growing disconnect.

Tory majority government elected by 22.5% of the electorate - the lowest figure ever.

Of course it's contemptuous.

<comment><USER21> > _Tory majority government elected by 22.5% of the electorate - the lowest > figure ever._

I don't know how you came up with that number.

Labour won a majority in 2005 with 35.2 % of votes, in an election with 61.4 % turnout. That's 21.6 % of the electorate.

[https://en.wikipedia.org/wiki/United_Kingdom_general_electio...](https://en.wikipedia.org/wiki/United_Kingdom_general_election,_2005)

In 2015, Conservatives got 36.9 % of a 66.4 % turnout. That's 24.5 % of electorate.

[https://en.wikipedia.org/wiki/United_Kingdom_general_electio...](https://en.wikipedia.org/wiki/United_Kingdom_general_election,_2015)

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER22> Article 50 will never be triggered.

<comment><USER23> It will be invoked ... Mañana ... :)

</comment></comment><comment><USER24> Reminds me that I really need to apply to become a German national, so I can hopefully remain here without any hassle when this shit storm kicks off.

<comment><USER21> I don't see why you should. Germany has lots of foreign people living there, now even hundreds of thousands who entered illegally in the first place, and still they won't be sent away. A Brit will have no trouble there (or here, I'm in another EU country).

<comment><USER25> Getting a work permit for a non-EU national is a hassle. We just hired a canadian and I can tell you, no employer really wants to go through this. Without a work visa no job (unless your prefer illegal jobs). You might have some luck being registered in the UK and pretending to work remotely as a freelancer, but all in all, you'll have a mess at your hands. Air travel will be risky (might need to show passport, visa), air travel to non-schengen destinations quite impossible. No proper way of getting insurance coverage. Don't get stopped by the police, don't have a car accident, no speeding, ...

You certainly can sit tight and never move around - because that's what the illegals do - but I don't think you really want that.

<comment><USER21> We were talking about someone who already lives in Germany and has residence there. Whatever happens in Brexit negotiations, such people will be able to continue as if nothing happened. If they move somewhere else and then want to come back, that will make things more difficult.

If this is not the case, then EU has practically reneged on everything it was standing for and _I_ want to leave, too.

And even in future there will be Canadians and Brits moving to Germany.

(Believe me I know the work permit bureaucracy in my country (Finland); I've been a hiring manager for various non-EU nationals).

<comment><USER25> > We were talking about someone who already lives in Germany and has residence > there.

So authorities know he's a british national since you need to register your primary residence in germany. Unless an agreement is found that allows british nationals to stay legally, he'll have to apply for a visa. And the EU has never been standing for "Let all people work without permit", it's always been a club membership benefit. I can see that an agreement could be fund, but I also see that the British government and a large chunk of the leave voters seem hell-bent at kicking out EU nationals. That will make finding an agreement much much harder. Poland will want that as a bargain chip, they do have a significant population in the UK and they do sit at the table.

> And even in future there will be Canadians and Brits moving to Germany.

Certainly - it's just going to be much harder and thus much less.

<comment><USER21> Brits won't be kicking out any Polish plumbers, either. They're people who do work and make business and it will be generally recognized a useful practise to allow them to stay.

Currently, EU citizens don't need a _work or residence permit_ , but if you actually get a job and stay longer than that, you will still need to _register your right of residence_. It's not really _that_ different. And believe me, existing rights of residence will not be forfeited in case of Brexit.

Shall we make a bet? I'll offer a pint if I'm wrong.

<comment><USER26> >I'll offer a pint if I'm wrong.

Don't you mean 569 mL? Oh, wait, that is more subtle than at first glance...

<comment><USER21> I was thinking that because we talk about EU on an American forum, it'll have to be 551 ml.

Well, never mind, the health nazis will have got us by the time Brexit is clear, and the beer will be non-alcoholic.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER23> Reporter/EU Official: When will you trigger Article 50 already?

UK Government: Mañana

Reporter/EU Official: ¿En Español?

UK Government: Sí, en Español.

Reportero / Oficial de la UE: ¿Cuándo va a desencadenar el artículo 50 ya?

UK Government: Mañana.

Reportero / Oficial de la UE: ¿Mañana?

UK Government: Sí, Maaaaaaaaaaaaaaannnnnnnnnyaaaaaannnnnnnnnnnaaaaaaaaa.

Reportero / Oficial de la UE: Ah, sí. Mañana.

<comment><USER23> Does no one have a sense of humour?

<comment><USER27> Manyana means tomorrow. But often tomorrow never comes, especially in the more laid back Latin American cultures, so it also means probably never. You have to know Spanish and have exposure to the culture to get the 'joke'

<comment><USER23> Yes, this. Is the government going to just keep delaying it?

Spain is a major part of the EU.

There are also a great many British Ex-pats in who retire in Spain, not to mention that Spain is a favourite holiday spot.

<comment><USER28> A constant feature of the past few decades is people commenting on the Mail that the UK is overrun with immigrants and therefore they've moved to Spain. The cognitive dissonance is strong with them.

<comment><USER27> It's fair to bemoan the general decline of your society with the desire to better your personal lot through immigrating. It's likely that they don't dislike foreigners but they do dislike being forced to subsidise them via taxes. It's a side effect of the welfare state.

Milton Friedmen convers it pretty well in [https://www.youtube.com/watch?v=3eyJIbSgdSE](https://www.youtube.com/watch?v=3eyJIbSgdSE). It's an old problem :/</comment></comment></comment></comment></comment></comment>


Major Update to [Mozilla] Prism, First Prototype of Browser Integration - <AUTHOR> http://labs.mozilla.com/2008/03/major-update-to-prism-first-prototype-of-browser-integration/

<comment><USER2> This is huge, because it confirms what I've always thought about the Air and Silverlight technologies - that they're prime for being obsolesced before they ever even get a foothold. As time passes, they become more and more of crutch for desktop programmers, while the last thick desktop app will be the browser itself. We should work the future instead of fighting it.</comment>


Our tiny jQuery/Bootstrap rich text editor is now open-source - <AUTHOR> http://mindmup.github.io/bootstrap-wysiwyg/

<comment><USER2> Speaking as someone who has just implemented a similar editor (but only dependent on jQuery) this editor has serious problems. To begin with, the UI does not respond to the selection (what will the bold button do given the current selection?) and using contentEditable DIVs will make 508 compliance horrendous (the selection is lost when a label gains focus). (Our editor allows either divs or iframes, but the latter is pretty much required for solid usability, unfortunately).

The magic is all in execCommand, but you also need to be aware of cross browser issues and execCommand's limitations (e.g. IE won't style using CSS which is a huge pain. ExecCommand can toggle bold but not background color). In the end we use execCommand to create spans and then style the spans.

Nice support for touch styling, speech input, mobile cameras, and dropping images though.

<comment><USER3> They got around the IE stuff by saying "Requires a modern browser (tested in Chrome 26, Firefox 19, Safari 6)".

This is, of course, a synonym for "don't bother to use me in anything but hobby projects". (Or stuff which is completely mobile-focused, I suppose.)

<comment><USER4> This is the one thing, I wish more people would avoid doing. The fact of the matter is that most people use the browser their computer came with. Getting people to change that is tantamount to saying, we don't need to you as a customer.

FWIW, it does work OK so far on IE10 for me.

<comment><USER3> IE10 is pretty solid. I only wish that I could get away with supporting just it, instead of IE8+.

<comment><USER4> Not gonna be that easy at least for another couple of years. ;)

I will say, most of my stats for clients show some IE10, more IE9 and fewer IE8 these days; about 5%/65%/20% split for IE versions with 10% for older ( IE/other browsers split at about 60%/40% ), and these aren't techy sites either. So there's some good news there.

IE9 Isn't too bad actually, though sadly, a lot of eye-candy projects featured on HN break outright on it or are prevented from loading upon browser detection.

<comment><USER3> Biggest site I've got access to analytics on gets me 10/9/8 at 18%/56%/19%. So, someday!

</comment></comment></comment></comment></comment></comment><comment><USER5> This looks nearly identical to <http://jhollingworth.github.io/bootstrap- wysihtml5/>

So ima take the hit of being a stupid person and ask, what's the difference? Why should I use this over bootstrap-wysihtml5 (or why should I use bootstrap- wysihtml5 over this)?

<comment><AUTHOR> bootstrap-wysihtml5 was a great inspiration. it links in wysihtml5, and gives it a skin. here's a few reasons why we decided to build this one:

\- wysihtml5 minimised is 112K + 20k for bootstrap-wysihtml5, without styles and images... this is only 5k, non-minimised.

\- we bind hotkeys for common operations automatically (eg cmd+b for bold etc)

\- drag&drop for images

\- automatically upload images using filereader, not just provide links

\- good support for touch devices

\- no magic around toolbar, so you can use your own styling

\- we don't force an inline iframe which mirrors a text area, which wysihtml5 does

Wysihtml5 has a better support for older browsers, the bootstrap skin has toolbar translations, so I'd still use that if you don't want a custom toolbar or need to support older browsers

<comment><USER6> I use wysihtml5 in a project. Mainly because _all_ browser rich text editors are waaay to advanced. I don't want people to put images in my text fields, right align the text, put tables there, etc. wysihtml5 gives great control over what can be done. I want _some_ rich editing, but I want full control over it. In my case a few text-types, bold, italic, bullet list and nothing more.

Does your editor allow this kind of control?

<comment><AUTHOR> we don't create a toolbar. It's up to you. so if you don't put buttons for that, they won't be able to do it. hotkeys on the keyboard are also configurable, you can just bind certain items so users won't be able to execute the other commands unless they open a javascript console and call doc.executeCommand manually (but then again, that's difficult to prevent for other editors)

<comment><USER6> What if one copy-pastes in stuff that's not supposed to be there? With wysihtml5 it will clean up based on what's allowed. With yours, I believe I will need to do that manually?

<comment><AUTHOR> yes, we don't hook anything. i've not tried this, but you should be able to hook on to the paste event for that div (the div is really your markup, we don't do any magic shadow iframing)

<comment><USER6> Thanks for your replies. :)

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> But does it work?

A couple minutes of basic usage (FF20, Linux) have me in pain:

\- CTRL-B (and presumably other shortcuts) doesn't always take effect immediately. Sometimes there is delay, sometimes it seems necessary to let go of CTRL for the event to get flushed, sometimes nothing ever happens at all. Multiple hits without letting go of CTRL also behave erratically.

\- Focus stays on formatting buttons and requires manual click to get back to text widget. Several times I wondered where my text was, only to realize focus was on wrong widget.

\- By far the worst thing: the way formatting codes are handled leaves me crying for WordPerfect's Reveal Codes. Make some text bold, unbold the text after it, type something right after the bolded text, it isn't bold, hit enter for new line and type something, now it became bold again. Argh!

I like the idea of this, but presently there are some rough edges.

<comment><AUTHOR> Thanks for reporting this. I didn't test under Linux as I don't have a linux box handy. We bind keyboard events to jquery keydown. Is it better to bind to something else for FF/Linux?

<comment><USER7> More testing:

* On Chromium 25 and Chrome 26 the first two issues do not exist.

* More playing with FF20 and it seems this is actually tied to CTRL+B, not any other shortcut. At least initially, clicking the "Bold" button also has no effect. Possible explanation: In FF CTRL+B opens the Bookmarks pane by default, in practice certain focus combinations do open this pane. This explanation would seem to require the Bold widget to be generating a keypress under the hood, though.

* The codes issue is tricky, but one way to see an example on Chrome/chromium browsers is:

      1. refresh page
      2. select pre-existing "Go ahead..." text
      3. type "this is bold and this is not"
      4. select "this is bold" and make it bold
      5. place cursor at start of " and this is not"
      6. type "so is this", text is bold
      7. hit enter and type "but this isn't", it isn't bold

The original issue I saw was similar, but related to numbered bullet lists. To reproduce the third issue on FF follow the same steps, except a) one must first mash about on CTRL+B and/or the Bold button until they start working, then follow same steps. Result: you get the inverse, text in 6 is _not_ bold, and text in 7 is.

Sorry, don't have domain knowledge about keybinding.

</comment></comment></comment><comment><USER8> Was really thrilled at first, this could be exactly the kind of wysiwyg-editor I've been looking for. Unfortunately it seems the markup returned by .cleanHtml() is completely useless (see <http://pastebin.com/uwpSMKsi>). If I could get proper markup (paragraphs, headlines, not a thousand divs) and maybe the possibility to edit the markup myself this would be the perfect editor.

<comment><USER9> To be fair, that's contenteditable's behavior, not this plugin's.

<comment><USER8> Oh. I didn't know that. That's bad news :( Guess I have to keep dreaming about a wysiwyg that actually works.

<comment><USER10> We have an editor, SnapEditor, (<http://www.snapeditor.com/>) and it will keep your HTML clean. You will get the output you expected.

You can even cut and paste from Microsoft Word or Google Docs and it will fix your HTML to the way you'd expect.

Sunny

<comment><USER11> What's the unminified size of the editor files and how many files are you down to for a completed page load? Thx!

<comment><USER10> I'm not currently doing development on the software myself so I don't know the file size for sure at this moment; however, I believe it's similar to Redactor which is known for its small size (not sure if it's more or less now because we've just cut more size off of our deliverable).

As for number of files, I believe it is 1 Javascript file. The required HTML and CSS is compiled into the JS now to reduce number of files to transfer. I don't know how many images it is right now but if it is more than 1, then we will likely eventually compile it down to 1.

Sunny

<comment><USER11> Thanks for the info! I have been looking at redactor for nwzPaper, but I will take a look at snap editor now. Currently using jwysiwyg and the format stripping is garbage. It's super light and the license doesn't cause us any problems, so I have stayed with it until I can commit to a better LT solution.

Daniel

</comment></comment></comment></comment></comment></comment></comment><comment><USER12> Very slick and great filesize. I've been working on a wysiwyg document editor and am very tempted to use this. My only problem is with contenteditable in general, which is hard to convince to use <p>'s. I'm rolling my own paste function and optimistic about getting the functionality you have, but definitely not in 5k ;)

Also, do you have any idea of a resource for valid/invalid nesting rules for inline and block elements? I'm currently sanitizing to keep block elements at the top level.

<comment><USER10> I realize your rolling your own, but if you are interested in an available editor, we have SnapEditor which does exactly that.

One of the core features is that it keeps the nesting of blocks and tables consistent. All P, H1, H2, etc. tags are always at the top level. If they are not (for example, after a Paste), we automatically fix the HTML so that it is. In this way, you always have consistent, predictable, HTML which makes it easy to style and reason about.

It also works both as a form-based editor (traditional) or an inline editor (like Aloha editor).

Sunny

</comment></comment><comment><USER13> It's nice, but I'm more of a fan of direct inline editing on the web page via HTML5 contenteditable=true. The Aloha Editor <http://aloha-editor.org> does this very well. I've actually just recently added their editor to my node.js mini cms, called ContentBlocks <http://contentblocks.herokuapp.com>

<comment><AUTHOR> this does exactly that, sets a div to contenteditable=true, but also binds hotkeys for common operations, extends with toolbar support, provides filereader for drag&drop.

</comment></comment><comment><USER14> I'm curious about the voice-input feature. In your example, it's activated by clicking the microphone - but could a website activate this without a click (or by tricking a user into clicking something they thought was performing some other function)? Providing the ability to listen in and capture the audio from a user's location without any prompt seems like a huge potential security issue to me.

<comment><AUTHOR> no, this is an input field with chrome speech enabled (<input type="text" x-webkit-speech>). The microphone icon you see is the right part of that field, and the text is transparent. We've done it like that because at the moment only input fields support speech input in chrome, and we couldn't find a way to activate programatically.

There is no onclick event on that part, it's just part of the text field.

<comment><USER14> Interesting. I'd known Chrome supported Voice input - just never tried it like this. For anyone wishing to disable this in your browser, the Chrome Extension TamperMonkey allows you to install UserScripts easily, and the UserScript named "Disable HTML5 Voice Search" on userscripts.org programmatically disables any voice-input controls on the pages you visit.

</comment></comment></comment><comment><USER15> FYI, the toolbar buttons change size on hover, it's a little distracting. It looks like they're getting thicker borders on the sides.

<comment><AUTHOR> ok. one of the key things about the widget is that it doesn't impose styling on you, so you can use whatever you want for the toolbar.

I'll look into why the demo bootstrap style is doing that.

<comment><USER16> It's also doing it on the <http://www.mindmup.com/> homepage. 0.o

<comment><AUTHOR> i'll look into that as well :) thanks

</comment></comment></comment></comment><comment><USER17> Looks pretty cool. One thing I don't get tho: How does the image upload work? Does it just base64 encode it and use inline images?

<comment><AUTHOR> Inlines a data url using FileReader

</comment></comment><comment><USER18> Minor editorial nit: "Boostrap" (sic) is misspelled on the front page. Thanks for putting it up, though!

<comment><AUTHOR> :( thanks for letting me know, I've fixed it

</comment></comment><comment><USER19> I really miss the ability to resize, move images. Every time try to move image, the chrome tab crashes.

</comment><comment><USER20> Is anyone aware of a bootstrap based wysiwyg editor that also supports tables? So many cool editors omit this, but it's one of the most common rich text tools people want in business applications.

<comment><AUTHOR> I've not tried this, but I believe this would come down to creating a button that calls insertHtml with the basic table strucure, and calling enableInlineTableEditing before that.

We just pass calls to execCommand, anything that's supported with that should work out of the box [https://developer.mozilla.org/en/docs/Rich- Text_Editing_in_M...](https://developer.mozilla.org/en/docs/Rich- Text_Editing_in_Mozilla)

</comment></comment><comment> deepak-kumar How is the performance on iPad? Do you guys do full strength testing on iPad etc.? It would be great if it can be optimized for other device browser as well. Good job. Keep it coming.

<comment><AUTHOR> for ipad and iphone, the toolbar has to move down otherwise the screen jumps around all the time. this isn't part of the widget as we wanted to keep styling out, but you can see it in action by going to <http://www.mindmup.com> , selecting any node and clicking on the paperclip icon in the tools menu (or on desktop pressing A on the keyboard).

We move the box to the top of the screen and resize it so that a mobile keyboard can fit in, also moving the toolbar to the bottom.

<comment> deepak-kumar Cool. Lately I have been involved in customizing/implementing features in text editors for one of my project and have solved some of the problems specifically for iPad. Hopefully I can contribute to this project. Thanks for making it open source. Good work.

<comment><AUTHOR> fantastic. i'm looking forward to your pull requests :)

</comment></comment></comment></comment><comment><USER21> I'm wondering why a file upload dialog opens up when I click in the empty area beside the 'redo' button in the demo (FF 19). Is it just me?

</comment><comment><USER22> Looks nice, can't insert images with desktop Safari though (ML, latest).

Will it have a "code" button (check generated HTML)?

<comment><AUTHOR> can you give me a bit more info on "can't"? Did you try drag & drop or toolbar? what file type have you tried? We have a filter on content type in the editor, so only things read with content type image/* are inserted.

Perhaps this is too strict?

re "code" button, this would be trivial to implement but doesn't really belong in the widget. Just get the html out using jquery (it's your element) and show that instead of the element by passing through a formatter (or just jquery.text())

<comment><USER22> Sorry for the lousy bug report, I hate when it happens to me. Neither drag n drop nor clicking on the "insert image" button displayed the image on the textbox. Tried both jpg and png. Works in Chrome and Firefox.

Yes, I know it should only take a few lines of code, but it's something I usually take for granted in a wysiwyg editor.

<comment><AUTHOR> could you check what content type the filereader reports when you upload from safari? I've just tried again with safari on OSX and it seems to work. perhaps I should detect the extension, not just content type...

</comment></comment></comment></comment><comment><USER23> Hotlinking raw.github.com assets has a rate limit. The demo is not working properly (apparently because of jquery.hotkeys.js).

<comment><AUTHOR> I've replaced the hotlink, hopefully the new page will be up soon

</comment></comment><comment><USER24> Looks like this could be really useful, nice work. Unfortunately I'm not having any luck entering text on my iOS6 iPhone.

</comment><comment><USER25> Although I like the idea of these, I'm far too paranoid to allow any user to use them.

<comment><AUTHOR> well we kind of need this to provide rich text editor for node attachments... This is how you can see it in action

<http://blog.mindmup.com/p/working-with-attachments.html>

</comment></comment><comment><USER26> Was able to complicate the styling by getting bold that I couldn't unbold anymore.

</comment><comment><USER27> not bootstrap-based but I found [redactor](<http://imperavi.com/redactor/>) really good. It's not free to use though.

</comment><comment><USER28> I'm having trouble with the bold button</comment>


THIS IS WHY YOU SHOULDN'T INTERRUPT A PROGRAMMER (2013) - <AUTHOR> http://heeris.id.au/2013/this-is-why-you-shouldnt-interrupt-a-programmer/ <comment><USER2> but it'll only take a second of your time /s</comment>


Tech giants have as much money and influence as nations - <AUTHOR> https://members.tortoisemedia.com/2020/01/06/day-1-apple-state-of-the-nation-2/content.html?sig=3Da9Giih1ATNXZEbc0Gqtf-UPHEEStMIOjMY5AFMW8Q <comment><USER2> So do several religions. As well as mafioso or cartels.

I think of these groups as "states-in-waiting." Should their regional government grow too corrupt or too weak, they fill the void.

[1] [https://www.quora.com/What-is-the-net-worth-of-the- Catholic-...](https://www.quora.com/What-is-the-net-worth-of-the-Catholic- Church)

[2] [https://fox13now.com/2018/05/30/mormonleaks-lds-church- contr...](https://fox13now.com/2018/05/30/mormonleaks-lds-church-controls- billions-of-dollars-in-investment-funds/)

[3] [https://www.thesun.co.uk/news/2660520/joaquin-el-chapo- guzma...](https://www.thesun.co.uk/news/2660520/joaquin-el-chapo-guzman- mexican-drug-lord/)

<comment><USER3> To transition into something resembling a government would not be very on brand for Apple. If anything they seem likely to blast off into space and colonize Mars with all the cash they've mined and stockpiled here.

<comment><USER4> How would that benefit their bottom line?

<comment><USER5> By having a planet where only Apple products are available and the inhabitants are a part of their cargo cult, maybe? hah

</comment></comment></comment></comment><comment><USER6> Problem is that states usually have constitutional safeguards that keep a safe balance of power between citizen and state.

Not so with these companies. Step out of line and they can unperson you like that, and you can't vote on their leadership. And increasingly entire livelihoods and social existences are tied into them.

This is why you're seeing states start to get so aggressive with them. The EU fining billions out of them on an ongoing basis. Dragging them before Congress. Etc.

They're not only starting to rival them in power, they're starting to flex power over them -- playing a kingmaker role as they form the platforms on which elections are being won and lost.

If the tech giants win, we lose. They've already shown willingness to coordinate with each other. The non-poaching agreements and the Alex Jones case.

Our defences from power have always been the existence of multiple states (e.g. refugees) and democracy. They would be beholden to neither. Able to destroy social lives and livelihoods at the click of a button, with no defence and no safeguards.

"Computer says no", to your life.

<comment><USER7> The difference between a sovereign nation-state and a corporation is that a nation-state has a legal monopoly on sanctioned violence within their jurisdiction. Those constitutional safeguards are necessary because otherwise they could search, seize, detain, arrest, imprison, torture and kill with impunity.

A tech company can deplatform you with impunity, but they're not inflicting any real violence in the process. Corporations are still agents of real people, and those people are still subject to the laws of nations.

<comment><USER8> Taking away somebody's right to make a living with their chosen profession or otherwise participate in commerce is economic violence.

Say you have built up a following of people over many years and you are making thousands of dollars a month from YouTube, and they they decide to shut you down overnight, I bet it's going to feel like violence when it comes time to pay bills and you no longer have any of that income you have become accustomed to.

<comment><USER9> >Taking away somebody's right to make a living with their chosen profession or otherwise participate in commerce is economic violence.

The thing is, no company is taking away a creator's right to their living. They may take away the opportunity to make a living on that company's platform, but there's a distinct difference.

YouTube (or Twitch, etc) are providing a service to content creators, that service being hosting and broadcasting their content. Service agreements come with clauses about termination of service. A content creator should never put all their eggs into a single basket lest that service cease to support them for whatever reason.

<comment><USER10> Should this, should that. I have heard this so many times. If you are a app developer and became successful on the Google playstore, but not on iTunes store then who are you to say that you should never put all your eggs into a single basket. This would never be a deliberate choice. Fact is, that many business lost everything due dragonic decisions made by big tech companies. Unacceptable. That's why those companies need to be split up. Regions like Europe need to restrict massive US invasion and come up with their own alternatives.

<comment><USER11> Even if YouTube (or the Play Store) was its own entity, they can still prevent you from publishing on their platforms on a whim. You solve nothing by breaking them up.

Don't hold your breath on Europe coming up with dominant consumer tech anytime soon.

<comment><USER12> Indeed, they need to be either shut down, or banned in Europe. You can't let companies have more power than nation-states !

</comment></comment></comment></comment></comment></comment></comment><comment><USER13> Another way to think about this topic is that China's CEO is Xi Jingpin.

There are a few distinctions between calling China a company and calling Apple a nation:

\- A nation uphelds the law whereas a company uses proxies (lobbying) to make laws

\- A nation has diplomatic rights, a company has to abide by export controls

\- A nation has a treasury, has control over interest rates and can prosecute violators, it ensures a level playing field. A company has equity and can fire employees, but has to maximize profits (shareholder interest) and eliminate/beat competition.

\- A nation has hard physical military and ability to go to war, a company has office security and HR

\- A nation can prosecute criminals, a company can layoff people.

I don't think this analogy provides any interesting insight into Apple besides drawing loose connection between secrecy and censorship.

<comment><USER14> > Another way to think about this topic is that China's CEO is Xi Jingpin.

He's more like the chairman. He sets the direction that he wants china to go in, others execute his plan.

> There are a few distinctions between calling China a company and calling > Apple a nation:

Nobody is calling china a company and apple a nation. People are talking about money and influence. Apple certainly doesn't have the money and influence of China or the US. But it has more influence than most smaller or even midsized nations.

\- A nation has a treasury, has control over interest rates and can prosecute violators,

Banking cartels/central banks like the Fed control interest rates. The treasury mints money and collects taxes.

> \- A nation has hard physical military and ability to go to war, a company > has office security and HR

So has companies. Companies have even fought wars against each other.

[https://en.wikipedia.org/wiki/Carnatic_Wars](https://en.wikipedia.org/wiki/Carnatic_Wars)

> \- A nation can prosecute criminals, a company can layoff people.

Governments prosecute criminals. Companies have been able to try, punish and enslave people.

<comment><USER15> For another example, the British Raj originated when the British East India Company conquered India. There's nothing historically unusual about a private company operating its own military force.

</comment></comment></comment><comment><USER16> This made me laugh ...

> "Many employees don't like Apple Park [the company's new headquarters] > because it has very few private offices.

... nice one Jony ... design a brave and "beautiful" open plan workspace for a paranoiacally _secretive_ organisation.

Says it all really.

<comment><USER17> > ... nice one Jony ... design a brave and "beautiful" open plan workspace for > a paranoiacally secretive organisation.

I feel like it's worth pointing out that Steve Jobs was still running Apple when this building was designed. I don't work for Norman Foster so I have no way to know how much changed internally after he died, but I doubt the balance shifted _too_ wildly given the logistical constraints of massive construction projects.

As an aside - and I don't mean this in reference to office layouts - were I in charge of a global consumer products company that competes in multiple cutthroat markets, I'd want to foster a corporate culture of extreme openness and collaboration _inside the walls_ but absolute silence _outside._ That's not exactly what Apple is today, obviously, but it's within the realm of possibility that it's their goal.

<comment><USER18> > I'd want to foster a corporate culture of extreme openness and collaboration > inside the walls

Open space offices are entirely othogonal to this idea.

<comment><USER17> How so? I'd argue that while open-plan offices can profoundly affect people's productivity and morale, they have relatively little impact on collaboration or communication - I view these more as functions of the team's culture.

As long as your group makes a conscious effort to bounce ideas around and ask each other for advice, what's the difference between sitting at a table wearing headphones or in an office with the door shut? Or, for that matter, everyone being remote?

I can kind of see how you could make a case that open-plan offices change the dynamic of communication, i.e. they make people less willing to "bother" their coworkers, but collaboration can (and probably should, most of the time) happen asynchronously over slack or email or post-it note anyway.

<comment><USER19> That's what "orthogonal" means, in this context … :-)

<comment><USER17> Whoops, thanks for that. I must've read it as 'antithetical.'

</comment></comment></comment></comment></comment></comment><comment><USER20> This article was an interesting read, but I think it got the basics incorrect. Financial elites and corporations increasingly control governments in clever and effective ways: Few corporations control almost all news media, fragment population using news media to make (to use the USA as an example) Democrat's fear and distrust republicans and vice versa, turn over public assets to corporations at bargain basement prices, etc.

A bit off topic but: even though I am not a particularly strong Go and Chess player, I really appreciate reading through good games. Looking at the way elites have slowly taken over power since the end of the civil war (again using the USA as an example), with a slow and well played game, I must say "well played Sirs and Madames, well played."

<comment><USER21> This is interesting. Can you suggest any books or articles about the power climb?

<comment><USER20> Too many. As a liberal I still find conservatives Kevin D. Williams (The Smallest Minority, Independant Thinking in the Era of the Mob) and James Rikards (Currency Wars, Aftermath, etc.) to be interesting and useful. Then there is Thomas Piketty (Capital in the 21st Century), Douglas Rushkoff (Throwing Rocks at the Google Bus).

Anyway, these few were enjoyably, but a warning: I have loaned books by the first two conservative authors to liberal friends and they didn't like them, too far outside the bubble they like to live in. I like reading authors that have differing world views from myself.

EDIT: The Devil's Chessboard is also a good read, but parts of it were disturbing to me.

<comment><USER21> Thanks — I'll give these a try! Each year, I try to read a handful of books that expand my world views, so these sound great. :)

</comment></comment></comment></comment><comment><USER22> "Apple's market valuation is roughly equal to the national net worth of Denmark (...). In all but name, this is a superpower"

Denmark is a really nice country. Also, it is not a superpower.

<comment><USER23> It's also not true. Apples valuation is around $365 billion, Denmarks _GDP_ is around $370 billion per year.

I'd argue a sovereign country's assets are essentially invaluable, but in Denmark's case there's the interesting historical fact that the US government offered to buy Greenland several times (and always being rebuffed by the Danes), so at least there's an estimate for the value of that island alone: [https://en.wikipedia.org/wiki/Proposals_for_the_United_State...](https://en.wikipedia.org/wiki/Proposals_for_the_United_States_to_purchase_Greenland#Purchase_price_estimates_of_Greenland)

> If the United States wants it for the strategic value of its property, both > on land and offshore, and to project military power, the answer is that a > value of $500 billion is not overly rich

EDIT: I got the numbers wrong. Apple Inc. is currently valued at over $1 trillion (I used Apple's total assets from their Wikipedia page) and they mention Denmark's net worth which is indeed in that ballpark. I'd still argue that you can't compare the valuation of a company to the net worth of a sovereign country.

<comment><USER24> Let's go by the price of land in Denmark. 25,000 Euros per hectare in 2009. That's for agricultural land.

Greenland does not support agriculture, but it does have natural resources, and can have a good strategic value. So let's say it's 10,000 Euros per hectare, a good discount.

It would cost 2.6 trillion Euros, or 2.9 trillion US Dollars.

Everything has a price, I wonder if that would be acceptable for Denmark and under what conditions.

<comment><USER25> > _Everything has a price_

This idea needs to die. It is simply not true.

It's so stupid to say that, and clearly only people obsessed with money actually believe it. We're killing the planet in the quest for ever more money, and tons of people have absolutely no interest in more money. They want more time and more health.

<comment><USER24> Sadly, it is true. And "price" doesn't only mean money. Maybe a country wants a longer shoreline in exchange for a piece of mountain land or something.

</comment></comment></comment></comment></comment><comment><USER26> Doesn't Apple need the secrecy to survive? Imagine Nokia getting hold of the specs of the original iPhone early before its release, how would the world be today?

<comment><USER27> Nokia's woes were on software side, not hardware. Building a competitive software stack proved too slow an undertaking for a hardware company. It was Android in the end that ate Nokia's pie, not Apple.

<comment><USER28> Also they only took Apple seriously way too late.

<comment><USER26> Agree. See my comment above. Having access to info about marketing budget etc. could have possibly changed that.

</comment></comment></comment></comment><comment><USER29> It is essentially the same at all corporations, always has been.

Lenin was a great admirer of Ford Motor Company. His Soviet committees were copied directly from Ford.

You could think of the SSRs as divisions, and satellite countries as wholly- owned subsidiaries.

<comment><USER30> I've overheard forms of this many times from C/VP-level execs facing internal debate: "We're not running a democracy here".

It is interesting that we only see it in government. Most companies are dictatorships. Some might have a board of directors that is responsible for voting in it's own members, kind of like a tribal elders system.

It's interesting to see these different forms of decision making producing different advantages and disadvantages.

<comment><USER31> The difference is that the natural state of the corporation is to go extinct. Governments have so much inertia that it often takes a literal revolution to replace them.

Bad externalities are the downside to dictatorships. The externalities of a corporation are much more limited, and there is more pressure to reduce them (from governments, other corporations, and their customers).

Continuing the dictatorship metaphor, this pushes corporations to be more "benevolent".

<comment><USER32> Except for those that become "Too big to fail". Banks don't seem to dissolve naturally all that often.

</comment></comment></comment></comment><comment><USER33> Just finished a wonderful(ly long) biography on Julius Caesar (Caesar: Politician and Statesman). Caesar was innovative in thinking of Rome as not just a city state but the beginnings of what would become an empire. Not an inherently new phenomena but one that has lasting influence to this day.

In the same way our world is now flat. While there is much we do not understand we do know this: business (Due to the proliferation of the internet) knows no borders. And the goal of modern businesses that rely on scale is to do just that.

So, look for businesses to become much more powerful than countries and to one day become greater than even the greatest of nations.

</comment><comment><USER34> Governments have a monopoly on violence, the ultimate source of influence. Tech giants don't. End of story.

</comment><comment><USER35> I think the title here is missing some kind of punctuation.

<comment><USER36> Agree. Overzealous HN title editing at the best of times.

</comment></comment><comment><USER37> As an Apple Shareholder I would be furious if the part about Shows were only for 10 years and not for life are real.

Apple News+, Apple Arcade are forgiving as they are only a few hundred million bet. Apple TV+ is a multi billions bet, with no short terms or long term goal or benefits.

</comment><comment><USER38> As opposed to the Catholic Church? Oil companies? A number of retailers?

Beating up tech companies specifically is getting irksome. There are many things wrong with our industry specifically, but beating them up over something true of many industries is <expletive of your choosing>.

<comment><USER12> They are being brought up more and more because they are starting to become as much if not more powerful than your examples?

<comment><USER38> but they aren't - there are few examples where laws are explicitly repealed to aid the tech industry, there a few cases where tech companies have be absolved of responsibility (or given drastically reduced fines) for their environment or societal damage.

<comment><USER12> Only because they haven't been around for long ?

</comment></comment></comment></comment><comment><USER39> Does Apple have its own army? Can it?

</comment><comment><USER40> I think it's supposed to be a joke, but it's still a bit contrived. The governance models of countries and companies are very different. Just about every company would end up being like some sort of socialist regime. No democracy, central planning. Perhaps you could argue they're more like oligarchies or plutocracies (governed by capital).

<comment><USER41> And yet we think it's absolutely normal for companies to be run like oppressive regimes.

<comment><USER42> Should your employees take over any company you found?

<comment><USER43> Should one person make life changing decisions for millions?

Why do I even need to ask this?

<comment><USER40> The answer to that question is obviously yes, but I don't think that's why you thought the question didn't need to be asked.

For starters there are both elected and non-elected offices in government where one person will be given the power to make life changing decisions for millions. This is a perfectly ordinary feature of organised society.

Regarding companies, if you don't want people who own companies (or their agents) to be able to decide how the companies are run, then you need to prohibit either private property, or employment all together.

An employment agreement is simply one party offering labour, and another offering payment for it, and a company is simply people pooling their resources together to achieve more than they could alone (companies server other purposes to, but this is the relevant purpose for this discussion).

An employer is always going to be able to make decisions that are life changing for their employees, by deciding they no longer require their labor for instance, by ceasing operations, or relocating, or withdrawing a product/service from the market.

If you don't want employers to have the ability to make decisions that impact the lives of their employees, then you either need to abolish private property (the ability to offer payment for labor now becomes impossible), or outlaw employment agreements. Whether an employer has one employee or one million is really besides the point.

</comment></comment></comment></comment></comment><comment><USER44> What is the big difference between nations and corporations?

</comment><comment><USER45> This is only a problem if you think the state is the most important idea and institution that should exist.

<comment><USER46> state as republic is absolutely the most important idea and institution that should exist in a world where there are no longer isolated communities.</comment></comment>


The Art of Evangelism Course by Guy Kawasaki - <AUTHOR> https://medium.com/globalinfluencers/the-art-of-evangelism-course-by-guy-kawasaki-8c9add937d2f <comment><USER2> I wrote him a letter when I was in high school- he wrote for the magazine A+ he wrote me back. I like him.

<comment><AUTHOR> I met him once in New York, a very humble person.</comment></comment>


Arborists are bringing the "dinosaur of trees" back to life - <AUTHOR> https://qz.com/1519250/arborists-are-bringing-the-dinosaur-of-trees-back-to-life/ <comment><USER2> For those skipping straight to the comments, these are not "Jurassic" trees as the headline may suggest, but rather a species wiped out due to being "felled for timber more than a century ago."

<comment><USER3> Not even wiped out: redwoods still exist. But the biggest trees were destroyed.

</comment></comment><comment><USER4> In a weird way, I hope this goes horribly wrong, and the super trees become an invasive species that results in an apocolypse of unstoppable forests that dominate the globe.

<comment><USER5> Would you feel the same way about an ancient bacteria or similar that wipes out all life from the past 500 million years?

I assume not (at least for the majority of readers); it's instructive to consider why one feels trees are more in tune with nature than some lowly bacteria, or as the original implication made, more in tune than humans too.

<comment><USER6> One must consider the possibility of such idle speculation before passing such judgement.

Can trees destroy humanity? No, they move pretty slowly and we can defeat them with axes and fire. And we've been doing just that and show no signs of stopping. If trees take over the world again, that can only happen in a world already devoid of humans. With climate change upon us, this is a "good" future for our planet -- intelligent life may arise again in a planet full of tall trees. It's a much better future to picture, than a planet like venus or mars.

Can bacteria destroy humanity? Yes, we've bred them to be immune to antibacterials -- imagine some ancient bacterium which wiped itself out by being too lethal, gaining antibacterial resistance through cross-contamination in a lab. But it wiped itself out before the invention of airplanes, and suddenly it's capable of spreading faster and further than before. It's a stretch, but almost plausible. CRISPR might help somebody make it a reality.

<comment><USER7> I have thought about this regarding viruses. But bacteria make it some how more frightening

</comment></comment></comment></comment><comment><USER8> See also: the drive to return the American Chestnut to the forests of Appalachia.

[https://www.acf.org/the-american-chestnut/history- american-c...](https://www.acf.org/the-american-chestnut/history-american- chestnut/)

</comment><comment><USER9> Read Richard Power's novel the Over Story [[https://www.amazon.com/Overstory- Novel-Richard-Powers/dp/039...](https://www.amazon.com/Overstory-Novel- Richard-Powers/dp/039363552X)] to read much and much more about the fascinating life cycle of redwood giants.

<comment><AUTHOR> I'll second the recommendation. Richard Powers is an incredibly talented author. It's somewhat off topic but many years ago he also authored a great book on AI (Galatea 2.2) that wasn't alarmist but focused more on the human element.

[https://www.amazon.com/Galatea-2-2-Richard- Powers/dp/0312423...](https://www.amazon.com/Galatea-2-2-Richard- Powers/dp/0312423136/ref=sr_1_1?ie=UTF8&qid=1547300313&sr=8-1&keywords=galatea+2.2)

</comment></comment><comment><USER10> There's high humidity and lots of morning dew in Florida. Would that be sufficient to grow one of these?

Also how hard would it be to genetically engineer these to be c4 photosynthesizers?

<comment><USER11> Why is mykowebhn dead? It is true, redwoods would be destroyed by hurricanes.

<comment><USER12> I've seen a lot of insta-dead comments lately. I'm wondering if there's an automated moderation system getting out of hand, or if they really are (for instance) attempts at ban evasion.

If you go direct to the comment (click on the posting time), you can "vouch" for comments you think should be un-killed.

</comment></comment></comment><comment><USER13> > _A mature redwood can sequester up to 250 tons or more of carbon dioxide > during the photosynthesis process._

What is the time scale of "the photosynthesis process"?

<comment> semi-extrinsic IIRC for a field of wheat growing on a summer day with blue skies and no wind, the photosynthesis process takes just 30 minutes to deplete the CO2 in the air above the wheat. After that the process becomes diffusion limited.</comment></comment>


Offer HN: 100 downloads of your free iPhone app. Help solve chicken/egg problem. - <AUTHOR>

Currently in the middle of relaunching and refocusing on my startup (www.adsreloaded.com) this winter quarter while taking a little less of a workload in school.
The site is much like Y-Combinator backed tapzilla. I provide downloads for iPhone app developers and pay users to try apps. Currently I have 550 people "signed up" but only about 30 who are active. In the next 3 weeks I would like to push that number up to around 100 active people downloading apps. So far since relaunch I have had 1 paying developer and have 2 more out soon but I really am having some difficulty solving the "chicken and the egg" problem here. Developers want more downloads and users want more apps before they sign up.
So here is the offer: I'll start a $10 campaign for your free iPhone app (That's 100 downloads) for absolutely free. If you have a paid app we can work out a special offer as well. You get a small number of downloads while helping out a young startup get its footing again.
Please contact me on adsreloaded.com or my e-mail address found on my HN profile. Thanks HN :) <comment><USER2> Ok; that'll solve the chicken problem -- do you need people for the egg side of the equation? I, for one, would be interested in providing free feed back on iPhone apps. (150 - 200 words per app.)

<comment><AUTHOR> The idea is to solve for one side of the equation "the chicken" before focusing on the egg problem, but yes I will need more "eggs" as well.

Currently you don't have to provide feedback in order to get apps for free on the service but I am currently exploring a service that provides usability/feedback for a fee from app developers. We will see how it works out and if there is a market for this soon.

</comment></comment><comment><USER3> I'd do it, how much is the pay?

<comment><AUTHOR> For the users or app developers?

For users you get a minimum of 10 cents for an app and for paid apps the minimum payout is the price of the app itself.

</comment></comment><comment><USER4> Does this apply to Android apps as well, or is this iPhone-specific?

<comment><AUTHOR> Currently only iPhone specific sadly. I hope to expand horizontally eventually but want to move the needle in one market before I do that.</comment></comment>


Network Connectivity Problems in AWS US-West Region - <AUTHOR> http://status.aws.amazon.com

<comment><USER2> I hope this doesn't get worse, because I'm seeing quite a few connection failures between various instances set up in this region.

<comment><USER3> A few of our ($dayjob) RDS instances are currently MIA in us-west. ;_;</comment></comment>


Do engineers want to 'try before they buy'(contract at a place before FT job) - <AUTHOR> http://hunterwalk.com/2013/07/14/trying-out-a-new-job-before-committing/

<comment><USER2> I would be extremely hesitant to take a "contract-to-hire" offer, because that expects me to take on all the risk of a job not working out. That said, I wouldn't mind a 40-80 hour paid engagement, on my own schedule, as a sort of job interview. I only wish you guys served more markets than NY and SF.</comment>


Sync Your Calendar with the Solar System - ____Sash---701_ https://www.nytimes.com/interactive/2018/01/01/science/100000005629754.mobile.html <comment> ____Sash---701_ You can sub via ical/webcal using this link: [https://calendar.google.com/calendar/ical/nytimes.com_89ai4i...](https://calendar.google.com/calendar/ical/nytimes.com_89ai4ijpb733gt28rg21d2c2ek%40group.calendar.google.com/public/basic.ics)</comment>


Show HN: CryptoProof – post proofs to the Ethereum blockchain for free - <AUTHOR> https://cryptoproof.org <comment><AUTHOR> Hi HN. Quick comments about this project:

* Today is 10 year anniversary to the original bitcoin.pdf release. This pdf is the first document proof I posted, included in the first release: [https://cryptoproof.org/release/2018-10-30-09](https://cryptoproof.org/release/2018-10-30-09)

* I've recently left a startup and will try to build a bunch of smaller ideas rather quickly and see if any of them resonate. This one took about 10 days to build, and it's my first "static Vue.js frontend + a separate backend" project.

* This is not a very advanced project. It simply collects posted hashes, hashes them together to create a "Release", and posts that one combined hash to the Ethereum blockchain. I have some useful ideas for the future, but until then it's just a free and (hopefully) a user-friendly way to post timestamped proofs.

* Having a separate API backend means I can offer a developer API quite easily. For now it doesn't require any authentication, and that probably means it might get DDoSed quickly. Please don't abuse it. I am interested in building a useful service, so if you have any ideas, let me know!

If you have any feedback, please let me know!

<comment><USER2> Have you considered using merkle proofs? This way the data you will submit on- chain will be relatively small and stable and you can provide the proofs directly on the front-end / client side.

<comment><AUTHOR> Merkle proofs sound like a more appropriate tool for the job, but I don't know enough about it. Do you have any tips what to read about for this?

<comment><USER2> Sorry for the delay but I'm at Devcon :-)

Perhaps the easiest way to get started is with this npm package: [https://github.com/ameensol/merkle-tree- solidity](https://github.com/ameensol/merkle-tree-solidity)

If you want to learn more about the theory behind merkle trees and its variants, let me know.

<comment><AUTHOR> Please send my regards to Mr Buterin.

Your profile does not contain any contact information. Is there a channel you prefer to be contacted via if I have some further ideas or questions?

<comment><USER2> telegram: @decentralised

</comment></comment></comment></comment></comment></comment><comment><USER3> What a nice useful easy-to-use service, thanks for this, Jonai :)

A comment (relevant to this site but also a more general ramble towards the direction of "why don't sites which use production-important JS try this more often"): given that the default non-API use case involves users running client-side JS, I wonder if you've considered pinning your "must send only the hash to the server" script code via CSP / script-src: [https://developer.mozilla.org/en- US/docs/Web/HTTP/Headers/Co...](https://developer.mozilla.org/en- US/docs/Web/HTTP/Headers/Content-Security-Policy/script-src)

(When JS scripts are "stable" enough, compute their hashes and include those hashes in the source via script-src (a sort of "certificate pinning" thing). I know it's not supported everywhere yet etc etc, I haven't paid close attention re: this but maybe that's the reason as to its limited adoption thus far?..)

Anyway, very smooth and I love the "can prove if service is gone" and "no stupid ICO" parts, obviously.

<comment><AUTHOR> Thanks for the comment, Kostai!

The entire frontend is a static Vue.js thing built with Vue CLI that uses Webpack behind the scenes. It seems I should be able to automatically add CSP via a webpack plugin. Noted.

</comment></comment><comment><USER4> You need gas to post your "Release" to Ethereum blockchain and gas costs money. How is it possible to be free?

<comment><AUTHOR> It costs about 0.8 ETH per year to run, and I've personally funded it with 1 ETH. I do appreciate donations: [https://cryptoproof.org/support](https://cryptoproof.org/support)

</comment></comment><comment><USER5> Quick glance: there doesn't appear to be a way to link to specific messages for verification - I understand it will be difficult for large files, etc. but you can probably squeeze a base64-encoded value in the URL #hash for short messages.

Also HN, are there any other existing services for proofs?

<comment><USER6> Chainpoint.org

<comment><AUTHOR> Oh, this is interesting. Somehow I haven't found it in my research.

</comment></comment></comment><comment><USER7> > Geeky summary: we hash content client-side, collect all the hashes posted in > an hour, hash them together and post their combined hash as input in the > transaction on the Ethereum blockchain, establishing the chain of proof.

Didn't know that my Greek was so much better than my English ;-)

</comment><comment><USER8> Very nice.. excellent job on making the copy easy to understand. Would love to link to this project in my ongoing collection of cool blockchain stuff.

Enjoy Devcon.. Also let me know what I can do about those small ideas that you want to implement.Have a couple myself!

</comment><comment><USER9> Are you planning on open sourcing this? Thanks!

<comment><AUTHOR> Maybe, but unlikely. I have some future ideas that might become a premium service.

Also, I'm not sure what the OSS community would gain from this being open sourced. The "algorithm" is just "hash a bunch of hashes". The rest is just a neat frontend and a really simple backend.

</comment></comment><comment><USER10> dope</comment>