Great companies aren't built overnight - <AUTHOR> http://firstround.com/article/Great-companies-arent-built-overnight-the-story-of-Mashery

<comment><USER2> This is SO true!

The media leads people to believe that great companies all got successful overnight so most people think that building a technology startup = quick money and success. However, most successful companies (or teams building successful products) went through years of building and iterations.</comment>


A Guide to Stealing Any Movie You Want on the Web - <AUTHOR> http://www.theatlantic.com/technology/archive/2011/01/a-guide-to-stealing-any-movie-you-want-on-the-web/69085/ <comment><USER2> This is probably just arguing semantics, but downloading movies isn't really stealing, because the original owner still has possession of the movie. Downloading a movie without the owner's permission is copyright infringement. Take the example of one student opening another student's backpack and physically taking a lab notebook versus secretly photocopying it and returning it. I'll leave the judgement of which is more wrong to you, but there is a distinct difference.</comment>


Scientists Find Alzheimer's Treatment While Trying to Cure Diabetes - <AUTHOR> http://newyork.cbslocal.com/2018/01/02/alzheimers-treatment-diabetes/ <comment><USER2> I've looked at this paper only cursorily, but the treatment effect is so fast and profound that it seems too good to be true. The recovery of near normal behavior on the cognitive (navigation) task arises less than a week after treatment.

A huge number of questions remain, since this novel drug hasn't been tested for safety at all, even in mice. And of course, you also have wonder how similar this mouse model is to human AD. But the results are stunning.

[I wonder how it happened that all the authors of this paper are different from the creators of the novel triple agonist diabetes compound. And what led them to consider testing the compound on AD?]

<comment><USER3> If you look at the paper you can see it was poorly reviewed/edited (eg "trainning day" in figure 1).

Also, there is no mention of blinding so they probably skipped that (key) step. Nor do they show us plots to demonstrate that behavior correlated with the histology/etc.

Finally, they assess memory using the water maze. There is no reason to think the effect of the drug was on memory vs anything else like hunger, anxiety, etc: [https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2663577/](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2663577/)

