Show HN: Orange Forum – Web 1.0 style forum written in Go - <AUTHOR> http://www.goodoldweb.com/ <comment><USER2> Ok, sorry, bitter old man coming through: this is Web 2.0, not 1.0. For all the buzzwords, Web 2.0 was defined by the dynamic interactive solicitation of user input as opposed to Web 1.0 being just static HTML. I don't think we've coined a good catchphrase for fat applications implemented in tons of Javascript with only lightweight AJAX calls to the backend.

And then, of course, there's Web 0.1: [https://thedailywtf.com/articles/Web_0_0x2e_1](https://thedailywtf.com/articles/Web_0_0x2e_1)

<comment><USER3> Nah, this is as 1.0 as you can get, assuming you're not asking for completely unstyled text. Forum scripts with this sort of simplicity were around for decades, with UBB being created in 1996 (and having significantly more features than this software), and basic scripts like WWWBoard dating back to 1995 or earlier.

It was AJAX and processing data via JavaScript that was a web 2.0 thing (for the most part), not just submitting forms in general.

<comment><USER2> 2.0 is not about a switchover date, it's functionality, or even philosophy. Mid-90s forums would be understood as visionary betas of Web 2.0 under this terminology. I concede that Orange Forum is definitely very early 2.0, possibly even very late 1.0, but it it most definitely not "as 1.0 as you can get". That would be static websites with at most a guest book and/or email form.

</comment></comment></comment><comment><USER4> The irony is that because of the lean structure behind the server, this forum actually responds faster than most webfora that do use AJAX/SPA.

Funny given that the whole purpose of AJAX/SPA was to reduce response time. That's it's reason for existing.

Turns out it just complicates things ...

<comment><USER5> I think what you say makes no sense at all.

The idea of AJAX/SPA was to provide interactivity and a less technical UI that caters to the average Joe. AJAX/SPA moves some of the computation from the backend to the frontend so the service scales better for millions of users.

This forum is not going to be fast for millions of users (it might not even be for hundreds of simultaneous users) because the server has to render everything again for everyone.

Server side rendering is good for response times, that's why the SPA world went back to it (Google: react ssr). SPA is good for scalability and average Joe UI.

...and AJAX is there so we don't need to do a full page reload all the time. Again, not because of response times.

<comment><USER6> > AJAX/SPA was to provide [...] a less technical UI

I hadn't heard that reason before. Can you please talk more about this?

> This forum is not going to be fast for millions of users (it might not even > be for hundreds of simultaneous users) because the server has to render > everything again for everyone.

This theory doesn't match reality. In reality, multipage applications are faster than single-page ones. In fact, most things on the internet still are multipage, including web forums. Most web forums are powered by PHPBB, a multipage web app, and they were powered by PHPBB 15 years ago, when hardware and PHP were much slower. This very site is a multipage web app, and it holds up just fine, even though it has enough users to bring down other websites.

Single-page applications seemed like they would be faster, but usually they aren't.

First, let's look closer at a multipage application. All of the scripts, styles, and images should be cached after loading the first page, if you set the headers right (the Expires header, mainly). Therefore, what is left? The content. And I have found that the size of the HTML content is often close to the size of the same thing in JSON --- at least the way I write HTML (I try to keep it lean. Few classes, extraneous divs, etc.). This is because JSON has all those keys:

        {
            "color": "red"
        }

while HTML has just the values:

red

That was a simple example, but I measured a bigger one, and the size turned out to be about the same, especially after compression. All of those HTML tags compress well, because of repetition.

Now if they are the same size, then they should load in the same time. Except they don't. The server-rendered page loads faster. Why? Because of progressive rendering. When just some of the HTML has come down the pipe, the page appears. But with AJAX, all of the JSON must first load, then be parsed, then wrapped in a template, then inserted into the DOM. Then it appears all at once.

<comment><USER5> > Can you please talk more about this?

Average Joes want spinners, buttons, draggable stuff, toggles etc. that don't lead to a page load everytime you press them. Sure, you can say that "well just make a multipage app with some jquery". But at some point you're just approaching a SPA with SSR support.

Imagine facebook's chat but everytime you hit enter you had a full page reload :D

> In reality, multipage applications are faster than single-page ones.

I agree. They are faster for a single user when the usecase is a semi static page like a forum. However, the SPA + API model makes stuff easier for the backend side and allows that average Joe UI stuff. It scales well to millions of users.

The thing is, it's not about you. It's about everyone. We want to build services that please the majority and backends that stay up when the majority is logged in.

Also, it really isn't possible to build realtime/dynamic stuff with a "let's render some HTML on the server" mindset. How do you do realtime chat? Realtime games? How do you do a collaborative text editor? and so on.

JSON/SPA/AJAX are not there to so your static forum page loads fast. They are there because of the next generation of the web.

</comment></comment></comment></comment><comment><USER7> I'd recommend you to use Argon2 instead of bcrypt for storing password. It has won the Password Hashing Competition last year and is the recommended way to store passwords. Bcrypt is not bad but it could be used with insecure parameters while Argon2 does not have insecure parameters.

The way you create cookies is also insecure, you should be using crypto/rand instead of math/rand AND rather hex.EncodeToString() the result instead of just generating random numbers in the alphanumeric range.

<comment><USER8> The math/random point is well taken.

The hex.EncodeToString() point is a nit. Generate 128 bits of randomness, and then encode it however you'd like. The track record of people trying to get "generate random numbers in the alphanumeric range" isn't great; it's an opportunity to reintroduce bias. Start with a random token of sufficient size, then encode.

The Argon2 vs. bcrypt thing is unhelpful. It does not matter what password hash you use, so long as you use a hash designed for password storage (ie: not "salted SHA-2"). Bcrypt is fine. I prefer scrypt, for the obvious hardware tradeoff. I don't recommend Argon2 to people (or tell people to stop using it) because of the library support issues.

But I think it's specifically a bad idea to tell people to switch password hashes from bcrypt (or PBKDF2) to the trendy new hash. The security benefit of "upgrading" from one password hash to another is marginal.

(Obviously, the benefit of switching from "salted" hashes to real password hashes is not).

<comment><USER9> Where do you think Argon2 should be present before it is considered to have good library support? AFAIK, it is in libsodium, debian, ubuntu, and other distros.

And I think one can also make mistakes with scrypt when choosing parameters which Colin himself acknowledged. So isn't it time to go ahead with Argon2?

<comment><USER10> This project is in Go and Argon2 isn't a part of the standard crypto ([https://golang.org/pkg/crypto/#pkg- subdirectories](https://golang.org/pkg/crypto/#pkg-subdirectories)) or additional crypto ([https://godoc.org/golang.org/x/crypto](https://godoc.org/golang.org/x/crypto)) libraries.

There are a few 3rd party implementations... But is it more secure to use a lesser known 3rd party package to have Argon2 support or is it more secure to use the more widely adopted bcrypt package supported by the Go dev community?

<comment><USER9> >This project is in Go and Argon2 isn't a part of the standard crypto

I was talking about password hashes in a general sense, not just about the current project.

</comment></comment></comment></comment></comment><comment><USER11> Interesting.. Looks sleek.. DLang forum [1] is similarly lightweight and it runs as a newsgroup, IIRC. Source code at [2] and previous discussions on HN [3]

