HTML is almost 100% responsive out of the box - <AUTHOR> http://fluidity.sexy/ <comment><USER2> The 108 bytes in question:

        @charset "UTF-8";
        img,canvas,iframe,video,svg{max-width:100%}
        .overflow-container{overflow-y:scroll;
        -webkit-overflow-scrolling:touch}

Analysis (EDIT):

I'm not sure why the CSS needs to be declared as containing UTF-8 since all the characters of the file are part of the US-ASCII range.

Use the .overflow-container on tables and pre/code blocks. "-webkit-overflow- scrolling" seems to be useful to allow horizontal scrolling on overflow elements on iOS [1].

* [1]: [http://stackoverflow.com/questions/15605085/webkit-overflow-...](http://stackoverflow.com/questions/15605085/webkit-overflow-scrolling-touch-causing-vertical-scrolling-problems-on-mobil)

<comment><USER3> The non-min version has a UTF-8 character in a comment. Rather silly.

<comment><USER4> Sass by default sets UTF-8 encoding.

</comment></comment></comment><comment><USER5> I don't think 'responsive' means what you think it means.

<comment><USER6> You mean, it doesn't mean scrollbars everywhere??

</comment></comment><comment><USER7> This is not in any way useful as a library. Charitably, it's a useful reminder to set max-width to 100% on embedded media. Less charitably, it's an artifact of the hype du jour on one of those terrible new-fangled TLDs.

<comment><USER8> === Just FYI... after opening this link, === and in short succession this nearby one: news.ycombinator.com/item?id=7404218 ("Bootflat"), something sent my Firefox browser and then my entire Galaxy Tab 8.9 (which has been functioning pretty flawlessly for 3+ years) into an unstable state.

I may have to root/wipe it now... :( I can't prove that it was caused by either this or the other link, but the coincidence is troubling... who checks these HN submissions for malware anyway?

</comment></comment><comment><USER9> Okay, I'll bite: what does the author mean by 'responsive'? It doesn't say anywhere on the page.

<comment><USER10> It responds well to being resized (e.g. to fit on a mobile phone screen instead of a large monitor). Although, I think it is normally used to mean considerably more than the simple scaling being done here (e.g. I've seen designs where the text goes from two columns to one if the display is narrow). [http://en.wikipedia.org/wiki/Responsive_web_design](http://en.wikipedia.org/wiki/Responsive_web_design)

<comment><USER11> Right. His first example puts a scale factor on a 2400x700px image to make it "not too big" for smaller screens. That's responsive design the same way that the NES emulator on my old WinCE phone in 2003 (which had a touch display that only supported a single input touch at a time) was NES on WinCE.

</comment></comment></comment><comment><USER12> I post a 1 line solution that lets you manage complex application state changes in responsive layouts and deal with gui conflicts across responsive designs using pure CSS/LESS and don't get a single upvote.

This guy posts that HTML is fluid by default with a couple lines of CSS and gets 20 votes.

HN, I really don't understand what the hell is going on here anymore.

<comment><USER13> Your post probably wasn't noticed by the right eyes. There's a lot of content being posted to HN these days.

It's not a personal attack. HN doesn't have a campaign against you (or if there is one, I wasn't invited).

<comment><USER12> Nah I don't assume anyone is avoiding upvoting out of spite or anything, but I just thought HN as a whole was technically more advanced than most other communities because of the user base and niche ... so it leaves me scratching my head.

<comment><USER14> I've noticed a definite upswing in nontechnical (management, strategy, gossip/politics, worldnews) articles during weekdays in the last couple of years. There are also many more 'redditlike' comments in the last 6 months to 1 year- jokers, puns, easily googlable questions etc. HN community is just changing in that direction as the audience grows.

</comment></comment></comment></comment><comment><USER15> Off-topic, but: I love the feeling of seeing a new TLD for the first time. I immediately start thinking about possibilities and everything seems golden for a while.

<comment><USER16> Funny that you mention it, I get what you mean. Its a bit like the sequence from "once upon a time in the west", where the camera goes over a hill, showing all the unclaimed land, the workers building the new railway etc. Epic scenery of a land of opportunity, golden afternoon sun rays, with a grand Ennio Morricone soundtrack playing.

Stupid really, after all its just a TLD.

</comment></comment><comment><USER17> I think this is the first time I've seen a new generic tld in the wild. Took me by surprise!

<comment><USER18> the first one i saw was vim.sexy

<comment> vertex-four Also to be found: [https://rms.sexy/](https://rms.sexy/)

</comment></comment></comment><comment><USER19> I love this idea - I no longer like using Twitter Bootstrap because it's just so huge! And 90% of the time I find myself creating an override file to style it to my websites feel.

I do love their grid system though, does anyone know of a great lightweight grid system that's robust like Bootstrap's?

<comment><USER20> This blew my mind when I first saw it -- a minimalist DIY grid system: [http://jordanlev.github.io/grid/](http://jordanlev.github.io/grid/)

<comment><USER20> Edit: when I originally posted this, it was a fork of [https://github.com/aekaplan/grid](https://github.com/aekaplan/grid) \-- which I did not write (tried to express that via "when I first saw it", but in hindsight was not clear). I've since changed it at the original author's request. Apologies for any confusion!

</comment></comment></comment><comment><USER21> Responsive is different than fluidity.

Many designer/integrator seems to forget that there is no need to css3 to give fluidity. But responsivness is not what you think it is.

Your design is in now way responsiv, it merely adapt screen size, but content is became less and less readable as screen size lessen.

</comment><comment><USER22> For those who actually want to see the code behind this:

[https://github.com/mrmrs/fluidity/blob/master/css/fluidity.c...](https://github.com/mrmrs/fluidity/blob/master/css/fluidity.css)

It's a good start to getting properly responsive websites. A lot of times this really is all that's needed. But sometimes more complex solutions are needed for certain elements.

<comment><USER3> The CSS file could be more minimal if "@charset "UTF-8";" were removed. The only reason this is required is because of the UTF-8 character in the comment.

</comment></comment><comment><USER23> .sexy blocked by most business firewalls, not a bright idea, might want to find another extension.

<comment><USER24> If you're working for the sort of company that would go out of it's way to block all URLs which have the string "sex" in them, you've got bigger problems than not being able to view website.

<comment><USER25> Many years ago when I was doing .NET programming, a helpful resource was [http://systemwebmail.com/](http://systemwebmail.com/). Predictably, the firewall at $CORP blocked /webmail/. I had to print it at home and bring it into work.

<comment><USER26> At workschool "proxy" is blocked, however you can just google for prxy and it auto corrects

</comment></comment></comment></comment><comment><USER27> Regardless of whether he's misinterpreted what responsive is or not, try putting "Boy, tables in HTML really do suck ass" into one of the table cells.

</comment><comment><USER28> This is really the true secret: max-width: 100% is usually the first and often only change needed. Nice work.

<comment><USER29> Agreed. For me the most important this is load time -- if it takes more than a few seconds, I move on well before even the best of current responsive solutions have a chance to load and do their magic. This doesn't address that entirely, especially in the case of large images or heavy iFrames, but at least I can start reading almost immediately. Also, navigation would still be a struggle with this solution, though just a list with display:inline would be functional.

</comment></comment><comment><USER30> I like the part where I don't have to wait 10-20 seconds for the page to load and render.

</comment><comment><USER31> Reminds me of that annoyingly pious vanilla-js site from a while back.

Yes, HTML is 100% responsive out of the box, something so well understood, it nary even warrants mention. We are so far past that part of understanding that our conversations surround polishing appearance to the nth level. We don't fiddle with CSS because we don't need to; we do it for the 1% of cases HTML alone isn't enough. So congrats on writing your first reset, something literally every web developer has already done in their lifetime.

</comment><comment><USER32>
      print "a = #{a} b = #{b}, c = #{c}, d = #{d}\n"

                     V
      print "a = #{a}, b = #{b}, c = #{c}, d = #{d}\n"

</comment><comment><USER33> fluidity.min.css:

        @charset "UTF-8";
        img,canvas,iframe,video,svg{max-width:100%}
        .overflow-container{overflow-y:scroll;-webkit-overflow-scrolling:touch}

</comment><comment><USER34> It's shame that HN, a technical community, still doesn't have a good responsive design.. and even design at all.. I'm always bit confused when viewing the site :(

</comment><comment><USER35> It is obvious the browsers will try to stick all content into the view port by default. Too bad the web doesn't consist of vertical pages with no alignment whatsoever.

</comment><comment><USER36> I hate to be that guy but... isn't these examples of _fluidity_ and not actually _responsiveness_?

ps: cool domain suffix :)

</comment><comment><USER37> Scrollbars in MSIE 11 on the tables and preformatted text examples.

</comment><comment><USER38> Not for me on Firefox, according to that sample page.

</comment><comment><USER39> I don't get it

<comment><USER40> The Emperor has no clothes ... pass it on

</comment></comment><comment><USER41> you still end up loading the gigantic image to go on a tiny screen, so you consume a lot of memory on a mobile device for no-gain.

</comment><comment><USER42> Heh, I didn't know about .sexy before this.

<comment><USER43> there is going to be a flood of new tlds soon

[http://www.key-systems.net/english/news/new-gtlds/new- gtld-l...](http://www.key-systems.net/english/news/new-gtlds/new-gtld-launch- dates.html)

<comment><USER44> "Soon"? It's already happening. There's dozens already open to the public.

<comment><USER43> Yes, but there will be almost 1000 released "soon"

</comment></comment></comment></comment><comment><USER45> scrollbars much?</comment>


CNNMoney: Where did Bitcoin go wrong? - <AUTHOR> https://www.youtube.com/watch?v=GYJdOiLqSxE

<comment><USER2> You'll learn nothing new about Bitcoin through watching this. Three minutes of fulmination, no technical detail, no actual argument for or against the suitability of Bitcoin for any purpose.

One good zinger of a line, though: "There are less holders of Bitcoin worldwide than members of the Kuwaiti Airlines frequent flyer club."

<comment><USER3> > Three minutes of fulmination, no technical detail, no actual argument

Welcome to CNN.</comment></comment>


Adobe Open Source - <AUTHOR> http://adobe.github.io/ <comment><USER2> It's nice to know that the biggest tech brands are slowly moving towards open source. That does reassure common men like us.

<comment><USER3> Adobe is sitting on tons of software and could open source a whole lot more, such as their embedded JS (ES3?) engine and maybe older FrameMaker sources and other print-era renderers they don't have a direct commercial interest in anymore.

<comment><USER4> > their embedded JS (ES3?) engine

Your wish has already been granted. "Source code for the Actionscript virtual machine": [https://github.com/adobe-flash/avmplus](https://github.com/adobe- flash/avmplus)

4 years old, dunno how closely it tracks the current Actionscript interpreter in the Flash plugin. It's also worth noting that they donated this VM to Mozilla eleven years ago, according to Wikipedia: [https://en.wikipedia.org/wiki/Tamarin_(software)](https://en.wikipedia.org/wiki/Tamarin_\(software\))

</comment></comment></comment><comment><USER5> How much a month does the subscription to the open source code cost? ;)

<comment> 52-6F-62 $30 USD a month, or $150 CAD, and you have to commit to a year at signup. Cancellation fee is 99% of the remaining term.

Kidding aside --- any plans for Adobe to open-source Coral UI? I work with projects that run right beside AEM but not within it, and it would be great to make that entire experience seamless.

</comment></comment><comment><USER6> Does anyone knows what's up with Boost GIL by Adobe? It's not hosted here, but it's on their website: [https://stlab.adobe.com/gil/](https://stlab.adobe.com/gil/) (With no updates in 10 years :S)

Is it abandoned...? Is it "done"? (Or has everyone moved on to some other library?)

I really liked the template magic it did. It was so generic and flexible with image formats while being very performant. Really puts to shame the garbage that's in OpenCV

<comment><USER7> From 5 minutes of googling it looks to me like it's been collectively quietly moved on from, but that it's not broken.

Put it this way: it's in Boost. Boost is an established standard. If a library in Boost suddenly stopped working because of language changes, that would produce some kind of response. In GIL's case, it looks like may be a reasonable number of quiet users of GIL, so any such "okay, we need to do something about this" _might_ be met with a collective "wait, hold up, let's fix it."

Note I said _might_. I honestly have no idea.

What I did was search for "adobe gil" but date-restricted the search to after 2007: [https://www.google.com/search?q=adobe+gil&tbs=cdr%3A1%2Ccd_m...](https://www.google.com/search?q=adobe+gil&tbs=cdr%3A1%2Ccd_min%3A2008%2Ccd_max%3A)

That gave me

[http://boost.2283326.n4.nabble.com/gil-What-is-the-status- of...](http://boost.2283326.n4.nabble.com/gil-What-is-the-status-of-the-Gil- extension-numeric-td4643192.html) \- from 2010

[https://code.google.com/archive/p/gil- contributions/source/d...](https://code.google.com/archive/p/gil- contributions/source/default/commits):

\- most recent commit 2013

\- most recent downloadable file 2010

\- one export to github, [https://github.com/chyh1990/gil- contributions/commits/master](https://github.com/chyh1990/gil- contributions/commits/master), that hasn't made any changes (github commit list === google code commit list)

\- result [http://www.boost.org/doc/libs/1_36_0/libs/gil/test/image_io....](http://www.boost.org/doc/libs/1_36_0/libs/gil/test/image_io.cpp) says to look at [http://opensource.adobe.com/gil](http://opensource.adobe.com/gil), this redirects to [https://sourceforge.net/adobe/wiki/Home/](https://sourceforge.net/adobe/wiki/Home/). Jumping manually to [https://sourceforge.net/adobe/wiki/Projects/](https://sourceforge.net/adobe/wiki/Projects/) leads me to [https://sourceforge.net/adobe/genimglib/home/Home/](https://sourceforge.net/adobe/genimglib/home/Home/), which shows updates from 2007.

BUT.

I tried refining my google search to `adobe "gil"`, including the quotes. The first result?

[https://github.com/boostorg/gil](https://github.com/boostorg/gil)

And then...

[https://github.com/boostorg/gil/commits/develop](https://github.com/boostorg/gil/commits/develop)

shows commits from last month. Objectively speaking it's not, say, React. There were a bunch of commits in 2013-14.

The project only has 15 stars, 7 watches and 20 forks, but

\- [https://github.com/boostorg/gil/graphs/contributors](https://github.com/boostorg/gil/graphs/contributors) shows a total code churn of 214,889 added lines, 99388 removed lines (data without context - could be due to version control shuffling) between about 15 committers (I didn't count them)

\- [https://github.com/boostorg/gil/pulse](https://github.com/boostorg/gil/pulse) shows... not much, because I can only show 1 month max :(

\- Of the 4 issues, none have been closed, but there is extensive discussion between maintainers on one of them (on what looks like a setup issue).

I don't know what to make of this repo, here's hoping if you poke it you'll get a nice result. :P

<comment><USER6> I guess it's still on life support - but the real question is: Does Adobe still use it internally?

</comment></comment></comment><comment><USER8> I'm very surprised that adobe isn't using a custom hostname.

PaaS are transient, but URLs are "forever"

<comment><USER9> this makes it official.

:/

</comment></comment><comment><USER10> [https://github.com/adobe/flash-platform](https://github.com/adobe/flash- platform)

A place for them to put Flash after they stop supporting it?

<comment><USER11> Would I be able to submit a patch to uninstall the Intel True Key bloatware that comes with Flash? Nobody is able to remove this piece of sh.. [https://forums.adobe.com/thread/2126934](https://forums.adobe.com/thread/2126934)

</comment></comment><comment><USER12> Snap.SVG is great!

</comment><comment><USER13> Brackets is pretty good and it's very fast for a hybrid. I don't use it much these days though except when I just want to use a different editor for a change.

</comment><comment><USER14> I didn't even know this was a thing. Sounds like a great idea. Although with adobe's track record like with coldfusion i don't know about this one

<comment><USER15> What is Adobe's track record with ColdFusion?

<comment><USER16> ColdFusion wasn't always owned by Adobe.

The software was developed by Allaire in 1995. Macromedia bought Allaire in 2001, and Adobe bought Macromedia in 2005 [1].

My memory is from end of '90s and it had a terrible track record back then, security-wise.

Here's the current track record from '06 and onward [2].

[1] [https://en.wikipedia.org/wiki/Adobe_ColdFusion](https://en.wikipedia.org/wiki/Adobe_ColdFusion) [2] [https://www.cvedetails.com/product/8739/Adobe- Coldfusion.htm...](https://www.cvedetails.com/product/8739/Adobe- Coldfusion.html?vendor_id=53)</comment></comment></comment>


I made a cloud-native content agency for under $70 - <AUTHOR> https://cloudspeakers.dev/ <comment><AUTHOR> Now I just have to scale it.</comment>


Film Dialouge Broken Down by Gender and Age - <AUTHOR> http://polygraph.cool/films/ <comment><USER2> A great visualization! And it is great that the authors provide links to the movie scripts (I think I will use these for another movie visualizations).

The only qualm is the scrolling - I would really prefer to have these visualizations being separate and scrolling behave normally. Sure, I understand it looks cool and fashionable, but (at least for me) its really distracting.

When it comes to the good stuff - I like the most the last feature, when one is a able to search for movies and look at characters (sometimes movie is "male" or "female" due to protagonist... or the mentor character, which very often have more lines).

For actor ages - a nice pick (I think it is highly related to the viewers' preferences - vide [http://blog.okcupid.com/index.php/the-case-for-an-older- woma...](http://blog.okcupid.com/index.php/the-case-for-an-older-woman/)).

</comment><comment><USER3> How was this measured?

The article says "number of lines", but wouldn't time or words be a better measure?

<comment><USER4> If I understand correctly, the way that a screenplay is formatted takes care of all three simultaneously. The font is monospaced and the text size, margins, and line spacing make one page of dialogue pretty close to one minute of time.

<comment><USER5> This was omitted from the piece, but we count words and then convert to lines at ~10 words/line. When pop culture talks about dialogue in film, we use lines. So that felt more natural than "# of words spoken."

</comment></comment></comment><comment><USER6> One thing the article could mention, which is apparent from the last graphic, is that there is a slight trend towards improving the gender balance.

</comment><comment><USER7> This was a great read, and the charts were very fun to interact with.</comment>


US in 'once-in-a-century' financial crisis : Greenspan - <AUTHOR> http://www.breitbart.com/article.php?id=080914181841.fsmkqu8s&show_article=1 <comment><USER2> I am the only one that thinks Greenspan should probably keep a lower profile, since he and his policies played a pretty large part in creating this fucking mess?</comment>


Dollar Stores not just a response to poverty but a cause - <AUTHOR> https://www.washingtonpost.com/business/economy/as-dollar-stores-move-into-cities-residents-see-a-steep-downside/2019/02/15/b3676cbe-2f09-11e9-8ad3-9a5b113ecd3c_story.html <comment><USER2> Paywall bypass: [http://archive.is/BiSPt](http://archive.is/BiSPt)</comment>


Creating a Killer Early-Stage Pitch Deck for Angels & VCs. - <AUTHOR> http://ryanspoon.com/blog/2011/05/03/creating-an-early-stage-pitch-deck/

<comment><USER2> This is cool but I have a question I rarely see explained here on HN or elsewhere: _How do you actually get in front of an Angel or VC to show them your deck/demo?_

Assuming that one like myself (a) lives outside SV but can visit easily, (b) has past experience and moderate success bootstrapping, and (c) knows absolutely no one in the angel/VC circles ... how would you setup a 3 to 5-day visit to SV in order to pitch potential investors?

Will Ryan Spoon (who wrote this post) even reply to my email? Or is this advise only for those who are 2 degrees of separation from him?

<comment><USER3> Never hurts to try. And there are answers to those questions -- I'll try below, but I'm sure other places can answer it better.

If you don't know anyone, the best way to get intros is to do an incubator program. Regardless, people there are generally very nice and most will make intros pretty easily. But to do a 3-5 day blitz is extremely difficult even for people with huge rolodexes; especially if you're raising from VCs as the followup cycle can include up to a half-dozen meetings. And not meeting in person on those can hurt you because VCs care most about team. I would say AngelList is probably your best bet for that quick of a blitz, but it's probably best to budget a week and a half or more.

</comment></comment><comment><USER4> Is "Killer" the new "Rock Star"?

BTW, the original post title is simply: "Creating an Early Stage Pitch Deck"

</comment><comment><USER5> I saw this reply shortly after it was posted:

"never give out your pitch deck"

<http://twitter.com/#!/rafer/status/65477539711295489>

<comment><USER6> That seems rather ludicrous.</comment></comment>


HN via RSS - <AUTHOR>

Are many of you reading HN via the RSS feed?  Do you also find it annoying that the RSS entries link to the submitted URL and not the HN page?  So by following the link in an RSS reader you miss the comments. <comment><USER2> try a search on Yahoo pipes for alternates - but there is a time delay for updates.</comment>


Ask HN: What do you use for Flask social/oauth login? - <AUTHOR>

I'm using Flask to develop a project (https://github.com/rahimnathwani/measure-anything).  I've used Flask for a few small things before, but this time I'm trying to do better by:
- Instead of having everything in a single .py file, using Python packages and Flask blueprints to make the code more modular.
- Having a way to distinguish between different users
- Tests (I haven't written any tests yet)
I'm using Flask because I find Python comfortable, and I was scared off by the amount of convention I encountered when I researched Rails and Django.  Both Two Scoops of Django, and Michael Hartl's Rails Tutorial, are excellent, but the learning curve to having a basic project working seemed too long.  Maybe I'm wrong.
Anyway, this is just to say that I realise I made a choice not to use a 'batteries included' framework, so I shouldn't expect social auth to be easy.
I've seen three different modules for social auth in Flask:
- https://github.com/omab/python-social-auth
- https://github.com/mattupstate/flask-social
- https://github.com/wooyek/flask-social-blueprint
Do you guys use one of these, or roll your own using Flask-OAuthlib?
I'm sure my ideal flow is pretty common: click a Facebook or Google button, click 'authorise', have the software auto-create an account, and then log me in.  I'm almost there with Flask-Social; I still need to enter my email address and a password before the account is created, but I think I can fix that as long as I can get an email address from somewhere. <comment><USER2> I used flask_oauth: [https://pythonhosted.org/Flask- OAuth/](https://pythonhosted.org/Flask-OAuth/) You can take a look at how it's used in this file: [https://github.com/bjourne/vvm/blob/master/app/users/views.p...](https://github.com/bjourne/vvm/blob/master/app/users/views.py) Personally, I wouldn't want to use Flask-Social or anything like that because it feels like putting on a straitjacket. You have to follow someone else's conventions and idiosyncrasies and setting up oauth the way you want it is easy (~100 lines max) so it doesn't buy you anything anyway.

<comment><AUTHOR> Thanks. This code sample will be useful for me to study. It follows the structure I am using (a separate 'users' package which creates a users Blueprint) but hand-rolls the stuff I was trying to do with flask-social, whilst still leveraging flask-login.

</comment></comment><comment><USER3> I use Automatic, it comes with Facebook, google oauth support and it is very easy to use. [http://peterhudec.github.io/authomatic/reference/providers.h...](http://peterhudec.github.io/authomatic/reference/providers.html)

<comment><AUTHOR> Thanks. Do you use it alone, or alongside flask-login?

</comment></comment><comment><USER4> I use flask_oauth, but it seems rauth/flask-rauth is more up to date.

<comment><AUTHOR> Thanks for this! I just had a look at the docs/examples for flask-oauth, flask-rauth and flask-oauthlib. They each appear to provide similar functionality: redirect the user to authorize the app, and then return back an access token and maybe other account details like username or email address.

I see that I would have to build my own functionality for keeping track of users between sessions, i.e. a persistent user database.

Do you create a 'shadow' user account in your system to correspond with each authorized account? What happens if someone logs in with Facebook one day, and Google another day; do they end up with two user accounts?

More importantly, do you write your user management code again each time you create a new project, or is it modular enough that you can re-use it?

<comment><USER4> Yes, I don't check if the same user logged in with a different social account.

Modular enough for my needs. I tried [https://github.com/mattupstate/flask- social](https://github.com/mattupstate/flask-social) which seems to be a more structured approach but couldn't wrap my head around it.</comment></comment></comment>


AI Generated Skateboard Deck Graphics - <AUTHOR> https://github.com/RJT1990/gandecks <comment><AUTHOR> I'm going to get one printed in real-life - once I do some superresolution and probably a bit of manual Photoshop editing. Which design do you guys like best?

<comment><USER2> Lignite is my favourite!</comment></comment>


Camperoo (YC W14) Helps Parents Find and Book Summer Camps, Activities for Kids - <AUTHOR> http://techcrunch.com/2014/03/20/camperoo-helps-parents-find-and-book-summer-camps-other-activities-for-kids/ <comment><USER3> Just a friendly reminder for parents to not turn a blind eye to anything that goes on at camp. For example, bullying. Teach your child strategies for dealing with it and keep a close emotional attunement. This is a PSA for parents who actually care and don't just use camp as a glorified babysitting service.

</comment><comment><USER4> Genius! I have 2 kids and spent the last 3 weeks fretting about camps and getting kids into camps. Its all word of mouth at the moment. Brilliant idea!

<comment><AUTHOR> Thanks! Are you in the Bay Area by chance? I'm Emmie, the founder. New site design to push out this weekend, please take a look again soon. (we wanted to push it out before the TC article, but it was too unstable)

<comment><USER5> Please come to the UK - my wife and I spend a remarkable amount of time trying to organize stuff to keep our son constructively occupied!

[NB One thing I would love is some way to enter into a discussion with our son about what he wants to do and to rate different options - at the moment we do this through email and printing stuff out, which is dreadful.]

<comment><AUTHOR> Hey! Actually, I just found out that there were camps in the UK. I met an ex pro-football player who used to run his own programs in the UK from 1999-2009. I'll definitely explore expansion to the UK! I love it there, and drive a Mini :). Good points on the discussion with your child--we'll have camper profiles soon to allow for kids to bookmark their own things

<comment><USER5> From what I understand, things are a bit different here - <USER2> camps/activities are for a week or less, so for a summer holiday of 7 weeks there is a lot of time to fill and a lot of organizing to do.

<comment><USER6> In the summer, things are somewhat similar on this side of the pond. There are lots of one week day camps over the summers.

</comment></comment></comment></comment></comment></comment><comment><USER7> During early elementary school I learned more in camp than I did at school.

I was also first exposed to C++ in a summer program around 1998.

With the right vendors this is more than a marketplace for camps, it could radically change education. Kids can pick up technical skills VERY early (that schools won't give them), and they'll have years to master them.

</comment><comment><USER8> "Expedia for..." sounds pretty weird. Think of something else. I can't remember what actual Expedia is for.

<comment><USER9> The whole title sounds a bit weird. What about "Kayak for childrens' camps and activities" or instead of Kayak, Hipmunk? Since they are in YC, they should totally mention that in the title as well.

<comment><AUTHOR> We actually do the registrations, not just an affiliate thing like kayak or hipmunk....opentable for kids camps?

<comment><USER10> I like OpenTable for kids camps! I think more people probably get how OpenTable becomes a core part of the restaurant's infrastructure than Expedia does for travel.

</comment></comment></comment></comment><comment><USER11> I remember being pitched this idea at START pitch day - I really think it is a great idea.

I agree with the comments above: "OpenTable for camps" is a _much_ better (or at least more recognizable) comparison than Expedia.

Congratulations on becoming part of YC 14!

</comment><comment><USER12> Damn. I started down this path but had to give up -- it was too hard to scrape the data. Add to that building relations and the site itself (by myself).

Best of luck!

</comment><comment><USER13> The resemblance to [http://www.zappos.com/](http://www.zappos.com/) is somewhat ethically questionable.

<comment><AUTHOR> Love how you're the only Person ever to say that! We were definitely inspired by it. Switching in a few days to the new look and feel, designed specifically for us!

<comment><USER13> That's good, congrats on the launch!

</comment></comment></comment><comment><USER10> Great work Emmie! This is totally needed, finding and registering for camps has been a mess for years.

</comment><comment><USER14> I remember this being here as a SHOWHN a few months ago.

Now it's YC14? Congratulations.

</comment><comment><USER15> Very happy to see another successful venture from Houston.

Great work folks! :)

<comment><AUTHOR> Thanks! H-Town represent!! (wait that sounded really silly...probably less silly than if I really said that out loud)

<comment><USER16> It's encouraging to the rest of us Houston startups to see your progress!

<comment><USER15> Yes, all 4 of us! :P

</comment></comment></comment></comment><comment><USER17> Have you seen CampEasy? Looks pretty big and complete</comment>


So Is Web 3.0 Already Here? (TCTV) - <AUTHOR> http://techcrunch.com/2011/04/18/so-is-web-3-0-already-here-tctv/

<comment><USER2> Can a term be any more meaningless than Web 3.0? There was certainly something interesting going on that led to the birth of "Web 2.0"—the rise of AJAX and an increasing number of application-style websites. However at this point not only has "Web 2.0" been run into the ground, but the potential of the web is exploding in all directions as it goes fully mainstream. Think about it, kids entering college this year were born _after_ the invention of the WWW! It's not just the data, but also the open source software, the cheap on-demand commoditized computing resources, the smartphone revolution, and the general instinct among the new generation of professionals for how all this fits together that is creating the web we know today.

To even attempt to define the term "Web 3.0" just smacks of self- aggrandizement of punditry. There is no "Web 3.0", there is only a smooth evolution at this point. If we want to discuss trends, let's talk trends. We don't need to sit in our armchairs and act like we have this whole technology- thing summed up in an easily digestible linkbait title. Fuck.</comment>


Hawaii's Freemason Kings - <AUTHOR> https://daily.jstor.org/hawaiis-freemason-kings/ <comment><USER2> Freemasons are interesting. There's a relationship between them and Shriners (every Shriner is also a Freemason), they contribute a tremendous amount of money for healthcare and other worthy purposes.

There's also a lot interesting trivia around Freemasonry. I took a cemetary tour once, the guide explained some of the symbolism in the Mason's markers. (i.e. many contain decorative columns. The height at which the column is broken off indicates how old the Mason was at time of death. There are many other interesting symbols.)

<comment><USER3> __The Shriners are great guys that donate a ton of cash to children

Meh. Masons. The mason lodges were a place a bunch of guys got together in the 18th and 19th century, drank beers and bitched about politics (EG. No football yet). Because of their massive scale and their 'club' feel people immediately assumed a conspiracy. I wouldn't give them this much credit --- as the history channel does on some crappy episode of Ancient Aliens.

Now? I help old mason guys get out of their car door at Walgreens. Their lodges are almost empty, they are dying off in age and much of their lodge real estate is rented out for Justin Bieber concerts [1].

.

[http://centersanfrancisco.com/nobhillmasonic/Tickets- Active....](http://centersanfrancisco.com/nobhillmasonic/Tickets- Active.php?eventID=2673613&venueID=2716)

<comment><USER4> Like anything, it polarizes. There are some thriving lodges, expiring ones, and not a lot in the middle.

Personally, I think they are due for the pendulum to swing back in their favor as generations of men start asking themselves hard questions about what it means to be a good man. The quality of the answers provided by the internet, media, self help, whatever life coaches do, and even churches is limited, and yet the popularity of the topic shows how prevalent the need is. A resurgence could help repair the civil fabric.

I didn't know about the Hawaiian Kings, that's some peculiar trivia, but it makes sense, and I understand has a lot of precedents.

Can say that the new documentary on Netflix is hilariously accurate.

<comment><USER5> What about the new Netflix show is accurate? I was curious about the veracity of the show and the breadth of what it covers.

<comment><USER4> Mainly the kinds of characters you meet, and what it means to them. If someone found the documentary appealing, they likely wouldn't be disappointed by the experience either.</comment></comment></comment></comment></comment>


What Apple Just Did: What if music had tools restrictions and a review process? - <AUTHOR> http://blog.joa-ebert.com/2010/04/09/what-apple-just-did/

<comment><USER2> A few years ago I worked as a journalist, and one of the major events at the time was news photographers hating the fact that newspapers were sending out normal reporters with DSLRs and telling them to take 200+ shots. Most of the time, they took a usable photograph. The pro news photographers said, 'But you can't expect an untrained person to take good photographs!' And they insisted that the papers stop sending out camera-armed news reporters.

The thing with that, though, was that if you John Random Reporter couldn't take pictures of near-equivalent quality to a John Pro Photographer, the papers would stop doing it. But they didn't. If the photographers' point was true, they had nothing to worry about. But they knew they did indeed have something to worry about. The truth was that the amateurs could come close enough to equalling the pros that the trade off versus cost savings was worth it.

There is a parallel here with closed versus open systems. We howl, 'You can't do that!! Closed systems canot possibly equal the innovation and development of open!!' And if that's the case, we have nothing to worry about. Quite possibly, though, that is not the case. The insistence on closed that seems so anathema to much of the history of software development may in fact be a good thing for the end user, and our howls of outrage nothing more than being called on something that is no longer true.

That sense of threat would at least explain the inordinate number of HN stories on this topic.

<comment><USER3> The problem with this is that the erosion of quality is not necessarily noticed immediately, but the slow increase of dissatisfaction builds until people finally reach the quitting point.

There's many instances of media where I look at older versions of the product and think, "man, why is this quality absent from their product today?". I didn't consciously notice it when the snowball was still near the top of the mountain. But eventually the snowball got big enough for me to bail.

</comment></comment><comment><USER4> Interesting perspective because it equates devs with musicians, which while not an intuitive comparison might be increasingly accurate.

If it is, the future is not promising. Musicians have been getting screwed for years by record labels. They put up with it because their primary goal was to create, and find an audience. Being treated like a commodity by the record labels was aggravating and dehumanizing but didn't stop either music production or the practices of the labels.

Maybe all of us 'rockstar' developers should be careful what we wish for.

<comment><USER5> Ah, but musicians got screwed by Apple, too! (I might add that the record label bogeyman is clearly in no danger of disappearing from the collective consciousness of Hacker News.)

Here's the thing: Apple is a platform company, and in essence, it's been in the business of screwing those that are hostage to its platform at least since its renaissance. Apple doesn't want those in its ecosystem to make much money, because it wants you to give _it_ your money.

That's why it said "Rip. Mix. Burn." with respect to musicians' work back in 2001 (to much cheering and adulation from developers): they were quite happy for you to get all your music for free (at the expense of the artists and labels), and instead allocate your disposable income to their hardware devices. When they opened iTunes, they added insult to injury by not allowing musicians to control how their music gets packaged and priced. I don't remember anyone complaining about the Apple's hard-driving tactics then.

And lo, now they're treating third-party developers with the same contempt they previously reserved for musicians -- and suddenly the Hacker Community is up in arms. Plus ca change...

> Maybe all of us 'rockstar' developers should be careful what we wish for.

It's what you wished for ten years ago that put you in the quandary you now find yourselves in. Apple's stranglehold on music is what gave it the wherewithal to extend into other areas.

Hacker News, you've just discovered what it feels like when someone's got you by the balls.

</comment></comment><comment><USER6> Boring. It's actually a pretty good analogy though.

      Musician: hai! I play bongo music. Can I be signed to your label?

      Label: uh no, we're a rock label. You must use much guitars.

      Musician: This is outrageous! I must get the online world
                to feel outrage and boycot you.

Can we stop all the whining and reactionary moral outrage on hackernews yet? Please? :(

If you don't like it, go make your own iPhone/iPad instead of incessantly whining like some teenager that isn't allowed out.

<comment><USER7> Or stop buying Apple products. That's the only way to fight back.

<comment><USER8> The thing is, a lot of people see a huge potential in this platform, and they're sure it could be ten times better if only Apple decided to be a bit less closed.

<comment><USER9> It's not your platform. You don't get to decide. How can I make this more clear to you? Why do I even need to explain this?

</comment></comment></comment></comment><comment><USER10> Anyway, developers have an advantage that musicians don't

Musician: You know what? I'm done with you! I'm out! I'm going to pull my music out of your stinky store.

Apple: No, you won't. We have an agreement with your media overlords (cof, cof) I mean, your record label.

<comment><USER11> Well, they can do what Van Morrison did when he wanted to get out of a bad contract.

<comment><USER12> Or The Artist Formally Known as Prince

My point here is good developers will have options - maybe not ones they like

</comment></comment></comment><comment><USER13> That's a good analogy. Seems useful for explaining the developer moral outrage to non-developers.

<comment><USER14> This is a horrible analogy. When you produce music it doesn't have to hook into an external API. Can badly produced music crash a device (aside from the user's ears)? No.

<comment><USER15> No, it is a great analogy. Think of it this way, the record labels do what Apple does with it's review process -- ensure that 'quality' music is produced and distributed to listeners. But record labels do not limit what instruments can be used to produce that music.

If Apple allows C, and they do, the choice of tool doesn't affect whether or not the device will crash.

</comment></comment></comment><comment><USER16> One Platform to rule them all, One Language to bind them.one app store to bring them all, and in the darkness bind them

</comment><comment><USER17> The analogy is broken. Humans don't interact with music in the same interactive way that they do with software. Music does not execute on your computer (except for DRM stuff, perhaps).

I don't think you'll ever hear someone say, "This music is full of bugs! It keeps crashing on me."

<comment><USER15> The analogy isn't broken because record labels and Apple both have a "review process". But record labels don't limit what instruments you can use. What Apple has done will not reduce the number of bugs or prevent crashing.

</comment></comment><comment><USER18> Analogies are useless for debate, no matter how good they are. Anyone who doesn't agree just provides a different analogy that supports their point better, and then the argument shifts to arguing which analogy is better!

<comment><USER19> They can be helpful, if only by exposing the real meat of a debate by looking at the issues though different lenses.

<comment><USER18> Very true. They are good as a tool to make a persuasive argument to a neutral audience, but they don't hold up very well to an antagonistic audience.

</comment></comment></comment><comment><USER20> Wrong analogy. It's more like a distributer (not label) telling its affiliates that for their CDs to be shipped, the songs on them must now have been originally written only in Mixolydian mode in the key of G with a 4/4 time signature. Anything else is not allowed, especially something that doesn't even use western musical scales or tuning.

</comment><comment><USER21> Server seems to be down:

[http://downforeveryoneorjustme.com/http://blog.joa- ebert.com...](http://downforeveryoneorjustme.com/http://blog.joa- ebert.com/2010/04/09/what-apple-just-did/)

 _Edit_ \- server's back up again.

</comment><comment><USER22> What apps are worth buying anyway? I spent the first day with my ipad looking for an app that reads pdf for christsake. The entire platform seems to be just big media & games.

</comment><comment><USER23> Excellent point. As much as I would want to ban auto-tune, it just isn't the right thing to do.

Apple: Stop banning auto-tune.

</comment><comment><USER24> The funny thing is, music has tools restrictions and a review process.

</comment><comment><USER25> I'm not going to read this. Music is more easily compatible than software.

<comment><USER26> apparently you have not been listening to todays autotuned pop music :P</comment></comment>


A machine that customises cardboxes for parcels, saving excess cardboard [video] - open-source-ux https://www.bbc.co.uk/news/av/business-50744893/a-game-changer-for-cardboard-box-waste <comment><AUTHOR> Nice. Reminds me of printing related software that'd optimise the use of film by sorting the postscript output of a renderer to make best use of the film.</comment>


Curated List of Open-Source Typefaces - <AUTHOR> https://beautifulwebtype.com/ <comment><USER2> I'm the maintainer of this project. Happy to take any feedback or suggestions.

At the end of last year/beginning of this year, I was working on this site heavily and attempted to use Patreon to fund the project. Ultimately, I didn't see enough interest and scaled back my time on it.

I still think it's a worthy goal to give an in-depth overview of the best typefaces, but I'm still looking for the right way of promoting and funding the project.

<comment><USER3> This is an excellent resource, and I think what impresses me most, beyond the design and comprehensiveness, is the curation. I considered myself fairly familiar with the current SIL type landscape, yet I had never heard of half of the type families on the home page, all of which look to be of a caliber with the best open-source (or otherwise) types out there.

</comment></comment><comment><USER4> I was surprised not to see Gentium there; it's (IMO) a beautiful face, and has particularly strong support for less-common languages, which is often overlooked.

<comment><USER5> I filed an issue after the last time this project was mentioned here (in a comment) last week:

[https://github.com/ubuwaits/beautiful-web- type/issues/33](https://github.com/ubuwaits/beautiful-web-type/issues/33)

</comment></comment><comment><USER6> This is a super cool website, thank you for sharing it.

My go-to in most situations is still the Source Pro family, but so many people seem to swear by Fira Code that I need to give it a try. (Although I'm not yet sold on ligatures)

Source Code Pro just seems to fit all my applications well - terminals, emacs, vim, visual studio code. Plus the serif and sans serif versions look good to me in the browser.

</comment><comment><USER7> I like the presentation, and that the full list is immediately available at the bottom. I decided to kick Fira Code and have been using the IBM Plex family of typefaces throughout my editors, and it has really grown on me. It also looks great at a lot of sizes without anti-aliasing. Personally, I use IBM Plex Sans Condensed in UIs + Plex Mono in editors.

</comment><comment> m-p-3 I was wondering if someone could send them a suggestion, and it's possible to do it under the form of a Github issue

[https://github.com/ubuwaits/beautiful-web- type/issues](https://github.com/ubuwaits/beautiful-web-type/issues)

</comment><comment><USER8> A while ago, Inter UI was introduced on HN. I decided to give it a shot and personally I'm more satisfied with it than many paid fonts like, say, Helvetica.

(Disclaimer: Have no affiliation with the TypeFace creator).

<comment><USER2> Lots of people have suggested adding Inter UI to this project. I've held off for two reasons: the creator, Rasmus, has built a very good site for the typeface himself and the typeface is under active development, which means my overview would constantly be in danger of being out of date.

<comment><USER9> > _Lots of people have suggested adding Inter UI to this project._

For the sake of people who will be very happy to discover it, please do add it (unless you think it doesn't deserve a place on your list).

IMHO, regarding your concerns: (1) You can have a prominent link to the Inter UI site, as I'd expect you would to any typeface's web home. (2) Every typeface you include has gone through a bunch of revisions. Even if you don't yet have an automated way of handling updates, there's still value in the aggregation.

</comment></comment></comment><comment><USER10> Have you thought about a section for special use case fonts like OpenDyslexic?

</comment><comment><USER11> This is a very nice resource. Thank you for sharing.

</comment><comment><USER12> Is there any reason behind the ordering? Like why is Space Grotesk first?

<comment><USER2> The typefaces on the home page are the latest added to the site.</comment></comment>


Top American CEOs: shareholder value is not out primary goal anymore - <AUTHOR> https://www.cnbc.com/2019/08/19/the-ceos-of-nearly-two-hundred-companies-say-shareholder-value-is-no-longer-their-main-objective.html <comment><USER2> Friday I mentioned on HN in another thread [1] that my CEO paid himself 16.6 million dollars in compensation last fiscal year. That's 16-22x what I need to retire today, or 474x my gross pay.

While this claim from these CEOs sounds nice, I'd love to see if they even remotely keep their word or if they just find ways to shuffle money around to still benefit themselves and their friends.

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

Edit: ahahahaha said CEO is one of the members of the Business Roundtable. Well sir, put your money where your mouth is.</comment>


Male patients with low testosterone levels are MORE likely to die from COVID19 - <AUTHOR> https://www.dailymail.co.uk/sciencetech/article-8312771/Male-coronavirus-patients-low-testosterone-levels-likely-die-COVID-19.html <comment><AUTHOR> _The researchers assessed the first 45 laboratory-confirmed COVID-19 patients admitted to the ICU at the University Medical Center Hamburg-Eppendorf.

Thirty-five were men and ten were women, with seven patients requiring oxygen and 33 of them needing ventilation. Nine men and three women died.

Hormone levels of each patient were assessed on their first day in ICU, before they had received any invasive procedures.

Samples from the COVID-19 patients were tested for 12 hormones, including testosterone and dihydrotestosterone_

</comment><comment><USER2> I wonder if it's actually related to the most cited co-morbid factor for COVID-19:

See [https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3955331/](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3955331/)</comment>


All Amazon Prime members can now try clothes before they buy - <AUTHOR> https://www.engadget.com/2018/06/20/amazon-prime-wardrobe-open-to-all-subscribers/ <comment><USER2> > Additionally, there's no fee to use it

Yea there is. You have to pay for amazon prime.

<comment><USER3> "There's no additional fee to use it" then? ;)

</comment></comment><comment><USER4> My experience with Prime Wardrobe has been negative. I ordered three shirts to try out more than a week ago. I still have not received them. With Prime, you can receive your orders in 2 to 3 days and return them if you don't like them. Wardrobe is slower and does not add additional values.

</comment><comment><USER5> So I guess they'll be reselling used clothes as new from now on? Or do the amazon prime members pay for the depreciation in value of the clothes they can "try on" for days?

</comment><comment><USER6> Maybe it could be used to filter out fakes too?

</comment><comment><USER7> How is this not literally just a branded subset of the A-Z guarantee that all Amazon customers already get except with new limitations?

Congratulations to Amazon, I guess, for making paying prime customers proud to get worse service then they were already getting for free.

<comment><USER8> Amazon has been known to ban accounts that have excessive return rates[1]. One part of making this an explicit, branded service available to Prime members is reassurance that excessive returns of clothing items won't count against you, nor cost you return shipping (it's only free in general for certain return reasons).

[1] [https://www.usatoday.com/story/tech/talkingtech/2018/05/23/a...](https://www.usatoday.com/story/tech/talkingtech/2018/05/23/amazon- bans-customers-who-return-too-many-orders/636089002/)

<comment><USER9> Perhaps I don't hit those rates, but I've bought lots of clothes from Amazon of late, not under the wardrobe program, and have paid 0 return costs and not visibly had my account limited in any way.

Given that they aren't charging me for returns, I saw no reason to buy it under the wardrobe plan.

I also return a lot of non-clothing items. In those cases I do pay return shipping of course. In the last year I'd guess my return rate is quite high, maybe 20%. But prior to that maybe 1%.</comment></comment></comment>


Cycling to School: Increasing Secondary School Enrollment for Girls in India [pdf] - <AUTHOR> http://econweb.ucsd.edu/~kamurali/papers/Working%20Papers/Cycling%20to%20School%20(Current).pdf <comment><USER2> great study...I hope the cycling program will continue and expand in the number of students affected.</comment>


Should that be a microservice? Factors to keep in mind - <AUTHOR> https://content.pivotal.io/blog/should-that-be-a-microservice-keep-these-six-factors-in-mind <comment><USER2> The article does not address any of the technical complexities of microservices. If you use microservices you are developing a distributed computing system with a lot of technical challenges: additional network delay for each rpc, error propagation, consistency, etc. Addressing such technical challenges will often consume lots of time and requires a lot of knowledge that most developers do not have. It's a huge investment with a very high risk.

Furthermore this article fails to list any sensible alternatives. For example, if you have different rates of change you simply need a good separation of concerns with clearly defined boundaries and interfaces. You can do this equally well in a monolithic application, with none of the distributed computing issues.

<comment><USER3> Agreed, microservices is literally a last resort in my book.

It's the thing you reach for when you're hiring a new team worth of developers every other week and can't avoid developer blockage any other way.

It's not even a good architecture for most of the things it ends up being used on.

There are very few problem sets that a microservices arch actually excells at.

Almost always a monolithic with some SOA and clear domain boundaries is going to work better for static/slow growth teams.

It might be exciting for some but I wouldn't wish it on anyone.

<comment><USER4> > Almost always a monolithic with some SOA and clear domain boundaries is > going to work better for static/slow growth teams.

If it has "some SOA and clear domain boundaries" its not a monolith, even if it isn't decomposed so far as to be microservices.

"Right-sized services" isn't a catchy meme-spreading label, but it's probably the synthesis pointed to by microservices as the antithesis to monoliths.

<comment><USER3> Monolithic just means it can carry out all it's required functionality alone, i.e. it's [major] dependencies are internalized.

It doesn't say anything about not being able to be broken into modularized sections, services, or domain boundaries.

Neither does it reject any setups where satellite systems, micro or otherwise make use of the monolith programmatically or otherwise, hell it's kond of part of the definition of a monolith that it has multiple access points (i.e. cli, sdk, rest, rpc, events.)

</comment></comment></comment></comment><comment><USER5> I was an early preacher of microservices. In theory, it was great. Independently scalable, rewriteable in any language, and of course a fault in one piece won't bring down the others.

I learned the hard way what it really meant. A fault in one affects the others. What should be a simple bug fix requires changing code and deploying in multiple applications of various states of disrepair. A true nightmare.

In large enough teams for applications under development, I still think microservices are a good choice. But for myself and my small team, monolith applications are so much easier and faster to maintain.

<comment><USER6> You say you were using microservices, but you say that a bug in one service led to redeploying many services. That sounds really odd, and like you weren't doing microservices at all, but actually just a monolith with many pieces.

I think "Can I deploy a bugfix without redeploying the world" is one of the base criteria for determining if you have implemented microservices or not.

<comment><USER7> > You say you were using microservices, but you say that a bug in one service > led to redeploying many services. That sounds really odd, and like you > weren't doing microservices at all, but actually just a monolith with many > pieces.

But the problem with microservices is that there is nothing to prevent you from creating these types of potentially incompatible dependencies. If you are separating functionality using functions, the compiler helps you spot problems. If using classes or libraries, the linker can help spot problems.

With microservices, there aren't good tools for preventing these types of problems from arising. Maybe one day Docker, kubernetes, or something else will make it easy to create and enforce real boundaries. However, as long as microservices are just an "idea" without a set of tools that help you enforce that idea, it's very easy to introduce dependencies and bugs in ostensibly "independent" microservices.

<comment><USER6> > But the problem with microservices is that there is nothing to prevent you > from creating these types of potentially incompatible dependencies.

Sure, it's totally a matter of idiom - this is why I stated that a big problem with microservices is people jumping into it thinking it's SOA. Microservices, as a discipline, requires some care. It could be argued that the care required is too high to be worth it though.

> If you are separating functionality using functions, the compiler helps you > spot problems. If using classes or libraries, the linker can help spot > problems.

Maybe you could be more specific? I don't see how a compiler will help prevent coupling of modules/ internal components. What problems are you referring to?

I agree about microservices being an idea without an obvious implementation - that's a fair criticism.

<comment><USER7> >> If you are separating functionality using functions, the compiler helps you spot problems.

> Maybe you could be more specific? I don't see how a compiler will help > prevent coupling of modules/ internal components.

A super simple but effective way compilers prevent bad behavior is by preventing circular includes/imports. In a programming language, if module A imports module B, then module B can't easily import module A.* The compiler/interpreter will complain about circular/infinite imports. This general rule motivates developers to organize their code hierarchically, from high level abstractions down to lower level, and militates against inter- dependencies.

In contrast, there's nothing to stop microservice A from contacting microservice B, which in turn contacts back to microservice A. It's so easy to do, that many will do it without even realizing it. If you're developing microservice B, you may not even know that microservice A is using it.

Designed correctly, microservices can be another great way to separate functionality. The problem is actually designing them correctly, and keeping that design enforced.

* Sure, there are ways of effectively doing circular imports in programming languages, but they usually require some active choice by the developer. It's hard to do it by accident.

</comment></comment></comment></comment></comment><comment><USER8> I appreciate the effort that the authors have put in to synthesise all these points into this article, but I think I disagree with almost every one of the technical points.

1\. Multiple Rates of Change: Why must changing one module in a monolith take longer than changing the same module in its own service? Perhaps a better use of time would be to improve CI+CD on the monolith.

2\. Independent Life Cycles: Ditto. If the tests partition neatly across modules, why not just run the tests for those modules? If they don't, not running all your tests seems more likely to let bugs through, wasting the investment in writing said tests.

3\. Independent Scalability: How bad is it to have a few more copies of the code for account administration module loaded even if it's not serving a lot of requests? The hot endpoints determine how many servers you need; the cold ones don't matter much. And load is stochastic: what is hot and what is cold will change over time and is not trivial to predict. If you separate the services, you have to over-provision every service to account for its variability individually, with no opportunity to take advantage of inversely correlated loads on different modules in the monolith.

4\. Isolated Failure: Why not wrap the flaky external service in a library within the monolith? And if another persistence store is needed to cache, it is no harder to hook that up to a monolith.

5\. Simplify Interactions: Ditto. The Façade pattern works just as well in a library.

6\. Freedom to choose the right tech: This is true, but as they say having all these extra technologies comes with a lot of extra dev training, dev hiring and ops costs. Maybe it would have been better to use a 'second best' technology that the team already has rather than the best technology that it doesn't, once those costs are accounted for.

The cultural points are largely valid for large organisations, but I feel like it positions microservices as an antidote to waterfall methods and long release cycles, which I think could be more effectively addressed with agile practices and CI+CD. Splitting out a service might certainly be a good way for a large organisation to experiment with those practices, however.

<comment><USER9> > 6\. Freedom to choose the right tech: This is true, but as they say having > all these extra technologies comes with a lot of extra dev training, dev > hiring and ops costs. Maybe it would have been better to use a 'second best' > technology that the team already has rather than the best technology that it > doesn't, once those costs are accounted for.

A variation of this pushed me to implement a couple parts of an application as micro-services even though I wanted to stick with a monolith. I wanted to use existing open-source packages written in languages other than the primary one that I had chosen for my monolith. It's really a shame that a cross-language, in-process ABI like COM didn't catch on outside of Windows.

<comment><USER10> A cross language, in process ABI does exist for all platforms. It's called the C ABI. Almost every programming language can export and import C ABI functions and data.

<comment><USER9> Sure, but that's lower level than COM or WinRT. And in practice, does anyone embed, say, a Node.js module inside a JVM application via a C library?

</comment></comment></comment></comment><comment><USER11> This all looks good on paper.

In practice, this assumes that all of the concerns presented there will necessarily become bottlenecks. And that is simply not true.

You can have modules with completely different deployment lifecycles, speed of development and performance characteristics as part of a single service and, for the most part, things will be totally fine.

This really reeks of premature optimization. A badly separated service is a gigantic hassle down the line.

In general, service boundaries become obvious to developers when they start seeing the friction. But the default answer should always be a no unless there is proof that friction is there. The overhead of maintaining multiple services, repos, CIs and so on is not trivial for s team of 10 people or less.

<comment><USER12> It really is trivial to automate the process of creating a new service with a corresponding repo and CI pipeline. And with tools like giter8 it's not that hard to standardise on service layout and components as well. You could easily do it in a few hours.

Likewise just using modules looks good on paper but in practice most languages make it too easy to reference code in other modules. And so very quickly you end up with spaghetti code. So regardless of whether you use modules or services you still need to do a lot of upfront work in setting and enforcing some design/architectural rules.

<comment><USER13> Agreed. We built cookiecutter templates at edX for the basic Django service and Ansible playbook. We built shared libraries for OAuth and other shared functionality.

That said, much of this did not come into place until we were on the third microservice. Starting with templates and libraries for the very first service would have definitely been premature optimization, and have resulted in wasted time and later rework.

</comment></comment></comment><comment><USER14> I would agree people are a bit too enthusiastic about microservices these days. The stack I work on is, IMO, broken into too many microservices (admittedly, I had a large part in the decisions that resulted in that). I wouldn't say it's made things terrible but it has slowed down velocity and makes the system as a whole harder to reason about. If I were to re-architect from scratch, I'd probably slash about at least a third of the microservices we have. In the future I'd be inclined to keep sufficiently modular such that various components could be broken out as separate services if needed, but only do so if compelling reasons to do so presented themselves.

<comment><USER15> So would you consider more of an SOA approach in the future, as compared to micro services?

Also, when your team architected the microservices originally, how many previous microservices systems had y'all built? I haven't built any and am just trying to get a feel for the learning curve.

<comment><USER16> As someone on a dev team with little experience with microservices, including myself initially, you're going to make a big mess before you know how to clean it up. Take eventual consistency seriously. Limit rpc across services as much as possible. Agree on standards and your source of truth as early as possible. CI/CD the small stuff that doesn't matter (linting, test running). Also, have a good integration/e2e testing set up early - mock tests ended up being very brittle for us.

<comment><USER14> Agree with all of this, especially:

> have a good integration/e2e testing set up early - mock tests ended up being > very brittle for us.

Unfortunately microservices also can make good integration testing difficult when it comes to testing full e2e functionality. The results of testing e2e, by nature, rely on the sum of the services interacting with each other properly, thus creating testing dependencies between services that negate some of the advantages of having separated them in the first place.

</comment></comment></comment></comment><comment><USER17> Is it only me or are they missing the most important question: will this service have an API that provides a reasonable abstraction and is stable enough to provide backwards compatibility to its consumers?

If not, a lot of the independent deployment niceness will become a major nightmare when consumers of the service's API need to be adapted (if that's even possible).

</comment><comment><USER18> > Independent Scalability

This reason for microservices comes up over and over but I've never understood it.

If you scale a monolith, only the hot code paths will use any resources. Having a monolith makes it _easier_ to scale as you can just scale a single app and it will be perfectly utilized. If you have microservices you need to make sure every single one has headroom for increased load.

Scaling up a whole monolith only to increase capacity for one code path doesn't have any unnecessary overhead as far as I can see. Remembering that if your microservice is on a VM then you are scaling up the OS too which has millions of lines of code - something no one (rightly) is concerned about.

Am I missing something?

<comment><USER19> I think you're right that this point is often overstated.

It does isolate each service from the scaling _issues_ of the others somewhat - if one service gets overloaded and crashes or hangs then other components are less likely to get brought down with it. In the best case if work is piling onto a queue and the overloaded component can be scaled fast enough even dependent components might not notice too much disruption.

Another advantage is that you can scale the hardware in heterogeneous ways - one part of the app may need fast I/O and the rest of the app might not care about disk speed much at all, so you can have different hardware for those components without overspending on the storage for the rest of the app. I think that's a minor advantage in most cases though.

A sort of in-between house is to have multiple copies of a monolith which are specialised through load balancing and/or configuration values and put onto different hardware, but all running the same code. Probably not that widely useful a technique but one that we've found useful when running similar long running tasks in both interactive and scheduled contexts.

</comment></comment><comment><USER20> DDD isn't synonymous with microservices. Although it does help decouple a lot of your internal components so that they _can_ be split into isolated services later on, there's nothing stopping you from hosting them in a single monolith. In fact there's very little downside of doing it that way.

The number of merge conflicts is reduced because the code has good internal separation. Scaling can be done on the entirity of the monolith that is simpler than trying to do this on a microservice level.

I'm working on a DDD typescript framework at [https://www.npmjs.com/package/@node- ts/ddd](https://www.npmjs.com/package/@node-ts/ddd) that helps better structure node apps for domain driven design

</comment><comment><USER21> There is a 7th main factor. You should have multiple teams. It's sad how most of pro-microservice articles forget to mention this point explicitly. For most IT companies microservices don't make sense at all.

<comment><USER22> Exactly this. Conway's Law should be taken not as an observation, but as advice. "Sure, you can have a service structure that doesn't match your org structure, but it's gonna cost ya."

</comment></comment><comment><USER23> It's worth noting that you can accomplish a lot of the same goals via a single repo but separate out execution and deployment with distinct Dockerfiles.

<comment><USER24> It's still over complicating things. If you just want a separation of concerns, reduced merge conflicts, and the optionality of separating a module out into a separate microservice later, you can accomplish that a lot easier in a monorepo with (speaking in C# terms, choose the equivalent for your language of choice) one solution, separate projects for separate "services" (domain contexts), exposing the assembly/module via public interfaces and using DI.

</comment></comment><comment><USER25> The problem is that you will not be able to run a monolith without a microservice. In fact, you'd be able to run an entire project without a lot of trouble. This is so much easier to debug and debug. Even with simple tools, it's almost impossible to debug code without refactoring a few dozen layers and building up another microservice. The question is what does the microservice plan on doing? When it needs to scale, it's an issue of how much time is spent on the development of the project. If the micro service plan is a waste of time, it will be a problem. This is especially true if you only have 2 servers running the microservice, and you can use docker containers to build and maintain your own servers which support everything (apache, docker); for your projects, it probably takes less than 5 minutes to figure it out, and when you start getting serious about running them with one or more different pieces of infrastructure you don't think twice about spending that much time in production. I'm not a huge fan of microservices: I think they will be hard to scale even before they become more of a problem.

<comment><USER7> A microservice seems to be just another level of abstraction. They follow in line from functions, to classes, modules, packages, and libraries. It's just the next higher level of abstraction, this time separated by network calls.

The positive side of microservies is that they can be scaled and updated independently. The inherit downside is that adding network calls can add race conditions and failure states.

However, the real trouble with microservices starts when they are misused. If service A calls to service B which calls to service C, which in turn modifies the state of service A, you can easily enter a world of pain. This type of behavior can happen with any abstraction (e.g., functions, classes, modules), but unfortunately, it is very easy to do with microservices, and happens all the time.

I do like the idea of separating truly independent services for scaling, but today we still need a better way to enforce or clarify that separation so that these types of dangerous dependencies don't creep up.

Just spit-balling here, but this type of dependency enforcement could happen at the container or container orchestration level. Perhaps Docker or kubernetes could prevent a service from accessing a resource if another upstream service accessed that same service.

If you need two services that talk to each other to also read and write to another service, you aren't really building microservices, you're building a distributed system.

</comment></comment><comment><USER26> I've never quite understood the logic behind #3. Why wouldn't I just scale my monolith up and down instead? I could see some instances where being able to do it independently would be useful (e.g. when the feature has unique resource requirements), but I would guess that, for us, 9 out of 10 times, it has been fine to just scale the monolith as a whole up and down as necessary.

<comment><USER6> Cost is the easy answer - as with any optimization, I guess.

It can also be really annoying sometimes to scale a monolith - a big one can have a lot of different parts like multiple threadpools/ database pools. One component hits a threshold, you add more instances, now your other component is overprovisioned, maybe even failing due to too many DB connections, or you hit weird thread contention issues.

I've had some pain in the past scaling monoliths in similar situations.

</comment></comment><comment><USER27> I just installed a Python package for a chatbot. Here are its dependencies:

"Installing collected packages: asn1crypto, six, pycparser, cffi, cryptography, PyMySQL, future, certifi, python-telegram-bot, beautifulsoup4, idna, urllib3, chardet, requests, wikipedia, lxml, requests-toolbelt, pymessenger, autocorrect, line-bot-sdk, click, Werkzeug, itsdangerous, MarkupSafe, Jinja2, Flask, python-engineio, python-socketio, Flask-SocketIO, pymongo, PyYAML, pytz, tzlocal, setuptools, APScheduler, SQLAlchemy, kik, nltk, textblob, emoji, PyJWT, pysocks, twilio, websocket-client, slackclient, oauthlib, requests-oauthlib, tweepy, wget, MetOffer, redis, viberbot, python- dateutil, sleekxmpp, programy".

Monolithic package. Has nailed-in support for all possible ways to communicate with it.

I'd be happier if the part that does the work was decoupled from all those interfaces. Especially after struggling with a build problem where it was building its own crypto library.

</comment><comment><USER28> I'm still not convinced microservices and SOA are different paradigms. We were doing SOA with REST ages ago. Everything always boils down to common sense. It seems to me both paradigms lead to similar results.

Microservices are just a buzzword for the same thing we did before using current day technologies (node instances, cloud, Docker, Kubernetes, serverless etc).

</comment><comment><USER29> I'll add another: Is it independently reusable?

Even if _you_ aren't going to use it for something else, separating some of your code and releasing it as open source is a great way to get more people to test it -- and find bugs before they affect you in production.

<comment><USER13> This depends on what you are releasing, and how much support you're willing to offer to the community. For example, the microservices and libraries I worked on at edX were used by the Open edX community, but rarely at the scale at which edX uses them. The community offered new features, but edX did much of the big fixing because we had more extensive knowledge and use of the software.

<comment><USER15> Is this a microservices issue or a scale issue in general? Seems like any open source tool that had users that operated at different scales would run into this issue, no matter the architecture, but I don't know what I am missing.

<comment><USER13> Project scale and scope. edX does most of its development in public repos. Not all of the features and functionality are used by every open source user. The scale of edX's user base is so much larger than others' that edX finds issues well before other users. Also, by the time a formal Open edX release is announced, edX has run the code for weeks or months.

</comment></comment></comment></comment><comment><USER30> For me the question remains... should a particular set of functionality be written as a "separate program". After all, isn't a microservice just an independent program that communicates with others using an industry standard protocol?

</comment><comment><USER31> Should you even use microservices? I'd argue probably not. In my experience most people start looking at this because they hate their existing code (often for good reason) and just want to spend less time working with that code. It's just easier to do than refactor a monolith with serious problems...but then you have all the issues of a distributed system, and it's never been worth it in my experience.

If you find yourself in this situation, I'd recommend identifying the problems you have with your current monolith and hopefully refactor it, otherwise it's a lot more sane to gradually migrate to a new monolith by slowly moving responsibilities to it rather than attempting to go down the microservices route.

</comment><comment><USER32> I am convinced that I am doomed to spend the next 10 years of my professional career converting micro services back into monoliths. 5 of those years will have to be incognito because microservices are not quite considered over just yet. it has already begun.

</comment><comment><USER33> It's interesting that this [1] came up just a couple of days ago. Just like Linux 90% of the problems that microservices are trying to solve can be solved with modules and not have the non-trivial problems that microservices introduce.

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

</comment><comment><USER34> I know Betteridge's law of headlines wasn't designed for titles like this one, but it's pretty on point.</comment>


Ask HN: What's the new Slashdotting? - <AUTHOR>

Back in the olden dayes, the unit of flood demand was a Slashdotting [1]. If you wanted to make sure your site stayed up under a sudden flood of interest, you figured out what a Slashdotting looked like, simulated that, and you were probably good. Later my yardstick was "an Oprah". I had good data on what it looked like when Oprah mentioned your site on her show, so I would build for that. But that's getting a little dated.
So: what level of traffic do HNers simulate to test what a flood of public interest looks like?
Big bonus points for hard data from actual flash crowds.
[1] http://en.wikipedia.org/wiki/Slashdotting <comment><USER2> For us:

\- Yahoo homepage (for publishers more than for startups) (brief spike)

\- Tweeted by people with tons of followers (brief spike)

\- Google news (yes, still) (brief spike)

\- Viral on Facebook (tends to be more sustained)

</comment><comment><USER3> I've seen first-place stories from HN drive up to 5 visits per second. I know that Reddit goes higher but I've never had any traffic from there.

</comment><comment><USER4> Anon DDOS, <http://www.youtube.com/watch?v=hNjdBSoIa8k>

(j/k :)

</comment><comment><USER5> A few years ago it was Digg, now it can be Reddit.

</comment><comment><USER6> I think the idea it's now so hard to think of one means the way most people online find out what's going on is no longer one portal - but a wide variety of different portals, soon to become just a organic process of discovery with weird sudden herd-like mentality (that might be a Dan Brown)

</comment><comment><USER7> reddit</comment>


Brian lam: left my phone at lunch... - <AUTHOR> http://webcache.googleusercontent.com/search?q=cache:http://twitter.com/blam/status/21684172578 <comment><AUTHOR> Brian Lam was one of the people at the heart of the Gray Powell/iPhone 4 leak. <http://news.ycombinator.com/item?id=1348464></comment>


Gmail now allows for multiple calls at once - <AUTHOR> http://gmailblog.blogspot.com/2011/07/make-multiple-calls-in-gmail.html

<comment><USER2> I wish they would make a standalone GTalk app with this feature for Mac so that I could more easily use it to replace skype.

<comment><USER3> I don't mind going to a website, just wish it wasn't my email. Would prefer making the calls right from google voice as thats the most likely page I'm on when I'm checking voice mail or texts.

<comment><USER2> I'm in Canada, so I don't have access to Google Voice, unfortunately.

<comment><USER4> VPN. It's worth the $8 per month for all the USA-only services you unlock.

</comment></comment></comment></comment><comment><USER5> Still waiting for them to officially roll internet calling out to Android. There's built in SIP support, but nothing that easily ties in to Google Voice. And there's GrooVe IP, which definitely works well, but it's not native.

They added tethering and apps2sd despite the opposition.

<comment><USER6> > Still waiting for them to officially roll internet calling out to Android.

> They added tethering and apps2sd despite the opposition.

And just like with tethering, the carriers (in America, at any rate) will remove the app and charge an extra fee for it. I suppose it would be a boon for the rest of the world, though.

<comment><USER7> Tethering is free on T-Mobile

<comment><USER6> But not on any of the other Big 4 carriers, and if T-Mobile gets bought by AT&T, you can say goodbye to their free tethering as well.

<comment><USER8> Did you miss this? <http://www.businessinsider.com/att-buys-t-mobile-2011-3>

<comment><USER7> My comment is still true as of today.

And I'd say there's at least even odds the sale of T-Mobile to AT&T fails to go through.

</comment></comment></comment></comment></comment></comment><comment><USER9> Is this the Google Voice plugin for Gmail that we're talking about here?

<comment><USER10> Technically, no, it's not part of Google Voice. Google Voice is a phone forwarding / management system. GTalk is a component of gmail that allows calls to be made / received. Either can be used w/o the other. However, they do integrate nicely - that's what I use, and I like it a lot.

</comment></comment><comment><USER11> Conference calling yet? I guess not yet, but this is a good start.

<comment><USER12> Google Voice does conference calling[1], I'd hope you can invoke it in the same way from Gmail if they call your GVoice number.

[1] [http://www.google.com/support/voice/bin/answer.py?hl=en&...](http://www.google.com/support/voice/bin/answer.py?hl=en&answer=115137)

</comment></comment><comment><USER13> So not allowed to bridge the two for 3-way conference call?</comment>


Pown.js – security testing an exploitation framework on top of Node.js and NPM - <AUTHOR> https://github.com/pownjs/pown <comment><USER2> Neat. Can I ask what it does? The Readme doesn't provide any examples.

<comment><AUTHOR> It is early days but at the moment the following capabilities are available:

* Captcha cracker - based on tesseract.js * Responder - LLMNR spoofer - useful for hacking Windows network * Sock - essentially forwards packets over WebSocket with the ability to deconstruct HTTP session * Tips - get hacking tips from the command-line with offline and online support

The idea of Pown.js, unlike Metasploit, is to be more programatic and decentralised so that modules can run standalone and development and debugging is easier as modules will not directly depend on the entire framework.

We have already started work on TV hacking modules. We will be improving our responder to support MDNS and NetBIOS-NS. We are also working on our proxy and servers for imitate various protocols useful for putting together sophisticated attacks with zero configuration. That goal at least.

Any contributions, ideas are more than welcome as nothing is set in stone at the moment.</comment></comment>


Ice confirmed at the Moon's poles - <AUTHOR> https://www.jpl.nasa.gov/news/news.php?release=2018-195&rn=news.xml&rst=7218 <comment><USER2> 63 comments: [https://news.ycombinator.com/item?id=17810503](https://news.ycombinator.com/item?id=17810503)

</comment><comment><USER3> >With enough ice sitting at the surface -- within the top few millimeters -- water would possibly be accessible as a resource for future expeditions to explore and even stay on the Moon, and potentially easier to access than the water detected beneath the Moon's surface.

>Learning more about this ice, how it got there, and how it interacts with the larger lunar environment will be a key mission focus for NASA and commercial partners, as we endeavor to return to and explore our closest neighbor, the Moon.

What will be necessary to sort out how much water ice is "available?" Wondering about colony feasibility

</comment><comment><USER4> > M3, aboard the Chandrayaan-1 spacecraft, launched in 2008 by the Indian > Space Research Organization, was uniquely equipped to confirm the presence > of solid ice on the Moon. It collected data that not only picked up the > reflective properties we'd expect from ice, but was able to directly measure > the distinctive way its molecules absorb infrared light, so it can > differentiate between liquid water or vapor and solid ice.

This is a big achievement by ISRO team given that they run in a fraction of budget that NASA do. Though NASA contributed to M3.

<comment><USER5> Space exploration works best when all countries work together... I think there were a number of instruments from ESA, JPL and others.

</comment></comment><comment><USER6> Dupe: [https://news.ycombinator.com/item?id=17810503](https://news.ycombinator.com/item?id=17810503)

</comment><comment><USER7> Anyone else not super impressed?

Water is important for carbon-based life, but so is a bunch of other stuff like air, carbohydrates, aaaaaaaaaaaaaand also life...or at very least a very serious mix of reactive chemicals...From a causation perspective I gotta go back to the carbohydrate thing:

O-chem vs phys-chem. Find me a planet with a bunch of nitrogen/carbon in addition to ~7pH hydrogen/oxygen and I'll get excited. Promise.

<comment><USER8> Atomic or molecular hydrogen and oxygen aren't readily available so water is a necessity that is hard to produce on the moon. Every necessary resource that can be locally sourced decreases how hard it is to start a permanent base drastically.

For instance, if theres water we can more easily grow plants which will both cycle air with us humans _and_ provide carbohydrates</comment></comment>


Hot Spot: Interactive fiction that emulates synesthesia - <AUTHOR> https://www.jamesyu.org/hot-spot/ <comment><USER2> This was really neat to read. The style reminds me of Ted Chiang (the writing, not the "interactive"ness per se).</comment>


Zi2zi: Master Chinese Calligraphy with Conditional Adversarial Networks - <AUTHOR> https://kaonashi-tyc.github.io/2017/04/06/zi2zi.html <comment><USER2> The animated interpolations between fonts are wonderful to look at, and really demonstrate the flexibility and legibility of the generated characters.

I've heard that the font selection for Chinese/Japanese is limited due to the sheer number of characters, and this kind of smart style-transfer could be a solution for expanding the range of fonts. Amazing work, thank you for sharing!

</comment><comment><USER3> Could this be used to generate simple missing characters in Western fonts too? For example many nice fonts are missing Greek letters (useful for science), punctuation or diacritics.

<comment> kaonashi-tyc-01 Should have no problem since this model works end-2-end, so only images are required. However, one worry is that the number of glphys for western language is significant smaller than eastern Asian languages, the styles to model might be a lot more than the demonstrated case here which will lead to an explosive size of discriminator, so some structure change might need to take place before applying to western alphabet

</comment></comment><comment><USER4> For some reason the generated Korean characters look adorably old-fashioned. Maybe the model is generated from old-fashioned Chinese fonts, or maybe the slight mismatch of strokes evokes the air of old days when everything was done by hand.

Also it's impressive that the model mostly does a good job of handling circles (which must be totally absent in Chinese characters).

</comment><comment><USER5> This is not actually calligraphy (yet). It's just typeface style transfer, which is an probably an important step towards calligraphy.

To be really calligraphy, you would need to train a NN that controls a robotic arm holding a brush.

But to be fair, this work is still Pretty. Fucking. Awesome.

</comment><comment><USER6> Nice. Thank you for sharing. I'm using OpenAI for something related to recognizing handwriting.

As someone learning Mandarin, I would love to know where you found these characters and their meanings. I love to study old characters.

<comment><USER7> Are you familiar with "Uncle Hanzi"? ([http://www.chineseetymology.org/CharacterEtymology.aspx?char...](http://www.chineseetymology.org/CharacterEtymology.aspx?characterInput=%E8%BB%8A&submitButton1=Etymology))

I study ShoDo, if you can be a bit more specific about what you are looking for I can maybe provide some more pointers.

</comment></comment><comment><USER8> it is neat to see the ML struggle with the circle glyph component from hangeul; which doesn't exist in kanji (although it seems to handle hiragana, which it's trained on) fairly well.

</comment><comment><USER9> Just a heads-up because some other people might tell you: In my locale, Zizi means penis (fr-CA)

<comment> kaonashi-tyc-01 Well, that is just rate R. Let's hail the wonderful ambiguity of languages, and leave the day as it is :)

</comment></comment><comment><USER10> Great job for Chinese culture lovers.

</comment><comment><USER11> can this help people who are trying to learn Hanzi of any kind, not just calligraphy?

<comment> kaonashi-tyc-01 Hi, author here. This project might not really help people that just get to know Chinese characters. Quite on the contrary, it aims to help typographic designers who can design a small subset of characters(like 2k out of 40k), then automatically, if the model works well, get the rest of it.

<comment><USER8> hey awesome work! in row 8, leftmost column, we see the "food" radical being laid out using different radical conventions on the ground truth versus the generated (IIRC, the lhs is simplified and the rhs is traditional?). Elsewhere we see the "thread" radical being rendered in simplified vs chinese traditional (but not japanese shinjitai). Have you done any deeper examination of the activation network to see if there's any sort of correspondence for some of these characters?

<comment> kaonashi-tyc-01 The source font I am using might have not 100% consistent with some of the target font, that leads to minor mode collapse. I think that is the reason here.

<comment><USER8> it would be cool if there was an activation that consistently flipped between traditional and simplified!

</comment></comment></comment></comment></comment><comment><USER12> Nicely done!</comment>


How I flew on North Korea's rarest Russian airliners - <AUTHOR> http://edition.cnn.com/2016/07/04/aviation/north-korea-airline-air-koryo-aviation-enthusiast-russian-airplanes/index.html <comment><USER2> There is domestic airline Motor-Sich in Ukraine, which fleet consists largely of Antonov planes (including AN-24 mentioned in this article) and one Yakovlev Yak-40.

Was actually flying on regular commercial flight from Kiev to Odessa on AN-24 yesterday.

Link: [http://flymotorsich.com/en/pages/fleet](http://flymotorsich.com/en/pages/fleet)

</comment><comment><USER3> It's a tour that some colleagues have suggested a couple of times, but each time we've agreed that despite the lure of flying on the vintage airliners we cannot ethically contribute to the upkeep of the North Korean state.

Similarly they are hosting their first-ever open-to-civilians air show this September in Wonsan, with 800 'spaces' reserved for international tourists, but although the price offered by some tour operators was attractive for the experience I just couldn't disregard the fact that I'd be funding continued oppression.

[http://www.wonsanairfestival.com/](http://www.wonsanairfestival.com/)

<comment><USER4> Don't worry, your funds are nothing compared to their military expenses, and every opportunity for North Koreans to see and possibly interact with a foreign tourist is bringing the end of the regime, one small step at a time.

</comment></comment><comment><USER4> If someone loves Russian airplanes so much (I am somewhat an aviation geek too, and a Russian — our planes are interesting, but not _that_ interesting), why risk traveling to North Korea? There are many of these planes serving Russian or Ukrainian regional airlines, and getting into any of these countries is relatively straightforward. More than that, it is relatively easy to arrange for private tour and see everything that aviation geek would ever want to see. In Moscow, you can even fly Russian military fighters (with expert co-pilot, of course). Hardly imaginable in North Korea.</comment>


IPhone Application Design Patterns - <AUTHOR> http://flyosity.com/application-design/iphone-application-design-patterns.php <comment><USER2> Cool! About Collage: "... totally custom film strip interface and sliding, animating panels is some of the finest UI work you'll find in the App Store."

Collage was my first official SDK app. :) It evolved from an app I did during my iApp-a-Day project in the pre-SDK days. Nice to see someone notice it. Collage came from an era when no one was quite sure what kind of apps people would like on their iPhones. :) My latest iPhone project is <http://www.rampchamp.com> which is submitted and coming soon, hopefully.

</comment><comment><USER3> Not a bad summary and it's nice to include the screenshots/examples of non- Apple apps, but here's a more formalized description of the three application styles: [http://developer.apple.com/iphone/library/documentation/User...](http://developer.apple.com/iphone/library/documentation/UserExperience/Conceptual/MobileHIG/DevelopingSoftware/DevelopingSoftware.html#//apple_ref/doc/uid/TP40006556-CH5-SW28)

Part 1 of the iPhone Human Interface Guidelines is a good read in general if you're an iPhone developer, and it isn't too long.

</comment><comment><USER4> Those Tapbots apps are snazzy looking, but a bit overkill for unit conversion :) I think the workflow is less intuitive than maybe a table/nav-based design would be w/ picker wheels or some such. Anyway, the eye candy is getting in the way of an easy-to-use app.</comment>


The Internet Thinks She's Too Hot to Be an Engineer, So She Taught Them a Lesson - <AUTHOR> http://nextshark.com/isis-anchalee-ilooklikeanengineer/#rmns

<comment><USER2> .. what was their exact duties? posting on social media..</comment>


Ask HN: Do you want to get better at estimation? - <AUTHOR>

The book 'How to measure anything'[0] says that people can get better at estimation through practice.  Specifically, it says that practice and feedback can help people give better answer to questions like:
"Estimate a range for the population of Nevada, with 80% confidence."
The book's definition of 'better' here is that, if asked a large number of questions:
- Right about 80% of the time: good calibration
- Right much more than 80% of the time: your upper/lower bounds are too far apart, i.e. you're being too conservative.  e.g. I could estimate the population as being between 0 and 7bn, and I'd be right, but not usefully right.
- Right much less than 80% of the time: too confident, with too narrow ranges.
Anyway, if there were a free app to train your calibration, would I be the only one who would use it?
I'm imagining something which presents you with a question, after which you enter an upper and lower bound.  You get asked a few questions and then shown the answers.  After you've answered more than, say, 20 questions, cumulatively (not per session) the app will start to show an indicator about whether you are over-confident, under-confident, or just right.  (The confidence intervals for each question need not be the same.)
[0] http://www.amazon.com/dp/0470539399 <comment><USER2> [https://itunes.apple.com/it/app/updating- game/id524916372?mt...](https://itunes.apple.com/it/app/updating- game/id524916372?mt=8) i actually enjoy playing with it and would do it more if it had a better ui

<comment><AUTHOR> Thanks! I tried it and it is indeed similar to what I had in mind.</comment></comment>


Introducing Canvas - Notes for teams of nerds - <AUTHOR> https://blog.usecanvas.com/introducing-canvas <comment><USER2> the wysiwyg markdown editor is nicely done.

Is the intent to create a page per meeting instead of the continuous flow that represents a chat channel in slack or comparable?

</comment><comment><USER3> Nice product! Why does it not allow editing in Firefox?

</comment><comment><USER4> No Firefox? No thanks.</comment>