My 32-year-old co-founder has a brain tumor - <AUTHOR> http://venturebeat.com/2013/08/11/my-32-year-old-co-founder-has-a-brain-tumor-seriously/ <comment><USER2> While I really don't like the framing of the story, it brings up an important point way too many people in the tech and start-up bubble forget: some things are just out of your control, and bad luck is a real thing that happens to good people.

Managing your life and start-up is not something trivially easy you can pin- point with life hacks and inspirational catchphrases. Some people don't manage to achieve something, because they just didn't have the luck of the draw. And we shouldn't blame them for that.

I see this very rambling article as a founder dealing with something innately absurd, and if there is something a self-proclaimed hacker doesn't like, it's a deprivation of control and micromanagement. To some, it's cognitive dissonance at work. And regardless of the tone of the article, I am very grateful that the author chose to deal with this in public.

And don't tell me the American health care system doesn't get in the way of earning a decent living, as an employer and employee. While this article is penned in a way I don't like that much, the tech press need to get out of their bubble and write more articles about how real problems affect real people, some of whom work at start-ups, and that being an entrepreneurs doesn't render you immune to those problems.

It's only a matter of time before someone posts on Medium about "hacking their cancer" or some bullshit, but it'd be great if we took more time to understand that issues like health, health care costs, discrimination, harassment, suicidal ideation, and other problems are things that get in the way, not just of start-ups, but a dignified existence as a human being.

<comment><USER3> "And don't tell me the American health care system doesn't get in the way of earning a decent living, as an employer and employee."

As a person who has been rejected for having a pre-existing condition, this statement rings true.

I need medicine for a condition I was born with, fuck me right?