[1] [http://forum.dlang.org/](http://forum.dlang.org/)

[2] [https://github.com/CyberShadow/DFeed](https://github.com/CyberShadow/DFeed)

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

<comment><USER12> See also [https://golangnews.com](https://golangnews.com) \- an HN inspired forum written in Go and hosted on a $5 instance, holds up pretty well.

</comment></comment><comment><USER13> The old style forums are showing their age and need to be modernized but not abandoned. See the Archlinux forums based on Fluxbb. It's fast and effective.

The newer ones led by Discourse, Nodebb and Flarum have completely gone in another direction in reinventing how discussion forums should be and perhaps gone too far. They feel strangely 'rootless' and completely lack the 'community feel' of user forums.

This looks promising for something fast, lightweight and easy to deploy.

<comment><USER14> The UIs on those three should be dialed back (animation, JS), but Discourse is pretty good otherwise.

I've looked at all three:

* Flarum had nausea-inducing animation, and now it overrides natural scroll behavior. (Please never do that to users.)

* NodeBB had some problems when I was using it. If JS is disabled, even the homepage links don't work. Forums should be server-rendered.

* Discourse could be improved by removing most of the animation and Material Design creep (bad for motion accessibility), but other than that, it's the best at the moment. It would also be nice to have easier, full theme customization. Maybe it's in there somewhere, but I haven't found it yet.

I would like to see forum software that has the feel of classic forum software (like Flux), not in PHP, that is server-rendered, with a very minimal default theme (no animation) and minimal JavaScript, and that has many of the modern features of Discourse.

<comment><USER15> Then maybe you'd be interested in EffectiveDiscussions, like, item 4 in your list:

[https://www.effectivediscussions.org](https://www.effectivediscussions.org) (I'm developing it)

I have copied ideas from Discourse — so yes it has some of Discourse's features. Plus features from Slack (i.e. chat), HackerNews (best comments rise to the top) and StackOverflow (question-answers) & Disqus (embedded comments).

More things you mentioned: It's not PHP (it's Scala instead, in Docker containers), it is server side rendered (React.js), fairly minimal Javascript: 150 kb JS on page load.

<comment><USER14> Looks good. One suggestion: it doesn't work with JS off, so I don't see content when I arrive.

I made a personal commitment not to use Facebook's software (React) whenever there are suitable alternatives available, because I don't want to support that awful company in any way, but hope that your project goes well.

<comment><USER15> Interesting commitment. Can I ask which URL didn't work for you, & which browser?

For me, when I disable JS in Chrome Dev Tools, the website still loads properly, incl homepage, forum index and discussion topics. (but one cannot leave comments, that still requires JS). I tested a bit in Lynx also.

<comment><USER14> And regarding the commitment not to support FB, it's because using FB's software supports FB, and FB is terrible for society. I don't want to support them (wherever possible), even if just in a small way.

[https://www.theguardian.com/technology/2017/nov/09/facebook-...](https://www.theguardian.com/technology/2017/nov/09/facebook- sean-parker-vulnerability-brain-psychology)

</comment></comment></comment></comment></comment></comment><comment><USER16> How can a few lines of text _load so fast_ !? Are we so far into the Obesity Crisis that people find this impressive ? :P

<comment><USER17> Yes we are, when web sites have more JS code than what Doom or Quake required in floppies, to display static text.

</comment></comment><comment><USER18> The term "Web 2.0" is an unfortunate choice and as a consequence it has been rarely used correctly. Funny enough I've been to a Web 2.0 Conference about 10 years ago where almost every speaker used it incorrectly.

Web 2.0 has nothing to do with a technical revision or change in the Web. It was used by Tim O'Reilly back in 2004 (and became popular) and refers to the rapid change in the way the web is used, more specifically the switch from static web to user generated content.

I'm sorry but your forum is all about UGC, and AJAX has nothing to do with Web 2.0.

</comment><comment><USER19> Works beautifully with w3m which has become my main site test lately. Another great example is HN itself.

If it doesn't work well with w3m something is wrong with the site philosophy or execution.

<comment><USER20> > If it doesn't work well with w3m something is wrong with the site philosophy > or execution.

Point of clarification: "wrong" according to your moral philosophy about web sites, even if it's one I happen to share.

<comment><USER21> What's the other sort of wrong?

<comment><USER22> Being objectively wrong.

Philosophically wrong is using technology that limits the web from being what the interpreter expected, as in this example (there's still a rational reason in this case to do it the "wrong" way and it's based on personal morality).

Objectively wrong being trying to make a website out of custard.

</comment></comment></comment></comment><comment><USER23> So much whitespace in the demo. Real web 1.0 forums can fit way more thread titles on screen ;)

<comment><USER24> > So much whitespace in the demo.

This. If you want old school, go with 10px Verdana, and pad sparingly. I want information, not negative space dammit! With pine, my email editor in 1995, I could read 40 subject lines on a 640x480 screen. With Gmail (in compact mode) on an MBP retina, I get 36. Progress, indeed. Designers 1, Users 0.

<comment><USER25> The amount of padding in modern websites drives up the wall. The idea that I bought a 24" monitor just so I can read text in fullscreen is ridiculous.

One trick I often use is to have the window take half (or less) of the screen and spoof my browser to be Chrome on Android Kit Kat. I just wish there was a change to have a different browser spoofed per tab, or maybe a "whitelist" of websites that are designed well enough that I won't pretend I'm on a phone.

<comment><USER26> Added your ideas to my notes file.

</comment></comment></comment></comment><comment><USER27> Five years ago I wrote a 5KB PHP forum system I called [https://github.com/Xeoncross/forumfive](https://github.com/Xeoncross/forumfive)

It relied on BrowserID though so it's no longer working and I was thinking about re-doing it using Go so I'll look at this.

</comment><comment><USER28> Looks like you'll need to start moderating this already, as of an hour ago, at least.

The process of setting up a public sandbox for users to play with seems like it should be easy, but abusive/obscene posts by users make a testing sandbox unusable/NSFW very easily.

<comment><USER24> What are good strategies for combatting such abuse? Validate email before posting, forbidden word lists, active site moderators?

<comment><USER29> Only thing that works is active and ongoing moderator involvement, plus a well implemented "report/flag post" feature.

</comment></comment></comment><comment><USER30> The live demo is already full of trolling _sigh_. So yep, it's a forum.

Nice and fast though. Good work.

</comment><comment><USER31> I love this, this is how I've been writing my latest projects, with very little js and it's been a huge productivity booster.

</comment><comment><USER32> I appreciate the philosophy. Is there a live demo so we can try it out?

edit: I turned on my brain and found the link was on the homepage the whole time.

<comment><USER33> Yup, the site links to a hosted version here: [https://groups.goodoldweb.com/](https://groups.goodoldweb.com/)

<comment><USER34> That's a very concise privacy policy, heh.

</comment></comment></comment><comment><USER35> Here's one written in lisp ;)

[https://github.com/arclanguage/anarki/blob/master/lib/news.a...](https://github.com/arclanguage/anarki/blob/master/lib/news.arc)

</comment><comment><USER36> I really like this movement of going back to the basics, web 1.0 style web apps/sites.

I do feel however that there can be a compromise, I think we can build our web applications in the 1.0 style and power them up in the 2.0 style, allowing the capability of the client drive the presentation of the application.

For hints on how I'm doing this for Remarkbox ([https://www.remarkbox.com](https://www.remarkbox.com)) - please read [http://russell.ballestrini.net/capability-driven- presentatio...](http://russell.ballestrini.net/capability-driven- presentation/)

<comment><USER37> I looked into your work - remarkbox and read through all the while hoping/wishing for there would be a self-hosted version that is not prohibitively expensive for a free personal blog. No luck for me. Back to tinkering with self-hosted isso[1] comment system to make it work for me. [https://posativ.org/isso/](https://posativ.org/isso/)

<comment><USER15> Since self-hosted is a requirement (?), then you might also find EffectiveDiscussons (ED) interesting — here's how embedded comments looks:

[https://www.kajmagnus.blog/new-embedded- comments](https://www.kajmagnus.blog/new-embedded-comments) (scroll down to the bottom)

it has more "modern" features than Isso, e.g. FB and Gmail login, & some new ideas. Here's an about page with more info: [https://www.effectivediscussions.org/blog- comments](https://www.effectivediscussions.org/blog-comments)

(I'm developing it.)

Embedded comments requires JS, but ... the discussion forum part of ED (not embedded) works like Web 2.0, that can fallback to Web 1.0 (I mean, static HTML with no JS). Although this is only partly implemented.

</comment></comment></comment><comment><USER38> Take a look at [https://hashnode.com](https://hashnode.com) if you want to see fast MERN[1] stack forum

[1] [https://hashnode.com/post/hashnode-looks-pretty-amazing- its-...](https://hashnode.com/post/hashnode-looks-pretty-amazing-its-very- fast-smooth-and-looks-client-heavy-i-am-curious-about-the-stack-used-in- hashnode-ciij5a1k101mplc536dav792z#ciijdrq8w01uxlc53ci1jvn5j)

</comment><comment><USER39> This post is hilarious!

[https://groups.goodoldweb.com/topics?id=67](https://groups.goodoldweb.com/topics?id=67)

</comment><comment><USER40> Likes on bringing such a retro concept back; but seems like you don't have any kind of spam control :D would be nice to have one.

</comment><comment><USER15> Can I ask what (if any) are your future plans with this? And what's the reason you decided to create it? (only to showcase web 1.0 style forums, or ... other reasons too?)

For example are you planning to provide hosting?

Continue developing the open source version and add features like spam protection? Google and FB login?

<comment><AUTHOR> I'd been working on this on-again off-again for a while after reading Dan Luu's post on page bloat[1].

I'll provide hosting if anyone wants it. That said, ease of deployment was a major consideration right from the start. That's why I chose golang over Django/Rails and decided to offer SQLite as an option to support quick deployment for internal / low traffic sites.

[1] [https://danluu.com/web-bloat/](https://danluu.com/web-bloat/)

<comment><USER15> Ok thanks for explaining :-)

(I've seen Dan's post me too in the past, it inspired me to try to remove lots of JS from some similar stuff I'm building.)

</comment></comment></comment><comment><USER41> I think you guys are awesome. Keep up good work. Battery, CPU and RAM of my laptop are having the same feeling. Can I deploy it as fcgi script on cheap shared Apache hosting?

<comment><AUTHOR> Thanks! FastCGI is currently not supported. If your shared hosting allows you to run a binary that accepts connections on some port, it should work with Apache as a reverse proxy. I'll add fast cgi soon. It should be easy enough since golang's net/http supports it.

</comment></comment><comment><USER42> in the demo when a response is massive it takes a long time to load. example: [https://groups.goodoldweb.com/topics?id=33](https://groups.goodoldweb.com/topics?id=33)

It needs to limit entries to a certain number of characters where you can click a "see all" button to see the rest of the long entry.

<comment><AUTHOR> I missed limiting the size of user inputs. Will fix it soon.

</comment></comment><comment><USER43> Resetting the form if there's any error in the input is not the nicest UX. Like special characters in the name of a group

</comment><comment><USER44> Any support for images?

<comment><AUTHOR> Images are supported, but it's disabled in the live demo.

<comment><USER45> Good plan for your own sanity. Is there a way to disable the signup and just load users?

<comment><AUTHOR> Signup can be disabled. Loading users will need some SQL.

<comment><USER45> Thanks, SQL doesn't bother me much - I just was looking at it for suitability for a student forum.

</comment></comment></comment></comment></comment><comment><USER46> the live demo could hardly render well on my browser.

</comment><comment><USER47> Hell yeah golang templates rock!

</comment><comment><USER48> I built a forum from scratch once and it is a comical amount of work.

The initial CRUD weekend-ware is straight forward. LIMIT/OFFSET for pagination. Throw in some Markdown support. Seems easy enough.

But the devil is in all the individual features that make a forum usable. Like getting notified when someone @mentions or replies to you, marking threads that you've posted in, tracking the high watermark per user per thread so you can create a "go to first unread post", implementing a decent search, making deep pagination fast, a PM system, trying to generalize it.

A serious amount of breadth between weekend #1 and production if your users want the feature set of Xenforo. The main positive I can say is that my forum is cheap to host.

<comment><USER49> > Like getting notified when someone @mentions or replies to you

Really? _that_ is complicated?

Serious question, do you find it complicated because you're still a beginner, or is there something I'm missing?

What language(s) did you use?

<comment><USER15> Well this @mention is a bit more complicated than what one might think. For example: If someone creates a post, without any @mention, then edits it, and adds a @mention — then, do you detect this, when looking at the edits, and send a @mention notification now? And what if s/he edits the post again, and removes the @mention, then, do you remove the notification? Cancel the email if it hasn't been sent yet? And if the email has been sent, and the user clicks the link, and views the post — but the @mentioned user sees no @mention because it was removed, then ... this is not good UX. Should you do something about this? Explain that the @mention got removed? Or just leave the user slightly confused?

Also, do you really want to send an email for a @mention immediately? What if the user who writes the post, keeps editing it, after having saved it? Should you wait for a minute or two, until s/he seems to be done editing it? And then generate the @mention email? Or directly, even if then an early out-of-date version of the post will be included in the email.

What if the @mentioned user is in do-not-disturb mode, then you need to schedule the notification for later.

And what if the @mentioned user is already online and sees the post with the @mention in, diriectly? Then maybe you needn't generate any notification at all. But how do you determine what s/he is reading currently?

There's a lot to think about (more than what I mentioned above) that one might not think about, ... before one starts implementing everything. — And this is just for @mentions. ... Kind of goes on like this, with every small seemingly simple feature you want to add.

<comment><USER50> It's a forum. Read the thread and don't have any such concept as a "mention". If you get quoted, you'll see it as you go through the pages. If you're really lazy just namesearch your handle (which may or may not change, may or may not be unique, etc) but basically participate don't just cherrypick.

I hate most modern forum software with a passion.

<comment><USER48> Right, but you would just be one of the rare users that turns the system off. Which is fine, but don't let it blind you to what the typical user wants.

"Just use the /search feature to find replies" isn't something I can say with a straight face to the sort of users I have. I would just leak them to competing forums that have good UX. It's no ideal for someone to be unaware that a thoughtful reply was made to a post they invested in.

<comment><USER50> If they were so invested they'd be reading the thread for people who are communicating about the topic. For people who are referring to comments or quoting other posts or didn't specifically @mention to drag a person back to look STRAIGHT AWAY lest they lose engagement.

@mentions on forums are good UX in the way that twitter @mentions are good UX - they drive clicks and opens - not engagement. They don't push _good_ content, good conversations, good experiences. They allow people to sandbox discussions, to talk across each other. To skip volumes of content to just get their little piece.

Having the feature degrades the forum community imo, irrespective of who does and does not use it.

I'm a guy who likes old school forums though, so, you know, my opinion is probably not worth that much ;)

<comment><USER15> Seems you've had a bad experience with mentions. Maybe people have been using them in the wrong way, where you've seen them.

At work, we were using Slack, and @mentioned each other "all the time", and I'm fairly positive we would have abandoned Slack if people couldn't mention each other. Mentions are like going to the other person, and saying, "Hi, look there, you knowledeg & help is needed over here a short while". And then the other person takes a look, replies with help or status update for example.

Our mentions were related to _none_ of driving clicks or opens or engagemenet — instead, it was about getting work done, directly rather than ... some day later when the person happened to maybe see the relevant comments.

<comment><USER50> Then you're now talking about Slack instead of a forum. They're distinct entities, with distinct purposes.

Or not, maybe the line is so blurred by now that people can't handle actual forums anymore. If I wanted a chatroom though, I'd be in a chatroom.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER49> This is cool. I've been thinking about this for a while. The best way to write high quality web applications is to use compiled languages and minimize the complexity of the infrastructure by using e.g. SQLite instead of PostgreSQL.

I hope this trend starts to pick up more steam and become the sane default that everyone just assumes. Instead of the current mess where everyone assumes that it's "normal" to live in this messy world of countless abstractions and frameworks and micro servers, etc.

<comment><USER51> SQLite is ok if you don't have much traffic (for example personal blogs), but you can't replace a db like Postgresql with SQLite if you have lot of concurrent traffic.

<comment><USER49> 99% of the internet can use SQLite. Not just "personal blogs".

Just about anything that's not facebook/twitter/google.

I think you underestimate how much load it can handle.

<comment><USER52> Supposing that your server-side tech uses multiple workers to render pages, I suppose you have to serialize the access to the SQLite file. What is the best way to do this?

<comment><AUTHOR> SQLite can handle concurrent reads, but needs to lock the entire DB when writing. Multiple workers shouldn't be a problem per se, but if you need multiple workers to support the traffic, then maybe a client-server db like postgres is a better choice.

<comment><USER49> Writing does not lock readers if you use the WAL feature (Write-Ahead Log, introduced in 2010)

[https://sqlite.org/wal.html](https://sqlite.org/wal.html)

> WAL provides more concurrency as readers do not block writers and a writer > does not block readers. Reading and writing can proceed concurrently.

<comment><AUTHOR> Right. I meant it doesn't support concurrent writes.

<comment><USER53> On any personal website, that shouldn't be much of a problem, most blogs have only a few writes at a time</comment></comment></comment></comment></comment></comment></comment></comment>


Ask HN: How much Equity should I give my co-founder? - <AUTHOR> Hi guys I wrote the the whole backend and front end of my application(alone).<p>Is co-founder necessary (an investor is insisting it is)? if yes? how much equity should i give him? <10% ? 50%? what is ideal? <comment><USER2> _I wrote the the whole backend and front end of my application(alone)._

Cool, but the technical aspect of a start up _usually_ fairly irrelevant. It has little impact on your business's success. There are times when it's important (if you're solving a hard problem) but if your app is essentially a CRUD app (users register, enter data, get data out, maybe with a process in the middle) I wouldn't get too hung up on who wrote the code that's there now.

 _Is co-founder necessary (an investor is insisting it is)? if yes? how much equity should i give him? <10% ? 50%? what is ideal?_

The investor wants you to have a cofounder so that the business will move forwards when you can't put time in (eg if you get ill). That lowers their risk. Plus, when you're both working on it, things go faster. How much equity that person should have depends entirely on what you negotiate with them - there isn't a generic ideal that works for every startup.

One thing to note though, while the work you've already put in represents some value, it's not very much compared to how much you and your cofounder will put in during the life of the business. If it takes 10 years to get to an exit then you'll each be putting in a vast amounts more work than you've put in so far, so there's no good reason why the work you've done to date should have any significant impact on the reward you'll take away at the end. To that end, a 50/50 split is quite fair.

</comment><comment><USER3> Is the person insisting on a cofounder an actual investor or a potential investor? An actual investor is someone who has already provided money. A potential investor is anyone else from an Angel with a track-record to the cashier at the local Waffle House.

My gut reaction is that the process of bringing onboard a cofounder is significant. A context in which it is done so reluctantly is one red flag. A context in which it is done hurriedly is another. The acceptability of these distractions is a third.

My basic heuristic is that unless someone brings 50% of equity's worth of value _and_ is 100% trustworthy, it ain't worth cofounding. Obviously, if a person meets those requirements then their worth 50%. To put it another way, I think unequal shares are a liability to a cofounder relationship.

The ideal is an organic partnership and there is no giving. It's worth reframing the event as founding a new company.

Bringing on an additional employee as owner is a pretty big term on the term sheet. This may be a case of a poor fit between your company and the potential investor.

Good luck.

</comment><comment><USER4> What do they bring to the table? Business knowledge? Marketing? Anything? That would decide what they are worth.

<comment><AUTHOR> He's a smart creative guy and fantastic networker.

<comment><USER3> 1\. If the company was already funded would the candidate be the first hire?

2\. What is the candidate's industry experience?

3\. What are their technical skills?

4\. What is their track record?

5\. Have they already tried to do a startup by themselves or others? If not, why? Otherwise, what did they learn?

6\. Why have they founded a startup with cofounders they know? This has two aspects: is the candidate really prepared for the work? are the people who know the candidate best uninterested in working with them? It is particularly relevant for someone whose expertise is in networking.

7\. What has the person created?

8\. Who is in their network [other than the potential investor]?</comment></comment></comment>


Nexus 4 is back - <AUTHOR> https://play.google.com/store/devices/details?id=nexus_4_8gb&feature=microsite&hl=en

<comment><USER2> Both models are still "Sold out" for me.</comment>


Embattled Harvard professor resigns - <AUTHOR> http://www.boston.com/news/local/massachusetts/articles/2011/07/20/embattled_professor_resigns_harvard_post/

<comment><USER2> I worked with Mark. I never saw any misconduct, but given what I have read I imagine there must have been some. It really saddens me. the sort of research he did is interesting and important. but if you can't get ahead without making up data at Harvard, then our society is in a pretty sad state overall.

</comment><comment><USER3> It's not every day that a tenured Harvard professor gets fired.</comment>


Exposure to Diverse Information on Facebook - <AUTHOR> https://research.facebook.com/blog/1393382804322065/exposure-to-diverse-information-on-facebook/

<comment><AUTHOR> That's a interesting study about strong and weak ties on Facebook. I wonder if the result apply (or not) for other social networks, and what is the impact of recommendation algorithms on our own information retrieval.</comment>


Laptop fingerprint reader destroys 'entire security model of Windows accounts' - <AUTHOR> https://www.networkworld.com/community/blog/laptop-fingerprint-reader-destroys-entire-security-model-windows-accounts <comment><USER2> Not the first time that fingerprint readers are deemed the wrong answer (to the "wrong" problem? -- one better not trust their own fingerprints to keep their data secure)

From ThinkWiki: <http://www.thinkwiki.org/wiki/Integrated_Fingerprint_Reader>

The UPEK device is supported by thinkfinger. Those devices and Authentec ones are supported by libfprint.

However: The fingerprint reader is an INSECURE device and gives a false sense of security! There has been quite a bit of research by a hacker named Starbug, a member of the Chaos Computer Club, Berlin, Germany. He outlined in two very good talks how to forge each and every available fingerprint sensor available at the cost of a few euros, using materials from your local hardware store, a digicam and a laser printer!

Remember, using fingerprints for authentication is much similar to having a password which is written on anything you touch.

<comment><USER3> And can't be changed. Because they are, you know, attached to you.

I lose a jump drive containing a key file? Easily change the keys on the server. The lost key is no good to anyone anymore.

My fingerprints get compromised? Uh... cut my own fingers off? Nope, they still have access. And now I have no fingers.

</comment></comment><comment><USER4> > UPEK stores Windows account passwords in the registry

OK, let's say that's true. If you're also using Bitlocker ( <http://en.wikipedia.org/wiki/BitLocker_Drive_Encryption> ), which you should be if you're that concerned about somebody breaching your system ...

Then the only way somebody could access the registry is if they had malware installed on your computer or had an account on your system with administrator privileges. If either is true, you're already screwed anyway.

I would be more concerned with the fact that fingerprint readers are really easy to foil without any wacky software doing funny things.

</comment><comment><USER5> I have a circa-2009 Lenovo with a fingerprint reader. On my current Windows install, I didn't bother to track down the fingerprint reader software as Windows Update seemed to take care of the driver for it. Is there any way to figure out what software Microsoft is currently distributing (UPEK Protector Suite vs AuthenTec TrueSuite)? The article seemed to imply the latter does not have this flaw, even if the hardware originally came from UPEK.

<comment><USER6> Just go to Device manager, find the fingerprint reader, show driver details. On my computer it's AuthenTec from 2009.

<comment><USER7> That won't show the management software though, will it? It's using UPEK drivers because it's a UPEK reader in my case (Thinkpad R61), but the actual fingerprint enrollment and login management is handled through the ThinkVantage software.

</comment></comment></comment><comment><USER8> I don't have one of these compuetrs so I don't know how it works but by reading the article it seems to me like you need to supply _a_ password to the software which is then stored in almost plain text. The assumption the article is making is that people will enter their Windows account password?

Correct me if I'm wrong.

<comment><USER9> You have to supply your windows password to the software. When you swipe your finger the software then supplies your password to the computer and logs you in without you having to type it.

<comment><USER10> why is actually this necessary? In linux, you could create a PAM module that proofs your identity somehow and then says "ok" to the login subsystem.

There is no need to know your password in order to log you in, if the security subsystem is well designed.

On the other hand, if your home volume is encrypted, the system has to get the right key somehow; so the key itself should be stored in a way that's accessible to the fingerprint auth software (i.e. in clear).

Usually the encryption key is based on the user password but it doesn't have to be the cleartext password. So, using biometrics only, the home volume encryption is weakened, but the password isn't necessarily revealed, and that's an important distinction given that most of the people use the same (or few) password(s) everywhere.

<comment><USER11> I'm no expert, but it probably isn't necessary:

<http://msdn.microsoft.com/en-us/magazine/cc163803.aspx>

So it's more that it is a poor implementation.

</comment></comment></comment></comment><comment> mike-cardwell I specifically opted out of the fingerprint reader when I bought my Lenovo T420 Thinkpad last year. I spent a little time researching them before the purchase and found so many problems with so many readers that I wouldn't feel safe using one, even if it didn't have any currently known vulnerabilities.

On the other hand, for most people, with a different convenience:security ratio than mine, they're probably still fine. I was specifically trying to build a secure laptop.

</comment><comment><USER12> This seems to say that it is a vulnerability with the Accelerated Log-in feature. I used to run Windows on my thinkpad and I tried that out for a few minutes but it seemed like bad news. You swipe your finger at boot time to unlock the BIOS and it automatically logs into windows after windows loads. I knew it was doing something that was likely to be bad and turned it off.

</comment><comment><USER13> Using the fingerprint reader as the 'enter' key after typing your real password would be rather secure.

</comment><comment><USER14> Does anyone know if DigitalPersona readers, such as the one in my HP TouchSmart tm2t tablet, are similarly insecure? They seem to not need the Windows password to configure, but I could be mistaken.

</comment><comment><USER15> the company is denying this - [http://nakedsecurity.sophos.com/2012/09/06/fingerprint- scann...](http://nakedsecurity.sophos.com/2012/09/06/fingerprint-scanner- security-warning/) (link from late in the article) - but the vulnerability sounds like it could be relatively easy to check (for example, are the stored passwords the same length as the plaintext, or a typical AES block size?).

does anyone have this installed? if so, what do the data in the registry look like?

<comment><USER16> I have a 2011 Lenovo X220 that has a reader made by UPEK, but it doesn't employ "ProtectorSuite" software. Lenovo has their own suite of management applications called ThinkVantage; one of which being "fingerprint reader" management.

I checked the registry but I'm not sure where to look. Searching for "UPEK" didn't yield anything resembling a scrambled or encrypted string in or around the search results, and "fingerprint" rendered too many results.

<comment><USER15> ah well, thanks for looking (i have one too, but it's running linux!)

edit: also, see other answer below for how to check whether it's using the software described.</comment></comment></comment>


Show HN: Telegram bot to log your weight – open source with JSON API - <AUTHOR> https://github.com/ashleyhindle/weightlog <comment><AUTHOR> Would appreciate any thoughts on this, or the next steps which are:

/metric [type] command: to set how you want to send/receive the data /output [type] command: the bot will send you your logs in table format, or graph format</comment>


Thank HN: 127 days since I asked for your advice. - <AUTHOR> 127 days ago I posted: http://news.ycombinator.com/item?id=2005314 which asked for some specific assistance going corporate, and generally stabilizing what was a precarious scenario.  (moving to a new city without full-time employment, with $100k in debt hanging over me.)
Since that time, things have been going well.  One of willheim's suggestions was to reach out to alumni of my alma mater, and that one turned out to be the winner.
I felt strange at first, but I started sending emails and LinkedIn messages saying "I'm new to Philadelphia and I see you also graduated from my alma mater.  Would you mind grabbing a cup of coffee with me, and maybe giving me a little bit of your local wisdom?"
I did this a ton of times, and wound up with three very positive outcomes:
1) I got a social life, which was emotionally fantastic.
2) One of my fellow alumni works in HR and they gave me great, honest feedback about my resume and some of the cover letters I'd written that (I believe) made it much easier for a hiring manager to understand what I bring to the table.
3) Another one of my fellow alumni tipped me off about an unadvertised position in their firm that's a great fit for me as a first step back into corporate life.
tldr; 127 days later I have a network of local friends and acquaintances, a great job, and my debt is shrinking at a $6k/month clip.  And a large part of this is because I took willheim's advice about reaching out to alumni networks that (honestly) I never would've thought to tap. <comment><USER2> Out of curiosity: Damn, $6k per month? What kind of work are you doing to have that much left over for debts?

<comment><AUTHOR> I'm working as an IT Director.

We're living extremely frugally when it comes to absolutely everything other than career-related expenses, and my fiancée is covering all of the shared bills.

If you saw our apartment, you'd probably guess that our combined income is around 10% of our actual combined income. (It's terrible, but it's a short, well-lit, heavily populated walk to the Broad Street Line, so it seems safe.)

<comment><USER3> This one fact alone means you have _WINNER_ written all over you. Bravo!

<comment><USER4> And that you found a WINNER. Don't let her get away :)

<comment><USER5> Damn straight, I found one like that and I'm glad to be with her every day :)

</comment></comment></comment></comment></comment><comment><USER6> awesome news! keep up the good work.

on a side note, perhaps this is a benefit of attending college that a lot of the anti-education crowd here on HN might not realize --- connections with alumni from your alma mater. of course, you still need to take massive initiative like OP did, but at least that option is available to you.

<comment><USER7> Hey, pgbovine, I think you and I go to the same school! Also, I think this is true of other organizations too (I've met people through Barcamps, gyms, hobby clubs...)

</comment></comment><comment><USER8> _Would you mind grabbing a cup of coffee_

Agreed, this is key. Meeting people in person has amazing power. Call it serendipity if you will. For it to work, make sure you tell the other person that you are not looking for a job at their company.

I know I'm repeating myself, but <http://letslunch.com> does exactly that for entrepreneurs and tech people. Serendipity, no hidden-agenda get-togethers.

<comment><USER9> where is the serendipity in using a website to meet influential people, for the purpose of talking about your business?

<comment><USER8> You meet your peers. You don't know who are meeting when you sign up. So you bump into ex-Yahoo employees starting cool startups, a Zynga employee, etc... To me, that's extreme serendipity :-)

The VIP stuff (meet Drew Houston and Trip Adler) is just the icing on the cake.

<comment><USER10> "You keep using that word. I do not think it means what you think it means."

<comment><USER4> Using the website could mean that you are open to serendipitous lunches?

Either way, I just signed up to see what it is all about, and +1 for the Princess Bride reference.

<comment><USER11> Meeting the love of your life by banging heads as you both reach for the last copy of your favourite magazine is serendipity. Arranging a date via an online dating site is not.

</comment></comment></comment></comment></comment></comment><comment><USER12> Link - <http://news.ycombinator.com/item?id=2005314>

</comment><comment><USER13> Awesome story and congrats. I second pgbovine's point that maybe the diplomas that grant instant kinship to fellow alums is worth quite a bit. I wonder if we can hack the kinship part without the tuition part?

Another question. Paying down your debt at $6K/month is fantastic (implying you are above and beyond you and your spouse's living expenses and the interest on the debt). However, based on your last post that debt was $70K credit card and $30K IOU to co-founder.

Now that you are back on your feet, have you considered declaring bankruptcy or defaulting on the credit cards? It'll ruin your credit and stress you out, but saving $70K while building a $6K a month nest-egg seems worth considering.

I hate suggesting that people walk away from their debt, but 7 years of bad credit vs. $70K today is the trade. Bankruptcy / consumer credit laws exist to help the little guys; the ABS traders and investors who package and buy your debt price in a certain delinquency / default rate in all their credit card deals. That comes from my own experience working on a hedge fund ABS desk. You'll probably miss the $70K a lot more than the people who have an unsecured claim on it.

Edit: OP responded with a firm "NO" to defaulting on the debt. Congrats again, much respect!

<comment><USER14> _Now that you are back on your feet, have you considered declaring bankruptcy or defaulting on the credit cards? It'll ruin your credit and stress you out, but saving $70K while building a $6K a month nest-egg seems worth considering._

Maybe he thinks he is part of a society larger than just himself, perhaps he has some kind of moral framework, some notion of wrongness, or some self- respect that would stop him from reneging on his promises.

Not to mention that declaring yourself bankrupt when you have such a good income is almost certainly illegal.

<comment><USER15> Not to mention declaring bankruptcy with a high steady income guarantees that judge/trustee will not rule in favor of walking away from debts. The most that will happen is a longer payment time on some of those debts.

<comment><USER16> Yeah. I'm no bankruptcy law expert, but I'm pretty sure you have to show that you can't possibly pay back your debts, not just throw up your hands and say "Whoops, bankrupt! Can't possibly pay back the debt I'm currently paying back at $6K a month!"

<comment><USER17> Unless you're Donald Trump!

</comment></comment></comment></comment></comment><comment><USER18> 1\. Congrats. It's amazing to hear and read a story like this; I'd love to read a post with even more details down the road!

2\. Why is your name in green on HN?

<comment><USER19> The green means the account is new.

</comment></comment><comment><USER20> Hey! That's awesome! Thanks for coming back and letting us all know how you did and that I played a _small_ part in it. (small as in that was one tiny blurb I mentioned and all the hard work was done by you alone). It made my day to read that.

Enjoy Philly!

<comment><AUTHOR> Your decision to share that advice may have been small, but it helped me identify a large opportunity.

My thanks to you, again.

</comment></comment><comment><USER21> Without any intention to be rude trying to get in your personal life, you don't mention her at all. And I guess she played a major role in your "recovery", no?

<comment><AUTHOR> It was incredibly useful to know that I had complete freedom to pursue my career however I wanted and that she'd provide support, advice and a financial runway to the best of her ability. As such, I wholeheartedly recommend finding a wonderful, supportive and loving wife.

That said, I don't know how to replicate my success in that matter, so I don't have much to say about it on HN.

</comment></comment><comment><USER22> CONGRATS! I though would appreciate some input on the resume help you got. I'm almost on the edge pf having to convert to corporate as you did. PM me please.

</comment><comment><USER23> If you're going to @PhillyTechWeek, which I expect you are, hit me up via email.

<comment><AUTHOR> I won't be attending any of the events due to conflicts with work and an already packed schedule.

It looks fun, but I'm slammed for the next month or so and can't justify taking the time off for events that are only tangential to my career at the moment.

</comment></comment><comment><USER24> I'm from Philadelphia, too! What neighborhood are you in?

<comment><AUTHOR> near Passyunk and Broad.

</comment></comment><comment><USER25> Just curious, do you think this same strategy could work for finding someone to date? Cold emailing asking for a cup of coffee? Do I need to sneak in a hidden agenda?

<comment><USER26> If you're charming enough, it might work, but if you're charming enough, you probably don't need tricks like these.</comment></comment>


Poetry 1.0.0 - <AUTHOR> https://python-poetry.org/blog/announcing-poetry-1-0-0.html <comment><USER2> I love upgrades with this warning "This version is not backwards-compatible with the previous releases so special care must be taken when upgrading."

<comment><AUTHOR> Well that's expected with major versions, no?</comment></comment>


Insights That Helped FreshBooks Become A Successful Paid Web App - <AUTHOR> http://mixergy.com/freshbooks-mike-mcderment/ <comment><USER2> Apparently "have a legible website" is not among the insights that Mixergy perceived.

<comment><USER3> You don't have to be an asshole about it.

</comment></comment><comment><USER4> Another great interview from Mixergy.</comment>


Bitbucket remote responses contain political ascii art - <AUTHOR> https://community.atlassian.com/t5/Bitbucket-discussions/Do-we-really-need-ascii-art-in-a-push-response/td-p/599644 <comment><USER2> How is this political? Oh right, it's not.</comment>


Introducing Web FontFonts - <AUTHOR> http://www.fontshop.com/blog/?p=1763

<comment><USER2> I was ridiculously excited to see this in my inbox this morning!

Death To sIFR!!!!!!</comment>


Facebook: Privacy Now Optional - <AUTHOR> http://www.techcrunch.com/2009/03/16/facebook-privacy-now-optional/ <comment><USER2> _Some users, though, are complaining, although I have no idea why since the privacy settings are optional. In a blog post announcing the change, most comments said they wanted the old Facebook back, whatever that means (Facebook has changed so much over the last couple of years there really is no defined "old Facebook" any more)._

Facebook users are on the whole technologically illiterate and conservative. They hate changes and they hate new features. People disliked Facebook video when it launched; now, it's probably the second-most used feature among my friends.

<comment><USER3> What about the feed? The release of that feature resulted in protesting. Now its what keeps people checking facebook every day.

<comment><USER4> Some people (often the most vocal) just hate change. Being beholden to these customers, who will hate anything you change regardless of quality, is a surefire way to fail in the long run.

( p.s. how you been? :) )</comment></comment></comment>


Martin Shkreli Offers $10M for 'The Life of Pablo' - <AUTHOR> http://www.nytimes.com/live/kanye-west-new-album-yeezy/martin-shkreli-offers-10-million-for-the-life-of-pablo/ <comment><USER2> Martin Shkreli described himself as "focused on pharmaceuticals". I think he missed a comma in that. :D</comment>


App maker: Trump will win election - <AUTHOR> https://www.google.com/amp/amp.usatoday.com/story/88640044/ <comment><USER2> Soooooooo, I'm going to say "bs" on this claim. Sure, I get that the relationship between poll and reality is murky, but if Trump takes California as the "app maker" suggests, I will literally eat my hat.

Smells of anti-intellectualism to me. "Don't trust those people who literally have doctorates in figuring that stuff out, I have a non-scientific and unvalidated instrument, but I am in tech so of course I'm way smarter than everybody else!"</comment>


AT&T to Put 5gb Data Usage Cap on iPhone - <AUTHOR> http://www.breitbart.com/article.php?id=D9CFS57G0&show_article=1

<comment><USER2> I hope users that are peeved enough realize that this constitutes AT&T breaking their contract. This in turn for the user means that they can cancel their AT&T account without paying an early cancellation fee or, in my experience, the carrier will allow you to remain on your plan without the limitation (i.e., leaving the original agreement in tact.)

Note: the user has to approach AT&T the right way, and not give up when the rep says no the first few times. This has worked for me several times, usually after a txt msg rate hike.

</comment><comment><USER3> If you've been following this story throughout the day, it's been pretty amusing to see each blogger or news site try to exaggerate what was said more and more. AT&T's CEO made an offhand comment (that may be a trial balloon, may not) that AT&T is going to try and educate consumers about their usage and, if that doesn't help, they'll consider a tiered pricing model. How does that become "AT&T to put a cap on iPhone usage"?

Not to say that I wouldn't drop AT&T like a disease if they _did_...

</comment><comment><USER4> I usually stand up for AT&T, but this is just idiotic. Their executives are morons that honestly need to be replaced. They need to quit spending money on marketing their crappy network and use that money to fix their crappy network.

<comment><USER5> I'm still waiting to see an Apple response to this. It would seem to have an impact on buying video through iTunes.

<comment><USER4> Exactly what I was thinking. Downloading just a few videos from iTunes over 3G would use up a quota very quickly.

</comment></comment></comment><comment><USER6> Do they have the ability in the contract, to arbitrarily cap you? Assume I have an iPhone and for the last 6 months have been using 5.7GB per month; now I use it and get either capped or charged more... I would not be happy.

And FWIW, 5GB/month of data transfer, were you to buy it at any major datacenter, is about 10-30 cents' worth of bandwidth.

<comment><USER7> I am pretty sure you are paying for the traffic from your phone to the cell tower, not the traffic from the cell tower to the Internet.

</comment></comment><comment><USER8> This title doesn't match what the article says at all. The article claims the cap is already in place:

> Right now, the carrier has a monthly usage cap of 5 gigabytes on its data > plans, the same as other carriers.

<comment><USER9> Those are data plans for laptops, not phones.

</comment></comment><comment><USER10> Sorry, guys, but streaming your tv to your phone over a cellular network all month costs way more than 30 dollars and ATT would be retarded not to try to rein you in. Anyone who gets this enraged and self reightous over something so obvious really comes off as pompous and petty.

</comment><comment><USER11> Related Post: When The World Gives You Lemons, Sell Lemonade <http://news.ycombinator.com/item?id=987138>

</comment><comment><USER12> Not to be too pedantic but gb != GB. The g is unambiguous(though wrong) but the b could be bit or byte depending on the capitalization. 1Gb networking is much slower than 1GB. (.125GB vs. 1Gb)

It's one of my pet peeves so sorry about the digression.

<comment><USER13> As far as I know there are only two situations where b commonly refers to bits: individual raw DRAM / Flash chip packages, and network channel bandwidth. Otherwise it rather unambiguously refers to bytes.

On the other hand the G is actually ambiguous -- is it 10^9 or 2^30?</comment></comment>


Instagram Now Adding 130,000 Users Per Week - <AUTHOR> http://techcrunch.com/2011/03/10/instagram-adding-130000-users-per-week/

<comment><USER2> And I have to wonder how many of those users will come to regret that they shot all their babby-pictures in some deliberately cruddy format instead of the best possible available to them.

<comment><USER3> You can ask Instagram to save the photo unfiltered too.

<comment><USER2> But people don't.

<comment><USER4> I've been using Instagram casually for a couple of weeks while I've been playing with the API and I never realized this was even an option. A line of text on the profile tab of the app, 'More options are in the Settings app' is confusing.

I wonder what the reason for sticking that option over there is? If it had been on the app's settings/profile tab I would have set it a while ago.

<comment><USER3> it's a (somewhat stupid) iOS recommended design pattern

</comment></comment></comment></comment></comment><comment><USER5> This sort of story reminds me no idea has (or can) been executed perfectly, a year ago I would have said Flickr has photo sharing sewn up...

<comment><USER6> I still agree that they do, for one. I mean, obviously, the market is fickle, and will go where other people are, even if it's not the best tool on the market -- but Flickr's toolset is amazing and insanely capable.

The major difference though, is that Instagram has carved out a niche in the photo sharing market that Flickr doesn't have -- casual, lower-quality photos. IMO, Flickr (and SmugMug, to a large degree) became the place to go if you're a serious, or at least semi-serious photographer. More value is placed on the quality and 'interestingness' of the photo -- the majority of those photos are taken via DSLRs and high-quality gear, not iPhones / Androids.

I don't necessarily see Instagram as competition to Flickr, but I think it's safe to say that if Yahoo keeps Flickr stagnant, we'll see others gaining traction in this space as well.

</comment></comment><comment><USER7> That's impressive growth! They've carved out a niche for mobile photo sharing with their iPhone app. Now they're letting developers extend on the web via the API.

People usually talk about viral growth on Facebook, but Instagram has recreated it on the iPhone platform. And they haven't even released their Android version yet!

</comment><comment><USER8> Wow, they completely exposed their data set. Don't see many companies giving away cohort retention details like this.

<comment><USER9> The post was written by a 3rd party and not Instagram. The last section of the article explains how they managed to get the data:

"Four things allowed us to conduct this analysis: Instagram's new API, their use of incrementing ID numbers to represent users and photos, the central limit theorem"

<comment><USER10> Unfortunately, this isn't very rigorous - the dataset can easily be gamed by instagram.

<comment><USER11> If the Instagram guys have read this <http://en.wikipedia.org/wiki/German_tank_problem> , they might be having a good laugh...</comment></comment></comment></comment>


Old ideas come back as researchers envision a more structured Web (2015) - <AUTHOR> http://nautil.us/issue/21/information/the-future-of-the-web-is-100-years-old <comment><USER2> An old idea I'd love to see come back would be the mashup. There was a moment where it appeared possible that all the 'next big things' would be built using a mix of services. Gmail mixed with Facebook chat mixed with RSS feeds all overlayed on a Yahoo Map with contextual YouTube pops. In the end all we really got were Google Maps next to physical addresses on websites, social share buttons, and Facebook Logins. (I know there are more but wide adoption is scant).

It would be killer to see a collection of micro-mashable services emerge to expose data, manipulation, visualization, sharing and interactivity (and probably billing).

It should, for example, take a day to build a page that lets you analyze real estate deals based on proximity to McDonalds locations, crime events, R v D political donations, and mentions (or lack of mentions) of Kanye West by local Social Media users.

By the way, I'm not saying this is a good idea, it is probably a bad idea. I'm just saying ideas like this should be almost as easy to hack together as a formatted blog post.

<comment><USER3> Free APIs fueled the Mashup revolution. The dried up or became restricted as businesses deprecated them and moved towards eyeballs and ads.

<comment><USER4> Moved back to.

</comment></comment></comment><comment><USER5> Otlet's full story is an interesting one.

Here are couple of major pieces by Alex Wright: [https://www.nytimes.com/2008/06/17/health/17iht-17mund.13760...](https://www.nytimes.com/2008/06/17/health/17iht-17mund.13760031.html) [https://www.theatlantic.com/technology/archive/2014/05/in- se...](https://www.theatlantic.com/technology/archive/2014/05/in-search-of- the-proto-memex/371385/)

and a -long, detailed- look at the plans for the Mundaneum / Palais Mondial / Mondotheque: [http://www.mondotheque.be/wiki/index.php/The_Smart_City_- _Ci...](http://www.mondotheque.be/wiki/index.php/The_Smart_City_- _City_of_Knowledge)

</comment><comment><USER6> One error in the article: the name Xanadu came from "The Skills of Xanadu" sci-fi story by Theodore Sturgeon in 1956 about a world with nanotech-based wearable networked mind-interfacing computers for sharing knowledge, skills, and more.

I asked Ted Nelson in person about this at IBM Research around 2000 when he came to gave a talk. He thanked me for reminding him of the exact name of the story which he said he had been trying to recall. [https://archive.org/details/pra-BB3830.08](https://archive.org/details/pra- BB3830.08) [https://archive.org/details/galaxymagazine-1956-07](https://archive.org/details/galaxymagazine-1956-07)

That "Skills of Xanadu" story seems to have inspired many people in different ways even if they had forgotten it. It turned out it inspired a supervisor at IBM Research to go into materials science research (the nanotech aspect). He had not consciously remembered reading that story until I reminded him of it.

That said, Theodore Sturgeon himself probably took the name from Coleridge's poem.

In answer to the question posed at the end of the Nautilus article: "Should the web remain free, flat, and open? Or would a more controlled and curated environment lead, paradoxically, to greater intellectual freedom?", I like Manuel De Landa's insight on meshworks and hierarchies when thinking about seemingly either/or design issues between fire/chaos/anarchy and ice/order/hierarchy.

From the conclusion of De Landa's essay "Meshwork, Hierarchy, and Interfaces": [http://www.t0.or.at/delanda/meshwork.htm](http://www.t0.or.at/delanda/meshwork.htm) "Indeed, one must resist the temptation to make hierarchies into villains and meshworks into heroes, not only because, as I said, they are constantly turning into one another, but because in real life we find only mixtures and hybrids, and the properties of these cannot be established through theory alone but demand concrete experimentation. Certain standardizations, say, of electric outlet designs or of data-structures traveling through the Internet, may actually turn out to promote heterogenization at another level, in terms of the appliances that may be designed around the standard outlet, or of the services that a common data-structure may make possible. On the other hand, the mere presence of increased heterogeneity is no guarantee that a better state for society has been achieved. After all, the territory occupied by former Yugoslavia is more heterogeneous now than it was ten years ago, but the lack of uniformity at one level simply hides an increase of homogeneity at the level of the warring ethnic communities. But even if we managed to promote not only heterogeneity, but diversity articulated into a meshwork, that still would not be a perfect solution. After all, meshworks grow by drift and they may drift to places where we do not want to go. The goal-directedness of hierarchies is the kind of property that we may desire to keep at least for certain institutions. Hence, demonizing centralization and glorifying decentralization as the solution to all our problems would be wrong. An open and experimental attitude towards the question of different hybrids and mixtures is what the complexity of reality itself seems to call for. To paraphrase Deleuze and Guattari, never believe that a meshwork will suffice to save us."

Other perspectives on how life exists at the interface between chaos and order by Patrick Grim and Hans Moravec (both people I've had the pleasure of hanging out with and learning from):

Patrick Grim: [http://www.pgrim.org/articles/vitanew23.pdf](http://www.pgrim.org/articles/vitanew23.pdf)

"Evolution of Communication in Perfect and Imperfect Worlds" (with Trina Kokalis, Ali Tafti, and Nicholas Kilb), World Futures: The Journal of General Evolution 56 (2000), 179-197.

"Boom and Bust: Environmental Variability and the Emergence of Communication" (with Trina Kokalis) Research Report #04-01, Group for Logic and Formal Semantics, SUNY at Stony Brook.

As Grim et al essentially points out, if things are very ordered, there is no point in communicating because nothing is unknown. If things are very disordered, there is no point in communicating because things change too fast for communications to be useful. It is in the middle ground between order and chaos where communication has the most value -- where things are indeed changing, but are changing slowly enough so that communicating about them can be of value.

Hans Moravec: [http://www.frc.ri.cmu.edu/~hpm/project.archive/general.artic...](http://www.frc.ri.cmu.edu/~hpm/project.archive/general.articles/1998/SimConEx.98.html) "No complete theory yet explains our existence and experiences, but there are hints. Tiny universes simulated in today's computers are often characterized by adjustable rules governing the interaction of neighboring regions. If the interactions are made very weak, the simulations quickly freeze to bland uniformity; if they are very strong, the simulated space may seethe intensely in a chaotic boil. Between the extremes is a narrow ``edge of chaos'' with enough action to form interesting structures, and enough peace to let them persist and interact. Often such borderline universes can contain structures that use stored information to construct other things, including perfect or imperfect copies of themselves, thus supporting Darwinian evolution of complexity. If physics itself offers a spectrum of interaction intensities, it is no surprise that we find ourselves operating at the liquid boundary of chaos, for we could not function, nor have evolved, in motionless ice nor formless fire."

I wrote something similar to an "Advocates and Skeptics" mailing list in 2006 (inspired by my graduate studies in Ecology&Evolution -- including hanging out with and learning from Larry Slobodkin and Lev Ginzburg) and quoted here: [https://www.pdfernhout.net/a-rant-on-financial-obesity- and-P...](https://www.pdfernhout.net/a-rant-on-financial-obesity-and-Project- Virgle.html) ".. I agree with the sentiment of the Einstein quote [That we should approach the universe with compassion], but that sentiment itself is only part of a larger difficult-to-easily-resolve situation. It become more the Yin/Yang or Meshwork/Hierarchy situation I see when I look out my home office window into a forest. On the surface it is a lovely scene of trees as part of a forest. Still, I try to see _both_ the peaceful majesty of the trees and how these large trees are brutally shading out of existence saplings which are would-be competitors (even shading out their own children). Yet, even as big trees shade out some of their own children, they also put massive resources into creating a next generation, one of which will indeed likely someday replace them when they fall. I try to remember there is both an unseen silent chemical war going on out there where plants produce defense compounds they secrete in the soil to inhibit the growth of other plant species (or insects or fungi) as a vile act of territoriality and often expansionism, and yet also the result is a good spacing of biomass to near optimally convert sunlight to living matter and resist and recover from wind and ice damage. I try to recall that there is the most brutal of competition between species of plants and animals and fungi and so on over water, nutrients (including from eating other creatures), sunlight, and space, while at the same time each bacterial colony or multicellular organism (like a large Pine tree) is a marvel of cooperation towards some implicitly shared purpose. I see the awesome result of both simplicity and complexity in the organizational structure of all these organisms and their DNA, RNA, and so on, adapted so well in most cases to the current state of such a complex web of being. Yet I can only guess the tiniest fraction of what suffering that selective shaping through variation and selection must have entailed for untold numbers of creatures over billions of years. To be truthful, I can actually _really_ see none of that right now as it is dark outside this early near Winter Solstice time (and an icy rain is falling) beyond perhaps a silhouette outline, so I must remember and imagine it, perhaps as Einstein suggests as an "optical delusion of [my] consciousness". :-)"

My wife has her own "Confluence Framework" take on all this too: [http://www.storycoloredglasses.com/p/confluence- sensemaking-...](http://www.storycoloredglasses.com/p/confluence-sensemaking- framework.html)

No doubt other have though similar things. I'm wondering how far back that idea goes of life (or thought) existing at the boundary between order and chaos? Certainly it is present in the Yin/Yang ideas of Chinese Philosophy: [https://en.wikipedia.org/wiki/Yin_and_yang](https://en.wikipedia.org/wiki/Yin_and_yang)

And my wife lists over twenty frameworks at the end of her Confluence Framework essay.

So given all that, it is no surprise that we may have to think about good design for the internet as embracing all of meshwork, hierarchy, and interfaces as Manuel De Landa's essay suggests.</comment>