</comment></comment><comment><USER4> Original study: [https://www.sciencedirect.com/science/article/pii/S000689931...](https://www.sciencedirect.com/science/article/pii/S0006899317304596)

Press release: [https://www.eurekalert.org/pub_releases/2017-12/lu- dd122017....](https://www.eurekalert.org/pub_releases/2017-12/lu-dd122017.php)

</comment><comment><USER5> This link between Alzheimer's and Diabetes isn't random as the title implies.

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

</comment><comment><USER6> as with all such very early stage press releases: i'll believe it in 15 years; god speed.

I am not actually pooh-poohing the work, but it's way too early to get excited.

</comment><comment><USER7> So its a learning drug? Would it have an effect on someone without AD? (or diabetes)

</comment><comment><USER8> Define "cure diabetes"</comment>


Is learning C# as a first language a mistake? - <AUTHOR> http://programmers.stackexchange.com/questions/100488/is-learning-c-as-a-first-language-a-mistake <comment><USER2> I only recently started using C# (Mono) about a year ago due to Unity, and I have to say that I've been pleasantly surprised. I think it is a much better functional programming language than JavaScript (thanks to the combination of types, a saner lambda syntax, and generators) and ObjC (obviously, and the GC makes ARC seem absurd), the two languages I would say I'm an "expert" in and would have previously considered my "favorites". I couldn't believe that I was actually looking into how I could host a C# server for our backend (I ended up settling on node just because heroku is so easy to get up and running).

For some context, I use SubEthaEdit, and thus have no auto-complete or fancy IDE features, so my opinion is purely language based. With all three of these languages, my "style" more or less ends up turning them into the language I want to program in anyways (no subclassing, shying away from mutability, etc.). All in all this fits my long held belief that the worst programming language is whichever one you are currently using.

</comment><comment><USER3> A lot of people recommend C because it presents an abstraction very close to the hardware. This is useful but in today's world, it isn't really a substitute for actually learning how hardware works.

On modern machines, C doesn't even expose some of the more important issues related to hardware. I am referring to things like the memory consistency model, cache coherence, different abstractions for multiprogramming and how they are implemented in hardware - GPUs vs. shared memory MIMD vs. MPI vs. clusters running MapReduce and so on. I'm not saying these programming models can't be implemented in C. I'm pointing out that learning C won't automatically teach you about the tradeoffs between message passing and shared memory systems. You still have to go out and learn that stuff. I'd argue that in today's world this is about as important as learning what malloc and free are doing under the hood.

Fred Brook's notion of classifying the complexity of programmable systems into essential and accidental complexity is useful here [1]. No matter what language you start with, you'll need to learn to deal with the essential complexity of software systems. In that regard C# is as good as language as any other. In fact, it might even be better than C because you get to focus a little more on the essential complexity because it _is_ a higher-level language than C.

I think the advice of learning C first came in an era when hardware abstractions were simpler and so simply learning C would go a long way towards helping you understand how your computer _really_ worked and thus in one sense helping you cope with the accidental complexity of software. But I think that advice might need to re-thought now because both the hardware and the software systems we build and use today are so much more complex. Just learning C alone might not get you very far in terms of understanding what really happens on your machine when, say, your webbrowser is making a HTTPS request to google.com.

[1] [http://faculty.salisbury.edu/~xswang/Research/Papers/SERelat...](http://faculty.salisbury.edu/~xswang/Research/Papers/SERelated/no- silver-bullet.pdf)

<comment><USER4> Well said, C is not a good model of modern hardware! Memory models, vectorization, and all those fun things aren't easily exposed/understood via C (at least not without lots of compiler intrinsics ).

<comment><USER5> You can do OpenCL in C, that's pretty bare metal in some areas.

</comment></comment></comment><comment><USER5> As someone on SO pointed out, the most important thing is to not be dogmatic about "your language". You can start out on C#, Pascal or Erlang, but don't be closed off to looking at or building toy projects in other languages. Especially if they feel weird or difficult, it probably means you need to look at the problem a different way. Learning new ways to solve the same problem is useful for a programmer, and it keeps your brain engaged.

</comment><comment><USER6> C# was my first language. I call it "home" because it's an awesome language that ships with an awesome framework.

13 years later I only have a few regrets.

1\. Microsoft tools are very very clever and very very good. You could become dependent on them. You could think you need them to be good at your craft. You could also be tricked into thinking that intellisense & autocompletion are key to your programming productivity.

I agree with what some folks here and on Stack Exchange say... Broaden your horizons and try a couple of languages/development environments. Perhaps learn Objective-C, Ruby, Node.js or Python at the same time. You could discover that programming is little to do with the IDE.

2\. Reusing other peoples code is a good thing. The Open Source community means you can reuse 1,000,000's of man-hours of work for free. And also contribute your own stuff back to others. Last time I looked, the mainstream .NET and C# community didn't really "get" Open Source. And in turn they didn't really get "reuse", so we missed the benefits of open source.

T

<comment><USER7> I learned C# using csc.exe and wrote my code in Emacs.

The book _Microsoft .NET for Programmers_ is a great (if somewhat dated, today) intro to C# and .NET for people who already have some programming background. It doesn't assume you are using Visual Studio so you get to skip all the smoke and mirrors that adds and just focus on C# and the .NET framework.

</comment></comment><comment><USER8> There is a lot of depth to C# that most of the .net developers I've met have never seen (and even when they've seen it, they do not fully understand).

The .net framework comes with __tons __of classes built-in that can be arranged to do most anything that you 've seen elsewhere with very little work; so it's understandable that with so much done for you beginning and intermediate programmers might skip learning how to build components from scratch, how to optimize, and how to create complex algorithms that solve novel business needs; however understanding of these topics is expected of senior developers everywhere I have worked.

I can see the point in suggesting one doesn't start with c#. I can also see the need for books that give you a proper ground-up understanding of what's going on. C# 5 Unleashed is an excellent example.

I don't think learning C# immediately is a mistake, but I do think it gives you an easy excuse not to learn the fundamentals that __should __be very important to you. It 's up to you as to whether or not you skip important bits and risk your career; but it will catch up to you someday.

</comment><comment><USER9> Why is no one mentioning the job market for C# developers? I love lots of languages, but what pays my bills is a day to day C# 9-5 Senior Dev job. It leaves me with the financial stability to play around with ideas in other languages at home, without having to fight for a relatively small job market comparatively.

REALLY learning C#, understanding what happens when you drag and drop the aforementioned gridviews and sqldatasource objects onto pages, is also super important, but I do wonder what percentage of other platform developers really know what's going on in framework calls they use?

<comment><USER10> This is a pretty important note. Especially on the east coast, C# is by far the easiest language to jumpstart a career in for young devs, and is a very safe bet for veterans as well. Java jobs are practically non-existent in many mid size east coast cities. I am now 100% node.js and python, but I probably would not have made it in the door if it was not for C# when I was starting out. The job market heavily favors devs, and the tooling makes it possible for self taught people to gloss over the fundamentals until they have enough time to go back and learn them. Also, if you think Stackoverflow is useful as a dynamic language dev, you would not believe how much more useful it is as a C# dev. I have no idea why, but SO seems to heavily favor C# over everything else. This is not to say that other languages get no love over there, but John Skeet alone has probably answered more obscure C# questions than all the other languages combined. I am only being half hyperbolic here.

<comment><USER11> C# is in high demand in many cities around the country.

</comment></comment></comment><comment><USER12> C# is great. But it really doesn't matter what you learn as your first language. Programming is a craft. You're expected to keep yourself up to date. You're expected to read-up on new techniques, and all the goings-on outside of your day job programming language. You're expected to perfect your craft.

</comment><comment><USER13> I wouldn't do it, for the simple reason that it is, _for all practical purposes,_ a vendor-specific language. There is plenty to be said for the idea that the concepts of programming translate into all languages. But that's an academic perspective. From the perspective of having employment flexibility, I'd be looking for a language that didn't lock you in to one specific platform, as big as that platform may be.

<comment><USER14> I'm going to be a bit nit-picky, but C# isn't a vendor-specific language. There is also the mono implementation which is very very good, and doesn't lag too far behind the .NET implementation. Xamarin is a decent example of writing C# and targeting multiple platforms.

That said, there are better languages for cross-platform development, but that might not be a concern for a large number of companies and people.

Locking yourself into a single language is the wrong thing to do regardless, and is what most of the answers in the link suggest.

</comment></comment><comment><USER15> Is learning french as a first language a mistake?

<comment><USER16> No... unless you happen to pick Spanish as your second, Italian as your third, and then go around trying to shoehorn Japanese, Swahili or Finish into your (unknowingly) narrow definition of what a language should look like.

</comment></comment><comment><USER17> For me, C# / .NET / Visual Studio / Resharper is the most productive general purpose development environment I've encountered. I've made a number of very serious efforts to move away from it (to diversify knowledge / due to it's image problems), but always come back because my productivity is just so high.

For operations, I don't like Windows - Linux is far superior for scripting, how-to information more widely available, it's open source, cheaper etc. So I tend to always deploy using mono. There are incompatibilities, but I have found them to be relatively minor based on my experience working on some very large systems.

</comment><comment><USER18> I have been thinking about a similar question. What is the best way to learn a language? Or how does one equip oneself to pick up any language to start coding up the basic tasks[ignoring the intricacies the language provides]. Does learning one kind of a language help with learning other languages?

I started learning programming with C and little bit of C++, before I started working on real life projects in Java and C#. Since then, I have dabbled in Python, ML, Racket and more recently Clojure. So what did I learn from all this? It is best to learn any language by learning the concepts or the \ how the language implements/solves that concept.

For example, teaching the general concept of "environment" some declaration resides in helps understand any languages "scoping" behavior more easily.

So, the bottom line is teaching any language by way of 'programming language concepts' and just using the language to realize those concepts would go a long way.

<comment><USER19> I've been thinking about this too. It appeals to me to start off with something like Scheme, then learn asm and C to understand how machines work (at least conceptually). That way the basis of proper functions and computing is in your mind, and you're not overcome with the hardware details first. OTOH, I look at my own path, starting on BASIC, C, ASP and then onto assembly and functional - and I wonder if it would have been easy for me to start off where I currently am. As an "expert" now, is my viewpoint so warped that I mistakenly think that old-me would have immediately picked up ML and functional concepts?

<comment><USER20> Going from Scheme to asm and then on to C would take a lot of personal dedication into learning how computers work. Much of the interest to learn programming is to make something cool. I made a small game in Delphi when I was younger. I toyed with Basic to ensure that my gorilla's bananas would always destroy the computer's gorilla. It was basic, simple and I learned a lot of new concepts. I'm sure you did the same thing.

I wish I learned asm and C when I was younger but honestly, I don't think I would have stuck it out. So while my first thought right now would to say "learn C as it will help you understand many other programming languages," my honest advice would be to "make something in any language you want, just have fun."

</comment></comment></comment><comment><USER21> I'm going to go against the grain here and argue that yes, it's a mistake.

An awful lot of novice programmers take years to progress from their "mother tongue" to their 2nd and 3rd languages, if they even progress at all.

I think marrying yourself to a proprietary language like C# is a mistake, not because of any particular C# language feature, but because it's yet another product of Microsoft's extreme case of Not-Invented-Here Syndrome (see for example netbios, active directory, etc etc etc). They have a compulsion to create proprietary, non-compatible versions of things that already exist, and you'll be handicapped if you only know C# and ever need to work on Not- Windows.

C# is basically Java with some minor differences (differences that will be immaterial to the novice) and Java has a far better degree of platform- agnosticism and would be a far better choice for a first language than C#, IMHO.

<comment><USER15> Really?

Linux, Windows, Mac, Android, iOS.

Considering that Java won't run on iOS (nor can you deploy java apps to the app store), I'd say C# is far more platform agnostic.

<comment><USER22> Well, there is RoboVM, and Java (or derivatives) run on just about everything wether it be you sim card or credit card to high end clusters.

<comment><USER15> Same with C# [http://www.adafruit.com/products/336](http://www.adafruit.com/products/336)

To be honest though anything non-x86/ARM is pretty esoteric these days, and realistically if you're going embedded C is a far better bet than anything else. (except maybe forth)

</comment></comment></comment></comment><comment><USER23> To me, any language with a well defined semantics, consistent syntax, understandable error messages, strong (preferably static) typing is a good choice to learn programming. Also, it's important that you don't need to introduce many concepts to do simple things, which is typically the case with C# or Java.

For instance, consider Hello World in C#:

public class Hello { public static void Main() { System.Console.WriteLine("Hello, World!"); } }

you have either to explain several difficult concepts or tell the students that there are some magical things going there that they'll understand later. To me, it's not really satisfying. In the end, it will work, but with extra confusion and risk of losing some students along the way.

compare this with "hello world" in ocaml: print_string "hello world"

I'd much prefer to teach programming to a newbie in ocaml, python or pascal, rather than C#, Java, C++ or C.

</comment><comment><USER24> A friend told me recently that they liked Python because it was an easy language to start a project with, but they loved OCaml because it was an easy language to finish a project with.

My point? The best language to learn first is the one you are most likely to be able to finish a project with, and the best approach to figure out which is which is to start learning whichever one seems like the right one. If you're wrong, the good news is it's much easier to learn a second language, and a third, forth, etc.

I started with pascal, and it was the incorrect choice. I'm still not sure what the correct choice would have been, but from here it looks like lisp/small talk, neither of which I have bothered to learn yet. Go figure!

</comment><comment><USER25> I started with C++ 6 years ago. 3 years ago, my religious view on C++ ended and i finally realized, that C++ is not enough. I saw Java, Lisp, Prolog, C# and others but got stuck in Haskell, because Haskell is the way, i want to write programs.

Independent to a language, i recommend to start without a IDE. C# and Visual Studio is in this case a bad combination.

</comment><comment><USER26> I started with Python, then Lisp, then I had my first job working with C#. I honestly don't think C# would make one iota of sense to me if I did not have any background in programming.

I think that there is something be said about learning the value of all the libraries and working at a high-level view when your aim is production, but for learning, peeling away all the abstractions and forcing yourself to learn the fundamentals first is more important, with a much larger payoff once you are exposed to working with higher-level concepts. The dichotomy is that being productive is somewhat at odds with learning the fundamentals, but being productive in C# requires some intuition and knowledge about _when_ to use a tool as much, if not more so, than _how_ to use a tool.

I think that the entire .Net ecosystem is a terrible place to start. The first reason is Visual Studio. There is immense value in learning how to compile a program, using real REPL, learning how to design your file tree, and many other issues. I also think that a language that basically requires you to use code-completion is bad for your discipline as a programmer and doesn't enforce one of the major tenets of LCTHW, which is that typing and accuracy are highly valuable skills and depending on code-completion is akin to doing copy- pasting. Typing forces you to consider the "why" of your actions.

I also think that C# is generally much slower to develop on because far more verbose than other languages. It is better, IMO, to just focus on the problem at hand. Having a program that is 3x longer than Python can't be good for a beginner. Too much to focus on. Just get to the point and focus on it.

There aren't many learning resources about C# and using it for programming fundamentals. The advice can often be highly confusing and at odds with what you are ultimately attempting to accomplish. There is something to be said abound step-by-step and simple and straight-forward when you are just starting out.

I think C# is fine as a second or third language to learn. The reason is that there are many wonderful ideas and concepts in there, but they won't make a whole lotta sense without something to refer to in your own mind.

I hope the above isn't interpreted as a bash of the language or .Net as I believe that C# is a beautiful language with some amazing concepts. With that said, I'm sick and tired of seeing slow sites with the .aspx extension. If people with years of experience get bogged down in the complexity of the framework, what will happen to our beginner?

</comment><comment><USER27> Yes, unless there's a paid development position at the end of the course. ;-) But seriously, your first programming language should be one where there are numerous entry-level programming jobs in companies where you live. Network, network, network!

</comment><comment><USER7> Some of the better CS schools (used to?) start freshmen with Scheme. Not sure if they assume its a "first" language but for at least some of them it is.

<comment><USER28> Berkeley's CS department starts with Scheme.

<comment><USER29> As does WPI. Good move, imo, starting with functional programming Just Makes Sense

</comment></comment></comment><comment><USER30> I don't think there is such thing as a bad choice for a first language, barring obscene languages like Brainfuck.

</comment><comment><USER31> No, unless you want to shut yourself out of non-Miscrosoft ecosystem. Considering that learning a language is a long term investment and MS's star is waning, it's probably not a good idea.

<comment><USER32> If only C# programming skills (and programming skills in general) were transferable to other languages. Oh wait.</comment></comment>


Show HN: AnyChart – JavaScript charting library (SVG/VML); source code on GitHub - <AUTHOR> https://github.com/AnyChart/AnyChart <comment><AUTHOR> Also check out plugins for Angular, React, Meteor, Ember, jQuery, and NodeJS: [http://www.anychart.com/plugins/](http://www.anychart.com/plugins/)

And what else is new in the 7.13.0 release: [http://www.anychart.com/blog/2017/02/28/anychart- javascript-...](http://www.anychart.com/blog/2017/02/28/anychart-javascript- charting-libraries-7-13-0-released-source-code-opened/)</comment>


Vice Media's Video Employees Unionize - <AUTHOR> https://www.wsj.com/articles/vice-medias-video-employees-unionize-1506022931 <comment><USER2> This is so awesome. I assume vice is totally on board.</comment>


How to sell a massacre: NRA's playbook, revealed - <AUTHOR> https://www.aljazeera.com/news/2019/03/sell-massacre-nra-playbook-revealed-190325111828105.html?curator=MediaREDEF <comment><USER2> Related:

[https://www.theguardian.com/australia- news/2019/mar/26/one-n...](https://www.theguardian.com/australia- news/2019/mar/26/one-nations-james-ashby-says-he-was-on-the-sauce-when- seeking-20m-from-nra)

It shocks me how blatant these merchants of death can be, but still they somehow find an audience to sell their lies to.

</comment><comment><USER3> Well, it's Al Jazeera. So, there's that.

OTOH, with the current US administration, even the most die-hard conspiracy nuts are starting to look reasonable.</comment>


Ask HN: Where do you work on your side-hustle? - <AUTHOR> I live & work in Chicago, and for the past year or so I've been working on my side-hustle when I get home from work. But, getting focused at home is a real struggle and I'm looking into other options.<p>Does anyone else have advice? I've thought about bringing my personal laptop to work and then working on my side-hustle after work hours, but I'm worried about the legal implications. There's no way my day job has business conflicts with my side hustle, but I'm worried if there's still some potential IP that I give up by working in my office. <comment><USER2> Home, you need to make your office at home. WORK ONLY. You can't surf the net and game in the same space. Once you sit down in this space, it should be work only. You should preferable have a work only system. You must physically and mentally separate work and play. Some people don't need this but most of us do.

</comment><comment><USER3> You can get some coworking space for about $100 a month, at least in my city, for 7-8 days a month visitation

Big franchises like panera bread, McDonalds _in nicer neighborhoods_ , starbucks come to mind. Bookstores, coffee shops, local library, etc. Some local independent restaurants are okay if you get to know the owner and if its not as busy, and you get food there. Drink shops / bar areas that have board games are good too. If you have friends that have coworking spaces / their company workspace, its not a conflict of interest on your end. Some gyms have some desks you can work at as well

If you have a local university or college there's plenty of empty classrooms sometimes openly available and never opened. If you need a legitimate reason to go on campus _(and aren 't an alumni)_, you can buy a gym membership there

If you don't need public wifi just use your internet, any place with seating is okay.

Hotel lounges, but you won't get internet access though, but if your tethering it won't matter. Depends how much work you are doing. Bigger chains are better, they don't care nearly as much. So long as you don't look like a homeless bum your good here.

I would also include golf and country clubs along with hotels, since they are resorts too.

Additional locations are makerspaces, but that might be only at certain times of the day. Checkout your local science center or any local museums, do a wifi scouting and seating availability.

<comment><AUTHOR> Yeah I'm starting to think that I have to get a coworking space. There are some libraries and stuff, but they don't seem consistent.

</comment></comment><comment><USER4> You can negotiate a shorter workweek, to free up more time; here's someone who hasn't been working full time for years: [https://codewithoutrules.com/2018/01/08/part-time- programmer...](https://codewithoutrules.com/2018/01/08/part-time-programmer/)

<comment><AUTHOR> Yeah, possibly...

</comment></comment><comment><USER5> If you are an early morning person, get up,early. Work on your side hustle for say 1-2 hours focused. Then go to work.

Fix regular schedule will further assist in building momentum and simple next baby step for the hustle.

And no, don't do anything personal in work place. Separation of concerns and peace of mind are waaay more important.

Wishing you success.

</comment><comment><USER6> Coffee shops, preferably big brand shops like Starbucks where no one cares if you buy one drink and occupy a table for 2 hours. Do a little research into the various coffee shops in your city and you'll find that certain ones have secluded upstairs areas that are perfect for working.

</comment><comment><USER7> I work on them during work hours - on my own gear, as I desire, just never in the office. I used to feel bad about it - I don't.

The reality is that in tech, we work all sorts of hours, all over the place, on all sorts of things. Part of the trade off is recognizing that whilst I happily have a rather long work-week, it doesn't mean that I need to _ALWAYS_ give the best hours of the day to the corporation (and it's my corporation).

I also find that it benefits my company. I frequently bring in ideas from the things I've been experimenting with to work. We actually rely on several of them now.

tl;dr it's the time of day that matters a lot more than the environment.

</comment><comment><USER8> If you are not using the phone for anything business related, libraries make a good work space. If you live in a city with a university, check to see if their libraries are open to the public. Most are open longer than public libraries and have better environments (although public libraries can be great too)

</comment><comment><USER9> Having a desk in a co-working space helps a lot, you'll get the mental switch and can keep your work desk setnup so that you're ready and inspired to work as soon as you walk in. I personally can't do coffee shops for long. They're amazing for doing one-off work tasks, sending emails and can help if you feel like just being out every once in a while, but I like knowing I have a setup ready in a dedicated space when I have to do more serious work.

</comment><comment><USER10> College libraries are sometimes open to the public. They're usually a bit nicer than regular libraries. My favorite place to go is a local coffee shop.

</comment><comment><USER11> Don't work in your office for all of the obvious reasons. Go anywhere else. Try different coffee shops around your office or home neighborhood. I think that a coffee shop provides the right level of distraction for doing work when your brain is tired after working a long day.

</comment><comment><USER12> Library

</comment><comment><USER13> My bed. I'm mostly a hermit when left to my own devices and I have absolutely no problem being productive at home... so, in my bed with my laptop and some background noise and I'm all set.

</comment><comment><USER14> Part of the fun of a side hustle is doing it at your day job.

</comment><comment><USER15> Sometimes I'll get up really early and put in a quality hour or two at a coffee shop before starting my 9-5.

</comment><comment><USER16> I go to Starbucks to work on my side projects</comment>


Parenting and Panic - <AUTHOR> https://thepointmag.com/examined-life/parenting-and-panic-agnes-callard/ <comment><USER2> > my eye was on the babies, and I couldn't help but notice that one of them > was chubbier, calmer and more beautiful than the others. My baby alone ... > was much better than any of the others. Why wasn't anyone remarking on this?

I am fascinated by this phenomenon. I remember my kid being in a school play when he was young: everybody who wanted could be in it and they clearly added trivial non-speaking spots for kids who might not have passed an audition but still wanted to be on stage. He had one of those! Yet whenever he was on the stage he just dominated -- expanded to fill the whole field of view. At least for me. I really recognized this phenomenon years later when I watched another play which had two kids in its cast who were _really good_. Probably the first time I really noticed that there were even other kids on the stage.

As for new parents groups: they really are for mothers and aren't about the babies. So I understand what she felt ("It was around the time I abandoned my third or fourth new moms group that I began to consider the possibility that I might be the problem."). And I mean _mothers_ : as a father I was clearly not welcome (this was back in the late 1990s). At the park I was definitely viewed with suspicion by the other mothers even though I was a regular, and none would really talk to me (that's OK, I had EE times and the NYRB). Back then I was the only father pushing a pram around downtown Palo Alto in the middle of the day, and certain segments of the population clearly treated me with scorn. After the 2000 crash I saw more fathers doing this and I hope this has changed to some extent.

Interestingly at a party this phenomenon didn't appear, which I feel was due to context: if I was carrying a baby I believe the presumption was this was a dad being cute and "helping out" and that the rest of the child rearing was done by the mother (in fact she did a lot but had no patience for the American baby rituals). I saw this play out in other countries when I had the baby (and later child).

I don't agree that the child controls the process, but rather the child is a big responsibility, and _that_ controls the process. Frankly owning a home is a lot of responsibility too, but the home is not in control.

<comment><USER3> > At the park I was definitely viewed with suspicion by the other mothers even > though I was a regular, and none would really talk to me

Interesting. My experience as the only dad at the parks with my young child was that all the moms wanted to come tell me what a great thing it was that I was there, and how they were really proud of me for doing it. It felt very condescending and awkward.

<comment><USER2> Could be a cultural shift — this was 1998-early 2000s

<comment><USER3> Could be, I was doing it in '06-'09 time period. Also could be different part of the country, as I'm in MA.

</comment></comment></comment></comment><comment><USER4> We've never given our baby formula (made it almost 11 months so far) and the thing that really frustrates me, as a new father, is to watch my wife struggle to feed our kid and work full time because she's been told she needs to breast feed. I'm not arguing the health benefits, but if I were, here's one for you:

It's better for the long term health of the baby if the mom doesn't jump off the fucking roof because you put too much pressure on fucking breast feeding!

It's probably fine to supplement once in a while to ensure the mother has a lower stress level. All things in moderation I think...

Do I sound panicked?

<comment><USER5> This woman agrees with you.

>I beg to differ [that there is no reason for a healthy well-fed mother not to breast feed her baby]. There are a lot of healthy well-fed mothers who have found what they think are valid reasons not to breastfeed. I chose not to breastfeed my babies because it was inconvenient, time-consuming, interfered with my sleep, and was incompatible with my job as a doctor working 24 hour shifts in the emergency room and as a flight surgeon on call. I suppose I could have pumped milk and planned ahead and found a way to do it, but it would have required heroic measures. I can imagine leaking breast milk all over my flight suit when I was on an emergency helicopter mission and simply couldn't stop to pump. Moreover, I tried breastfeeding briefly with my first baby and frankly, I didn't like it. All in all, I thought my babies were better off with a happy mother and a bottle.

[https://sciencebasedmedicine.org/breastfeeding-is-good- but-m...](https://sciencebasedmedicine.org/breastfeeding-is-good-but-maybe- not-that-good/)

</comment></comment><comment><USER6> As a newish dad this is relatable but not as much as for my wife. There is so much pressure and she is constantly telling me she feels like a bad mom. I say listen , who cares about the media or twitter. There is always some person posting on instagram about how they make a gourmet vegan meal for their baby. As a male, an alternative dude, and a bit of a stoner with open mind I can pretty easy filter out all the crap and focus in on what matters. Not as easy for the females, i have mad respect for all the moms out there grinding.

As for the whole 'my kid is so amazing', yeah i have that feeling as well with my kid. seems like it's just a paternal thing. but damn man kid is fucking cute and EVERYONE says hi to her. This doesnt happen with all little ones right? Our kid is smiley as shit, waving, laughing and basically a smile generator. IF you dont smile as this kid you have no soul

<comment><USER7> _" As a newish dad this is relatable but not as much as for my wife. There is so much pressure and she is constantly telling me she feels like a bad mom. I say listen , who cares about the media or twitter. There is always some person posting on instagram about how they make a gourmet vegan meal for their baby. As a male, an alternative dude, and a bit of a stoner with open mind I can pretty easy filter out all the crap and focus in on what matters. Not as easy for the females, i have mad respect for all the moms out there grinding."_

Might I suggest one of the aspects that you may be missing is that mothers are judged as mothers first and humans second in society (at least in America where I live). Often times a woman who doesn't mother as vigorously as another woman is considered _less worthy as a human being_ and less deserving of respect, care, comfort, etc.

I would compare this to ask if men are judged the same way as fathers. For example, if a male CEO doesn't take the day off to nurse his sick infant, is he considered a bad human being and judged as morally a less worthy person?

Or, in my experience, if my male friends are letting their spouses handle taking care of the child for the evening, they are not casually discussed as allowing malnutrition and unkemptness the way women are discussed when they let their husbands take care of the kids while they have a night or a week out for a business trip or just to have some fun.

An interesting thing to note is that women on average were studied to have an additional 2 hours of work per day upon becoming new parents, while men on average have an additional 40 minutes.

<comment><USER8> > I would compare this to ask if men are judged the same way as fathers. For > example, if a male CEO doesn't take the day off to nurse his sick infant

The example I would use is a father who looses his job. Is he considered as morally a less worthy person compared to a mother who lost her job?

Cultural we still have gender role leftovers from the perception that mothers are judged based on how they are able to raise children, fathers on how they are able to provide for their children and spouse. A man who can't provide is cultural viewed as an unfit father. A woman who can't raise her children a unfit mother.

In such culture it is of no surprise that the father can take a much more relax attitude to question such as nutrition.

> women on average were studied to have an additional 2 hours of work per day > upon becoming new parents, while men on average have an additional 40 > minutes.

And how many work hours at the office? Should anyone given our current culture be surprised if fathers spend more time in the office than mothers?

<comment><USER7> My post is about why a mother might have a significant amount of anxiety about being a mother and their mothering capacity.

This response is entirely out of scope. This isn't a competition on who works harder, and framing it like this completely ignored my point.

<comment><USER8> That misses the point. Gender roles is a cause for anxiety because the cost of failure is magnified and strike at the gender identity of the person.

Without understanding gender roles the different in anxiety in fathers and mothers is unexplained, but there is no reason to do so as gender roles is a fairly well documented and understood concept. Even in households that do not perceive the father as the provider and the mother as the caregiver the gender roles in society still imposes expectations that results in anxiety and stress that align identically to those gender roles.

I am not sure where you got the concept of a competition, as the key insight from identify the problems of gender roles is that both women and men suffer from it. A simple decision such as taking a day off to nurse a sick infant should have same outcome for both women and men, but with gender roles pushing the mother to prioritize the child over work and the father to prioritize work over the child the outcome becomes stereotypical.

<comment><USER7> _" That misses the point. Gender roles is a cause for anxiety because the cost of failure is magnified and strike at the gender identity of the person."_

Yes, that's... kind of what I was pointing at, because the original guy said he was baffled at the anxiety of his wife. That's literally all I'm saying. I'm so confused at your responses.

</comment></comment></comment></comment></comment></comment><comment><USER9> I usually stay the heck away from parenting articles but there was a genuine honesty to this one.

> "The women in these groups had bent over backwards to be welcoming"."

People love to believe that mom's groups are full of snotty judgments and anti-vaxx sentimens which is rarely, if ever true

> "My baby alone had the brilliant promise of profound intelligence shining > out of his eyes."

Shhh - we're not supposed to admit that!

> "Every story about parenting has to do double duty as a story about how I am > such a good parent."

I am pretty impervious to guilt trips, but 90% of parenting articles are just flat out boring. I don't know why it can't be addressed with any sort of intelligence and introspection.

</comment><comment><USER10> I can't scroll this at all with Chrome on Android?

If anybody else has the same problem: [https://outline.com/PrPGFc](https://outline.com/PrPGFc)

<comment><USER11> I'm on desktop firefox 70 and I can't scroll either.

When are web devs going to stop this nonsense? Don't override basic behavior.

<comment><USER12> Desktop Chrome 77 can kinda sorta scroll a little bit sometimes.

<comment><USER13> Same. Absolutely galling.

<comment><USER14> Mouse wheel doesn't work on FF, but clicking the down arrow at the bottom of the scroll bar does. Annoying indeed.

<comment><USER15> For the other suffering Ubuntu Firefox users with no scroll bars: I got it working with the Page Down key.

Annoying++ right there. I guess scroll bars were ugly or too complicated, so they had to go.

</comment></comment></comment></comment></comment></comment><comment><USER16> One great excerpt:

"Parenting is a hostage situation: you're in the car, but your child is the one driving it"

I would have said "you're THE car, but your child is the one driving it" :-)

<comment><USER17> This kind of attitude towards children baffles me. It was always very clear where the authority lay in my family, and it certainly was not in my childish hands. You did what you were told, and with not too much grumbling. It's a much more effective system, by all indications.

<comment><USER16> How old were you? I think you're speaking about older children than what the author is implying in her article, and I was relating to her experience.

When you've got a baby, or a toddler, you can't just leverage your authority and expect them to comply. It's a slow voyage. And, even when they comply, it may not be a victory; would the author feel better if his child actually used the bear costume?

I suspect from the fact that you said "not my childish hands" that you're referring to your own childhood, and you're not a parent (yet). Maybe you should ask your parents about their feelings.

Sometimes you expect parenthood to be hard, complex, tedious, but oddly satisfying. But it can be totally unsatisfying. Because it's about children, not about parents.

<comment><USER18> Agreed. The really satisfying part is when they do stuff on their own.

Although getting a hug from time to time is a nice bonus. :)

</comment></comment></comment></comment><comment><USER19> The author is lamenting how much the whims of the child control her parenting. I don't want to make this about wealth but it kind of has to be. Wealth buys the freedom to cater to these whims and make the cost seem justified. This is normal to her because the author lives somewhere and associates with people in similar situations, it's the local status quo. The kind of stuff the author describes does not fly in families of lesser means. Good for her for having those means but her experience is not universal.

You can bet that when daddy is waking up at 5am so he can be sitting in the cab of an excavator at 6am mommy would be making the whiny 6yo sleep in his own bed. The parenting experience would be very, very different with less emphasis on the needs and whims of the individual child and more emphasis on what's best for the family unit, parents have to work, kids have to go to school. There is little room for compromising the routines around that.

Edit: I'd be interested to know why people disagree with me so much.

<comment><USER20> Cosleeping is actually substantially _more_ common in low-income households.

<comment><USER13> That might be more in the "very low" segment. At any rate, the point stands in my experience; so many of the whims and desires my partner and I have been able to cater to for our kids come from our privileged ability to do so, and I can list a few dozen things we'd cut out immediately if time and money were more scarce.

</comment></comment></comment><comment><USER21> Just more evidence that everyone parents differently. My friends hardly hear about the good stuff that my kids do. I want to talk about the grime and the shit and the speech delays and the temper tantrums. That's the stuff I feel like I need to get off my chest, when I'm afraid for their future.

<comment><USER22> We and most of the parents we know probably spend more time talking about the crappy bits of parenting than how awesome our kids are. The single best part of doing anti-natal classes was meeting a small group of people who were all going through the same kinds of stuff we were. Knowing "It's not just me" is a really big help coping with some of the tougher stuff.

We do still talk about the good stuff, but we all know they are awesome.

Thankfully most of my FB friends are pretty light on the performative parent posting. The ones who go in for that also tend to be the one who overdo the posting generally.

<comment><USER23> > anti-natal

probably just a typo but I thought this was a great malapropism... assuming you meant ante (as in 'before') and not anti

<comment><USER22> Hah, yes, brain-fart.

Although some of the stuff they covered in the classes would have been enough to put many off having kids if they were not already very pregnant :)

</comment></comment></comment></comment><comment><USER24> From the unscrollable article:

 _" While they were comparing and affirming baby-care choices, my eye was on the babies, and I couldn't help but notice that one of them was chubbier, calmer and more beautiful than the others. My baby alone had the brilliant promise of profound intelligence shining out of his eyes. He was much better than any of the others. Why wasn't anyone remarking on this?"_

 _" More good mail days. Join our newsletter."_

I think some kind of paywall was squelched by tracker blocking. But it's not worth figuring it out to read more of that.

<comment><USER25> I couldn't tell if the site itself was screwed up or if it was something on my end.

I converted the article via Outline and read it that way. [https://outline.com/PrPGFc](https://outline.com/PrPGFc)

</comment></comment><comment><USER26> Parents don't make adults out of children, children make adults out parents.

<comment><USER27> I don't have children.

I am an adult.

<comment> em-bee that's what i thought too, until i had children. there is so much more to being an adult than to be able to handle your own life. parenting teaches you something no other aspect in life can.

</comment></comment></comment><comment><USER4> > my eye was on the babies, and I couldn't help but notice that one of them > was chubbier, calmer and more beautiful than the others. My baby alone ... > was much better than any of the others. Why wasn't anyone remarking on this?

Probably because every other mother in that room was thinking the same thing about their kid.

* have a 11 month old who's objectively more cute than every other kid in the room.

<comment><USER28> I read the author as being fully self-aware and assuming we understand that that is the case.

<comment><USER4> Interesting, because she was talking about formula previously, I took it to mean she really did believe her child was legitimately better.

</comment></comment></comment><comment><USER29> This was just an incredibly thoughtful essay and really captured some of the deeper movements of raising children better than most "OMG, raising children is NUTZ!" essays.

</comment><comment><USER30> Beautiful piece of writing, thanks for posting this.

</comment><comment><USER31> I made this meme to express what the first year of parenting is like: [https://youtu.be/-br6dC69vdk](https://youtu.be/-br6dC69vdk)

I can only say this so emphatically over the internet, but if you have not yet had kids, and you even _remotely_ enjoy your life, DO NOT HAVE KIDS. Source: I am a dad.

They are in incredible burden that you cannot imagine or conceptualize prior. The company you founded, the marathons you ran, your PhD thesis, etc., these are all peanuts. Having a kid is like running a marathon every day for a year. If that sounds like fun to you, then go right ahead.

There are 8 billion people on the planet. You don't need them to run the farm, if you want to mentor someone there are lots of opportunities already. It's also a shit job. Kiss your weekends and evenings and any other free time goodbye. Like exercising? Good luck squeezing that in. Where this idea came from that having kids should be the default in life I have no idea, but it has got to stop.

The test I give my childless friends is to ask them what percent certain they are that they want kids. If it's less than 100% (and it usually is) I tell them not to have kids.

GET A DOG!

<comment><USER32> As an only semi-related aside, I've always thought it was interesting that my friends who didn't want kids when we were younger because of the responsibility have nonetheless spent the last 10 years having dogs. Kids are far more expensive than dogs, for sure, but I feel like logistically, dogs and kids are more similar than people think.

You have to take care of a set of daily tasks to keep them happy and healthy. If you work, you'll have to send the child to daycare, which you don't have to do with a dog, but for me personally, there's some mental stress associated with leaving a dog home alone all day. Other than that, you can't just up and leave your house for longer than a work day without making arrangements for either kids or dogs. Naturally, there are certain kinds of vacations that you can't take with children, but in my experience, most people vastly overestimate how much time they'll actually spend travelling the world over the next decade or two.

Dogs have to be walked regularly enough that I don't think it's unreasonable to say that a lot of people will spend more time actively caring for their dog than they would caring for a child once the child is older than 5 or 6, at least when the child doesn't have a ridiculous amount of extracurriculars, though that's far from universal. Some kids are quite self-sufficient, though.

In my mind, the major thing that makes dogs less of a responsbility is that they don't live as long, but then no one ever just has one dog, they tend to string together 30 or 40 years of dogs, whereas kids are theoretically out of the house after 18 years.

Lest it be said that I must not have much experience with kids, I have 4 and have been a stay at home dad. It must also be said that I derive much more joy from interacting with my kids than I do from interacting with my pets so my whole perspective is certainly biased.

All in all, I think culture has instilled in us this fear that we'll ruin our children's lives if we just let them be children and that has made having children so much more daunting and intense and exhausting than I think it needs to be(though babies, I fear, will always be intense and exhausting).

<comment><USER33> I'm gonna go with: ummmmm, fucking nope.

I occasionally leave my two dogs at home, outside, alone, over night.

Their water is on a timer.

Dogs can go days without food.

You can leave a dog at home alone.

Dogs can eat _rotting_ food, including meat.

Dogs can be trained to sit and wait in silence.

You can put dogs in a cage for hours and they just take it and wait.

If I can't be arsed running with them I get in the car and they run on the footpath beside me for 10k.

If a dog gets to ill or too physically incapable you can take it round to a mates place and shoot it in the head.

<comment><USER34> Good choice. You should probably not have kids anyway.

<comment><USER33> I've got one of those too.</comment></comment></comment></comment></comment>


git-issue – Track issues within Git repositories - <AUTHOR> https://www.gaxun.net/ideas/git-issue/ <comment><USER2> > This is just an idea so far! If you think you know how to do it, I'd love to > hear about it.

> Don't be too hard on me, I'm just dreaming in public.

Then mark it as an idea in the headline. This is deceptive.</comment>


Relay Technical Preview - <AUTHOR> http://facebook.github.io/react/blog/2015/08/11/relay-technical-preview.html

<comment><USER3> I'm totally cool with Facebook mining my data if their open source keeps up this pace. GraphQL + Relay are total game changers for structuring web + mobile applications. Code bases get cleaner and more reliable. Less data gets sent over the wire. Other cool libraries are going to be built on top of Relay (I'm pretty excited to see what can be done now with ClojureScript components in .cljc files).

This is so awesome. Much love to everyone at Facebook that has made this possible. With React, React Native, Rebound, GraphQL, Relay etc... You're saving us all from drowning in complexity when buiding web/mobile apps and I love it. Keep fighting the good fight.

<comment> aaron-lebo So I'm drinking the React kool aid, anyway, but this stuff has hardly been out in the wild. People have been saying tech X saves us from complexity for decades (OOP, noSQL, Knockout, Angular, etc...), and after a few years of use we realize it's not actually a magic bullet. Again, I'm drinking the kool aid, but maybe we should slow down on the hyperbole. Unless there are reasons to believe that things really are different this time?

Also, totally not okay with how FB mines data; they don't get a pass on that. Their OSS work is top notch, though. Now only if someone would take their own technology and beat them with it. A little guerilla warfare.

<comment><USER4> OT: At this point, I am so confused at what "drinking the Kool-Aid" even means. People on the Internet seem to use it for every meaning possible. I was surprised to see that it has its own Wikipedia: [https://en.wikipedia.org/wiki/Drinking_the_Kool- Aid](https://en.wikipedia.org/wiki/Drinking_the_Kool-Aid).

And it seems like you mean exactly the opposite of what you've said, based on that definition - you're _not_ drinking the React Kool-Aid, or drinking the _anti_ -React Kool-Aid.

I'm not trying to impose grammar OCD on anyone by any means. Like I implied, I'm probably one of the more ignorant people about these phrases. I just think it's confusing when people say things like "could care less" and "drinking Kool-Aid" when they actually mean the complete opposite. It's very bizarre to me but OTOH I guess it's fascinating that English is just that flexible.

<comment><USER5> I think his suggestion is that he is drinking the Kool-Aid while internally questioning whether it is a good idea for him to be drinking the Kool-Aid. Which, I agree, is sort of a contradiction, but a parseable one.

<comment><USER4> This makes more sense. He's basically saying, "I love this, but let's not get too carried away." I now see where that comment's coming from!

Thanks. Nit-picking again, but drinking the Kool-Aid does mean "unquestioning, ... without criticism" implying that those who are drinking wouldn't have such reservations. That's what I was confused about. Oh well. Language is evolving, what else is new.

<comment><USER5> It might not have been the original meaning but when you think of a cult member drinking the Kool Aid (that will kill them) they might be a true believer with no doubt in their mind, but they could also be someone who isn't sure but is being led by peer pressure ao on.

</comment></comment></comment></comment></comment></comment><comment><USER6> I'm really excited about this! While working on an "isomorphic" app, data fetching gets incredibly complicated. There are many edge cases. For example, when rendering on the server, you have to block all renders until all data fetching is complete. But on the client, you can show the view with a "loading" indicator, as in _not_ block. But you only need to fetch data for that route on the client if it _hasn 't_ been fetched on the server...the rabbit hole is full of wheels you don't want to reinvent.

I'm hoping Relay solves the data fetch problem in a way that makes isomorphic applications much cleaner.

<comment><USER7> Meteor already does this. In your template (Blaze) you can wait for your subscriptions to be ready and in the meantime render a loading icon or something else. Check it out!

<comment><USER8> In this case, I think the more accurate example would be Meteor + React [1]. You can still show the "wait for data to be ready" state as you described. (For those interested, follow the linked tutorial.)

The Kadira team have even gotten Server-Side Rendering working with React [2][3] while no-one has yet for Blaze because the Blaze templates aren't currently available on the server due to how the bundler works. I'm sure MDG will make them available soon and then we'll be able to have SSR with both React and Blaze.

1\. [http://react-in-meteor.readthedocs.org/en/latest/](http://react-in- meteor.readthedocs.org/en/latest/)

2\. [https://github.com/kadirahq/flow- router/tree/ssr](https://github.com/kadirahq/flow-router/tree/ssr)

3\. [https://kadira.io/blog/meteor/meteor-ssr-support-using- flow-...](https://kadira.io/blog/meteor/meteor-ssr-support-using-flow-router- and-react)

</comment></comment></comment><comment><USER9> This is very exciting. Facebook's commitment to open source never ceases to impress me. They could keep this technology to themselves and have light years or we'd only read it in academic papers, like Google has done with its core technologies, and someone else would have to reverse engineer them. But Facebook gives the entire code base. No other large company I know of has such a strong commitment to open source.

<comment><USER10> > we'd only read it in academic papers, like Google has done with its core > technologies

Nit: Google has been pretty generous in supporting developers outside the company. Eg., see Golang, Kubernetes, JS closure library, protofubf, bazel, and many more at github.com/google.

<comment><USER11> Not to mention being a top contributor to the Linux kernel, clang/llvm, mysql, doing almost everyone's security research for them (including, notoriously, finding most of the issues that get released in Apple security patches), etc. Facebook sure does a better job of evangelizing their own open source stuff, but I'm not sure that means they're actually contributing more. Even some of Facebook's "contributions" are ripped off from Google, like buck.

<comment><USER12> Buck was not "ripped off" from Google any more than Hadoop was "ripped off" from Google.

<comment><USER11> Buck is a nearly verbatim clone of the build system used inside Google, except that the word "blaze" has been replaced by the word "buck", and it was written by xooglers at facebook.

</comment></comment></comment></comment></comment><comment><USER13> The release commit is really the best: [https://www.dropbox.com/s/9gx377scddhxo95/Screenshot%202015-...](https://www.dropbox.com/s/9gx377scddhxo95/Screenshot%202015-08-11%2012.35.52.png?dl=0)

All I can say now is: ༼ つ ◕◡◕ ༽つ Got RELAY

<comment><USER14> Just putting a live link to that commit here: [https://github.com/facebook/relay/tree/2a86be3e71cdc6511fa99...](https://github.com/facebook/relay/tree/2a86be3e71cdc6511fa994e3de539f72070da1b4)

</comment></comment><comment><USER15> Have you seen the actual code of the mutations?

[https://github.com/facebook/relay/blob/master/examples/todo/...](https://github.com/facebook/relay/blob/master/examples/todo/js/mutations/ChangeTodoStatusMutation.js)

It is ... massive!

<comment><USER16> One thing I think is a poor design choice on the part of the implementer of this example:

Note: Not a design choice of Relay

Is that each Mutation file is redundant. Each Mutation file corresponds one - one with a component file. I think it does a big disservice to React itself (specifically JSX), which advocates for collocating View and Template because of cohesion.

Maybe its subjective.. and I can surely see the reasons for separating them, but I hope yungsters is reading this and collocates the mutations.

<comment><USER17> Mutations are global, not view specific. They can be triggered by multiple views, and are smart enough to only refetch the data that is currently being shown.

For Facebook we can write a single "like" mutation and share it between comments, posts, photos, etc.

</comment></comment></comment><comment><USER18> Can anyone explain what this is all about? I followed the tutorial, but still cannot understand what are the ideas behind Relay/GraphQL. There must be some principles why the application is structured that way, but without seeing them, it looks like layers of indirection for the sake of complication.

When React came out, the core ideas were crystalline, and I was able to see the advantages in 5 minutes and to actually start doing something in 15. I would be happy to share the excitement for Relay... anyone care to explain? :-)

<comment><USER19> Nothing explains the motivations for Relay/GraphQL better than their introduction of it earlier this year, I'd recommend watching the video: [http://facebook.github.io/react/blog/2015/02/20/introducing-...](http://facebook.github.io/react/blog/2015/02/20/introducing- relay-and-graphql.html)

<comment><USER18> Is there anything in text format? I really cannot follow the whole video right now. I tried to follow the slides, but they do not make much sense alone.

Here are some examples of things I do not understand.

The article below the video states that "By co-locating the queries with the view code, the developer can reason about what a component is doing by looking at it in isolation" but nowhere in the tutorial treasure hunt application I see this in action. There is a single React component called App, and I fail to see where it declares its data dependencies.

Moreover, according to the article, "Each component specifies its own data dependencies declaratively", but it seems that a core concept is that of mutation, which does not sound very declarative (although I am not sure I understand what that is exactly). The code for the mutation seems to access the this.props (which I assume live on the component). This looks like a cyclic dependency between components and mutations. The mutation also access a query over something called CheckHidingSpotForTreasurePayload which seems to be defined only in schema.json, although - if I understand correctly - <USER2> json is auto-generated.

All of this leaves me confused, which is why I was asking for a more conceptual explation. In other words: given the aims expressed in the article you linked (declarative data dependencies and so on), what is the reasoning that lead to the actual design of Relay?

</comment></comment></comment><comment><USER20> I wish facebook had not used "GraphQL" as their name for their SOAP/REST/RPC replacement. When I hear GraphQL I think of a query language for graphs. Like in (for instance) [http://dl.acm.org/citation.cfm?id=1368898](http://dl.acm.org/citation.cfm?id=1368898) . There has been a lot of cool research over the years on query languages for graphs. Facebook's "GraphQL" is totally nerfing Google's ability to find it.

</comment><comment><USER21> Any idea why they decided to use string-based queries for GraphQL?

I feel something that can be composed programmatically without having to deal with string concatenation like Falcor's queries or the Datomic Pull syntax proposed in Om Next [1] could be more flexible and robust. I may be missing something.

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

<comment><USER22> You can always use JS/ES6 string templates (using Babel or Traceur).

</comment></comment><comment><USER23> The major advantage of Relay/GraphQL seems to be if you have one monolithic data model for your entire codebase. You are in effect, binding your views directly to your backend. This is great if you are a company like Facebook with a single graph holding all data.

Sadly working as a consultant, using Relay as prescribed offers little use for me as I port from client to client with widely different data models. I am interested in maybe using Relay in parent React components to keep logical separation between my models and views.

<comment><USER24> This is actually incorrect. The Relay/GraphQL folks explicitly call out the concept of directly exposing your persistence structure via GraphQL as detrimental. Instead, you simply describe what your business models are with GraphQL (regardless of how they're stored), just as you would with a REST api. GraphQL acts as an abstraction layer on top of your persistence. The key difference with GraphQL vs a REST API is that you don't have to commit specific endpoints that return specific models, the clients can simply pick and choose (within the confines of what your GraphQL schema allows).

</comment></comment><comment><USER25> I've skimmed the Relay and GraphQL repos, but I can't for the life of me figure out which database backends are supported. Can I put this in front of Postgres? Redis? How do I stand this up in front of an existing DB?

<comment><USER26> From what I understand you build that bit yourself

[https://www.reindex.io/blog/building-a-graphql-server- with-n...](https://www.reindex.io/blog/building-a-graphql-server-with-node-js- and-sql/)

</comment></comment><comment><USER27> How does this compare with Flux? Is it intended to be used with Flux or instead of Flux?

<comment><USER17> It should be used instead of Flux.

The one caveat is that Relay's store is a representation of the data you've defined in GraphQL. So you can't use it to store data that shouldn't exist on the server. That's something we'd like to fix soon.

<comment><USER28> Is it not advisable to use Relay alongside Flux? I would think they could compliment each other nicely.

<comment><USER17> You can, and we do exactly that for some apps at Facebook. Ideally Relay could completely replace Flux. This is something we hope to build soon.

</comment></comment></comment></comment><comment><USER29> Can someone explain to me how are they using all JS (node incl server-side rendering) stack in a company that is known for using PHP on the backend ?

Do they have a specific PHP-to-Node bridge on the server side? If they write isomorphic code, either they are writing apps completely separate from PHP or they have some kind of integration (Node-in-PHP?) running?

I would be grateful for hints, I'm looking into working more with FB tech but I can't do Node on the server right now. Knowing how their architecture looks like with PHP/Hack on the backend would really help.

<comment><USER30> Their GraphQL server is written in PHP. They've made the reference implementation (graphql-js) in JS + the server in Express but they're not using that in production.

For server side rendering of the React app, they use [https://github.com/reactjs/react-php-v8js](https://github.com/reactjs/react- php-v8js) (well they probably use a slightly customized version but this is what they open sourced).

<comment><AUTHOR> We are not using php-v8js for server rendering at FB.

<comment><USER30> I stand corrected. :)

</comment></comment></comment></comment><comment><USER31> Exciting. So does this do away with implementations of Flux (like the excellent Redux), or is there room for them to work in concert?

</comment><comment><USER32> The idea of Relay is cool. And GraphQL is indeed a nice thing for mobile engineers and product developers. I think its a novel way to query data.

Note: i'm mainly covering GraphQL

What i'm missing is implementations. For graphql you want a Java/python implementaion ready that can be hooked into your storage engine.

For iOS / Android you need some code generation tools that can generate your clientside business objects from the graphql schemas.

When i think about it, GraphQL combines the best of the SOAP/XML era (schemas, type safetype, client generation) with the new REST/JSON world (low footprint, simple structures).

However, it is still very difficult to adopt it. And most of the times, in a startup environment, you are faster implementing a rest api. And building your app on top of that. A schema (something like swagger, jsonschema) might help with client side code generation.

</comment><comment><USER33> This is the best commit message:

༼ つ ◕_◕ ༽つ Give RELAY

[https://github.com/facebook/relay/commit/2a86be3e71cdc6511fa...](https://github.com/facebook/relay/commit/2a86be3e71cdc6511fa994e3de539f72070da1b4)

</comment><comment><USER34> Wow, looks like what we've been doing for the last 4 years is very similar to the design of Facebook's tools they've been open sourcing. That is some serious validation for our architecture!

(For anyone who's interested here was our design: [http://platform.qbix.com/guide/tools](http://platform.qbix.com/guide/tools), [http://platform.qbix.com/guide/messages](http://platform.qbix.com/guide/messages))

<comment><USER35> It doesn't look like relay at all, could you clarify what design is the same ?

<comment><USER34> This stuff:

 _Relay coalesces queries into batches for efficiency, manages error-prone asynchronous logic, caches data for performance, and automatically updates views as data changes.

Relay is also component-oriented, extending the notion of a React component to include a description of what data is necessary to render it. This colocation allows developers to reason locally about their application and eliminates bugs such under- or over-fetching data._

We do the same thing (we call it the _getter_ and _batcher_ pattern). See [http://platform.qbix.com/guide/patterns](http://platform.qbix.com/guide/patterns)

Briefly, the way it works is that you request a certain object, and don't have to worry about batching, throttling, caching, etc. You can also say "please call this function when all the following objects are fetched".

Our platform is also heavily based around _events_ for which _handlers_ are automatically unregistered when _pages_ and _tools_ are removed. So it's same as with facebook.

Plus we already support most of the following:

 _Offline support. This will allow applications to fulfill queries and enqueue updates without connectivity.

Real-time updates. In collaboration with the GraphQL community, we're working to define a specification for subscriptions and provide support for them in Relay.

A generic Relay. Just as the power of React was never about the virtual DOM, Relay is much more than a GraphQL client. We're working to extend Relay to provide a unified interface for interacting not only with server data, but also in-memory and native device data (and, even better, a mix of all three).

Finally, it's all too easy as developers to focus on those people with the newest devices and fastest internet connections. We're working to make it easier to build applications that are robust in the face of slow or intermittent connectivity._

See [http://platform.qbix.com/guide/messages](http://platform.qbix.com/guide/messages)

</comment></comment></comment><comment><USER36> So graphql is basically a query language and optimizer? Why not have a relational algebra library, query (sql, whatever) generator and optimizer as separate things?

</comment><comment><USER37> Seems like it has some similarites to OData.

BreezeJS is a stand-alone data library for SPAs which takes care of managing the lifecycle of data objects; querying, fetching, caching is all taken care of. Queries use OData by default

</comment><comment><USER38> Aspects of React, Relay and Flux make me feel like my company's js framework could end up like Leibniz once we release it this fall...

<comment><USER39> A word of caution: you're probably right. React, Angular, Backbone cover most use cases and are proven in production, well known, and well understood. Unless you're a big company with hard problems, why should anyone pay attention? Not to rain on your parade, I've had the inclination to build my own libraries in the past as well but I always remember why it's not a good plan.

Any new framework these days has to bring a ton of innovation and performance to the table - is your framework faster and easier to use than React? Does it fulfill use cases that React cannot? How many more use cases can React fit than yours? Hint: There's React Canvas, React Native, React WinJS, and you can run it on your server. There's also approximately a billion modules for these libraries combined.

There are plenty of examples of projects that are DOA. If you want yours to be successful you'll REALLY have to sell it. Not that I'm rooting against you! :) If your library is more innovative and more powerful, more power to you! There's nothing wrong with progress. I'm just skeptical because the aforementioned libraries work for nearly 100% of companies.

</comment></comment><comment><USER40> More undebuggable magic.

<comment><USER40> I had 12 upvotes here, and then returned to 1.

</comment></comment><comment><USER41> another _awesome_ gift from facebook, thanks a lot devs! but i am still eagerly waiting for React native for Android.. any updates on its development?

</comment><comment><USER42> > While working on an "isomorphic" app

now you should say "universal", "isomorphic" was a poor choice of words at first place and led to a lot of misunderstanding(and bad blood between js developers and mathematicians)

[http://www.infoq.com/news/2015/08/netflix-universal- javascri...](http://www.infoq.com/news/2015/08/netflix-universal-javascript)

> As applied to JavaScript, Charlie Robbins presented the idea in 2011. He > called it "Isomorphic JavaScript" which has resulted in years of debate over > the poor name. In recent months, the term Universal JavaScript has gained > acceptance.

<comment> aaron-lebo Words take on new, unintended, and incorrect meanings all the time. It's how language works.

When someone says "isomorphic JS" I know exactly what they are talking about. I understand why some people might push back against it, but there's nothing wrong with the term.

<comment><USER42> > Words take on new, unintended, and incorrect meanings all the time. It's how > language works.

No, that's how marketing works. We are developers not salesmen. and as computer scientists respecting other science branches is a duty. Using the expression "isomorphic" in that context is just confusing. And it makes developers sound like they haven't a fn clue what they are talking about.

<comment><USER43> _We are developers not salesmen_

Speak for yourself. Some of us are both.

 _and as computer scientists respecting other science branches is a duty. Using the expression "isomorphic" in that context is just confusing._

That's a fair point, but "context" is the key word. Using "isomorphic" incorrectly _in a mathematical context_ would be one thing. But borrowing the word to use in a largely unrelated context seems fine to me. And it isn't like this is the first time a word has been borrowed and used to mean something "similar or related, but not quite the same". I'm pretty sure this has even happened inside other scientific disciplines, although I'll grant you that I don't have an example at my fingertips.

<comment><USER44> I would be more sympathetic if they had "borrowed" (more like appropriated) a term from, say, biology or french literature, but mathematics is not exactly a "largely unrelated context" from programming, even if it's JS that we're talking about. What's next, abusing "binomial" to mean "binary"?</comment></comment></comment></comment></comment>


Basic Personality Changes Linked to Unemployment - <AUTHOR> http://www.apa.org/news/press/releases/2015/02/personality-unemployment.aspx <comment><USER2> Being picked last in playground kickball hurts. That doesn't change when you trade a playground for an office.

Social acceptance is a human need, like thirst, hunger, and safety. People will kill for acceptance.

<comment><USER3> But of course we don't kill, we just feel stress and anxiety. And then, eventually, the stress goes away. We get used to being an eternally-broke marginal citizen. We hang out with the other marginal citizens. We work on our software projects and collect foodstamps.

<comment><USER4> Maybe it's accepted over time, or maybe it isn't. Maybe a lot of time makes it easier to deal with losing literally a chunk of yourself. But I don't think it does.

"It's that if you want to make a human being into a monster, deny them, at the cultural level, any reflection of themselves."

~Junot Diaz

When I left graduate school, I came home for three years with no one that I could have the kind of intellectual connection with I had at college. It was like I was speaking a foreign language to my family and coworkers. Of course, I could go on the internet and talk about my computer stuff, but it's not the same when you are with people you trust your understanding of your knowledge with.

It's scary, and I'm still clinging to my own sense of self, even though I don't get to know whether it's still there, every single day. But I won't be marginal.

<comment><USER5> It sounds like you really need to learn and switch gears, man.

Your family, friends and coworkers are what is _real_ in your life. I know it's probably not your fault, but graduate school has this nasty effect of absorbing every bit of mental "energy" from the students. Your connection to the rest of your life gets starved and your identity becomes whatever you research.

Then, if you don't happen to be from the very lucky who get tenure, you get thrown to the wolves into a world that cannot and will not understand you. I could tell you of the time that I almost cry in my first (grossly overqualified) job because I could not figure out how to use the damned phone.

I am not telling you to leave behind whatever is you found in graduate school. You can always make a special place for it in your life. But the way forward is to make your life broader, by nurturing aspects and relationships that have been neglected so far (or creating new connections if some of the older ones got broken beyond repair).

At the end, you will become a happier and more interesting human being! :)

<comment><USER4> I can love both family, friends, coworkers, and research. It's a slow process of the accumulation of a lifestyle. It doesn't happen over night, and I can't force it. That's the biggest thing I've learned since leaving college.

</comment></comment></comment></comment></comment><comment><USER6> The first time I got made redundant was devastating. I'd only been in the job two or so years but it was a place i really loved working at. It greatly affected me and was an intense three months. I hadn't been jobless involuntarily before that.

The second redundancy, after nearly 8 years, was surprisingly different. I guess it's because I'm older and wiser.... maybe. "You are not your job" is an easy thing to say to yourself but I think you have to go through the experience of being jobless to really internalize that. I think that's what made my second redundancy different.

i'd come out of that job having learned a lot and had gained a lot of confidence as an engineer. Losing the job didn't feel like losing a part of myself so much as the first time.

One of the most helpful things for me came from a 'career transition' course that my employer paid for me to go to as part of my redundancy. The instructor/presenter was talking about people they'd worked with previously who had spent months engrossed in their job search to the neglect of other things. When asked what their biggest regrets were, one had given an answer along the lines of "I've spent the last six months totally immersed in my job search when I could have spent this time with my kids". The point they were getting that is that in a way, the time you get from a well-paid redundancy might be a rare opportunity and you should take advantage of it to do the things you want to do but never had the time. Certainly look for a job, but don't make job seeking your existence. Ofcourse you have to have the luxury to be able to do that, but I think it's a good philosophy even just to remind yourself that your life always involves more than just a job.

<comment><USER7> This is why Maslov's hierarchy of needs is not authoritive. In my experience, having financial security and being socially altruistic have not been mutually exclusive. Same goes for your example with family. You can be bummed about being out of work, but that doesn't have to undermine the opportunity it presents to spend quality family time. Yea, this is where my cliche point about "balance" comes up.

</comment></comment><comment><USER8> I'd really appreciate it if people would stop phrasing headlines like that. As far as I can tell, "linked to Unemployment" in this context means unemployment is an example of external forces influencing our personality. Did I get that right?

</comment><comment><USER9> From my experience, I just agree with the title. I've never held a job, I am 29, I live on welfare in france (thanks for that), and I already have the mindset of somebody who is a marginal. I already thought about living in the streets.

I am currently an intern, thanks to some schooling program for the unemployed, and god do I want to go back being unemployed. I can't even bail out because I would need to reimburse the schooling program, which is 5500 euros. I was so excited of having the opportunity of trying again to be part of society, to have some reason to get up in the morning, to see people, but I was very naive about myself and about the schooling program I was offered. I would have better contributed by picking up trash, but in this country, even those jobs are difficult to get for some reason (I guess the government would not like having all the education which was given to me, go to waste because of the economic context).

I still have this desire to make my own video game in my basement though, but I barely have the mental resources to do it. My girlfriend hates me for being unemployed, so it makes things even worse for my self esteem. I feel pushed and sometimes I'd want to kill people who still argues that civilization need some form of class system. To me, civilization only meant getting welfare, getting porn and online video games. Not a system I have utter confidence in.

The schooling program I'm in aims to teach people web programming in 1 year. I already had programming skills before that (from a public school program where I failed my exam), so I learned nothing, and I hate php/java/mysql with passion.

<comment><USER10> Maybe, you just do not want to work.

Actually, it is the most natural desire for the human as it is for animals from which we have evolved - to not want to do anything when you do not have the urge.

Animals can look very busy, but if you change their evolution-formed instincts that force them to do so, they would stop immediately and would just lie down and do nothing.

It is interesting to note that having a requirement to work may be just a drawback of the current society. When the AI eventually arrives, there may be no such requirement anymore.

<comment><USER9> I think you're correct, but in this case, how do I justify it in the context of today's society ? No government nor politicians will agree that unemployment has its place in civilization.

Most people today consider that everyone should work, that work is good for the soul, and necessary for the well being of the economy. When you think about it, civilization is built on employment.

Me, I think I might want to work if I set my own goals and if society can be okay with it. The problem is making that work get out in the world. I might just work for the same reason a neanderthal just toys with sticks, fire and stones.

</comment></comment></comment><comment><AUTHOR> Being let go and thus unemployed for a month or so really messed me up. I really didn't know why it affected me so badly until I read this article. It makes sense but also shows that there is a lack of support for people that have been laid off.

<comment><USER11> I haven't even been fired- I'm six months out from (finally) graduating, and the only offer I've gotten I couldn't afford to take. I'm losing my mind.

<comment><USER12> Hey, I took a look at your profile, and saw your resume. Coincidentally enough, I'm actually a fellow UIUC grad, although not in CS or engineering. I've applied to a lot of different jobs and internships in the past few years as I went through grad school, and I definitely notice a few things about your resume that could use some fixing up. If you want to chat about that my email is my name at gmail.

One major trick to applying is to not preclude yourself from jobs, but let HR do that. Apply to anything that interests you, even if you don't exactly meet the criteria.

EDIT: I was a bit casual, but it's bothering me, so I'll be serious. I guarantee your resume is hurting you, and I'm willing to help.

<comment><USER13> That's very kind of you to offer that to someone you don't immediately know. 'Felt compelled to tell you that since it made me smile.

</comment></comment></comment></comment><comment><USER14> _" With respect to conscientiousness, the longer men spent without jobs, the larger their reduction in this trait, which is also tied to enjoying one's income, according to the researchers. [...] The researchers theorized that women may have regained some conscientiousness by pursuing non-work-related activities traditionally associated with their gender, such as caregiving."_

Just wondering if voluntary work would help with these indicators? Anyone got any idea about why conscientiousness is linked to enjoying income for men in the study?

<comment><USER15> I have no idea, but a wild guess would be that easy-going types tend to get their rewards otherwise, and don't care as much about steady income. They're more likely to let their money pile up while not bothering to buy things or pay the bills but also more likely to just blow it all on something unimportant. OTOH, highly-conscientious types get pleasure from paying the bills on time, buying themselves rewards for their work achievements, and having a steady well-managed cash flow.

Another study ([http://personalpages.manchester.ac.uk/staff/alex.wood/cons.p...](http://personalpages.manchester.ac.uk/staff/alex.wood/cons.pdf)) says "Conscientious people experience greater drops in life satisfaction following unemployment".

Taken together, one could hypothesize that with extended unemployment, some people adapt (decrease conscientiousness) to reduce the suffering caused by unemployment and learn to get their rewards otherwise.

I'm curious how volunteer work would fit in there too.

</comment></comment><comment><USER16> Having been unemployed on a few occasions for non-trivial lengths of time I think it's unlikely that my personality changed significantly as a result. However, those experiences were "character building" and changed my political outlook. When you're in that position much of the corruption, waste and false beliefs within society become far more obvious.

</comment><comment><USER17> I could easily be a statistic in this report. Unemployed for a long period of time and living with people who would rather ignore me than watch a show together or share cooked meals. The madness grows slowly stronger and does not relent.

</comment><comment><USER18> Who has paid for these studies? They have a distinctly corporate/HR air to them (as does the OCEAN personality trait model).

[http://en.wikipedia.org/wiki/Big_Five_personality_traits#cit...](http://en.wikipedia.org/wiki/Big_Five_personality_traits#cite_note-11)

UPDATE: The OCEAN personality model was created by two guys working in the personnel dept. of an Air Force Base in 1961. So, take this with a grain of salt -- this model is optimized to rate folks working together in a miliary organization.

<comment><USER10> I also dislike the very term 'unemployed' because it is meaningless and derogatory.

If I have some savings and want to work on my own projects for a year, I am what - unemployed?

They want to view people as some sort of robots with their terminology and primitive models.

<comment><USER19> Exactly, nobody ever says that a CEO, politician, or a rich owner are unemployed. They are "pursuing other interests".

</comment></comment></comment><comment><USER20> Would be interesting to see the same study performed on graduate students at various stages (pre-Masters to Masters, Masters to Candidacy, Candidacy to Doctorate, Doctorate to Post-Doctorate vs Doctorate to Industry).

</comment><comment><USER21> I think you'd be pretty agreeable if you were strapped for cash for more than 2 years</comment>


Ask HN: Best DB for power outages? - <AUTHOR>

There are rolling blackouts where I'm planning on deploying a lightweight DB on a regular PC.  Which DB would be the most well behaved in case of sudden power failure?  (So far I know of SQLite & FireBird to be the top contenders) <comment><USER2> On a regular PC suggests you might be using consumer disks which may not be 100% reliable about committing transactions it is hard to know. You should probably test first. Some SSDs hve enough capacitors to commit in flight commands on power failure.

I would be inclined to use Postgres. Built for robustness.

</comment><comment><USER3> Are you thinking firebird is a good choice due to this: <http://www.firebirdfaq.org/faq43> ? You can still have hard drive corruption and when you restart firebird can go into a bad state

</comment><comment><USER4> Any ACID database will work. Make sure your app uses transactions properly.

</comment><comment><AUTHOR> Bueller? Bueller? Anyone?</comment>