Medieval Fantasy City Generator - <AUTHOR> https://watabou.itch.io/medieval-fantasy-city-generator <comment><USER2> One thing I would love to see in a city generator like this is a simulation of _time_ and how gradual evolution shapes a city.

There's a picture book called "Barmi: A Mediterranean City Through The Ages" by Xavier Hernandez and illustrated by Jordi Ballonga. It illustrates a fictional city from Neolithic settlement to Roman outpost to medieval town to modern city. Some images can be seen at [http://jordiballongaen.blogspot.com/p/baronia.html](http://jordiballongaen.blogspot.com/p/baronia.html)

In this book, you see how a Roman amphitheater decays during the Dark Ages, and the structure is partially used and cannibalized to create a circular set of apartment buildings, which then influences the later layout and design of the city in modern eras.

Procedural generation unfortunately tends to try to generate everything at once, as if a medieval city was created _ex nihilo_. It would be interesting to see what it would look like if such designs incorporated evolution over time.

<comment><USER3> Split in Croatia is a great example of this - where a part of the layout was based on the Emperor Diocletian's Palace:

[https://en.wikipedia.org/wiki/Split,_Croatia](https://en.wikipedia.org/wiki/Split,_Croatia)

Maybe Edinburgh and volcanoes as well...

[https://en.wikipedia.org/wiki/Edinburgh_Castle#Geology](https://en.wikipedia.org/wiki/Edinburgh_Castle#Geology)

<comment><USER4> That was one of the most interesting cities I've visited. The city was a mix of medieval architecture and pieces of a Roman palace. There were the brick walls of buildings built between Roman columns and there was a Roman-era mausoleum on one side of the street. It was clear that it used to be quite an open layout that was filled in by buildings in later centuries.

It must have been interesting in the early days of the city with a bunch of people occupying an old palace, fortifying it, and building houses for themselves within the grounds.

I wondered what Diocletian would have thought to see his old palace transformed in such a way.

</comment></comment></comment><comment><USER5> I love this sort of thing, but the far more interesting challenge to procedural games is engaging the player emotionally and intellectually, and giving them a sense of long term narrative progression. I'm mainly thinking of RPGs here, but it's a problem that surfaces up to this day in things like No Man's Sky. Even in non-procedural games that nevertheless allow you to continue playing in a world after all the storylines are concluded (e.g. GTA, Assassin's Creed), you still have this sense of emptiness when you realise these houses don't really have anyone in them, and there's just a city full of mostly silent people walking aimlessly around. Accumulating money or equipment isn't interesting anymore because there's nobody left to fight.

Dwarf Fortress puts in a lot of work to keep worlds and interactions rich. Even games like Football Manager are fundamentally role play, and the constantly evolving rivalries and personnel involved keep things fresh well into the game. Honestly think small but rich villages would be more interesting than massive but realistic looking cities, but this is still impressive stuff.

<comment><USER6> The difficulty is that it is relatively easy to generate patterns that follow rules because computers are really good at it, but it is incredibly difficult to make an algorithm be creative. What we really want when we say we want an infinity to explore and interact with is that we want infinitely many new and interesting experiences, which procedural generation has been, thus far, unable to provide. This is not surprising, even most human beings aren't very good at it.

<comment><USER7> >What we really want when we say we want an infinity to explore and interact with is that we want infinitely many new and interesting experiences

Agree.

> which procedural generation has been, thus far, unable to provide

Disagree.

I think Dwarf Fortress (and to a lesser extent, EVE Online) has shown how to do procedural generation that does result in interesting interactions. There are four important factors in successful procedural games:

1\. Granular modulation (you don't just punch a dwarf, you punch out a dwarf's left eye).

2\. Diverse interactions (lava can be used to smith weapons. Or burn invaders. Or mixed with water.)

3\. Persistent state as a result of the above. In a game like GTA, you can stage a one-man stand against overwhelming military force, but when you return to the site of your last stand, not a trace is left. In Dwarf Fortress, even if you lose you leave behind traces that can be revisited in future games. This is also the magic of EVE Online's alliance endgame (establishing player structures in contested space and seeing your alliance people flying there), without which I think the game loses its luster.

4\. Environments small enough to build up a history. You can remember sites of memorable conflicts in Dwarf Fortress because your play space is constrained to a single tiny piece of the larger world. In Minecraft, Starbound, or No Man's Sky, your play area is so large that you never build up memories of any particular place (Starbound offsets this somewhat by having set pieces, but loses that sense of location outside of those pre-crafted zones). In EVE Online alliances settle for months or longer at a time in a particular region of space so that they develop an emotional attachment to it.

<comment><USER8> EVE Online gains most of it's value from PVP interactions even if they are remote. The random world generation is kind of meaningless backdrop to the human drama involved.

<comment><USER9> The only thing that makes eve online engaging is players interacting with players. Especially at scale. The market/economy is incredible, the high- consequence pvp is both boring as hell and occasionally exhilarating. The metagame is nuts.

It's a cool as hell set of concepts which would never make it into a modern game imo, but that's the strength of it and what keeps it ticking

</comment></comment></comment></comment></comment><comment><USER10> Awesome! This is by the maker of Pixel Dungeon[1], the best rogue-like on Android. Anyone who's played it can testify that (s)he knows all there is to know about procedurally generated maps.

[1] [http://pixeldungeon.watabou.ru/](http://pixeldungeon.watabou.ru/)

<comment><USER11> [http://dwarffortresswiki.org/images/thumb/c/c2/Town_map_43.p...](http://dwarffortresswiki.org/images/thumb/c/c2/Town_map_43.png/300px- Town_map_43.png)

The wiki is well organized for that kind of resources. It's important to note that some of those irregular area are zones, not building. Actual building are simpler with the exception of some special cases.

<comment><USER12> I think perhaps you replied to another comment than the one you intended to reply to.

Seems like the one you wanted to reply to was [https://news.ycombinator.com/item?id=17931944](https://news.ycombinator.com/item?id=17931944)

</comment></comment></comment><comment><USER13> If you like procedural generation and maps, you _definitely_ need to follow this high-quality series here:

[http://heredragonsabound.blogspot.com/](http://heredragonsabound.blogspot.com/)

It's ranging from generating city icons to picking appropriate names and placing ocean labels. Really, check it out if you're even slightly interested in such stuff.

<comment><USER14> Thanks for the mention, I appreciate the feedback!

<comment><USER13> You're welcome! How did you notice?

</comment></comment></comment><comment><USER15> Procedural city generators are finally getting decent. See this one.[1] Not only does it fill a city with marginally reasonable buildings, every room in every building can be entered. The rooms even have furnishings.

[1] [https://www.youtube.com/watch?v=n1eZOV8r_g4](https://www.youtube.com/watch?v=n1eZOV8r_g4)

<comment><USER16> It seems like they were downright crappy only a few years ago. What's changed?

<comment><USER17> A wild guess: more computing power means more content that can be processed and the need for more content can be addressed by computer generation. For example, just a few years ago open world games were just a handful and required a lot of work. Nowadays even a simple game can have a large procedurally generated world.

<comment><USER18> Adding to this, more computing power at everyones desk. Very good computers were probably capable of generating good maps five years ago, but if everyone can play around with generators and models as a weekend project there is a lot more innovation and development!

</comment></comment></comment></comment><comment><USER19> Serious application for these tools: crowded countries like the UK often talk about building new towns rather than annoying everyone is existing towns by more and more building work.

Unfortunately, new towns tend to be rather formulaic and dull. With tools like these, you could start with a medieval city generator and use algorithms to apply changes that would have happened over 500 years and then build the new town based on the result, something more organic and natural than something designed from scratch.

They should have a competition for it!

<comment><USER20> One problem. Cars!

Unless you can lay down some serious infrastructure as a constraint first hand. Driving in these types of places is always insane. Just look at Italy.

It'd be an easy problem to solve by pushing for a carless city or smaller car city paradigm. But folk will want their cars.

<comment><USER21> Medieval cities were limited by the size of the fortification walls, so streets had to be as narrow as possible to save the valuable space. You don't have such limits with this, so you can turn all streets into boulevards if you like...

<comment><USER22> please no :(

<comment><USER23> Boulevards can be very nice if you put separated bike lanes and wide walkways (perhaps with trees to provide some shade during summer).

</comment></comment></comment></comment></comment><comment><USER24> This is officially the coolest project I've seen on HN since [https://github.com/fogleman/primitive](https://github.com/fogleman/primitive)

<comment><USER25> I think you would also like [https://mewo2.com/notes/terrain/](https://mewo2.com/notes/terrain/)

<comment><USER26> Wow that is awesome.

</comment></comment></comment><comment><USER27> It looks nice. What I like about procedural generation is the great freedom in design. It's a great opportunity to tackle the problem of managing complexity in a visually rewarding way.

There is the top down approach where you start laying out the road networks, it defines neighborhoods, which you split up into individual houses. It can be made as nice as the programmatic time you are willing to invest, ultimately it's realistic, but quite repetitive and boring.

There is the scoring based approach where you get points when certain type of building are near other type of buildings. Then you optimize more or less. Quite often it's not as repetitive and boring, but not very realistic, so you can add some statistic matching penalties to make it more realistic (eventually using neural networks like GAN).

There is the more ambitious and computer-intensive bottom-up approach, where you start defining the rules of the game (like a sim-city generator) and have your city evolved by playing the game eventually from the point of view of the various agents in the game. The city will have a more organic feel and look. By defining the right rules, you can even witness some emergent behavior. You have less control but it'll give you a world deeper than it looks.

</comment><comment><USER28> This reminds me a lot of the work Tarn Adams has done in city generation in Dwarf Fortress [1]. I seem to remember that he generated some similar looking maps as png files in his dev log somewhere, but I can't find them now. Obviously in-game they're all rendered as text.

[1] [http://bay12games.com/dwarves/](http://bay12games.com/dwarves/)

</comment><comment><USER29> A couple of small discussions that agree on triangular buildings:

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

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

<comment><USER30> Interesting about the overhang being due to taxation laws. I could swear they told us in school that it was because people often thew their dirty water out of second storey windows, and this way it could go straight into the gutter in the middle of the street where no one walked.

</comment></comment><comment><USER31> He even wrote an accompanying 3d visualizer: [https://watabou.itch.io/toy- town](https://watabou.itch.io/toy-town)

</comment><comment><USER32> Semi-related, I really enjoyed the discussion and resources shared about a month ago in the [https://www.dungeonstome.com/](https://www.dungeonstome.com/) HN comments [https://news.ycombinator.com/item?id=17704557](https://news.ycombinator.com/item?id=17704557)

</comment><comment><USER33> And this lets you fly/walk through a 3D visualization of towns made with it: [https://watabou.itch.io/toy-town](https://watabou.itch.io/toy-town)

</comment><comment><USER34> PSA: be very wary of clicking on the "overworld" link in the bottom left of the city map. It showed a continent-scale map, but then locked up the whole machine, swapping like crazy, for about 10 minutes before I finally managed to kill it. No idea what it was doing but it even managed to break Ctrl-Alt-Del on one attempt, which I'd never seen before, and was eating over 6Gb memory when I finally got Task Manager open.

</comment><comment><USER35> This is great! Would love to see it used by city planners too - turns out a lot of medieval cities/towns are really pleasant places to walk, and just be.

<comment><USER36> > turns out a lot of medieval cities/towns are really pleasant places to walk, > and just be.

minus the poop I'm assuming

<comment><USER35> and plague, and increased risk of murder, etc.

But the towns _now_ are wonderful. Beautiful architecture and fantastic for walking, or sitting and enjoying a meal, coffee, wine, or beer while taking it in.

Growing up I wished we had real towns like the ones in kids movies set in medieval Europe. I couldn't fathom that they do indeed exist - after all, why would you stop building them?? I still don't really understand why we stopped, to be honest. It's easy to say "cars" but I think there's more to it than that.

The first time I visited the Alsace I was blown away that places like this are real.

[https://previews.123rf.com/images/freeartist/freeartist1609/...](https://previews.123rf.com/images/freeartist/freeartist1609/freeartist160900005/64897672-most- beautiful-villages-of-france-riquewihr-in-alsace.jpg)

<comment><USER37> Costs.

Replicating that beautiful masonry and hand-milling the timber would be outrageously expensive today. Plus, I doubt the raw materials are nearly as abundant, especially the old growth trees. Then there's modern building codes.

I agree that these are stunning cities, but more modern European buildings can also have similar charm, I think.

<comment><USER35> Fair enough - I used to work under a board that was about 20" by 20" by 30 feet. It was crazy to me that it's now rare to ever see a tree that tall and straight on this entire island any more, but once it was just a normal piece of building material in an old grain mill.

There were also markings on the wall about max weights in hundredweight (cwt) - I think the building was from the mid-19th century.

</comment></comment></comment></comment></comment><comment><USER38> I think this stuff is interesting but not heavily moving. Every few years someone shares a tool like this. But why not have such a tool connected to something useful like a flight simulator or openstreetmaps, or in a format that game engines can use as foundation for a game? Then people could actually do something with it instead of just looking at it.

<comment><USER39> Agreed. The Map is a great start. If this content could be exported to another type of game such as Elder Scrolls Morrowind or Thief. Even OSS games like Battle for Wesnoth , 0 A.D., and SuperTuxKart would be interesting.

<comment><USER38> or Unity or RPG Maker. Think about you want to build your own game and have tools like the Dwarf Fortress World generator as a starting point. This way it becomes much easier to create a lively world.

</comment></comment></comment><comment><USER40> A lot of European medieval cities are built on top of an ancient Roman city. You can usually perceive a very straight broad North-South street and a straight (but not so wide) East-West street, which have been kept from the earlier Roman city. The rest of the streets, however, seem to be in random order.

</comment><comment><USER41> I play a fork of his Pixel Dungeon called Shattered Pixel Dungeon literally every time I have a free minute (e.g. waiting in line at the bank, using the restroom, laying in bed trying to sleep, etc). It does not surprise me in the least to see something like this from him.

</comment><comment><USER42> Pretty cool!

Does anyone else get strange clumps of 'Gates'? Surely a city wouldn't need a whole block of gates, or am I misunderstanding something?

Edit: Just realised they are always around gates in a wall if the wall is enabled. ie. they are sections of the town that flank the gates.

</comment><comment><USER43> I like how you can drag the wall control points in and out in alternation to make a star fort, like Naarden!

[https://firstname.lastname@example.com,5.15800...](https://firstname.lastname@example.com,5.1580074,1846m/data=!3m1!1e3!4m5!3m4!1s0x47c613855ca1cf47:0xe92284db2cf48fbe!8m2!3d52.2952549!4d5.1604238)

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

</comment><comment><USER44> Reminds me of this [http://mewo2.com/notes/terrain/](http://mewo2.com/notes/terrain/)

</comment><comment><USER45> I have seen this a while ago in a thread about procedural map generation. If you liked the link, here is more of that stuff: [https://twitter.com/ptychomancer/status/980968298002006016](https://twitter.com/ptychomancer/status/980968298002006016)

</comment><comment><USER46> I suddenly feel like playing D&D again.

</comment><comment><USER47> I didn't see links to the actual algorithm and how this is constructed. Does anyone have source material?

</comment><comment><USER48> If you can't seem get enough of procedural generation, 'procjam' has even more great past entries [https://itch.io/jam/procjam2017#entries](https://itch.io/jam/procjam2017#entries)

</comment><comment><USER49> Ok I'm impressed, this is cool.

</comment><comment><USER50> The large cities in particular are really impressive. There's a great fantasy map generator which I followed on Twitter for a long time (can't find it right now, sadly) which would be a magnificent companion tool.

<comment><AUTHOR> Possibly Uncharted Atlas, though they don't do cities. [https://twitter.com/unchartedatlas](https://twitter.com/unchartedatlas)

</comment></comment><comment><USER51> Is this by any chance open source? I would love to see the code.

<comment><USER52> > Made with Haxe + OpenFL, the source code is available here > ([https://github.com/watabou/TownGeneratorOS](https://github.com/watabou/TownGeneratorOS)).

<comment><USER51> I missed that completely, thank you!

</comment></comment></comment><comment><USER53> I really like the aesthetic of the maps. A kind of old map style. Is this done using some library or is it custom for this application?

</comment><comment><USER54> ah this is very cool. I see many applications of this

reddit r/worldbuilding type applications. For building video game scenes to tell stories, or to write fiction & fantasy novels.

</comment><comment><USER55> Absolutely brilliant! I love hackernews for these kind of gems.

</comment><comment><USER56> Is this open source? If so where I can find the source code?

</comment><comment><USER57> Haha I wonder what David Macaulay makes of this

</comment><comment><USER58> D&D heaven xD</comment>


Income Mobility Charts for Girls, Asian-Americans and Other Groups - <AUTHOR> https://www.nytimes.com/interactive/2018/03/27/upshot/make-your-own-mobility-animation.html <comment><USER2> Wow, Asian are kicking whites butts on income.

Also interesting is that black girls reach the top income bracket (individual) at a much higher rate than white girls. However, it flips when you look at household. Which makes me assume that white girls are finding wealthy partners, while black girls aren't.</comment>


Seeking alpha testers for Beepl - <AUTHOR>

We have an early alpha out, and I was wondering if I can find some volunteer alpha testers over here?  The address is http://alpha.beepl.com<p>I cannot wait to hear back from you.  Thanks! <comment><USER2> I tried to log in with twitter and got the following, using Opera 11 on Windows 7:

Incorrect string value: '\xE3\x81\x8C\xE3\x81\xAA...' for column 'text' at row 1Request Method: GET Request URL: <http://alpha.beepl.com/register/new> Django Version: 1.2.4 Exception Type: Warning Exception Value: Incorrect string value: '\xE3\x81\x8C\xE3\x81\xAA...' for column 'text' at row 1 Exception Location: /opt/bitnami/python/lib/python2.5/warnings.py in warn_explicit, line 102 Python Executable: /opt/bitnami/python/bin/.python.bin Python Version: 2.5.4 Python Path: ['/home/jparicka/svn/beepl', '/opt/bitnami/python/lib/python2.5/site-packages/setuptools-0.6c11-py2.5.egg', '/opt/bitnami/python/lib/python2.5/site- packages/MySQL_python-1.2.3c1-py2.5-linux-i686.egg', '/opt/bitnami/python/lib/python2.5/site-packages/tweepy-1.7.1-py2.5.egg', '/opt/bitnami/python/lib/python2.5/site- packages/simplejson-2.1.2-py2.5-linux-i686.egg', '/opt/bitnami/python/lib/python2.5/site-packages/oauth2-1.2.0-py2.5.egg', '/opt/bitnami/python/lib/python2.5/site-packages/httplib2-0.6.0-py2.5.egg', '/opt/bitnami/python/lib/python2.5/site- packages/rdflib-2.4.2-py2.5-linux-i686.egg', '/opt/bitnami/python/lib/python2.5/site- packages/jsonlib-1.6.1-py2.5-linux-i686.egg', '/opt/bitnami/python/lib/python2.5/site- packages/oauth_python_twitter-1.0-py2.5.egg', '/opt/bitnami/python/lib/python2.5/site- packages/python_twitter-0.6-py2.5.egg', '/opt/bitnami/python/lib/python2.5/site-packages/flup-1.0.1-py2.5.egg', '/opt/bitnami/apps/django/lib/python2.5/site-packages', '/home/jparicka/svn/beepl', '/opt/bitnami/python/lib/python25.zip', '/opt/bitnami/python/lib/python2.5', '/opt/bitnami/python/lib/python2.5/plat- linux2', '/opt/bitnami/python/lib/python2.5/lib-tk', '/opt/bitnami/python/lib/python2.5/lib-dynload', '/opt/bitnami/python/lib/python2.5/site-packages'] Server time: Sat, 15 Jan 2011 12:51:25 +0000

<comment><USER2> Going to the page in a new tab shows that I'm logged in fine, apparently.

As a side note, the font that you use in the post-it notes looks like Comic Sans, which makes it look a bit tacky. Perhaps a font that's more clearly different from Comic Sans or closer to "handwriting" would help?

<comment><AUTHOR> Will do. Thanks!

</comment></comment></comment><comment><USER2> I'm not quite sure what the bee logo that shows up on beeps (tweets?) is for. There's nothing to indicate what it does when I mouseover, and the page it takes me to is filled with all kinds of stuff.

I was looking for a way to respond to answers.

</comment><comment><USER2> Now that I'm logged in, here's a feature suggestion... it would be kind of cool to be able to flip through suggested questions randomly, or perhaps look at "genres" of questions if you're in an answering mood.

<comment><AUTHOR> Sounds good. Our idea is to match relevant questions to you - those in which you expressed the strongest interest. This is what will effectively turn beepl into a question distribution platform. I am hoping to have this in place sometimes next week. Thanks for a great feedback!!

</comment></comment><comment><AUTHOR> A quick note for those who signed in (thank you for that btw), you can send questions to beepl directly from Twitter simply by adding #ask hashtag to them.

</comment><comment><USER2> My biggest complaint is that there's no page to explain what beepl is or how it works -- things I'd like to know before I sign in with my Twitter account.

<comment><AUTHOR> Good point. Once you sign in, it allows you to ask questions via twitter, simply by adding #ask hashtag to them. Beepl finds these questions, semantically analyse them, find the experts and the relevant answers and prompts you once it figured out the answer. I will try to communicate it better on the home page. Great feedback, thanks!

<comment><USER2> That explanation's good enough for me, honestly; if it were listed simply on a separate, clearly linked page, I would be satisfied.

</comment></comment></comment><comment><AUTHOR> PS - please keep in mind this is ALPHA. Things change every day as I'm working on it.

</comment><comment><AUTHOR> Thank you, folks. Great feedback.

<comment><AUTHOR> Although, I really hoped someone will ask some question to give this a try.. It's just a prototype anyway. So thanks again.

<comment><USER2> Hmm, I tried asking a few questions through beepl's interface with the twitter checkbox selected, but none of them are actually showing up as my tweets.

<comment><AUTHOR> Yeah, I disabled this temporarily. I thought it's not a good idea to allow this in the alpha stage.

<comment><USER2> Ah. Might want to let users know when it's disabled, even in Alpha. If I hadn't been able to ask and the questions hadn't shown up in twitter, I probably would have just left and never bothered to try again.</comment></comment></comment></comment></comment>


MySQL Cluster 7.2 GA Released, Delivers 1 Billion Queries per Minute - <AUTHOR> http://www.mysql.com/why-mysql/white-papers/mysql-cluster-7.2-ga.html <comment><USER2> Definitely an impressive benchmark by any standard. However, there are some things to be aware of:

1) They used Infiniband interconnects. Running on ethernet is likely to yield less impressive results.

2) Their benchmark does simple primary key lookups. If you start doing joins or transactions that need to hit multiple data nodes, things will slow down. Depending on your workload, this may or may not be an issue.

3) NDB is an in-memory storage engine, so you're limited to the aggregate RAM in your cluster for max storage size.

4) AFAIK, MySQL Cluster doesn't re-balance, you need to pre-determine how data is partitioned and changing it at runtime is hard. I don't know if this has changed in the later releases.

<comment><USER3> For point #3, NDB has supported on disk non-indexed attributes for a while now (2-3 years?). So you just need to be able to fit indexes in memory which is a much smaller dataset, but still limiting.

I'm sure for the benchmark it was all in memory though.

</comment></comment><comment><USER4> I'm a novice in this area, so looking past the somewhat sensationalist headline (or, perhaps, I'm missing the wit? "Now with 70x more performance!")...

Can someone who knows this stuff give a bit of an overview on the significance of this release?

I read the NoSQL stuff as Oracle/MySQL trying to compete (at least in terms of marketing-speak) with the wave of competition that's arrived in the DB market. Is there any meat to it?

<comment><USER3> NDB originally only had a NoSQL interface called NDB API. NDB API is a bit complex and when MySQL acquired them, they added the SQL layer on top of it to make it easier for developers to use it.

This release adds an additional memcache api layer which sits on top of NDB API, so that you can more easily program against it.

<comment><USER5> NDB can be used as a replacement for the entire SQL stack so you don't need to run MySQL programs at all if you program against the interface.

</comment></comment></comment><comment><USER6> MySQL Cluster seems like an awesome solution to applications with a high write to read ratio (which applies to several that I currently work on). I'd be curious to hear cases of people successfully using MySQL Cluster and some of its pros/cons in real-life applications.

<comment><USER7> There are a list of users here, they are running MySQL Cluster in production: <http://mysql.com/customers/cluster/>

</comment></comment><comment><USER8> Has anyone here used MySQL Cluster in production?

<comment><USER9> I'm also very curious to hear real world feedback on this, I've been aware of the option for a while, but never heard much about actual use.

Automatic sharding and memcached integration are pretty awesome features, and could definitely ease code at the application level (sharding code is a particularly special pain in the ass, not so much getting it working, but allowing for re-sharding migrations if you decide you need more shards, especially trying to do so without downtime which involves all sorts of nasty tradeoffs).

But bang-for-the-buck and reliability wise, I'm still unsure, I've heard very little about this in the wild. Is this more suited for high write v. read ratio situations, or is it aiming more at the Vertica/Greenplum big-data uses, or something else?

<comment><USER3> It is more suited for realtime transaction processing type activity, not for big data type analytics.

NDB was originally created by and for telecoms. So very high write/read rates with very fast response times and very high availability required. Generally not extremely large datasets.

If you know what you are doing, NDB can work extremely well. It supports all of the highend cluster goodies including online software upgrade, online node addition, automatic handling of node failures, geographic async replication, etc...

However, it certainly has a pretty steep learning curve from the admin point of view and it is a bit easy to mess things up. It is a bit brittle due to this, but once it is setup properly and running, it can deliver on the promises.

</comment></comment></comment><comment><USER10> When did we go from standard measure of per second for these types of things, you know, requests per second, transactions per second, to per minute? Statistics eh?

<comment><USER11> For whatever reason, database people have been using transactions per minute for a long time.

<comment><USER12> I was thinking it might have been to prevent people using max queries per second even if it is unsustainable. Although an average should cover that.

</comment></comment></comment><comment><USER13> As a MySQL, Oracle and Clustrix DBA this is very sexy news. Here is the extra info on the benchmark [http://mikaelronstrom.blogspot.com/2012/02/105bn-qpm- using-m...](http://mikaelronstrom.blogspot.com/2012/02/105bn-qpm-using-mysql- cluster-72.html)

But no info on what disk setup they used. But for every instance node there was a storage node.

</comment><comment><USER14> If only I had some data to fill the wonderful databases available these days.

<comment><USER15> Start with a public dataset - Wikipedia, Stack Overflow, etc. Or request Amazon's product DB (you have to convince them that they will benefit). Do something interesting with it and people will notice.

</comment></comment><comment><USER16> There's a great deal of hand-waving here. My understand is that it's a distributed in-memory KV store. Not something you could realistically run TPC-C against and still get "1 billion" TPM.

</comment><comment><USER17> Looks awesome! Does anyone have a suggestion for a good site explaining what's the best path for migrating from a master / master setup to a MySQL Cluster?

<comment><USER18> You still have MySQL Servers in MySQL Cluster and you can mix and match storage engines (e.g. use InnoDB for some, Cluster (ndb) for others). Cluster 7.2 uses a tweaked version of MySQL 5.5 for the MySQL servers and so if you're already on 5.5 then the migration is fairly simple...

0) Always a good idea to backup! 1) Create your cluster... [http://www.clusterdb.com/mysql-cluster/deploying-mysql- clust...](http://www.clusterdb.com/mysql-cluster/deploying-mysql-cluster-over- multiple-hosts/) \- stop before starting your mysqlds 2)Configure your mysqlds to use the same data directory as your existing ones 3) Stop your existing mysqlds 4) Start up your new (cluster) mysqlds. At this point you still have your existing tables stored in the original engine (e.g. MyISAM or InnoDB). 5) Migrate appropriate tables to cluster... "ALTER TABLE <tab-name> ENGINE=ndbcluster;"

</comment></comment><comment><USER19> Anyone with some real-life feedback on this (or previous versions even?)

<comment> iso8859-1 <http://news.ycombinator.com/item?id=3594892></comment></comment>


Ask HN: If you die, what have you organized? - <AUTHOR> I'm working on a solution to organize everything before the death.
TL;DR A solution to manage the transmission of the data and assets to the family.
Questions : what have you already organized ? What do you plan to organize (from the transmission of your twitter account to your access to HN)?
Thanks ! <comment><USER2> There is a detailed list of what I want to happen and who should get what in a container in my closet, but here isn't any passwords, because I don't want my family to get access to all my online accounts -- they have the email we have exchanged over the years (hopefully decades to come) and that is what I want them to have.

</comment><comment><USER3> My wife and I know one another's passwords, PIN numbers, etc. So in the event of one of us dying before the other, we can access all the relevant computer, etc stuff. Other than that, wills, PoA, etc take care of the legal stuff.

Records of passwords, etc are useless if you change them on a regular basis. How can you be sure that you update the paper records?

<comment><AUTHOR> How can you be sure that you update the paper records?

Good question. Anybody ?

</comment></comment><comment><USER4> I haven't really organized anything, and I appreciate this post as a wake-up call to start putting a solution in place.

<comment><AUTHOR> Thanks for your answer and happy to make this wake-up call.

I don't want to promote a product as I am looking for feed-backs, especially on the idea of "doing something in case of ...".

But soon I will open a "show HN" and it will give you a second wake-up call.

</comment></comment><comment><USER5> For me it isn't worth it. Keep a paper copy of the important stuff, like your life insurance policy. Show your spouse where you put it.

If you have a decent chunk of life insurance it will make chasing down the other stuff much less important.

<comment><AUTHOR> Thanks for your answer,

Did you already manage a death ?

I mean the "technical side", not the bereavement.

</comment></comment><comment><USER6> My wife knows that there's a book in our fire box which has account numbers of bank, pension, life insurance etc and contact details for same. That's about it.

<comment><AUTHOR> Thank for answering !

</comment></comment><comment><USER7> Paper copy of all passwords in safe deposit box. Paper copy of account numbers in fireproof box.

I would never rely on a computer-based solution for this.

<comment><AUTHOR> Thanks you for your comment.

"I would never rely on a computer-based solution for this."

Could I know precisely why ? (your answer could help a lot).

<comment><USER8> I don't think I'd go as far as saying I'd never rely on a computer-based solution, but I am weary of putting all this extremely important information in a potentially vulnerable place. As a lot of people here are saying, paper might just do the trick.

So I guess for your purposes this means focus heavily on security. Keep us updated on how it goes!

<comment><AUTHOR> Yes, thx, I will !

</comment></comment></comment></comment><comment><USER9> Bitcoin seed words in a safe location, with instructions on asking a trusted friend to set it up.

<comment><AUTHOR> How do you write or give your instructions to this trusted friend ?

</comment></comment><comment><USER10> This is information you should corral beforehand, based on a list I made of what had to be done after my father died:

POST-MORTEM INFORMATION

 __bills in your name

 __charity contributions, automatically withdrawn

 __friends, employers, and relatives to inform

 __funeral arrangements

 __government agencies to inform of death

\- county

\- DMV

\- library

\- Medicare

\- Social Security

\- voter registration board

 __health care provider list

\- physicians

\- primary care provider

\- specialists

\- medical and dental insurance companies

\- prescription insurance company

 __hiding places

 __internet service provider

 __legal documents

\- will

\- living will and advance directives

\- power of attorney

\- health care power of attorney

 __life insurance policies

 __medical bills and health insurance records

 __memberships to terminate

 __obituary information

 __online accounts

\- banking

\- credit cards

\- credit reporting agencies

\- data backup

\- health care portals

\- health insurance

\- media storage

\- social media

 __subscriptions

\- apps and software

\- media, paper and online

\- shopping services

 __organizations and educational institutions to inform

 __pensions

 __professional services

\- attorney, etc.

 __survivor and death benefits

\- employer

\- military

\- Social Security

 __tax exemptions available for survivor

\- widow/er tax exemption

 __tax information, personal

\- tax documents and information (current year)

\- Federal

\- state

\- city

\- tax preparer/accountant contact information

 __utilities

\- electric

\- phone

\- fuel

\- ISP

 __valuable possessions and heirlooms

 __vehicle registration and title

 __vital records and government ID

\- birth certificate

\- marriage license

\- driver's license or state-issued ID

Edits: formatting

<comment><AUTHOR> Wow ! thx</comment></comment>


Rust 0.3 released - <AUTHOR> https://github.com/mozilla/rust/blob/release-0.3/RELEASES.txt

<comment><USER2> Rust is the most promising up-and-coming programming language, in my opinion.

Finally a programming language with decent syntax that does RAII, and understands the need to restrict garbage collection!

Thanks!

<comment><USER3> Why not D?

<comment><USER4> Because, faced with the fact that C++ makes an octopus by nailing extra legs onto a dog, D decided the right thing to do was to staple-gun them onto a cheetah instead.

D, at the end of the day, is C++ with cleaner _syntax_. Yes, you've gotten rid of headers and some of the syntactic ambiguities, but things that were mutable are still mutable, templates are still templates, hard-to-solve threading problems are just as hard to solve, etc. Indeed, I'd argue this is one of the reasons why C++ coders generally like D: it's the same damn thing with the most painful dumbth removed.

Rust, on the other hand, focuses on having different _semantics_ from C++, in order to make certain problems much easier to solve. The big one is immutability, which makes code easier to reason about, and vastly simplifies multithreaded code compared to its D or C++ counterparts. But there are other major semantic differences, such as region pointers, the lack of nulls, and more, that really solve the _semantic_ issues that crop up in C++ programs.

I know people who like D, and are highly productive in it, but Rust is solving a very different problem in a very different way.

<comment><USER5> D has extensive support for transitive data immutability, and function purity. (This is quite unlike C++.)

</comment></comment></comment></comment><comment><AUTHOR> Detailed release notes:

[https://github.com/mozilla/rust/wiki/Doc-detailed-release- no...](https://github.com/mozilla/rust/wiki/Doc-detailed-release-notes)

Download tarballs/docs/etc:

<http://www.rust-lang.org/>

<comment><USER6> I also recommend the development roadmap:

[https://github.com/mozilla/rust/wiki/Note-development- roadma...](https://github.com/mozilla/rust/wiki/Note-development-roadmap)

</comment></comment><comment><USER7> Can Rust retarget GTK or QT ? Actually, the important question is whether it is meant to.

Will it ever be intended to replace application languages like Vala, Mono (used to write Tomboy, Banshee, etc.) or will it be restricted to system level stuff.

If yes, will there ever be scripting support (like Ocaml <https://ocaml.janestreet.com/?q=node/80>)

edit: Rust has a nice decentralized package manager as well called Cargo [https://github.com/mozilla/rust/wiki/Doc-using-cargo-to- mana...](https://github.com/mozilla/rust/wiki/Doc-using-cargo-to-manage- packages) ) Pretty nice.

<comment><USER8> Yes, Rust is intended to play nicely with GTK and Qt. For one, browser engines need to interface to the platform-native toolkits.

Scripting support would be cool. To me, Rust isn't necessarily the best language to write small one-off scripts in; I personally prefer dynamically typed languages (or whole-program type-inferred languages) for that. But if you want to write scripts in Rust, I'd certainly review any pull requests to make it easier :)

<comment><USER7> I'm more interested in an alternative to write desktop apps in, rather than small one off scripts.

I'm interested in this from a vision point of view. What are going to be your first "written-using-Rust" apps ? Firefox is gargantuan, so it cant be your first. Ergo, the question about platform toolkit compatibility. If you build that one first, you will start spawning an ecosystem almost instantly... if you want.

Mono, Vala, etc. have nice apps that people love. I am wondering on how can you bridge the gap between javascript/Qtscript and Rust to make it easier to build apps in.

<comment><USER9> >What are going to be your first "written-using-Rust" apps ?

Rust compiler is written in rust, so that would be the first "written-using- Rust" app. Additionally afaik the work on rust-based web-browser (engine) has began, so that would be second (major) project for rust.

<comment><USER10> I have been working on a web framework stack: <http://github.com/erickt/mre>

<comment><USER11> The elasticsearch thing makes it so niche and impractical though :\

</comment></comment></comment></comment></comment></comment><comment><USER12> i love that they're thinking of syntax sugar right in the early stages. a lot of the "language semantics are all that matters" crowd scoff at sugar, but i think they underestimate how much syntax contributes to the pleasantness of using the language.

<comment><USER13> Interesting. I like many of Rust's language concepts (and I have contributed some small fixes to the Rust runtime), but (to _my_ eyes :) the syntax is snowballing into a hybrid of C++ and APL.

<comment><USER8> What in particular do you not like? To me the proposed stuff on the roadmap fixes the problems I see (changing "::" to ".", camel case for type names, "alt" -> "match", => after pattern matches, #debug to debug!, removing argument modes -- no guarantees that we implement these of course, they need consensus), but I'm curious as to what your thoughts are.

<comment><USER14> Instead of angled_brackets<> they should probably try to go with D's style of templates[1], which uses an operater !, to signify its use.

Also, I personally believe that camel case for type names would be a net loss; the underscore separates the words nicely, and I think it's pretty clear from the syntax what is and is not a type name (in my extremely limited experience).

[1]. <http://dlang.org/templates-revisited.html>

<comment><USER15> What I like about camelcase is that it confers the same kind of visual classification to types as to certain other things.

Back in the day, I used ObjectPascal, where we used camelcase for everything: function names, variables, types. Borland set an early precedent by prefixing many class types with the letter T, thus to visually distinguish them from other things: So you had TWindow, TButton, etc. This system makes sense when you see it in practice:

        function GetParent(Window: TWindow): TWindow;
        begin
          ...

While a bit crude, I feel the same kind of visual differentiation is needed for a language like Rust.

Ruby has some syntactic oddities I like precisely because they provide visual classification: "@" for instance variables and "@@" for class variables:

        class User
          @@max_name_length = 32

          def initialize(name)
            raise "Error" if name.length > @@max_name_length
            @name = name
          end
        end

The current "old-style" Rust code quickly becomes a uniform sea of lowercase to me, as does Stroustrup-style C++. It gets worse due to a quirk of mine to name things verbosely. So instead of variables like "u" to represent a user, I spell out "user". With all lowercase it gets odd:

        fn save(user: user) {
          ...
        }

While Rust have types and variables living in separate namespaces, all- lowercase names introduces the possibility of ambiguity and possibly makes some things impossible in the future, I think; consider:

        let foo = user.new();

It looks like a method call "new()" on an instance "user". But what if you could call methods on types? With the discussion about the "::" operator becoming ".", such a distinction would become impossible without introducing a new operator. With camelcase it becomes obvious what's what:

        let foo = User.new();

</comment></comment></comment></comment></comment><comment><USER16> Does anyone know the origin of the name? I did a quick look on wikipedia/github/project site but couldn't find anything conclusive.

<comment><USER17> I heard that Rust was meant to capture the spirit of the language. It was meant not to have a lot of knew ideas (although, as it turns out, language design always leads to new ideas). We have a sort of informal rule to not include research that's less than 10 years old, so we can build off of ideas that have had a chance to prove themselves. We're bending that rule a bit now, of course. The idea was that Rust would codify and provide language support for patterns that have worked well in making large software like Firefox fast and safe.

</comment></comment><comment><USER18> And the release announcement:

[https://mail.mozilla.org/pipermail/rust- dev/2012-July/002087...](https://mail.mozilla.org/pipermail/rust- dev/2012-July/002087.html)

</comment><comment><USER19> Not only is rust a pretty awesome language, the Rust devs are amazingly helpful on the IRC channel.

</comment><comment><USER20> Two of the newest programming languages that I think have potential are Io and Rust. Io is a mash up of languages with speed similar to lua and has a list like syntax of lisp.

I wonder if anyone can explain why they have not tried to incorporate some of lisp's syntax as it is more efficient for linked lists I think. And I thought part of the reason for Rust's development was for very fast/efficient concurrency that is properly garbage collected.

<comment><USER21> >>Io is a mash up of languages with speed similar to lua...

Please provide some examples that show _Io speed similar to Lua_.

</comment></comment><comment><USER22> Looking forward to 1.0. The #rust IRC channel on irc.mozilla.org is full of activity.

</comment><comment><USER23> What are Mozilla's plans for integrating rust into Firefox? Is this a mostly theoretical constraint or is there a plan to have this implemented?

<comment><USER6> Rust is being used to implement an experimental new browser engine with a focus on concurrency in order to better take advantage of highly-parallel and power-limited hardware. It's known as Servo,[1] and it's still strictly in research mode; there are no concrete plans to integrate anything into Firefox as of yet. Even if there were, Rust itself won't be at 1.0 until sometime next year, and it would be quite a while beyond that before Servo had any semblance of feature parity with Gecko.

[1] <https://github.com/mozilla/servo>

<comment><USER24> Still can't build it (llvm fails somewhere) but reading the source code is interesting, very concise.

<comment><USER8> Please file an issue regarding the build problem if you get the time on our issue tracker: <https://github.com/mozilla/rust/issues>

We're trying to iron out all of these issues.

</comment></comment></comment></comment><comment><USER25> Has Mozilla given up on Typestate? I see no mention of it in the release notes.

<comment><USER6> (Note: not a Rust dev, I just hang out in the IRC channel)

Typestate's still there for the time being, but it may not be for much longer. The problem is that it's not being _used_ anywhere in the compiler, so it's not getting exercised nor is it providing any constructive design feedback. Last year there was an attempt to begin using typestate throughout the compiler and standard library, but it proved so clunky to use in practice that nobody had any patience to deal with it. So now there are two camps among the developers: those who consider the (quite large) subsystem to be a useless maintenance albatross, and those who would still like the idea of typestate but who acknowledge that it's not usable in its current form. Rust's BDFL appears to be slowly migrating from the latter camp to the former, so typestate may not be around for much longer.

Either way, making the whole thing work would require more effort than anyone has time for at the moment. Of course, this doesn't mean that it can't be removed now and then reintroduced in some future version of Rust.

Actually, wait, I remember asking Graydon (the Rust lead) about this. I was saving this for the 0.3 release discussion, so now's the perfect time:

      me:      so what were the reasons that nobody ever used typestate? was it just too cumbersome?
      graydon: combination of incomplete and wound up not often able to benefit from much code-path-distance between site of check and site of constraint-enforcement.
      graydon: I'm still unconvinced that could not be overcome
      graydon: but the result is that using it has effectively caused all callers to do checks just before they call, which isn't much of a win
      me:      graydon: was typestate the whole reason you started rust in the first place? I'd be really interested to read a retrospective :)
      graydon: no, I started rust because I was sick of hacking in C++ and wanted something with a saner compilation model, grammar, safety properties, concurrency properties ...
      graydon: I'd used lots of other languages and kept not being able to use them in an industrial setting, because they failed to be similar-enough to C++ in important ways, usually.
      graydon: typestate was just a property that hermes had that I liked because it looked like a way to statically optimize DBC, which I like in languages that have it
      graydon: (sather, eiffel, some of the C# derivatives)
      graydon: I tend to program over-defensively when left to my own devices. make copies of every datum to be local. make everything const. run a lot of internal consistency self-checks. etc. etc.
      graydon: (the one habit I hadn't picked up yet, which I'm still trying to, is adequate unit testing and fuzzing ... sigh)
      me:      graydon: so are you confident yet that even if someone was forcing you to write rust, you would't be sick of it? :)
      graydon: my experiences writing rust so far have been pretty positive. it has a number of the parts I like in other languages. the grammar is simpler, the compilation model is better, it's AOT and static, it has algebraic types, clear integer types, is eager and reasonably fast, doesn't force OO style...
      graydon: and crucially: doesn't need to allocate / GC like crazy, so can close that residual gap on inner loops without having to hit the FFI
      graydon: there are still odd bits we need to whittle down
      graydon: oh also the safe references are lovely. and getting better.

<comment><USER26> Reformatted:

me: so what were the reasons that nobody ever used typestate? was it just too cumbersome?

graydon: combination of incomplete and wound up not often able to benefit from much code-path-distance between site of check and site of constraint- enforcement.

graydon: I'm still unconvinced that could not be overcome

graydon: but the result is that using it has effectively caused all callers to do checks just before they call, which isn't much of a win

me: graydon: was typestate the whole reason you started rust in the first place? I'd be really interested to read a retrospective :)

graydon: no, I started rust because I was sick of hacking in C++ and wanted something with a saner compilation model, grammar, safety properties, concurrency properties ...

graydon: I'd used lots of other languages and kept not being able to use them in an industrial setting, because they failed to be similar-enough to C++ in important ways, usually.

graydon: typestate was just a property that hermes had that I liked because it looked like a way to statically optimize DBC, which I like in languages that have it

graydon: (sather, eiffel, some of the C# derivatives)

graydon: I tend to program over-defensively when left to my own devices. make copies of every datum to be local. make everything const. run a lot of internal consistency self-checks. etc. etc.

graydon: (the one habit I hadn't picked up yet, which I'm still trying to, is adequate unit testing and fuzzing ... sigh)

me: graydon: so are you confident yet that even if someone was forcing you to write rust, you would't be sick of it? :)

graydon: my experiences writing rust so far have been pretty positive. it has a number of the parts I like in other languages. the grammar is simpler, the compilation model is better, it's AOT and static, it has algebraic types, clear integer types, is eager and reasonably fast, doesn't force OO style...

graydon: and crucially: doesn't need to allocate / GC like crazy, so can close that residual gap on inner loops without having to hit the FFI

graydon: there are still odd bits we need to whittle down

graydon: oh also the safe references are lovely. and getting better.

</comment></comment></comment><comment><USER27> What problem does rust solve other languages (D, SML, OCaml, C++11, Objective C, vala, go etc.) did not -- apart from helping with the NIH syndrome? Does Mozilla actually use a language that still is a moving target with respect to its language specification for some substantial work (or what is the real- world status of that upcoming rendering engine which seems to be the reason why rust was called into life)?

<comment><USER28> I guess it is the need to explore new ideas, even if the language dies, some of its ideas might be picked up by mainstream languages.

<comment><USER29> It's precisely not the need to explore a lot of new ideas. Rust is taking tried and true paths to something new :-)

<comment><USER6> Ah, but I think it's important to distinguish between ideas that are new in research and ideas that are new in industry. God knows that pattern matching isn't a particularly new concept, but I sure hadn't heard of it before Rust; see also the popularization of list comprehensions due to Python via Haskell. So I think what the grandparent is implying is that even if Rust doesn't end up as a world-shattering language, it still has the opportunity to expose programmers to "new" ideas, even if, in academia's opinion, those ideas aren't so new at all. :)

<comment><USER28> Exactly, for example, now thanks to the FP concepts that have been added to .NET in the last versions, I am able to do cool FP stuff while coding boring enterprise applications in C#, without having to ask permission about it.

Or make use of F# for Windows scripting, using as excuse to the boss that it is part of Visual Studio.

</comment></comment></comment></comment></comment><comment><USER30> Yay! Congrats guys!

</comment><comment><USER31> Just in time to use it for ICFP!</comment>


Ask HN: What % of equity is a technical co-founder worth after traction? - <AUTHOR>

I started as a hobby a platform and today we have 14,000 registered users. I teamed up with a tech guy (50/50), we went through an incubation program but he left later for a PhD. Now we've been selected for a top European accelerator and I'm working with new tech guy.
The company exists (myself working full time) for 10 months. He has quit his job after being selected by the accelerator (working part time for 3 months) and wants 50%. He won't be taking a salary but a loan.
I'm a business guy, but I code most of my time, fairly good/proven designer, have strong connections, pitch and sell. I also bring the business experience and the product design through lean validation.
What would be a fair distribution considering he is joining with lower risk? <comment><USER2> _"What would be a fair distribution considering he is joining with lower risk?"_

In my opinion, this is entirely the wrong question to ask. The equity for your new partner should be based upon the value they bring to the company - e.g. What is a fair valuation considering the risk of the company failing without the new founder?

To put it another way, you are bringing customers and traction to the startup. And that is your job. The work you did previously is sunk cost.

If you start your relationship fighting over percentages of $0.00, don't be surprised if the relationship doesn't end well. If you don't want to see your new partner succeed equally to you, it's better not to make them a founder.

Good luck.

</comment><comment><USER3> Some points:

1) The new co-founder does not deserve 50%. There are only two instances in which I might see him getting 50%: he either brings in money (invested into the company), or he takes a significantly smaller salary than you take. What you give him will depend on how you perceive his value, and how much you need him at this point. Something like 30% is a reasonable starting point.

2) Going off point #1. Are you sure you need a new technical co-founder? Do you feel like this is a gap in your knowledge? Because you may very well be able to forgo the technical co-founder route, and simply start hiring 1 or 2 technical employees. You would need to pay these employees salaries. You would pay them slightly below-market salaries and equity in the range of 1-3%. Nonetheless, there are very compelling benefits to having a co-founder with very strong technical skills.

3) What concerns me the most is that _its unclear how well you know this potential new co-founder_. What did you think of his part-time work? Was it amazing? _Even if his part-time work was amazing, it is still unclear if he is the right co-founder for you._ Did he work remotely? How well do you guys get along? How well do you guys communicate? If he worked remotely, it will be much harder to assess how you get along with him.

Something I've noticed about YC, for example, is that I keep running into founding teams (of YC companies) that consist of founders who knew each other as 1) friends from high school, 2) friends from college, or 3) worked together at the same company for 1 or more years. I suspect that YC would be willing to hire 2 co-founders of slightly-above-average intelligence who are best friends from college over 2 brilliant co-founders who worked on one class project together. One of the reasons is because the #1 reason (or at least one of the biggest reasons) for a funded startup failing is co-founder disputes.

</comment><comment><USER4> Only you two can negotiate that. Your "top accelerator" also may be able to help with advice.

How much does the prior tech guy retain?

That there's been some de-risking may be relevant... but the past is still fixed/sunk-costs, while the future is open-ended. Treating this, new partnership/new-accelerator, as a re-founding might be fairest, if new guy is the right choice for the long haul. And he might have another equally-good option where he can be a full equal partner. So your project seniority and full-time-work-so-far may not be dispositive.

50/50 can risk deadlock without a 'shotgun clause' or other tiebreaker, in situations where the working relationship collapses but there's still value to fight over.

"won't be taking salary but a loan" seems weird. If the company craters, who will he be paying the loan back to? Cash removed from working accounts to pay a team member's living expenses, cash that could be useful today, is just as dear as paying a salary would be.

<comment><AUTHOR> the prior guy has no shares anymore.

These sunk-costs (traction, incubation, awards..) have been the reasons why we've been selected. Joining after is lowering the risk. If he would have started long time ago then 50/50, like with the prior guy.

The loan is a personal loan from the first incubator, which hasn't to be fully pay back in case you fail.

<comment><USER4> (1) risks lawsuit unless there's an ironclad purchase/assignment-of-rights with prior guy

(2) only you and he can weigh that prior progress against his future value, and each of your next-best-options.

(3) still fishy and seems irrelevant; if he's receiving cash-up-front from business for living expenses, that either -- (a) won't be paid back in fail- scenario, or (b) will be paid back, when there's plenty of money and it doesn't matter, in succeed-scenario -- then it's mostly like salary, and there shouldn't be brownie points for calling it a 'loan'.</comment></comment></comment>


MacBook Air battery replacements take only minutes - <AUTHOR> http://www.appleinsider.com/articles/08/01/18/sources_macbook_air_battery_replacements_take_only_minutes.html <comment><USER2> As long as they eventually offer the battery for separate purchase, or at least affordable, quick and easy replacements at your local genius bar, they'll have solved one of the major gripes with the Air.

</comment><comment><USER3> was anyone really that worried about having to replace a permanently dead battery? the main benefit of an easily swappable battery that doesn't require tools is the ability to carry multiple charged batteries on long flights or whatever. battery 1 goes dead, you just hibernate the machine, swap out the battery with a second one (which takes 10 seconds on any normal laptop), and resume working.

<comment><USER4> (which takes 10 seconds on any normal laptop)

Any normal macbook! My vista laptop takes 9 minutes to hibernate and then wake up.

<comment><USER2> Damn. If that's not an exaggeration, you have something wrong. I have 2gb of RAM (Home premium, Lenovo X60) and both operations take something like 30 seconds. I haven't clocked it, but it's nowhere near 9 minutes.

<comment><USER4> Mines a Fujitsu lifebook, AMD dual core and yes 3 gig of ram. I've run it with linux for a while but needed vista for work. Yes, I do think there's something wrong. It takes about 90 seconds to get to hibernate, but always more than 5 minutes to become useable again after wakeup. Any advice? People tell me my macbook would make a much better vista computer with bootcamp. Anyone have any experience with this?

<comment><USER2> Have you tried reinstalling windows?

</comment></comment></comment></comment></comment><comment><USER5> At least with the MBA I don't have to worry about treating the battery right, like taking it out if I don't use it. I never do that, and feel slightly bad about it.

My only concern would be if the battery were prone to exploding. It's nice to be able to take it out to be safe against that.

</comment><comment><USER6> I travel a lot and with more recent laptops I've never needed a second battery

<comment><USER7> Me neither, but my MacBook Pro's battery has close to 200 cycles and it's pretty much dead. I'll need to get a new one, and it's nice to be able to just swap it out.</comment></comment>


'Beyond disgusting,' says journalist Matthew Keys of his hacking conviction - <AUTHOR> http://www.washingtonpost.com/news/morning-mix/wp/2015/10/08/edward-snowden-miffed-journalist-facing-years-in-prison-for-conspiring-to-deface-an-online-newspaper-article/ <comment><USER2> Keys won't be sentenced to anything resembling 25 years. Even his prosecutors have said so.

He's also far more responsible for his actions than Andrew Aurenheimer was. Keys, while working as a social media editor at Reuters, used his access from a previous job at a Tribune subsidiary to let anonymous Internet hackers break into the LA Times, one of the largest newspapers in the world; the attackers used it to modify stories. His "hack" was a straightforward abuse of the trust misplaced with him.

Keys defense fixates on the rapidity with which those stories were taken down. But of course, that's not the whole story. The Tribune Corporation, like every major corporation, usually must follow a complex process after a breach. The cost far exceeds that of simply taking a story down.

Keys has, by all accounts, fantastic attorneys. The sentencing phase of this trial is just now starting, right? How can they possibly be letting a freshly convicted felon talk like this? Isn't he harming his case here?

 _Edit: my comment originally claimed, incorrectly, that Keys had used Reuters access to compromise the Tribune Company; he did not; rather: he used his access from a previous job at a Tribune subsidiary to do it._

<comment><USER3> To be fair the Tribune subsidiary should have revoked that access a LONG TIME AGO. The million dollars spent after the attack was to fix their security I bet.

Don't think what he did was right and he did have someone illegally attack the LA Times but it does seem strange that this case is so big and the charges against him so large.

<comment><USER4> _it does seem strange that this case is so big and the charges against him so large._

Because he was caught up in the Feds surveillance of Anonymous.

It is at least worth noting that Keys says it wasn't him. FTA:

\-----

"Let's be clear: I never passed a username or password to Anonymous," he said.

Keys, who went on to serve as deputy social media editor for Reuters before his indictment in 2013, said he was investigating Anonymous in chatrooms when his username was used without his permission by parties unknown. Five years ago, Anonymous was in the news for its attacks on Visa and PayPal — and, according to Keys, he was just doing his job.

"It occurred to me that no one had looked into these guys," he said. "They were talking at a level above my head. … Anybody could co-opt [the username] and it looks like in this case somebody did."

Keys said the Tribune company — by then his former employer to whom he nonetheless pitched his story about Anonymous — should have supported him. This was about freedom of the press, not passwords.

"Tribune Media – what are they thinking?" he said. "Do they care about journalism at all? Do they care about the government prosecuting a journalist who decided to keep his sources undisclosed? That is beyond disgusting."

<comment><USER2> He says it wasn't him, but if it was someone else, they were much more thorough than just his username, since there's network evidence tying Keys to this as well (see again the search warrant).

<comment><USER5> Are you aware of this evidence? Was the court, for that matter?

It's also entirely possible that they managed to convince a technology- illiterate magistrate to sign off on the warrant.

</comment></comment></comment></comment></comment><comment><USER6> Wow, this guy sounds like a tool- zero remorse whatsoever for what he did, zero indication that he feels anything but completely entitled to a hand wave and a fine. No indication that he learned from his mistake, and no indication that he wouldn't do it again if he got fired from another job.

25 years is ridiculous, for sure. Honestly, prison time at all seems like crazy overkill. However Matthew Keys comes across like the definition of whiny entitled millennial.

Any law-types able to weigh in on precedent in this sort of case? That might help to explain why they're pushing for such a ridiculous prison sentence.

<comment><USER2> He's not actually facing 25 years.

<comment><USER6> "But for journalist Matthew Keys, who prosecutors said illegally leaked the username and password needed to make the changes to the hacking group Anonymous, _the end result may mean 25 years in prison._ " Probably not going to, but there's apparently a possibility or a precedent somewhere for that number to pop up.

<comment><USER2> Yes, the story is wrong. It also contradicts itself on this point within a few grafs.

[https://popehat.com/2013/02/05/crime-whale-sushi-sentence- el...](https://popehat.com/2013/02/05/crime-whale-sushi-sentence-eleventy- million-years/)

</comment></comment></comment></comment><comment><USER2> [https://twitter.com/Popehat/status/651895735105929216](https://twitter.com/Popehat/status/651895735105929216)

<comment><USER7> Keys responded directly to that tweet, saying for people to keep saying he is facing 25 years, because it's true.

<comment><USER2> Keys is a dimwit. Ken White is a defense attorney and former federal prosecutor. I'ma go with Ken White on this.

<comment><USER8> To be clear, people are not upset at the _actual_ or _likely_ sentence, they are upset at the _potential_ sentence.

When reporters say "Keys faces," they are talking about the potential sentence I face (as put forth by the Department of Justice in its own press releases), and when people are critical of it, they are taking the position that the potential sentence is absurd.

Aside from the fact that I didn't do it (despite what prosecutors were able to convince a jury), this case has opened my eyes to the antiquated and draconian computer laws of which we are all governed under in the United States. Any reasonable person would agree that the punishments simply don't fit the alleged offenses, and the law is in desperate need of reform. Any offside discussion about potential versus actual sentences takes away from the very serious, very important discussion about reform.

<comment><USER2> There was no potential for a 25 year sentence in this case. The statute caps any possible CFAA sentence, but that cap captures a wealth of factors not at play in this case: no intent to make money or commercialize the attack, no priors, &c.

The 25 year maximum describes a case where someone caused damage to critical infrastructure, helped stole a zillion credit cards, and potentially caused loss of life, but due to the idiosyncracies of the case, was only able to be charged under CFAA and wire fraud law. That's not this case.

Ken White has pointed out the discrepancy between DOJ press releases and actual sentencing procedures at length. See [popehat whale sushi]. White is, again, a former white-collar crime prosecutor, and is himself no friend of the DOJ.

 _On the very, very remote chance that the person who signed up as "matthewkeys" on HN is actually "matthewkeys", and acknowledging that I am not a lawyer: it is probably a fantastically bad idea to be commenting on this case on HN prior to sentencing._

<comment><USER8> > I am not a lawyer

You don't say?

</comment></comment></comment></comment></comment></comment><comment><USER9> It's been posted a couple times by danso here, but it's worth posting again. Read the search warrant chat transcripts. They provide some insight into the case as well as his personality, and are good for a few laughs. They start on or about page 45:

[http://www.laweekly.com/news/matthew-keys-helped- anonymous-h...](http://www.laweekly.com/news/matthew-keys-helped-anonymous- hack-los-angeles-times-website-feds-allege-4175127)

<comment><USER8> To be clear, federal authorities have already admitted altering chat log information in this case.

</comment></comment><comment><USER10> What would the charges be against Keys if he had knowingly given a set of keys to some vandals who came in and did several thousand dollars of damage?

Whatever it is, it shouldn't be 25 years in prison, either.

<comment><USER11> I don't know why this is getting downvoted, you are exactly right. Treating a crime committed "with a computer" with a totally different scale is idiotic.

</comment></comment><comment><USER12> Laws such as the CFAA that impose draconian penalties for what amount to harmless (or nearly so) infractions with computers are just another symptom of the low prestige of technology professionals. Yes, I know the offender in this case is a non-technical journalist and not a technology professional, but he is mere collateral damage and doesn't represent the people the CFAA was meant to keep in line, namely us.

Contrast the legislative treatment we receive with that of doctors, who according to that same publication can apparently get away with literal murder and maiming for years before finally being punished: [http://www.washingtonpost.com/news/morning- mix/wp/2015/08/25...](http://www.washingtonpost.com/news/morning- mix/wp/2015/08/25/sociopath-neurosurgeon-accused-of-intentionally-botching- operations/)

</comment><comment><USER13> I'm not actually clear what crime was committed. Divulging trade secrets or proprietary information is not a violation of the CFAA is it? Even so, how is divulging a (presumably expired) username and password any different than a security researcher releasing a PoC exploit? We don't (yet) prosecute researchers, even though they reasonably should know that their code could be used to exploit actual systems.

<comment><USER14> It's different in the same way that you giving your work keys to thieves is different than you writing a paper about potential flaws in a particular model of lock.

<comment><USER8> Whether you believe in my innocence or not, the CFAA actually does have a line about "password trafficking," which was alleged by the government -- but not charged.

</comment></comment></comment><comment><USER15> What concerns me about this is that people of the media seem to think that they are above reproach. A belief that their actions are always protected, and as a journalist, they should be given the benefit of the doubt. I know he has not made this claim directly, but I think this story would be vastly different had he not been a "journalist".

</comment><comment><USER16> I sincerely hope Keys gets nothing more than probation. Mostly because this is the government's chance to make up for their colossal fuck up over Aaron Swartz. And because incarcerating Keys has so little value; he seems to have learned his lesson and in the time since his indictment has continued to do good journalism work, even landing new jobs.

But if you believe the government's narrative isn't totally hocus pocus, that the IRC logs truly depict what they seem to, that Keys maintained the identity of "AESCracked" throughout the period of his alleged hacking...then to portray his actions as just helping to change a story's headline for the lulz is plain dishonest.

Read the search warrant yourself [1], starting with page 39.

He not only gives his credentials over; in the conversation, he talks about creating new accounts for hackers to use (yes, apparently an average web producer -- even after being fired -- has superuser privileges on the Tribune CMS). He then walks the other IRC users through how to navigate the CMS. He doesn't _just_ encourage them to "go fuck some shit up!" on the LA Times, he then proceeds to enumerate every news site owned by Tribune, with particular instruction on which places should be hit for being "tribune's bread and butter assets".

What really irks me is that hackers, page 47, then talk about rooting the Tribune server to gain access to to emails and everything else. And "AESCracked" is just sitting there, goading them along, giving them more information completely unprompted. It's hard for me to believe that any reporter who knows what "root access" means can say with a straight face that Keys is only guilty of a prank, that the possibility of an entire news organization's data -- including every reporter's email -- being captured and dumped like HBGary or Ashley Madison or Sony, is just no big deal.

So why didn't that happen? Who knows -- but the fact that a company who granted superuser access to all web producers to their non-https publicly- exposed CMS, and had no process for revoking credentials, and did nothing even after noticing said superuser account was creating new unauthorized accounts -- managed to _not_ get rooted after said credentials were given over is a bonafide Christmas miracle. One of the other IRC users (sharpie) decided on his/her own to fuck around with the LA Times in a way that was immediately obvious to the Tribune sysops, who then removed user privileges.

Giving out superuser credentials to a hacker's group causes $0 worth of damage. Creating new user accounts (including another super user account) causes $0 of damage. Giving out every URL to the different CMSes, including the user manual about how to navigate their interfaces causes $0 of damage. Sure, it adds up to less than $5,000 of damage if you believe bits are just nothing but electronic blips. But let's not be dishonest and say that this was just a good ol' fun prank like the time when Woz programmed the campus computer system to bulk print "FUCK NIXON" [2]

But yeah, the truth is that no real damage was caused despite the potential -- the $900K+ of damages cited was the money spent by Tribune to overhaul their system, including making CMS login URLs https. And hopefully, a better access- control system...and frankly, I'm OK with that kind of technicality allowing Keys to just get probation. Worser criminals have gotten acquitted for lesser reasons. But I don't feel it's right to gloss over his crime. IMO, what he did was not just less admirable than what Snowden and Aaron Swartz did, but more sociopathic than what weev was imprisoned for. According to the IRC transcript, Keys had no problem abetting a chatroom full of hackers with completely fucking his colleagues -- and any and all confidential sources for any ongoing journalism investigations.

On a lighter note, page 46 of the search warrant is fun reading and I think sheds light on why the Tribune company didn't get completely owned. The hackers invite Keys to paste all the user credentials to their private hackerpad, and after doing so, Keys asks, "what's the govt passwords for? what lulz will be unleashed soon? or is that for me to not know? :p"...the responses in the IRC from the hackers after they realize what they've just let slip to a total stranger are just pure comedy.

[1] [http://www.laweekly.com/news/matthew-keys-helped- anonymous-h...](http://www.laweekly.com/news/matthew-keys-helped-anonymous- hack-los-angeles-times-website-feds-allege-4175127)

[2] [https://books.google.com/books?id=Yd2Hm8BlzZUC&pg=PA162&lpg=...](https://books.google.com/books?id=Yd2Hm8BlzZUC&pg=PA162&lpg=PA162&dq=wozniak+fuck+nixon&source=bl&ots=KZdktxAOzS&sig=n5dM8cTZTNo9v_OM3Kg4XbIpXd4&hl=en&sa=X&ved=0CB4Q6AEwAGoVChMIlPPp8e6yyAIVkS2ICh3riARC#v=onepage&q=wozniak%20fuck%20nixon&f=false)

<comment><USER17> > he seems to have learned his lesson

This is the big problem with Keys though: he apparently hasn't. He's issuing statements defending himself with the massively hypocritical stance that he's "protecting his sources" when, as you point out, he actually gave potential access to all the correspondence with all his newspaper's sources to a group which enjoys distributing similar material across the internet, especially if they can find something embarrassing. He's not only protesting his innocence (which he has a right to do, even if it's not a credible protest) but also insisting that such actions shouldn't be prosecuted in the first place. I don't think that it can be said that a person arguing that as a journalist they had a fundamental right to invite third parties to damage their former employer's property and potentially embarrass uninvolved third parties (out of spite rather than activism) can be said to have learned their lesson just because they've apparently performed competently at their day jobs since then.

</comment></comment><comment><USER18> jug5, you have been banned..

</comment><comment><USER19> The 25-year "offer" from the prosecution is nothing but a scare tactic to make a defendant have to sit and think about all that time for awhile while they work on the other cases they have in the pipeline.

It's a very standard practice and in no way indicates what the prosecution really wants to give him.

In my recent experience, it works very well as it is no fun sitting around for months thinking about the possibility of doing all that time.

<comment><USER2> What "offer"? 25 years is the statutory maximum. Nobody "offered" it.

</comment></comment><comment><USER20> 25 years jail for defacing a non-governmental website ? That seems like an incredibly harsh punishment ... I remember a previous case where Aaron Swartz was given 30 years for hacking into MIT website, after which he committed suicide by hanging himself ..</comment>


Fully Bayesian Computing - <AUTHOR> http://www.stat.columbia.edu/~gelman/research/unpublished/fullybayesiancomputing-nonblinded.pdf

<comment><USER2> See also "Probabilistic Functional Programming" at [http://www.haskell.org/haskellwiki/Probabilistic_Functional_...](http://www.haskell.org/haskellwiki/Probabilistic_Functional_Programming)

A Haskell embedding seems easier than adding new syntax to R, though you don't get all the nice algorithms that are already implemented in R.

<comment><USER3> The "Probablistic Functional Programming" paper was really fun, and it builds on some decades-old observations in mathematics.

You can easily extend the PFP framework to handle Bayes rule. I experimented with this a few years back, and was pleasantly surprised how natural it was:

[http://www.randomhacks.net/articles/2007/02/22/bayes-rule- an...](http://www.randomhacks.net/articles/2007/02/22/bayes-rule-and-drug- tests)

(Or, for those who love details, a PDF: [http://www.randomhacks.net/darcs/probability- monads/probabil...](http://www.randomhacks.net/darcs/probability- monads/probability-monads.pdf) )

</comment></comment><comment><USER4> I would welcome a single-paragraph summarization of the findings.

</comment><comment><USER5> Is it wrong to read a journal paper and keep giggling at "posterior simulations"?

<comment><USER6> This is not Reddit. Kindly keep comments like this to a minimum.</comment></comment>


Scaling a Lean Startup, The Story So Far. - <AUTHOR> http://blog.tommoor.com/post/25347302754/scaling-a-lean-startup-the-story-so-far <comment><USER2> Having scaled a site to millions of users and billions of data items I think the strategy of extinguishing fires as they arise is the wrong strategy. It will lead to lots of stress, lots of sleepless nights and lots of unneeded bugs. I know, because we used this strategy and I would not recommend it. There's a better way that's less stressful and better for your health.

It's the idea of being proactive and reactive - - and as a good developer you should master both and be able to switch between these states.

For example, backups and anticipations of future load should be proactive. If your load is close to maxing out today then don't wait till your web site is down before you begin optimizations. Know everything about your systems so you can take an educated guess of how many more users you can handle. Think about which strategies you can apply if you want to scale 10x, 100x, 1000x of your current load.

Reactive programming is great when you are exploring new territory and are unsure how many would use something. This is the state where you don't think about scaling to millions of users. This said, as a good developer always keep in mind how something can be scaled or how fast something is.

In other words: it's about finding balance between the proactive state and the reactive state. Don't optimize prematurely, but don't optimize when everything is burning down either. You have lots of data so use this to your advantage and make educated guess about your way of scaling.

<comment><USER3> Hey Amir,

Totally agree with what you are saying here, particularly once the idea is validated and you start to see good adoption. I've used todoist and wedoist for a long time and it certainly is reliable ;-)

This post mainly covers the really early stages before millions of users, where the most important thing is focusing on the product and market fit as much as possible. We certainly treated scaling issues in a reactive way at this point. I'd like to think we have got a lot better at being proactive as the service has grown and more people depend on us - for example the recent move to AWS was due to hardware constraints in our old setup, it was planned well in advance and executed with minimal downtime.

</comment></comment><comment><USER4> Why didn't they think of using dedicated servers? Dedicated servers would have been more economical than using so many VPSes.

<comment><USER5> Agree. If growth is (reasonably) predictable I think dedicated is a great way to go. Surely if you are aiming for an MVP, you don't want to be worrying about managing multiple boxes and adjusting the amount of RAM, CPU and diskspace they have access to. Better to slightly over provision with a cheap dedicated server then expand when you have a feel for the requirements of the project.

</comment></comment><comment><USER6> > Focus on "scaling" too early and you may well forget to focus on "building > something people want". Don't make that mistake.

Couldn't have said it any better myself.</comment>


A Reddit tattoo in thanks for bone-marrow-transplant flash fundraiser  - <AUTHOR> http://www.washingtonpost.com/blogs/blogpost/post/a-reddit-tattoo-in-thanks-for-bone-marrow-transplant-flash-fundraiser/2011/12/09/gIQAyUtvhO_blog.html?tid=sm_btn_tw

<comment><USER2> Bash all you want but this is why we need universal healthcare. We can't have campaigns like this for every person but I strongly believe that everyone is entitled to a better life. My hope is that stories like this will raise awareness of why universal healthcare is sorely needed.

Sometimes I wish there was a technology solution for everything.

<comment><USER3> Seriously. I want to live in a country where if you have a 1 in a million disease like this, you shouldn't have to worry about how much it's going to cost to get treatment.

Everybody needs healthcare/health insurance, and we are all the same species. Every single person in this country should be paying the same monthly fee for coverage. If wind up in a hospital, you should never even have to think about how it's going to be paid for.

Unfortunately in this country, we have people that will yell out "let them die" at a presidential debate about what to do with the uninsured, and why we shouldn't force people to pay for healthcare.

<comment><USER4> This story is NOT about someone who could not pay medical bills and/or didn't have insurance. It clearly states in the article that the money was needed because the parents quit their jobs and was to be used for living expenses. Please do not recast the story to suit an agenda.

<comment><USER2> And for a ridiculously difficult procedure like this? Doesn't it make sense in a way for health care to pay for it?

The parents needed to quit their jobs because they needed to move to NC. They needed to move because of the procedure. Yes it might be a grey area but I'm okay with exceptions like this.

<comment><USER5> > Yes it might be a grey area but I'm okay with exceptions like this.

It's not really a gray area, a number of countries either have a concept of "caretaker leaves" or let parents use sick/parental leaves to take care of young children (in Sweden for instance, parents can take their paid sick leave — 364 days @80% then 550 days @75% — to care for children under 12)

</comment></comment></comment></comment></comment><comment><USER6> As others have pointed out, the money was used for relocation and support while not working:

> _Lucas and his family have to relocate to be close to his doctors at Duke > University for six months. His parents decided they would both quit their > jobs to care for the boy and his baby brother. After meeting with financial > planners, the family decided they would need to raise $50,000 to support > themselves_

Even in the UK, with an extensive and complex set of welfare benefits, people would not be supported fully by the state if they just left their jobs to care for an ill child. (I have no idea what benefits would be available, the system is pretty much incomprehensible.) So Redditors did something really good, that have made this child's recovery a lot nicer.

But, for people who want to talk about politics: How can the US government spend so much on healthcare and have such a lousy system?

([http://www.independent.co.uk/news/world/americas/the- brutal-...](http://www.independent.co.uk/news/world/americas/the-brutal-truth- about-americarsquos-healthcare-1772580.html))

([https://spreadsheets.google.com/pub?key=phNtm3LmDZEOMqU- wJjq...](https://spreadsheets.google.com/pub?key=phNtm3LmDZEOMqU-wJjqgfQ))

</comment><comment><USER7> This is not the time to debate the healthcare issues

This was a great story about a caring family and their son Lucas getting treatment and the tech family helped…that's all that matters here.

<comment><USER8> Why is this "not the time to debate the healthcare issues?" I could see that being a fair point if someone had died, out of respect. But in this case I seriously do not see why it's just assumed that talking about healthcare in the U.S. is not fair game for this thread?

<comment><USER9> Because the story wasn't about the US health-care system.

It was about a family that decided to relocate to be closer to their son's doctors at Duke. They also decided to stop working during their son's treatment to better take care of him. To do this, they needed financial help and the Reddit community stepped up to help cover the bills.

These were all tough (and valid) choices for the family, but doesn't have much to do with the state of the US heath-care system. Their choices were all outside the heath-care system, it was about caring for their family during a hard time. Their son was denied treatment, in fact, insurance wasn't even mentioned in the original story.

By starting to talk about the need for universal health care, the entire conversation changes away from what was a simple story about the power of social media to help people. Instead the thread devolves to a pro-universal health-care versus libertarianism debate. Unfortunately, this is the way HN has started running on the weekends. All we end up with are the same arguments: libertarianism is awesome, Apple sucks, Android sucks, Google sucks, religion sucks, HN has degraded :), etc... it is a little tiring.

So while, it may be a good time to discuss the state of heath-care in the US, this story isn't the place. Unfortunately, that ship has sailed.

<comment><USER5> > It was about a family that decided to relocate to be closer to their son's > doctors at Duke.

It was not exactly a decision, leaving a 3 years old child for 6 months in a medical environment tends to be a rather hurtful option for everybody.

> They also decided to stop working during their son's treatment to better > take care of him.

Outside the US, there are UHC countries with (paid) caretaker leave, or allowing parents to use (paid) sick leaves to take care of young children if needs arises. In Sweden, they could have taken up to 364 days at 80% salary (and a further 550 days at 75% salary). And even without that, this would generally be protected circumstances: the employer would not be allowed to fire the employee for taking unpaid leave to take care of his/her child, not without taking significant (monetary) risks.

> By starting to talk about the need for universal health care, the entire > conversation changes away from what was a simple story about the power of > social media to help people.

I'd expect that people in here try to get to the root of the problem instead of praising band-aids. Praising band-aids is good, but insufficient: band-aids are a short-term solution to potentially systemic problems.

</comment></comment></comment></comment><comment><USER10> Some more about the story:

On Reddit blog:

[http://blog.reddit.com/2011/12/3-year-old-lucas-inspires- red...](http://blog.reddit.com/2011/12/3-year-old-lucas-inspires-reddit.html)

And the original posting:

[http://www.reddit.com/r/Assistance/comments/muvuk/everywhere...](http://www.reddit.com/r/Assistance/comments/muvuk/everywhere_hi_reddit_im_lucas_im_3_years_old_have/)

</comment><comment><USER11> This reminded me of the people in egypt (i think it was, or somewhere near) that named their baby facebook cuz he was born during the arab spring. The reddit story is more poignant to me, maybe cuz the only other mainstream media coverage of reddit was that whole jailbait debacle. Nice to see the site redeem itself..maybe redditors really do get the whole karma concept after all

<comment><USER12> ಠ_ಠ</comment></comment>


Hulu Full Screen Video Dropping Frames - <AUTHOR> http://www.andrewmachado.com/blog/hulu-full-screen-video-problems/

<comment><USER2> Seriously?

This is a blog post (and I'm being generous there) AND an HN submission?

A google query for "Hulu dropping frames" (which auto-completed before I was even done typing) shows that this is not an isolated incident.

Sorry to bitch, but the blatant link-whoring is annoying (I'm going to presume link whoring here, as your 4 submissions all go to the same dark-corner-of- the-web blog).

An HN-worthy submission would likely include a little more digging, some more composed thoughts. Actual tests and data, suggestions, etc. This is a good reference example: <http://news.ycombinator.com/item?id=639976></comment>


Triangular Notebook Design - <AUTHOR> http://www.trendslate.com/2011/07/17/triangular-notebook-design/ While this is for a paper notebook, it would be neat if this were also applied to a computer notebook or tablet. <comment><USER2> I'm probably stating the obvious, but to me it looks very awkward to write over the diagonal crease caused by the binding.

</comment><comment><AUTHOR> I wonder if they could do this to a computer notebook or tablet?

<comment><USER3> I'm sure someone could, but why would they want to?

A rectangular form factor for display has been the standard for decades. All applications, save for some desktop widgets, are shaped accordingly.

Putting rectangular designs on this would waste lots of space at the corners, and I don't see a ton of developers jumping to go support a triangular display for their UIs.

<comment><USER4> You didnt look at the article, did you?

<comment><USER5> You didn't look at the parent, did you?

<comment><USER4> Instead of saying 'yes I did"... someone wonders if a triangular tablet could be built which unfolds into a square display, like the triangular notepad in the article which unfolds into a square notepad.

They parent replies that nobody would want triangular tablets because of the waste at the corners when drawing square shapes, and the well-known rectangular nature of existing displays means nobody would jump at developing triangular UIs. They completely missed that the point of the triangular notepad is that it unfolds. That implies they didn't look at the article, because it has a picture of the triangular notepad doing that.

<comment><USER3> In fact, I did look at the article.

When I thought of a computer notebook doing this, I was envisioning a keyboard on the bottom like any other netbook.

I suppose in the tablet sense it might be possible.

</comment></comment></comment></comment></comment></comment><comment><USER6> If only my jeans had triangular pockets...</comment>


Ask HN: Stripe or Braintree for payment gateway? - rush-tea

Any good/bad experience with either?
I am tending towards stripe but however as I do not have experience on stripe, I would like to know your experience.
Braintreepayments also have the same fee structure as stripe, so overhead is the same.
I would probably pick over reviews and feedback.
Another solution is paypal, but I heard that paypal as business is not as good.  anyone can concur?
Thank you for your feedback. <comment><AUTHOR> I've tried both Stripe and Braintree and in my opinion, Stripe is the clear winner. Their docs are well written and easy to understand. On-boarding is also quick and easy and doesn't require a lengthy approval process like braintree. Lastly, they have the best developer tools and libraries compared to just about anything else out there.

Braintree on the other hand has good international support if that plays a factor into your business.

</comment><comment><USER2> Stripe has been absolutely flawless in my experience over a couple projects. And it's always instant setup, unlike Braintree IIRC.

</comment><comment><USER3> I've been using Stripe and they've been excellent, even when encountering issues.

Stay away from paypal.

</comment><comment><USER4> I've been using Braintree for a few years, and I'm very happy with them.

</comment><comment><USER5> Which is more important to you?

Speed of implementation, or absolute best price at volume.

If the former, Stripe is almost assuredly the easier implementation. If the latter, Braintree is almost assuredly cheaper (after a fee-dependent threshold.)

<comment> rush-tea at this point, since I am just starting up, I would think speed of implementation takes priority since the site needs to be out there as soon as possible.

I would think that if the startup does not fail, then probably re do it again to get cheaper volume pricing

that's my thought.

is the fee negotiable for both stripe and braintree?

<comment><USER6> (I work for Stripe.)

We're happy to offer very competitive discounts for businesses on track to charge over $1M/year. Simply email us at email@example.com</comment></comment></comment>