<comment><USER4> In the US, you have options. I have Cystic Fibrosis. My state offers a "high risk pool" for those denied. Also, as part of the Affordable Care Act, preexisting condition insurance was made available for a very reasonable price (enrollment was closed after a period of time, however). Next year, all limitations for preexisting conditions are eliminated: (except if you already have an individual plan you pay for, you'd have to get a new one):

[https://www.healthcare.gov/what-if-i-have-a-pre-existing- hea...](https://www.healthcare.gov/what-if-i-have-a-pre-existing-health- condition/)

<comment><USER5> Have you heard much about the Disability Care scheme being rolled out here in Australia?

</comment></comment></comment></comment><comment><USER6> Pretty gross that you're using your friend's brain tumor to pimp your startup.

<comment><USER7> Agreed. Hard to believe someone would do this.

<comment><USER8> If I had a brain tumor I'd want my friend/cofounder to use it to pimp _our_ startup. If she can move _our_ business forward while I'm ill, that's wonderful for both of us.

<comment><USER9> > _If I had a brain tumor I 'd want my friend/cofounder to use it to pimp our > startup._

Even if my ill friend/cofounder "wanted" that (which amounts to "was ok with it"), I still wouldn't do it. Being human is more important than pimping a company for the big cash out.

<comment><USER10> I think that implying that people not following your viewport are not 'human' is a pretty far leap...

</comment></comment></comment></comment></comment><comment><USER11> You kind of make it sound as if his brain tumor is more of an annoyance to you and your company than to him.

<comment><USER12> I agree. Seems like the response went no deeper than: "Hire some (possibly unpaid, illegal) interns! Stop having time-consuming meetings!"

What about the truly hard questions this might bring up? How do you plan for the possible long-term absence of a founder without ruining their hope of beating their disease? What happens to the equity of a founder who passes? Is this something you need to discuss with them, along the lines of a will, to get straightened out? How do you deal with employees who might also be experiencing emotional grief over the situation? Are there situations where you need to slow the growth of the company so people can deal with their personal reactions to a situation like this? How do you cope with the dual emotional roller-coasters of running a start-up and having a friend on death's door?

Any of these would be interesting questions to hear responses to. Instead, this article chooses to take the shallowest route possible and actually treat the horror of cancer more like your co-founder got the flu and was out for a week or two...

</comment></comment><comment><USER13> The co-founder with the tumor has his own blog, read this as well:

[http://ronniecastro.me/40-percent-chance-tumor- grows/](http://ronniecastro.me/40-percent-chance-tumor-grows/) (incl. photos).

Good luck

<comment><USER14> And here is a donation page (i found the link on the blogpost [http://ronniecastro.me/well-fuck-you-lifewise-and-fuck- you-c...](http://ronniecastro.me/well-fuck-you-lifewise-and-fuck-you-cancer/))

[https://www.giveforward.com/fundraiser/yrv2/we-love- ron](https://www.giveforward.com/fundraiser/yrv2/we-love-ron)

<comment><USER15> It seems odd that there's a donation page for a guy who had a $60M exit previously, assuming I understood the article.

</comment></comment></comment><comment><USER16> The intern bit is disturbing to me. The trouble is, he can't actually believe this is the best decision for these kids to make. He himself started a business while still in school; he didn't slave away for someone else as "low cost" labor. His own experience tells him that the best "career stepping stone" is to create things, with friends, for yourselves. Any truly "wicked smart" kids shouldn't be making this decision and he's not doing them any favors by encouraging it.

In my own experience, offering a fairly-paid internship (ie, what they would be making as a junior full-time employee), of a few months, is a great way to evaluate a potential hire down the road. Do I expect useful work to come out of these few months and build a business plan around it? Not really, and I believe it's dishonest to do so.

<comment><USER17> I'll give the benefit of the doubt, and assume "low cost labor" is something close to "first year employee wages".

And, not every smart kid is cut out for starting a business. I wasn't. Too risk averse. I like to build software, I'm pretty good at it, but much prefer the comfort of a salary.

</comment></comment><comment><USER18> I'm 39 and dealing with my own cancer struggles. It's tough. Reading about someone else around my age deal with it helps, though.

<comment><USER19> Wish you to get well soon!

</comment></comment><comment><USER4> I don't have cancer, though I've lost those close to me.

I do have a (currently) incurable disease. (I do have an extremely mild case, I must admiit) Many my age with CF are too busy taking medicine and staying alive to do much with a career. Others are on the verge of needing transplants. Others still have been gone a long time. I pray of course for the best, but one day, it might get me.

I have things I'm passionate about. My hope would be that those around me help me fulfill my visions and goals in life, through my struggles and recovery. As the article is written, this wasn't something the cofounder was forced into, but something he jumped into with plenty of options and I'll presume they are passionate about.

</comment><comment><USER20> I'd recommend that commenters simmer down on the emotional intensity and put away the torches and pitchforks.

This is relevant to any startup. Yes, brain cancer is an extreme case, but just as it's important to select the right cofounder, having something unexpected or unplanned happen to your cofounder is a situation that has to be handled.

It could be something as awful as brain cancer[1], as joyous as a new baby or as horrifying as discovering that the new baby has a hole in his heart, or something that is both positive and negative, such as falling in love with someone who wants or needs to move away from your business location.

Key man insurance can help, but notes on experiences such as this are helpful as well. It's easy to pile onto the author as an insensitive schmuck because you are not in that position. We can't directly relate to his situation, so we can judge all we like without fear of hypocrisy.

However, at some point, if you are lucky enough to grow a company and you are responsible for the livelihood of your employees, a key member of the team will have an 'availability-limiting event' that will force you to make tough decisions.

Having articles such as this help. Not all the advice is immediately useful ("hire a bunch of interns") but dropping meetings and intensifying focus is good. Keeping in mind,"How should I handle this so that I don't leave this in a mess for X?" is good as well, because it assumes that X will be back.

If this happens to you, know that you have google/duckduck/bing fodder to look for help in your moment of panic. Know that while it's one thing to think,"I have cancer and I have to figure out what to do with my startup," for which you can find a number of bits of advice, it's another to be affected as a partner. Know also that you should make sure that you cross-train enough with your cofounder so that neither of you is trying to do a brain dump to the other in the back of an ambulance while your loved ones are terrified.

Finally, I would find it hard to believe that the author posted this without his partner's consent. It sounds as if they've gotten through the immediate crisis with the tumor and he is probably at least partially re-involved with the company.[2]

Take posts such as this at face value. Have compassion.

[1] _Fuck_ cancer.

[2] Chemo is a bastard; see: [1]

<comment><USER21> Chemo really is an awful thing to put a body through. Toward the end of my treatment I was able to scroll through email once a day before having to go back to bed. I wrote about my recent and ongoing experiences with cancer on my blog awhile back [1]. Your footnotes are a a pretty accurate summation.

[1]: [https://www.petekeen.net/cancer](https://www.petekeen.net/cancer)

<comment><USER20> That page was a tough read so I laughed out loud when I got to this point.

"While Emily was visiting family I had started to develop some pain in my groin. I attributed it to over-use while she was away, but we were pretty concerned nonetheless."

Strength to you, your family, and your soon-to-be in-laws.

<comment><USER21> Thanks. We're gonna need it.

</comment></comment></comment></comment><comment><USER22> The part about hiring a bunch of interns sounds weird. Were they getting paid?

</comment><comment><USER5> Unfortunately, I've known a few great people, people I was very close to, to lose a few of what could have been some really productive years due to these sorts of things. Brain tumours are reasonably rare but they are also unpredictable and turn up at any moment.

Anyway, at least in Australia we have Medicare for everyone, which should soon cover trips to the dentist, as well as the DisabilityCare scheme that's rolling out for people who have acquired or were born with a disability. Oh, and madatory superannnuation.

Ya'll welcome to move here. You'll probably like it here.

</comment><comment><USER23> the "seriously?" bit irritated me for some reason. yes, it's serious. yes, life is bigger than your startup.</comment>


Always Refer to Your V1 As a Prototype - <AUTHOR> http://www.spiteful.com/2008/03/11/always-refer-to-your-v1-as-a-prototype/ <comment><AUTHOR> Are you YC startup guys keeping some notes about your day to day activities? I had to piece most of that article together from some old graphs and an old, non-work focused blog I had. Looking back, just a few lines a day in a text file about what I worked on and what I learned would be a great resource now.

Heck, asking folks to keep lightweight journals might help pg identify better ways to help you guys out. It might help point out where people get stuck and how they are spending their engineering time. Just don't put anything in there you wouldn't want to turn over to a subpoena. :)

Anyway -- there are two more segments of that story on the way. Hope you guys enjoy it.</comment>


Ask PG: When will YC W13 applications be open? - <AUTHOR>

Based on some HNSearching I found that "soon" is a good guess but just wondering if you had a more concrete date. <comment><USER2> Some time after we get done with Demo Day (Aug 21).

<comment><USER3> PG, could we get a live stream of the event?

<comment><USER2> I don't think we'd ever live stream it, because there are some things a startup can say in a presentation to potential investors (e.g. about partnerships with big cos) that they could not broadcast.

<comment><USER3> Is there some way we could view their pitch decks after it's stripped out of confidential info like at <http://www.pitchenvy.com/> and my live coverage of 500 startups' fourth batch of presentations: [http://startupframework.tumblr.com/post/27406063415/500-star...](http://startupframework.tumblr.com/post/27406063415/500-startups- demo-day-july-12-2012) The secrecy is killing me :p</comment></comment></comment></comment>


An Intro to Videogame Design History - <AUTHOR> http://thegamedesignforum.com/features/GDH_1.html

<comment><USER2> I think this is a great article and an awesome website in general. I've always been a big gamer and interested in videogame design but I haven't found many accessible essays for non developers. I'll be following the website and new essays from now on!

If anyone knows other websites or essays like this - that are an in-depth look at videogame design - I would love to know about them.

<comment><USER3> Daniel Cook has some great essays. [http://www.lostgarden.com/2008/07/directory-of- posts.html](http://www.lostgarden.com/2008/07/directory-of-posts.html)

</comment></comment><comment><USER4> made an epub of the 4 parts with images for my own read-it-later use b/c I'm obsessed with pandoc:

[http://cl.ly/2I0f0i1a2d3u](http://cl.ly/2I0f0i1a2d3u)

<comment><USER5> Thanks , for simple pages i use [http://dotepub.com/](http://dotepub.com/) , and then i read them while commuting .

</comment></comment><comment><USER6> the conclusion at the end of the article about the future of video games doesn't even mention VR. I fee video games are about to get their biggest boom ever with the advent of mainstream VR.

<comment><USER7> Are you sure ? what I miss the most in video games is the impressionism immersion. VG are getting close and closer to the uncanny valley, and IMO further from what makes a game special.

<comment><USER8> I'm probably an atypical game fan. The games that most stoke me are the ones that invent a striking visual universe.

For example, I really loved Proteus, and Kentucky Route Zero. Also Superbrothers' Sword & Sworcery.

None of these are realistic. They present highly stylized worlds, and that's what engages me.

<comment><USER7> Interesting design indeed. I tend to prefer games that are like books, leaving your imagination filling the gaps instead of providing overwhelming details.</comment></comment></comment></comment>


Flipboard Turns Twitter Into Your Own Magazine - <AUTHOR> http://www.newsweek.com/2010/08/07/when-you-are-the-editor.html

<comment><USER3> "This tiny company (19 employees)"

"Flipboard has raised $10.5 million"

"Flipboard hasn't worked out a business model yet"

From what I saw of Flipboard, it looks very nice. But these numbers seem pretty high for an iPad app.

Inherently, an app/service like this doesn't have any network effect, any "virality" besides literal word-of-mouth (you using it doesn't make me know you're using it, unlike services like Twitpic let's say: when you post a picture, it makes me aware of Twitpic) and can be replaced instantly without me losing anything.

Again, the app looks great and it got a fantastic start. But I'm curious how it will pan out in the coming months.

<comment><USER4> I wouldn't be so fast to dismiss it - the money could have gone towards this important acquisition <http://www.flipboard.com/press/flipboard-acquires- ellerdale>

Obviously, iPad may not be the only platform, it seems good enough of a prototype to get Kleiner Perkins attention (remember they've allocated a few hundred mil for iPhone + iPad apps?). I wouldn't be shocked if they've already partnered with Nook and Kindle.

</comment></comment><comment><USER5> While I _like_ Flipboard, I have to admit: I still use Instapaper much more. And, yes, I think they are comparable.

<comment><USER6> Same here. The first couple of days it was out I used it a lot - <USER2> the HN feed. However, I realized I missed the comments and I switched back using HN via the web.

Also, the endless "RT by @blahblah" list of users on the right column for each story is basically useless clutter.

I use Read Later instead of instapaper, same thing, I just like the FF plugin it offers:

<http://readitlaterlist.com/>

Its funny, when I built LookLater a few years ago the Instapaper/ReadLater use case is I guess really what I had in my mind.

</comment></comment><comment><USER4> I thought that name sounded familiar - Evan Doll used to teach the iPhone class @Stanford ([http://www.nytimes.com/2010/04/18/education/edlife/18IT-t.ht...](http://www.nytimes.com/2010/04/18/education/edlife/18IT-t.html)). Sounds like the company has some smarts to make it.

</comment><comment><USER7> Isn't this essentially scrapping content from other web sites with out their permission, removing all the ads, and then presenting them in a nice way. I always assumed this was not allowed?

<comment><USER8> Well it's my information that they are scraping so I guess that is ok.

<comment><AUTHOR> Quote from the article: "...what the company is doing might not be legal, since its software works by "scraping" content from other Web sites. But McCue insists there is no problem because Flipboard displays only a small part of an article, not the entire thing, and then embeds a link that takes a reader to the original."

But I'm not sure if this is true. Scraping is scraping, regardless whether or not you link to it.

In the last paragraph you can find this though "Flipboard hasn't worked out a business model yet, but plans to put ads next to articles and then share some advertising revenue with publishers." Which indicates they do acknowledge the publishers for the content and want to share (potential) revenues with those publishers.

<comment><USER9> _Scraping is scraping, regardless whether or not you link to it._

By that logic, Google and other search providers' services should be up for scrutiny.

<comment><USER3> I would add Facebook, which is more around the same model as Flipboard in that context: when you share a link on Facebook, it grabs the content to present a nice snippet with a picture, title and summary.

</comment></comment></comment></comment></comment><comment><USER10> I got my iPad over the weekend. And this was one of the first apps I installed. So far I have been loving it. Currently you can only have 9 sources. Maybe they will charge for having more than 9 sources or maybe they are trying to keep the ui nice and simple, since Evan Doll is a former apple employee and instructor for the iPhone classes at Stanford.

</comment><comment><USER11> _After using it for a few days, I've concluded that Flipboard is designed for people that want to "read" but are annoyed with words getting in the way.

That sounds insulting but it's actually a rather brilliant insight._ — <http://trenchant.org/daily/2010/8/5/>

</comment><comment><USER12> Actually, it doesn't. Yet.

<comment><USER13> For beta users you can... I installed Flipboard about 2 weeks ago and have been able to use Twitter and Facebook for about a week. They seem to be letting people in to use Twitter and Facebook at a pretty fast clip.

</comment></comment><comment><USER14> Wow, this is old news. I am using Flipboard for two weeks now.</comment>


Testing suggests 50% of coronavirus cases have no symptoms - <AUTHOR> https://edition.cnn.com/2020/04/01/europe/iceland-testing-coronavirus-intl/index.html <comment><USER2> 1% of 9000 tested people had the virus and of this, 50% were asymptomatic or had mild symptoms. That's 45 of 90 people.

I don't know how significant this makes the results. Maybe a statistician can weigh in.

<comment><AUTHOR> It at least shows that you can never be too careful. I also hope it encourages more testing.</comment></comment>


Ads are no one-for-all revenue solution - <AUTHOR> http://spotbloq.blogspot.de/2012/04/why-i-think-ads-are-no-one-for-all.html

<comment><USER2> I think you're greatly underestimating the value of Google's content network, and display advertising in general. While the majority of Google's ad revenue still comes from search, Google's display advertising is sizable, and growing quickly. In fact, it's the fastest growing advertising segment for Google, having doubled last quarter to a $5B annual business from $2.5B annual business just a year ago. The crazy thing about this is that while Google "owns" the vast majority of web search advertising, they still only control less than 10% of the webs display advertising. Source:[http://adage.com/article/digital/search-drives-google- displa...](http://adage.com/article/digital/search-drives-google-display- ads-a-5-billion-business/232242/)

Remember, Google's content and display advertising technology is only in its nascent stages relative to its Search technology. Display advertising technology is a little trickier than search advertising, as search advertising by nature of its use of keywords has targeting built into itself. Good display advertisement targeting requires the conflux of accurate user data, accurate interpretation of web content, and the understanding of advertisers goals. In some regards, it seems Facebook has a much better system to meet these needs, or at least, the potential for a better system.

On top of that, you also have to keep in mind the almost exponential growth we're seeing in mobile platform usage. I would posit that social applications are going to make much better platforms for mobile advertising than mobile search. Just anecdotally, consider the amount of time that you and your peers spend searching on your mobile phones or tablets versus the amount of time you spend say on Facebook or social new aggregators. I would assume your social apps usage is much higher. Also, now consider from the user experience perspective how poorly advertising on mobile search would be. The times you're searching on a mobile device is generally more often out of immediate needs, and if a user is getting an advertisement in such a rushed condition, especially with limited screen real estate, it'll make for a much greater inconvenience than being interrupted by an advertisement while browsing a social app.

<comment><AUTHOR> I think the problem with my point is, that the scale at which Google and all these companies operate can compensate a lot of flaws in the business models.

And I dont really wan't to say that their Business Models are flawed, but you have to admit that Google really has advertising figured out.

I could not think of a better example, but the focus of my concern are the companies being built at this very moment, which seem to take advertising as a solution to all their financial problems, if only they can get enough users.

Mobile is an interesting factor. I think this will be won by the company with the best hyperlocal offering. Because this is in line with the whole idea of mobile - being somewhere other than your home. Neither display, nor search ads are really suited for mobile, who cares about some tax-management software when they're sitting on a train.

Time will show who that'll be.

Thank your for your comment (:

</comment></comment><comment><USER3> That's a pretty short view on Facebook's role in users' lives. Facebook definitely has some challenges ahead, but advances in NLP and sentiment analysis could be a boon for them. What happens when Facebook is able to use their data set to extract implicit information about search subjects.

For example, I recently engaged in a discussion on Facebook with a friend who is considering a career change. He had some questions about Linux system administration career choices. Right now, that conversation is opaque to the systems at Facebook. It has no meaning beyond the strings that are stored on disk somewhere. What happens as NLP and sentiment analysis advance to the point that they're able to extract real ideas from conversational threads? Multiply that by 845 million active users.

In that scenario, Facebook is sitting on a gold mine of monumental proportions. It's almost unimagineable the amount of data Facebook has. What questions could be answered using that data? I can think of more than a few inventive purposes for this data.

The fly in the ointment may end up being consumer privacy concerns. If the government passes the right/wrong (depending on your view) legislation, it could destroy Facebook or Google. Google didn't roll Google+ to have their own social network, they rolled it for similar reasons as they did Google Voice. They want the data.

I know it's common echo chamber fodder, but big data is the future.

<comment><AUTHOR> Yes, this is exactly what I wan't. I'd love facebook to use their data to the fullest, and I'd love to pay for such a search engine (mainly so, that they dont need to sell my data). I hope this happens, and I hope they make alot of money from that, keeping my feed/timeline/stream focused on my friends.

</comment></comment><comment><USER4> In 5 years Facebook will have a comprehensive search solution integrated with Facebook to compete with Google and they will also have a Google Adsense style ad network that uses the data they know about you to better target display ads.

<comment><AUTHOR> Yes, I thought about that. Maybe even something like Aardvark in big, who knows.

And if they are able to execute search as well as connecting people, they will and should become as or even more successful as Google.

But I'm hoping for more innovative business models, even though that is unlikely.

</comment></comment><comment><USER5> The revenues are directly correlated to the click through rates for display ads which are much more akin to what facebook is offering.

Separate out Google's search revenue and display revenue and you'll see there's a big differentiation there.

<comment><AUTHOR> This is true, but this is also my point. Google makes so much money because theire business of search is perfectly aligned with ads (there is almost no difference between a search result and an ad-result). Google's display ads are not as 'successful', because I'm reading a blog or doing something else than searching when I get into contact with AdSense. There is a huge difference between my friend's status update and an ad (maybe Timeline can change this).

<comment><USER6> I heard Google Plus's Vic Gundotra say the same thing at SXSW. There is definitely a time and a place for ads, and while you're viewing intimate social content might not be that time.

However... recently I've been seeing facebook ads where they are simply reshowing old status updates from my friends where they have linked/liked products, and pages. I'm not sure that reminding me of things my friends have liked and linked to isn't a more meaningful advertising experience. It's certainly not sufficient to support Facebook, but it feels like a new, possibly more valuable, kind of ad.

</comment></comment></comment><comment><USER7> I've been saying this for a while. I got my idea from pg, who said that Yahoo never realized that search traffic is the most valuable.

People with a problem pay for a solution. People looking for free entertainment generally don't.

</comment><comment><USER8> Plural apostrophe's are no one-for-all punctuation solution.

Just sayin'.</comment>


Silicon Valley Is Not Your Friend - <AUTHOR> https://www.nytimes.com/interactive/2017/10/13/opinion/sunday/Silicon-Valley-Is-Not-Your-Friend.html?smid=tw-nytopinion&smtyp=cur <comment><USER2> It just needed you to sell your information and for you to buy its shiny things. You were never a friend you are the product being sold.</comment>


Cool Easter Egg on Google.com - mouse over "I'm feeling lucky" - <AUTHOR>

Anyone else seen this before? <comment><USER2> For anyone who's not seeing it: When you mouse-over the "I'm feeling lucky" button (on capable browsers) the button text spins (like a slot machine) and changes to one of several alternatives like "I'm feeling trendy", "I'm feeling hungry", etc. Clicking on the button then runs a relevant canned search.

What is clever about this (IMO) is that once the "instant search" feature was introduced the "I'm feeling lucky" button became superfluous. With instant search it's impossible to submit "I'm feeling lucky" on anything but a blank query field.

What a long way we've come from the original role / intent of "I'm feeling lucky.".

</comment><comment><USER3> It's been that way since mid-August. E.g. [http://www.lockergnome.com/news/2012/08/24/google-changed- th...](http://www.lockergnome.com/news/2012/08/24/google-changed-the-im- feeling-lucky-button/)

</comment><comment><USER4> I haven't seen it before, but it's a fantastic time waster.

I dare say it may be more interesting than StumbleUpon?????

</comment><comment><USER5> Looks pretty normal to me?</comment>


Understanding Homoiconicity through Clojure macros - <AUTHOR> https://medium.com/@theburningmonk/understanding-homoiconicity-through-clojure-macros-eeb8c1f25369 <comment><USER2> As someone with only passing familiarity with lisps and the topic of himoiconicity, I really appreciated the article. However, I kindof wish the author had skipped treating the quote/unquote attempt as a solution.

I spent too long attempting to reason through the syntax before moving on with the article. If course, if the article had been a simple conversation between myself and the author, I would not have been able to dwell on it and the author could have guided me right through it, but in the written format, it definitely feels like I was the target of a game of nerd sniping[0].

[0] [https://xkcd.com/356/](https://xkcd.com/356/)

</comment><comment><USER3> Very similar (although not exactly) to how macros work in Elixir (which is mentioned)

<comment><USER4> If I understand it correctly one does not write code in a data structure, which makes it not 'homoiconic'. Second macros are limited:

Robert Virding says

> What I mean here is that elixir has a predefined syntax. It has a number of > predefined syntactic constructs, operators and function calls. And while I > can with macros change the meaning of the constructs I cannot add new > constructs or operators as the handling of macros is done after parsing. So > if I want to add something completely new it ends up syntactically being a > function call. Now elixir has many ways of disguising function calls at the > end of the day they are syntactically still function calls. For example > parentheses around arguments are optional, there is special syntax for > property lists where the keys are all atoms, special syntax for using these > property lists as function arguments, special handling of do ... end when it > is a function argument, etc. Elixir's uniform abstract syntax makes it > easier to work with these but I am still limited by only having the existing > syntax.

> For example assume I work a lot with property lists where the keys are > integers, or I would like to have keys with are either atoms or integers, > then there is no way for me to create a special syntax for this at all. Even > if I have macros.</comment></comment>


iTerm2 beta adds Python API - <AUTHOR> https://iterm2.com/python-api/ <comment><USER2> Kitty terminal has a Python API too, and it's got images and high performance, etc.

[https://sw.kovidgoyal.net/kitty/](https://sw.kovidgoyal.net/kitty/)

<comment><USER3> I tried switching to Kitty last year, but then it stopped working properly with the OSX 10.14 release. It turns out this was a known issue from the beta, but the author decided not to do anything about it until the release [1]. I can't rely on a terminal that's maintained like that.

[1] [https://github.com/kovidgoyal/kitty/issues/887#issuecomment-...](https://github.com/kovidgoyal/kitty/issues/887#issuecomment-419138736)

<comment><USER4> Give Alacritty [1] a try. I am very happy with its performance, it just feels fast and solid. The difference in latency is really noticeable to me compared to iTerm2 or Terminal.app. Alacritty just feels significantly faster.

[1] [https://github.com/jwilm/alacritty](https://github.com/jwilm/alacritty)

Disclaimer: I am not associated with the project in any way. Just a fan.

<comment><USER3> People keep talking about the obvious latency difference. I don't notice any latency on iTerm2 and didn't see a difference when I was trying Kitty. What am I missing?

<comment><USER4> I notice the difference even when typing. The performance improvement is most noticeable for me when editing large files in _vim_ or having a lot of _tmux_ panes open. Alacritty and other GPU accelerated terminals perform a lot better here and things just feel smoother.

There's an older HN thread [1] on the subject with benchmarks and lots of interesting chatter. It's worth a read IMHO.

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

<comment><USER5> You might want to try iTerm with gpu acceleration enabled. The only caveat is you lose some visual features, like transparency, but I found it well worth it.

</comment></comment></comment></comment></comment></comment><comment><USER6> On the Example Script page ([https://iterm2.com/python- api/tutorial/example.html](https://iterm2.com/python- api/tutorial/example.html)) it says that the script communicates with the application using websockets ("The underlying implementation uses Google protobuf and websockets"). This makes me think that it could support other languages and ways of scripting it in the future.

<comment><USER7> Wait, web sockets? Why not regular old sockets? Why not restrict it to Unix domain sockets so that only authorized users can talk to the iTerm instance?

<comment><USER8> Maybe so folks could build web UIs to interact with a local instance? Can't do raw TCP/UDP from a web browser.

<comment><USER7> Then write a bloody wrapper.

Controlling my terminal emulators through a browser is like managing processes with Doom: something that, while interesting and certainly shouldn't be precluded, I am unable to think of a use case where I would actually do it. Making web sockets the scripting interface for a program that in most cases you do NOT want to actually expose to the web a) makes no sense; b) is a security incident waiting to happen.

<comment><USER9> Manage processes with Doom you say...

<comment><USER7> Yes, I was specifically referring to this: [https://www.cs.unm.edu/~dlchao/flake/doom/chi/chi.html](https://www.cs.unm.edu/~dlchao/flake/doom/chi/chi.html)

<comment><USER10> Or Kubecraft :) [https://www.youtube.com/watch?v=A4qwsSEldHE](https://www.youtube.com/watch?v=A4qwsSEldHE)

</comment></comment></comment></comment></comment></comment></comment><comment><USER11> Ooh, nice! Been waiting for this for a while; now I can finally change my terminal's theme automatically when the system appearance changes: [https://gist.github.com/saagarjha/9a99ed4bc68a37bab097cc6ee8...](https://gist.github.com/saagarjha/9a99ed4bc68a37bab097cc6ee83a75ab)

Although, I clicked through the status bar stuff and now I can't figure out how to get it back :(

<comment><AUTHOR> Under preferences -> appearance you can choose status bar position: bottom (or top).

Then you can right click on the status bar to get to the editor.

<comment><USER12> I really want to turn off the status bar. I can tell I'm not going to use it, and now it's just taking up space and confusing my habituated eye as I scan the screen.

Anyone found an off-button?

<comment><USER13> Go to Preferences > Profiles > Session and at the bottom there's a checkbox labeled "Status Bar Enabled".

</comment></comment></comment></comment><comment><AUTHOR> One api feature looks especially cool - that is CustomControlSequenceMonitor provides a way to implement custom terminal control sequences and extend the terminal with richer functionality.

</comment><comment><USER14> One thing I'd love to port to this:

I switch between a 4K monitor and my built-in. The same font size definitely doesn't work between the two of them. I've got a script in my .bashrc that checks the resolution of the current monitor and sets the Profile of the session using the older control-code based API, flipping between a profile for each monitor resolution.

With the new API, I can see methods for overriding profile settings on an individual session, but not a method for changing the profile a session is using to another saved profile. Does such a method exist?

</comment><comment><USER15> iTerm2 is great, thanks to George Nachman for the hard work. I recently installed Mojave from scratch, fresh and clean environment. I'm trying to keep things pretty minimal. I'm giving Terminal (macOS) another shot - so far it's been great. I've only missed split panes but when I really needed I used tmux. Other than that I realize I didn't use much of the functionality offered by iTerm2.

What are the features in iTerm2 that you use the most?

<comment><USER16> Setting the background to the solarized dark or light color pallet works nicely with the same vim pallet setup. I wanted to use this as an example because I don't believe this worked in Terminal last time I tried it. But after a quick google search it seems like you can use Terminal for this setup as well.

Clicking on links in the terminal is a nice feature. If you press cmd + click it opens your browser or finder. I occasionally enjoy this convenience.

There are probably other conveniences that don't come to mind now.

<comment><USER17> > Clicking on links in the terminal is a nice feature. If you press cmd + > click it opens your browser or finder. I occasionally enjoy this > convenience.

On Terminal.app you can cmd + double click to open a link on the browser. (it doesn't open a path on finder though)

</comment></comment></comment><comment><USER18> Tangent: like Python in your terminal/shell? See also [https://xon.sh](https://xon.sh)

</comment><comment><USER19> Love it and use it from some time! Scriptable status bar is also awesome feature. :)

</comment><comment><USER20> both iTerm2 and Terminal.app got so slow that I switched to Hyper which contrary to common sense is blazing fast for me. I've also started experimenting with URXVT via XQuartz but the native feel just isn't there like it is for Hyper.

Who knew Electron apps could out perform native ones (even with GPU acceleration in iTerm2's case)! I don't know how or why but in this case it is so.

<comment><USER21> I don't think the main gripe people have with Electron has ever been performance, V8 is plenty fast after all, it's more about the memory footprint.

</comment></comment><comment><USER22> Sometimes I've wished that Sublime Text's API used JS so that I didn't have to know Python just for one program.

It seems a waste having to keep a battalion of imperative OO languages in one's head just for incidental use.

<comment><USER23> Learning other languages is not a waste. It actually makes you a better developer.

<comment><USER24> Across different paradigms, sure. But many languages are very similar to one another while only differing a bit in syntax.

If you use a language with a similar paradigm, learning yet another language in that paradigm will not teach you much, it'll mostly just annoy you with its subtle differences (I'm talking to you, stored and mutable default variables of python functions).

<comment><USER23> Python and JavaScript are at very different ends of the OOP spectrum. JS encourages a functional approach while Py is more procedural. That small difference can - and does - have a profound effect of who you structure your code.

These different designs will teach you different techniques for problem solving that can be borrowed in different languages when you're trying to solve a problem that isn't easily solved using its classic idiom.</comment></comment></comment></comment>


Thinking Psycopg3 - <AUTHOR> https://www.varrazzo.com/blog/2020/03/06/thinking-psycopg3/ <comment><USER3> At Mesosphere/D2iQ we used psycopg2-backed sqlalchemy to interact with CockroachDB.

Daniele, one point that I'd like to get your opinion on, and that's maybe worth considering for API developent around psychopg3: we found it difficult to implement timeout control for a transaction context. Consider application code waiting for a transaction to complete. The calling thread is in a blocking recv() system call, waiting for the DB to return some bytes over TCP. My claim is that it should be easy to error out from here after a given amount of time if the database (for whichever reason) does not respond in a timely fashion, or never at all (a scenario we sometimes ran into with early versions of CockroachDB). Certainly, ideally the database always responds timely or has its internal timeout mechanisms working well. But for building robust systems, I believe it would be quite advantageous for the database client API to expose TCP recv() timeout control. I think when we looked at the details back then we found that it's libpq itself which didn't quite expose the socket configuration aspects we needed, but it's been a while.

On the topic of doing "async I/O" against a database, I would love to share Mike Bayer's article "Asynchronous Python and Databases" from 2015: [https://techspot.zzzeek.org/2015/02/15/asynchronous- python-a...](https://techspot.zzzeek.org/2015/02/15/asynchronous-python-and- databases/) \-- I think it's still highly relevant (not just to the Python ecosystem) and I think it's pure gold. Thanks, Mike!

<comment><USER4> Hi! Much of the difficulty comes from using blocking libpq calls in psycopg2. I'm thinking to avoid them altogether in psycopg3 and only use async calls with Python in charge of blocking.

Note that you can obtain a similar result in psycopg2 by going in green mode and using select as wait callback (see [https://www.psycopg.org/docs/extras.html#psycopg2.extras.wai...](https://www.psycopg.org/docs/extras.html#psycopg2.extras.wait_select)). This trick enables for instance stopping long-running queries using ctrl-c.

You can also register a timeout in the server to require to terminate a query after a timeout. I guess they are two complementary approaches. In the first case you don't know the state of the connection anymore: maybe it should be cancelled or discarded, we should work out what to do with it. A server timeout is easier to recover from: just rollback and off you go again.

</comment></comment><comment><USER5> I'm again reminded how much we depend on and how we owe these these unnamed heroes of modern age who maintain and develop software we take for granted in our every day lives. Kudos to the author.

And interesting to find out after years of using it that psycopg2 actually doesn't use prepared statements underneath.

</comment><comment><USER6> The one thing I dislike about the Python DBAPi spec is the "cursor". Maybe the idea was good when the creators of the spec came up with it, but no other database API exposes a cursor so upfront to the users. When someone new to databases first learns about the Python DBAPI then he will probably think that cursors are something really important, but really - they aren't. Developers just want to fire queries at the database, the cursor is just something between the db connection and the query result. Maybe it is needed to keep the state of query objects, but it should have some other name.

<comment><USER7> I don't understand this comment. A cursor is just an iterator over the results. Would you prefer "iterator" as a name? A concept like it exists in basically every database API (for row-oriented databases) so that you can start processing results as soon as they start coming in rather than having to load all results into application memory first.

<comment><USER8> I think OP has a point. He's not complaining about the functionality (of course a DB client needs to iterate through results) but that there's no reason a user needs to understand cursors for running simple DB queries. I should be able to do:

        results = conn.execute("select * from mytable").fetchall()

or

        query = conn.execute("select * from mytable")
        for row in query:
            print(row.id)

You can do the same with cursors, but it's extra mental overhead and a somewhat awkward API.

Plus the name conflicts with Postgres' CURSOR, which confused me when I first started. So, yes, I would prefer "iterator" :)

<comment><USER6> Yes, that's what I meant, it doesn't have to be exposed to the user, I just want to execute a query and get the results. If needed then maybe I should be able to create a cursor to go through the results. It's just that other database access APIs don't expose and force the developers using the API to use a cursor, so it's mildly annoying in Python.

</comment></comment></comment></comment><comment><USER9> If we are doing wishlists: I would love to see better support for fast creation of Arrow/Dataframes/numpy objects from query results (possibly through the COPY support, maybe through some kind of plugin or compile time optional support). See for example Turbodbc ([https://turbodbc.readthedocs.io/en/latest/pages/advanced_usa...](https://turbodbc.readthedocs.io/en/latest/pages/advanced_usage.html#apache- arrow-support)).

At the moment we are forced to have query data converted from the binary stream into (boxed) python objects, then unbox them back into arrays - <USER2> can add a lot of overhead. I did some very rough experiments in Cython and got 3x speedup for bulk loads of queries into arrays.

</comment><comment><USER10> Off topic:

The comments system on the site is awesome, can't believe I haven't seen it before!

[https://utteranc.es/](https://utteranc.es/)

<comment><USER11> Did a triple-take when I scrolled to the bottom and saw.. GitHub. Super cool.

</comment></comment><comment><USER12> The first part, Query parameters adaptation, is perhaps problematic. Postgres allows only 32K parameters (they use a signed short? really?), which is relatively few. This limits the numbers of rows you can INSERT in a batch. Expanding client-side neatly side-steps this.

Also: with copy, is there a way to ignore, or replace, duplicates?

<comment><USER13> For batch insert it makes more sense to parse an insert statement for one row and then send bind-execute messages for each row. That would much more efficient than a huge insert statement with interpolated values.

Copy doesn't on conflict handling yet, although there doesn't seem to be a major reason why it couldn't. A workaround is to copy into a temporary table and do a insert-select from there.

<comment><USER12> What do you mean by bind-execute? I'm guessing you mean sending multiple statements in a string where the first PREPAREs and the rest EXECUTE? I haven't benchmarked anything like that.

I've done lots of exploring and profiling and comparing of the best ways to do big upserts into a variety of DBs. For Postgres, I've messed around with CTEs but found INSERT ON CONFLICT UPDATE to be fastest. And inserting large numbers of rows is a clear win over individual statements round-tripping.

<comment><USER13> PostgreSQL wire protocol has a concept extended query which splits out query execution into 3 steps, parse, bind and execute. [https://www.postgresql.org/docs/devel/protocol- flow.html#PRO...](https://www.postgresql.org/docs/devel/protocol- flow.html#PROTOCOL-FLOW-EXT-QUERY) If you send one parse message and multiple bind and execute messages you can insert multiple rows parsing the statement only once. Currently psycopg2 doesn't support that, which is the first thing the blog post was talking about.

If working in the confines of psycopg2, you could do something like insert .. on conflict .. select * from unnest(%s) rows(a int, b text, ...); and pass in an array of row types. Parsing a huge array is cheaper than parsing a huge SQL statement.

<comment><USER14> And relevant to the roundtrip issue at hand here: You can send bind/execute in a pipelined manner.

I'd benchmarked batch upserting at some point, and at that time for large amounts of data the fastest approach was somewhat unintuitive: A separate view with an INSTEAD trigger doing the upserting. That allows for use of COPY based streaming (less traffic than doing separate bind/exec, less dispatch overhead), and still allows use of upsert. Not a great solution, but ...</comment></comment></comment></comment></comment>


Ask HN: Where/How can we find temp Tech Workers for a week in NYC? - <AUTHOR>

<comment><AUTHOR> We are a bit behind on one of our client's projects and need some help to get it wrapped up. Does HN have any suggestions as to how/where we can get some coders (mostly frontend/HTML/CSS) and 1 or 2 PHP backend to come in to our office (SOHO) and work for a week? Thanks.

</comment><comment><USER2> Do you have contact info?

<comment><AUTHOR> demosquared@ gmail.com</comment></comment>


A Comprehensive Guide to Aspect-Based Sentiment Analysis - <AUTHOR> https://monkeylearn.com/blog/aspect-based-sentiment-analysis/ <comment><USER2> This would be better titled "a comprehensive guide to aspect-based sentiment analysis using our service." It only abstractly defines how to do it, so I would definitely not call it a "comprehensive guide" (though I'd definitely call it an advertisement. HN has had a lot of these lately.)

Issues with NPS aside, I've had success doing aspect-based sentiment analysis using a summation of TF-IDF and NPS, paired with multinomial naive bayes classification, which is fairly simple and probably doesn't require a 3rd party service. You'll have to find a way to roll up TF-IDF and NPS though, as NPS is a fractional measure - so any given term within a document will have an NPS of -100, 0, or 100. Great for basic "positive", "neutral", or "negative" classification, but not so good for a true NPS score.</comment>


Ask HN: SWE Infrastructure – Should I Learn Go or Python? - <AUTHOR> I've been working in the Infrastructure side of the stack for the past two years.
I'm really enjoying building tools that allow operations to provision/automate infrastructure in the cloud.
I'd like to explore this area deeper. I've noticed Infrastructure tools are typically Python or Go.
Is there a language preference between the two that I should be focusing on in terms of career growth? <comment><USER2> Both of them.

I expect some Python code we've got around will be ported to GO as soon as we need to reduce our cloud bill on some services.

I see Python is becoming a the new Basic and the new LUA: \- It is easy to code. \- It is used to orchestrate lower-level stuff with a high-level (understandable) interface. \- You can type the script on a REPL and copy- paste to an editor. I know, this doesn't look like coding, it's dirty, but it works.

If you're into containers, cloud functions (or openfaas) and k8s, use GO. Advantages: \- Faster than Python. Both startup time and runtime because it is compiled. \- Since it is compiled, you will catch errors on development that would be Python runtime errors. \- Good for responding to K8s triggers, cloud functions, Knative containers (cloud run) without having to pay too much for running them.

</comment><comment><USER3> I've been a Python dev for years now, recently picked up Go to meet some of the deficiencies in Python. You should learn both, they're both invaluable. If you're completely new to programming, I'd start with Python (just an opinion). I think it's easier to learn and there are more resources.

<comment><USER4> Easier to learn, harder to master IMO.

<comment><USER5> What do you find hard to master in Python?

<comment><USER4> The std library of python 3.8 has many more data structures and multiple ways of doing things. You have "enforce" ideas about the app design to keep consistency, etc.

</comment></comment></comment></comment><comment><USER6> Bash, Python, Go would be my order of preference. Although C, gcc, libc, make tool chain makes more sense if you're into os/kernel/networking areas.

<comment><USER7> This, in the order above... Bash -> Python -> Go. Though I suspect if the OP's been in infra for years now, they will know Bash (or are a Windows infra guy, in which case I wonder whether any programming/scripting is necessary other than PS).

</comment></comment><comment><USER8> Both! Python will probably help you build concepts faster and iterate quickly, but golang has much better performance (given you understand how to do this).

I would pick your battles and do things that are actually relevant. For example if you need something that requires high performance because of a bottleneck, do it in Go. If you need a simple server to test if something you're thinking would work or if Python has better packages use that.

If you really have to pick one to focus on, I would understand the trade offs then pick. A lot of infrastructure code nowadays like kubernetes are written in go, but are you looking to contribute to that ecosystem? Or are you looking to be an automation master connection a whole lotta pipes together?

</comment><comment><USER9> You learn both! It's not a big ask. But GoLang will be superior for any multi- core, multi-threaded work. And it deals with C libs easily. Others mention bash like it's an option. No, it's a forgone requirement to basic development. A developer should be at home on a CLI.

</comment><comment><USER10> What's your infrastructure stack? You need to evaluate the availability of SDKs and others.

For example, if you want to use Pulumi, I think they still don't have a stable Go SDK.

Likewise, if you're using Ansible, it's easier to hack on it with Python even if some things are language-agnostic.

Like others said, learn both.

</comment><comment><USER11> Building infrastructure in the cloud? If you're talking about standing up AWS/Azure/GCP, I don't think Go has much for libraries to support that yet...

For career growth in that space, I'd learn the proprietary deployment mechanisms they each have... I've used ansible for 2 years in cloud infrastructure, and honestly I found it frustrating. I'd only use them to deploy cloud-specific templates now.

For infrastructure, python is probably better of the two languages... Unless by infrastructure you mean writing the connectors between a cloud database and a performance-sensitive application.. in which case Go should give better performance if tens of ms matter.

</comment><comment><USER12> I guess I am an outlier. You should learn both languages and any other you encounter. Learning a programming language (after the first few) is not particularly difficult. Each language gives some small insight into how a program (or programs) can be structured. It pays to learn a few assembly languages as well to learn how abstract programs can be mapped onto hardware. Focusing on a particular language to enable career growth is not rational behavior.

</comment><comment><USER13> I've seen a reasonable amount of infrastructure work in node too, at this point.

My basic take right now is that service-based infrastructure is probably going to favor Go (or node).

Infrastructure that's not accessed directly as a server (kicked off from a separate CI tool or whatever) has a lot of Python representation.

Which side interests you more? Personally I wouldn't be thinking either/or for any popular language or stack, more like 80/20 and what should be my 80?

</comment><comment><USER14> Bash, Python, Go - in that order.

</comment><comment><USER15> Go might be useful since Terraform uses Go.

Try to focus on what your shop has already. Solve their problems first.

I'm joining a shop in the new year that was impressed by my use of the Serverless framework. Impress them.

</comment><comment><USER16> Python is long established language, GoLang is gaining traction I think both are worth learning, especially that they are so different.

I would try both and just stay with the one that feels better to use.

</comment><comment><USER17> Assuming you know Bash already, Python first and Go second. On a sidenote, I came across lots of NodeJS infra stuff as of lately.

</comment><comment><USER18> Learn both, and choose whichever makes most sense for the task at hand. Neither are that difficult.</comment>


Chinese schools scanning children's brains to see if they are concentrating - <AUTHOR> https://www.independent.co.uk/news/world/asia/china-schools-scan-brains-concentration-headbands-children-brainco-focus-a8728951.html <comment><USER2> This brought to mind the Matrix movie where Neo finds out that people are plugged into a big machine for that machine's benefit.

</comment><comment><USER3> Wow it would suck to live in China</comment>


Debian testing Firefox-esr package - <AUTHOR> https://packages.debian.org/bullseye/firefox-esr <comment><AUTHOR> The point being is that the package is absurdly outdated (it isn't even the last 68.x security release).

I don't see any point to using -testing if -stable gets all the security hotfixes, and -unstable is more recent in general. But this still annoys me enough to post on HN.</comment>


The Neurofix - <AUTHOR> https://aeon.co/essays/will-stem-cell-grafts-offer-chicken-soup-for-the-ageing-brain <comment><USER2> That was a rather sad article. The juxtaposition of how her parents were in their younger years to how they were later in life is disconcerting. As a 25 year old, I don't think my fear of death is necessarily greater than the average person, but I do seem to have a stronger fear of _aging_ than most people my age. And that fear is almost entirely due to the way the human brain changes as it ages. I could handle a deteriorating body, but a deteriorating mind is a horrifying thought, since the mind essentially constitutes who I am. Alzheimers and dementia unnerve me. Less acutely, even the way that people tend to get "stuck in their ways" and quit trying new things later in life scares me as well. I make a conscious effort to keep trying new things, even if I think I won't like them. Some people are afraid of change, but I'm afraid of monotony, boredom, and routine — traits that characterize the concluding years of many lives that were formerly full of excitement.

<comment><USER3> I think your fear is healthy if it motivates you to fight the effects of aging. I know many people in their 60s and 70s and it's amazing the effect lifestyle has on where you end up. I know 60-year-olds who are senile and frail after a liftime of recreational drinking, poor eating, and inactivity. I also know 80-year-olds who are sharp as me, learning new things, and biking, hiking, or running more than ever to stay young. My 70-year-old mother just got her PhD and teaches nursing thanks to a liftime of healthy eating and intense exercise. Those are the seniors I think of when I go to the gym and choose salad over my craving for burgers and fries when out to eat.

<comment><USER4> Sadly, even exercise and good living doesn't always work. I have a family member living with dementia right now who lived a model life as far as diet (vegetarian), exercise (daily for life), no drinking or drugs, and an overall focus on doing everything possible to be as healthy as possible. Conversely, my own grandfather watched all of his coworkers die from cancer due to the chemicals they worked with, was generally sedentary, and lived into his nineties with no major degenerative diseases.

That said, I agree that one is more likely to have positive late-life outcomes if one chooses to live more healthfully in younger life.

<comment><USER3> Thank you for pointing this out. I almost went back and edited my original post to add this qualification. There are absolutely exceptions to the trends, and just because someone is having health or cognitive issues in their senior years, we should not assume it's because of their lifestyle. I think you stated this fact very well and I appreciate it.

</comment></comment></comment></comment><comment><USER5> As someone who hasn't read much about this sort of research, I'm impressed and hopeful for the future based on the advances described here. I just watched my maternal grandparents go through the sort of horrible, prolonged, process of slow brain-death (alzheimers, parkinsons) and general neural decay before death. Heart breaking. For those who know more about this: how far out are we? Tens of years? Hundreds? What stands in the way?

<comment><USER6> as far as i remember reading somewhere, i think one of the main problems is that we don't really know what Alzheimer's disease is. We know the symptoms and we know what the brain looks like after the disease comes (in an autopsy once the person is dead) which makes diagnosing very difficult as well. But mainly we don't really know how and why or what it is.</comment></comment>


C++ UI Libraries - <AUTHOR> https://philippegroarke.com/posts/2018/c++_ui_solutions/ <comment><USER2> > Dear ImGui

> Cons

> nothing jumps out to me

Why the _fuck_ am I reading this article? I could easily write "nothing jumps out to me" or list a bunch of first-impressions of GUI libraries. But I can tell you off-hand a list of cons for Dear ImGui, and if you're interested there are plenty of Qt -vs- ImGui comparisons out there based on people who have actually switched and done a writeup. (Various people fall on both sides of this debate.)

[https://deplinenoise.wordpress.com/2017/03/05/why-qt-and- not...](https://deplinenoise.wordpress.com/2017/03/05/why-qt-and-not-imgui/)

[https://gist.github.com/bkaradzic/853fd21a15542e0ec96f726815...](https://gist.github.com/bkaradzic/853fd21a15542e0ec96f7268150f1b62)

There are definitely use cases out there where Dear ImGui is a clear winner over Qt, and vice versa, and if you're going to compare GUI frameworks I would expect to want to know more about them.

I have a big ole' bag of Google Docs that contain comparisons like this, but I sure as hell ain't gonna share them because they're full of subjective declarations and I stop evaluating an option as soon as I've figured out it doesn't meet my needs.

<comment><USER3> I consent with you that many pros and cons are rather subjective and pros/cons depend on the specific use case. On the other hand, I like having a list of all these libraries with their supported platforms, license and a screenshot. This alone gives a pretty good overview of what's there. Not all pros/cons are subjective (e.g. having a GUI wysiwyg editor is definitely a pro for some use cases). Anyway, thanks for sharing your view and thanks for sharing this comprehensive overview.

<comment><USER4> Even the list of platforms is kinda pointless here, as Dear ImGui doesn't really support any platform itself. You're expected to write a glue yourself, with some examples for popular libraries/frameworks/engines being provided for your convenience (and those examples alone already go further than just four platforms listed in the article).

On the other hand, Qt is a whole framework itself which already handles all this stuff for you, which makes a lot of stuff easier, but then you're of course limited to what's supported by Qt.

</comment></comment></comment><comment><USER5> > Cons: [...] I don't like it

I found that reasoning funny for something like Qt that almost everyone knows, but as i was reading on and on, i found myself asking "why" to many of those cons (and some pros). I do not think this list is very useful really, it is mainly a link dump and the descriptions also seem to be taken from the sites, at least for the less popular ones. I'd prefer to see an actual review (even a single paragraph, it would help explain why "IDE?" is both a pro and con for U++) which go a bit more in detail than "ugly af" (which i disagree with, btw, i like how Fox Toolkit looks) and "sourceforge" (wth is the problem with a site's project being on sourceforge? It provides excellent tools for projects, not everyone has to monoculture themselves on GitHub).

Also it is a bit wrong. Both Motif and WTL are not dead projects, Motif is still getting updates (although it is mostly bugfixes) and WTL has new commits often with the original developer at the helm.

</comment><comment><USER6> I'm a longtime user (15+ years) of wxWidgets in a commercial application. It's served us well during that time but lately it's been feeling more and more like our software looks outdated. Native UI is long touted as a pro but more and more software is eschewing the native look to stand out. Even Microsoft has been abandoning the win32 look in their win32 applications (Office, VS, etc.).

I found the linked page a few months back and was disappointed that there was no clear winner for someone that wants a nice, modern looking interface. JUCE looked nice but is weirdly focused on the niche audio applications field (and their website is so full of marketing copy it's hard to even get a feel for what it's like to use and how things fit together).

I'm a fan of the concept of IM GUIs in general (though pure immediate mode UI probably isn't appropriate for us for a variety of reasons) but Dear ImGui and most of the others just don't do the right UI paradigms to fit an application like ours (a thousand floating windows would drive our users insane).

We're at this weird place were game UI libraries look great (or can be made to) but aren't appropriate for information dense commercial applications, the available libraries designed for that use case look awful, and the big companies that have great UIs aren't sharing them with anyone.

<comment> c-smile > the big companies that have great UIs aren't sharing them with anyone.

Here are some "big companies" [https://sciter.com/#customers](https://sciter.com/#customers) and the library they use for their UIs.

<comment><USER7> IMHO, only Evernote stands out in this list. Most of the other companies seem to have trivial user interfaces requirements. The GUI for an antivirus product could be built with just about any framework.

<comment> c-smile "The GUI for an antivirus product could be built with just about any framework"

Not "any" as Section 508 is mandatory for example.

That really limits your options to Qt and Sciter from that list (if to consider style of their UI).

Qt is too large for them and not that convenient as they need. Yet DirectX (hardware accelerated) rendering is the must for high-DPI support.

And check this: [https://sciter.com/from-skeuomorph-to-flat-ui-evolution- of-o...](https://sciter.com/from-skeuomorph-to-flat-ui-evolution-of-one- application/) . That is about 12 years of one application that is transitioned from Skeumorphism to Metro style UI without changing native code of UI.

</comment></comment></comment></comment><comment><USER8> Desktop crossplatform development is a weird beast. Yeah you get to share a lot of code between platforms and it's easy to get 80% there, but getting a polished UI is a lot of work.

In some cases such as using JUCE for making audio plugins it's even desired to not have a native UI since users expect each plugin to have its own UI. But unless you are huge, like say Adobe, having a nice and polished cross platform UI for application development is simply not feasible.

After years I've come to the conclusion that the proper way of supporting multiple platforms is having native UIs and sharing application logic in any way you can between platforms. I think that's the idea behind Xamarin.

<comment> inspector-g Even Adobe has bungled its cross-platform UI support/tooling a number of times. I think the reduced scope definitely helps though, but even in that scenario some problems seem to unavoidably surface.

Source: have written plugins for Adobe products for many years.

<comment><USER8> What do you mean by "reduced scope"?

</comment></comment></comment><comment><USER9> It is unfortunate that the libui author very much insists on doing everything himself instead of encouraging a more community oriented development approach. The job is too big for any single person.

If that project was managed better it would be huge. Even by basically being unusable it still has so much interest.

<comment><USER10> Wait, what's stopping the community from helping out? It is open source, right?

<comment><USER9> Well if PR don't get merged because the author plans on redoing that part of the lib or does not fit with their "vission" that pretty effectively kills the community help.

<comment><USER10> True. I wonder how long that can continue before someone forks and takes the contributors with them.

<comment><USER9> It requires someone with knowledge of native gui toolkits on the three desktop platforms. That is a pretty high requirement.

</comment></comment></comment></comment></comment><comment><USER11> Regarding GTK/gtkmm:

> \- building & linking is hell

Building GTK itself perhaps. I haven't tried that. However, to use it in an application it appears that adding a couple lines to your CMakeLists.txt suffices[1]. I've used GTK (in C) in the past and had no problems with the "building the application" part.

> \- GNOME

An explanation for why you see GTK's association with GNOME as a con would be appropriate.

> \- looks meh

How it looks, depends on the theme used. However, I do agree that it "looks meh" with Adwaita (the currently default theme).

[1] [https://wiki.gnome.org/Projects/gtkmm/UsingCMake](https://wiki.gnome.org/Projects/gtkmm/UsingCMake)

<comment><USER7> In my opinion _Adwaita dark_ looks pretty good. Since I'm currently building a Gtk3 app in Go, I'm very curious: Which theme would you prefer for a modern desktop application?

<comment><USER11> With GNOME I use Arc-Darker. With i3 I use Numix. I generally prefer Numix, but for some reason it looks weird e.g. with nautilus.

</comment></comment></comment><comment><USER12> wxWidgets seems to strike the best balance between documentation, activity, and having native widgets.

It's also true that the API is weird, and some of the wrapped native APIS are deprecated, or work weirdly with modern features.

Now if the qt branch for Linux was stable...

But really, C++ has so much choice compared to say, Rust.

<comment><USER5> Yeah, of all the popular C++ tookits listed in the site, my personal "favorite" is wxWidgets (favorite in quotes because i do not _really_ like it, it is just the one i found myself being more comfortable with). We're using Qt at my current job and while i'm ok with it, i still like working with wxWidgets more than Qt (even if Qt is certainly more polished).

I found documentation fine with both toolkits, although i _really_ like that wxWidgets's docs are in CHM format so i can quickly search and scan them locally with a handy tree of contents at the side. With Qt i have to use the online docs and searching goes through Google which slows things down (...there might be some offline docs at the Qt site to download, but i couldn't find it).

<comment><USER13> Qt Assistant(Offline doc browser) comes with Qt. You can also use Zeal(supports offline docs for JS/HTML/CSS/TS/Vue/..., OpenGL, Qt, and many others)

<comment><USER5> It does, but it doesn't contain the Qt documentation. It only has documentation for itself.

It might be that _something_ is missing, i just cannot figure out what.

<comment><USER14> If you install Qt through the installer (which would be the main way of getting it on Windows), your installation should have a "Docs" folder containing HTML files.

Many Linux distros package it separately, e.g. on OpenSuSE it's in "libqt5-qtdoc" and its subpackages.

<comment><USER5> I didn't installed Qt myself, it is part of the repository (gamedev, we put _everything_ in the repository :-P). Perhaps i'll try to install the same version of Qt somewhere separately and see if the docs are there.

</comment></comment></comment></comment></comment></comment><comment><USER13> > Qt

> feature creep, the project

> uses ancient paradigms

> tends to overtake all your structures

> slow

> I don't like it

Seriously?...

<comment><USER15> I might be a wee bit biased because I work with Qt, but seriously, its breadth, quality, and documentation are why it's the quasi-standard for cross- platform UI programming. There is currently a discussion about the ownership model (I guess that is meant with "ancient paradigms") on the development mailing list. The ownership model isn't really among the top n problems during typical development in any case. There is also QML which is an extremely productive way to create hardware accelerated touch-friendly UIs. QML is widely used in embedded systems.

<comment><USER8> Can you point out some big desktop projects made with QT that run on macOS and/or Windows?

<comment><USER16> The Dolphin emulator [0] and Krita [1] are two that come to my mind.

[0] [https://dolphin-emu.org](https://dolphin-emu.org)

[1] [https://krita.org/en/](https://krita.org/en/)

<comment><USER17> Dolphin just switched to it, too. They were on wxWidgets until recently.

</comment></comment></comment></comment></comment><comment><USER18> While lacking in lots of built-in UI widgets, I use Cinder like a UI library. [https://libcinder.org/](https://libcinder.org/) Perhaps "graphics library" would be a better descriptor and explains why I didn't find it on the list. But with mouse/touch, images, audio, video, etc. support, "graphics library" seems too narrow of a description. Maybe it's better to think of as a GUI library without a lot of commitments to the usual set of GUI widgets.

<comment><USER19> Cinder looks neat. I'm curious though, the only packages it offers are for Windows or OS X. Do you know if it supports Linux at all?

<comment><USER18> I've used it on Linux (Raspberry Pi for my case) just fine. Guides here if you need it: [https://www.libcinder.org/docs/guides/linux- notes/index.html](https://www.libcinder.org/docs/guides/linux- notes/index.html)

<comment><USER19> Thanks! I'll give that a try.

</comment></comment></comment></comment><comment><USER20> Come on, man; if you're gonna allude to the awesomeness of a project's website, the least you could do is actually _link_ to it!

For those as curious as I was:

Amulet: [https://www.cs.cmu.edu/afs/cs.cmu.edu/project/amulet/www/amu...](https://www.cs.cmu.edu/afs/cs.cmu.edu/project/amulet/www/amulet- home.html)

Yzone: [http://lifesoft.chat.ru/yzone/](http://lifesoft.chat.ru/yzone/)

</comment><comment><USER21> Ah cross-platform UI libraries, when you want the user experience of Electron with the convenience and safety of C++.

<comment><USER22> This is beyond ignorant. I can create a tiny fast GUI with no dependencies using fltk in 1/1000th the size that runs with zero lag or latency.

<comment><USER23> It might be nostalgia, but I kinda miss writing simple stupid looking in practice fixed size and screen ratio win32-api apps.

It was so simple compared to how things work nowadays.

</comment></comment></comment><comment><USER24> It seems like native desktop app development is getting harder simply because fewer people are doing it; web apps seem to be the future.

Less investment -> less modernization -> less usage -> even less investment

</comment><comment><USER25> Why not use dead projects ? I like TurboBadger for example.

It is pretty feature complete and the code base is well developed. so changes and/or fixes can be done quite easily.

</comment><comment><USER26> Sciter is fantastic, and honestly I don't get it why being closed source is a con.

In fact, both 'commercial license / closed source' statements are not quite true - one may link against the precompiled dll for free, even in commercial apps (as cheap as that could be), while commercial licenses, starting from fair $310 (a lifetime license!), are there for those who need static linking, dedicated support and, mind you, access to the sources.

But even free users can expect a welcoming and timely response from the author (Sciter is a one-man affair). I, for one, never had a condescending or impolite reply to the dumbest of my questions.

Also, the article doesn't mention the fact that Sciter is more widespread than it might seem - for example, many Windows AV solutions, including Eset, Norton, Avast, Bitdefender and Comodo, use it as GUI engine.

<comment><USER20> > honestly I don't get it why being closed source is a con

Transparency is a dependency of trust. If it ain't transparent, then it's not possible to trust it, end of story. This means that I'm going to be significantly disinclined to use a library if I can't see its source code (i.e. it's a binary blob with a header file). Sure, I could pay $310 for access to the source code so I can audit it myself (or hire someone to audit it for me)... or I could _not_ spend that money and use something I can actually audit freely.

Same goes for static linking. I _could_ spend $310 for the ability to statically link Sciter with my project... or I could _not_ spend that money and use something I can include in any of my projects regardless of the license for that project.

<comment><USER5> What sort of incentive would an indie developer who makes his living from sales of his software has to make his library malware and thus not only kill any current and potential future commercial endeavor, but also open himself to lawsuits from his own customers (among others)?

<comment><USER20> Maybe he wants to make a quick buck off users who don't pay for the source code?

Maybe he's a Latvian sleeper agent looking to infiltrate government software systems to boost the global potato market?

Maybe his machine was in turn infected by malware that's now able to spread via his compilers to any software he in turn compiles, Ken-Thompson-Trusting- Trust-style?

Maybe he sold it to someone else and the new owner is in one or more of the above categories?

These sorts of things happen _all the time_. Why should I expect this library to be an exception?

I mean, if you want to take that chance, go for it. Personally, given there are numerous other options out there, I'd rather stick to something with a FOSS license and source code that the general public (including myself) can audit (and potentially even maintain, for reasons that I outlined in response to the sibling comment).

<comment><USER26> > if you want to take that chance

No, I don't think I want, now that you've sown a seed of doubt in my mind..

It's just occurred to me that he well might be a covert princess who'll jump out of my laptop, disguised as a frog, and demand me to kiss him in order to dispel the evil spell!

</comment></comment></comment></comment></comment><comment><USER27> Honestly everyone should just use sciter and support Andrew.

<comment><USER28> Why should everyone promote a closed source platform?

</comment></comment><comment><USER29> When it comes to embedded in particular, Qt has another major disadvantage: you have to pay royalties (!) to Qt, and worse yet, you have to deal with their slimy salespeople.

<comment><USER15> You don't have to pay royalties if you don't tivioze your device or (and that isn't really a great long-term option) stay with version <= 5.6. About the salespeople, my ex employer KDAB is a reseller and has a very different sales culture. Try them.

<comment><USER15> *tivoize obviously</comment></comment></comment>


Common chemicals are feminising males of every class of vertebrate animals - <AUTHOR> http://www.independent.co.uk/news/science/its-official-men-really-are-the-weaker-sex-1055688.html

<comment><USER2> "Whole wildlife populations could be at risk, he said, because their gene pool would be reduced, making them less able to withstand disease and putting them at risk from hazards such as global warming."

I just thought it was funny that they threw the global warming thing in there. I don't see much connection between mass feminization and global warming, but it seems like scientists know if they can cram the words "global warming" in there somewhere they'll get the reporters' attention.

Reminds me of the old joke about the New York Times headline: "World to End. Women and Minorities Hardest Hit."

<comment><USER3> > threw the global warming thing

This is the infuriating thing about the whole global warming crock. You have any of eight critical and completely uncontroversial environmental problems to focus on, but instead the powers that be have sucked all attention and money towards the red herring of anthropogenic global warming.

</comment></comment><comment><USER4> Why has it taken so long for this to come to public attention? I hadn't heard anything about it until about 2 months ago when my friend bought a BPA free Nalgene, and then recently with that CBC documentary Alex3917 posted (<http://news.ycombinator.com/item?id=375127>).

On another note, I like that I'm able to find out about this stuff from HN. I consider it a triumph of social media.

</comment><comment><USER5> This won't be a popular opinion and I don't believe it myself, but in the interest of "what if" debate...

Perhaps this is a reasonable development. At the biological level, there's no direct need for a male gender beyond its ability to spread and mix genes. The chemicals specified - such as those from pesticides and PCBs - are the result of human technological improvement. Perhaps there's some biological reason to "switch off" the generation of diversity in species when humans reach a certain level of development? Now that one species has "won" the planet, perhaps having many multiple species and variations is a negative thing for future growth?

Again, _I don't believe this myself_ , but biology has a funny way of doing stuff that we don't understand, and some of it has to have a logical reason (as we have seen in hindsight). This is the only logical rationale I can come up with myself - though I'm sure there are others.

</comment><comment><USER6> I heard about this over 10 years ago. Nothing will be done. Anyway, I'm surprised by the misuse of the word "evolution" in this article. If evolution is involved in any way here, it is in the gradually increasing resistence of animals to these chemicals.

<comment><USER7> _Nothing will be done_

Not true.

Phthalates are banned in children's toys in the US starting on February 10, 2009. The ban needs to be broadened, as many of the effects happen in utero.

<http://www.cpsc.gov/ABOUT/Cpsia/cpsia.html>

</comment></comment><comment><USER8> Nothing will be done about this because it's very difficult to get men to admit that they're less masculine. It's like the way women are up in arms about unrealistic portrayal in the media, with airbrushing and so on of celebrity photos. Meanwhile you've got Men's Health magazine saying every month "get a six-pack in 2 weeks or you are a LOSER" and men just accept it. Feminists have basically hijacked a whole range of issues that actually affect everyone - and created a generation of males without the confidence to address concerns that are far more important than Barbie dolls and other feminist obsessions.

</comment><comment><USER9> "And a study at Rotterdam's Erasmus University showed that boys whose mothers had been exposed to PCBs grew up wanting to play with dolls and tea sets rather than with traditionally male toys."

Stop the presses. The world is coming to an end.

</comment><comment><USER10> Is this article a joke? Where's the paper?

"...male starlings who ate worms contaminated by female hormones at a sewage works in south-west England were subtly changed so that they sang at greater length and with increased virtuosity."

</comment><comment><USER11> I am nearly sure that that a similar story was discussed on HN recently but I may be confusing it with another forum/social news site. anyway here's is a video that I watched as a result recently called the disappearing male: [http://video.google.com/videoplay?docid=7530701744597358451&...](http://video.google.com/videoplay?docid=7530701744597358451&ei=CA8qSfrUJ4b-qAP_mJz- AQ&q=The+Disappearing+Male)

</comment><comment><USER12> That's not the impression I got from watching the Olympics.

</comment><comment><USER13> Why do we want "something" to be done at a governmental level? I'm purchasing a home water distillation device. Any suggestions?

My wife and I have mostly implemented Art de Vany's paleolithic diet, so a distiller will hopefully take us to 90% chemical-free.

Will look for the actual academic paper and post...

</comment><comment><USER14> This is reaching. Headline searching for bombastic-sounding facts.

<comment><USER15> Indeed. The author is loading the word "weaker" with another meaning; a meaningless one at that: who would write an article with a title such as "It's official: Humans really are the weaker species" if it were shown that cyanide contamination the world over was having a negative effect on all people?

</comment></comment><comment><USER16> male to female disparities means i am allowed to have my harem...

<comment><USER17> Actually, it would be more appropriate for us females to have the harem, given the info in the article.

<comment><USER18> I think we would all be happier exchanging sex for cash at free market prices.

</comment></comment></comment><comment><USER19> Unfortunately, India and China's cultures may compensate for this imbalance.</comment>


Css/js combining and minifying for deployment - <AUTHOR> https://github.com/hhuuggoo/combine_compress

<comment><AUTHOR> tried to find a tool to help me incorporate css/js combining and minifying into my deployment process, didn't find any that modified the html for me, so I rolled this. brain dead simple, but it's useful for me, so it might be for you.</comment>


Takin' a class, readin' a book. - <AUTHOR>

Today I attended my first class, 'Entrepreneurship,' and the recommended text is 'Technology Ventures: From Idea to Enterprise' by Richard C. Dorf and Thomas H. Byers. Since you all seem well read, perhaps some of you out there might have read this book, and if you have, i'd like to hear your opinions on it, and whether you learned a lot from it. It's 120 washingtons, so I need to know if it's relatively valuable before I drop the cash. <comment><USER2> [http://www.abebooks.com/servlet/SearchResults?an=dorf+byers&...](http://www.abebooks.com/servlet/SearchResults?an=dorf+byers&sts=t&tn=Technology+Ventures&x=0&y=0)

</comment><comment><USER3> I bought the book because Tom Byers is great, although I haven't read it cover to cover.

As much as it's possible to reduce entrepreneurship to 'theory', this book does a good job of it. It's good to be able to structure your thinking about strategy and marketing and operations etc, although I think in reality most entrepreneurs are so busy trying to execute that strategies are pretty quickly thrown out the window :)

Check it out in the library or bookstore before you buy it. An alternative is New Venture Creation by Timmons and Spinelli, which I quite like.

</comment><comment><USER4> I would change the title to something more relevant, people might be more inclined to click on it. I'm rather curious myself on how good this book is (there are no reviews on Amazon yet). Btw, you can get this book for $90 from Amazon.</comment>


Obama takes aim at workers' non-compete agreements - <AUTHOR> http://thehill.com/homenews/administration/302765-obama-takes-aim-at-workers-non-compete-agreements <comment><USER2> Looks like a dupe of [https://news.ycombinator.com/item?id=12793501](https://news.ycombinator.com/item?id=12793501)

</comment><comment><USER3> This would be a game changer. My fiance works in a non-technical role for an online media company and her non-compete clause is basically every other online media company in the NYC area. I don't understand how a company can have the authority to limit someone like this for 2 years after working there.

<comment><USER4> I suspect a lot of these do not hold up in court. In fact, I believe NY is very favorable to the employee in overly broad non-compete agreements.

<comment><USER5> The problem is that a low level employee doesn't have the money to fight something like this. The simple fact that they can be litigated is enough.

<comment><USER6> Would a company spend money to enforce it? With non poaches, worst thing i've seen was a threatening note from a lawyer. No one wants to spend the money to take it court.

<comment><USER5> Usually my answer is no. I sign them and then, personally, complete disregard them because I think it's highly unlikely a company would enforce it on a low level employee like myself. The fact that they could try is usually enough to scare smaller employers away from even trying though.

Most sentiment seems to be that they "would never hold up in court". Every once now and then a case does come up though [http://arstechnica.com/tech- policy/2014/07/amazon-sues-ex-em...](http://arstechnica.com/tech- policy/2014/07/amazon-sues-ex-employee-who-went-to-work-for-google-cloud/)

</comment></comment></comment></comment></comment><comment><USER5> "which would prohibit companies from requiring non-compete agreements for employees who make less than $15 an hour or $31,200 annually."

A step in the right direction but not enough. It needs to address all non- executive employees.

<comment><USER7> Or at least require real consideration that takes into account the possibility of extended unemployment. Like a mandatory ~75% of full compensation for the duration of the agreement or securing equivalent employment, whichever comes first.

</comment></comment><comment><USER8> I think non-competes should only be legal if the controlling entity pays the affected person's full salary for the period of the non-compete. As far as I'm concerned, if you want to control what a worker does you need to pay the worker for the privilege. And prepared to bet if such a thing was the law there would be significantly fewer non-competes in place.

And yes, am aware that once you get far enough into the management structure this can be negotiated. I just want it to be the default arrangement for everyone.

</comment><comment><USER9> Has anyone seen a non-compete enforced?

I know plenty of engineers (not of the software kind, though) that quit to work at competitors, but when there are three companies in the world that make electron scanning microscopes or whatnot, it's practically impossible not to.

Enforcing a non-compete seems like it would be an uphill battle.

<comment><USER10> It happens in trading fairly regularly.

<comment><USER11> Yep. Even in states like Illinois where NCAs are non-enforceable, they can still complicate hiring decisions. I've heard of a few cases where companies (particularly in trading) will choose not to hire someone with a NCA because of the risk/time/effort involved in dealing with it.

<comment><USER10> NCA's used to be largely nonenforceable in IL. The advice I've received is that was changed by court precedent in recent years.

</comment></comment></comment></comment><comment><USER12> Did I read this correctly?

"which would prohibit companies from requiring non-compete agreements for employees who make less than $15 an hour or $31,200 annually."

<comment><USER13> Yes. This is basically aimed at a handful(?) of especially ridiculous cases of minimum wage service workers having to sign non-competes.

ADDED: In other words, at the risk of being cynical, I suspect that this is mostly political grandstanding. I'm guessing that none of these have ever been enforced. And, whatever one's stand on non-competes generally, it would really be hard to defend the practice in this case with a straight face.

<comment><USER14> They have been enforced, against of all things sandwich shop workers. Those are mostly just to scare low income workers from leaving their job.

</comment></comment></comment><comment><USER15> Seems like the right direction. The current setup protects the "status-quo" and it is never a good idea to "protect" the status-quo.

</comment><comment><USER16> "which would prohibit companies from requiring non-compete agreements for employees who make less than $15 an hour or $31,200 annually."

Great. So the guy who leaves Dunkin' Donuts can go work at Starbucks? Awesome.

What kind of BS is that? What kind of secret IP, or valuable knowledge does a low-wage employee has that is worth protecting with a non-compete?

<comment><USER17> A fair number of low wage jobs use noncompetes, notionally to protect trade secrets that line staff need access to in order to execute job duties. It's probably most often pretextual in such jobs, but that's a good reason for policy to particularly disfavor the use of noncompetes there.</comment></comment>


Rewriting a Solaris command in Python gained 17x performance improvement from C - <AUTHOR> https://blogs.oracle.com/solaris/reimplementing-a-solaris-in-python-gained-17x-performance-improvement-from-c <comment><USER2> " But Python would be slower right ? Turns out it isn't and in fact for some of my datasets (that had over 100,000 users in them) it was 17 times faster. I also made sure that the Python version doesn't pull the entire nameservice into memory when it knows it is going to be filtering it based on the -l and -g options."

Surely you can't say it's 17 times faster if you've changed the amount of data you're actually dealing with? It's not a like for like comparison.

</comment><comment><USER3> Off-topic: this is the first time I've seen a page with two stacked popups, with the close button of the first not working because the other blocks it.

Pure ad blocking really doesn't cut it anymore.</comment>