Dr. Bronner's soap brand became a touchstone of wellness culture - <AUTHOR> https://www.vox.com/the-goods/2019/5/8/18535403/dr-bronners-soap-label-castile <comment><USER3> Dr. Bronner's grandson David Bronner is not only CEO (Cosmic Engagement Officer) of Dr. Bronner's Magic Soaps, but also also a big contributor to and on the board of directors of the Multidisciplinary Association for Psychedelic Studies (MAPS).

[https://maps.org/about/board](https://maps.org/about/board)

>David Bronner is President of Dr. Bronner's Magic Soaps. He is a grandson of company founder, Emanuel Bronner, and a fifth-generation soapmaker. Under David's leadership, in 2003, Dr. Bronner's was one of the first brands to certify their soaps, lotions and balms under the USDA National Organic Program. Today Dr. Bronner's is coordinating certified Fair Trade projects for all major ingredients, including olive oil from the West Bank and Israel, coconut oil from Sri Lanka, and palm oil from Ghana. David pioneered the use of 100% post-consumer recycled PET bottles for the liquid soaps and a hemp/recycled paper blend to package the bars. David was the main coordinator of the Hemp Industries Association's successful multi-year litigation against the Drug Enforcement Administration (DEA) to protect sales of hemp foods and body care in the U.S. (2001-2004). He is an active supporter of both the Hemp Industries Association (HIA) and Vote Hemp, working to bring back hemp farming in the U.S. David was born in Los Angeles in 1973 and now lives in Encinitas, California with his wife Kris and daughter Maya. He enjoys coaching his daughter's soccer team and dancing late into the night.

[https://maps.org/news/bulletin/articles/420-bulletin- spring-...](https://maps.org/news/bulletin/articles/420-bulletin- spring-2017/6612-why-we%E2%80%99re-donating-$5-million-to-maps)

>Why We're Donating $5 Million to MAPS

>Written by David Bronner, CEO of Dr. Bronner's, Board Member of MAPS

[https://www.drbronner.com/media-center/executive- team/](https://www.drbronner.com/media-center/executive-team/)

>David Bronner is Cosmic Engagement Officer (CEO) of Dr. Bronner's, the top- selling brand of natural soaps in North America and producer of a range of organic body care and food products. He is a grandson of company founder, Emanuel Bronner, and a fifth-generation soapmaker. Under David and his brother Michael's leadership, the brand has grown from $4 million in 1998 to over $111 million in annual revenue in 2017.

The same great advice that applies to Dr. Bronner's Pure Castile Soap also applies to Pure Liquid LSD: DILUTE! DILUTE! DILUTE! ALL-ONE!

<comment><USER4> Lmao, I love this angle (calling himself the Cosmic Engagement Officer and donating to MAPS.) It makes me like Bronner's even more

</comment></comment><comment><USER5> This article kind of glosses over some of the tougher parts of their origin story. I saw a documentary about Dr. Bronner's on, I think, Netflix perhaps 7 years ago and it talked about how their dad, the company's founder, was essentially an absentee father because he was off preaching his self styled religion and making soap. Apparently he also spent some number of years in an insane asylum in IL before heading out to California as I recall.

Love the product, don't feel like this article does their origin story justice.

Edit: looks like it isn't on Netflix streaming any more but I think it was called, "Dr. Bronner's Magic Soap Box" [0]

[0] [https://dvd.netflix.com/Movie/Dr-Bronner-s-Magic- Soapbox/700...](https://dvd.netflix.com/Movie/Dr-Bronner-s-Magic- Soapbox/70073552)

<comment><USER6> Absentee father does not seem like the right term for a man that "actually put his children in foster homes and orphanages" [https://www.npr.org/templates/story/story.php?storyId=118136...](https://www.npr.org/templates/story/story.php?storyId=11813678)

</comment></comment><comment><USER7> Love the stuff. Buy one bottle and you can shower with it for months.

<comment><USER8> That's kind of my take on it. I started wondering why we need so many specialty soaps and decided you could use it for showering, shampoo, shaving. It probably would make a bad toothpaste though.

<comment><USER9> > It probably would make a bad toothpaste though.

I can confirm, it is bad, I tried it camping once. But I mean you could uses it if you had no alternatives.

<comment><USER10> I've used it for toothpaste for years, in a sprayer (actually an old Dr. Bronner's hand sanitizer sprayer, though I would not recommend that product as it is quite strongly scented). It needs to be very diluted (even a drop of full strength is too much) and tastes disgusting at first but I was mostly used to it after a week or so and now only find it unpleasant if I use more than usual. I'd recommend brushing a second time with just water to prevent aftertaste and since soap in the digestive system can limit absorbtion. The nice thing is that it leaves the toothbrush much cleaner than with regular toothpaste (and is essentially free if you use it for anything else).

I can't really say how well it works; my teeth are in bad shape but that is presumably because I love sugar and vinegar. I think dentists would tend to recommend baking soda as the simple inexpensive toothpaste alternative, however at least one study someone mentioned here not too long ago found that using toothpaste vs water doesn't seem to make much difference. I've heard some theorizing about abrasive vs. non abrasive toothpaste but I haven't looked if there are any studies on that question.

</comment></comment></comment></comment><comment><USER11> A friend of mine uses this stuff, the screed on the bottle reminds me of Time Cube.

<comment><USER12> In style, absolutely. Time Cube was negative and overwhelmingly abrasive though. The stuff on Bronner's is fairly positive and agreeable. (RationalWiki has a good summary [1].)

[1] [https://rationalwiki.org/wiki/Dr._Bronner%27s_Soap](https://rationalwiki.org/wiki/Dr._Bronner%27s_Soap)

</comment></comment><comment><USER6> Near the end of 2015 I joined a startup and was relocating from Victoria to SF. The startup was in a Haight Ashbury house converted into multiple units. So this made it extra convenient to sleep in the office until I found a place to rent. Also, my family didn't plan to join me for a few months. There were a couple other non-local coworkers who regularly shared the space in the early days.

Dr Bronner's Peppermint soap was in the shower. Not knowing any better, I did a good lather. When I started feeling a tingle in my critical region, I didn't know what to do. Thankfully, rinsing off kept me from becoming uncomfortable.

This lead to some cautious conversations with the coworkers, and as we confirmed a similar experiences this contributed to a very different experience to bond over.

There is additional backstory, where the Peppermint was bought be accident to replace a previous blue bottle that had generously been left there. The purchaser of the replacement had been equally surprised by the effects.

Since then I've gotten to enjoy rotating to the peppermint or tea tree oil soap from time to time.

<comment><USER13> > a previous blue bottle that had generously been left there.

Sounds like that might have been the baby unscented variety instead of the peppermint. Both have blue labels but the peppermint one is a darker shade.

<comment><USER10> Also the unscented is sometimes placed in the baby section (at least Whole Foods does this) that makes it even harder to notice that there are two with blue labels. Also the peppermint goes on sale much more often than any of the others.

I once met someone who wrote a song about the tingly effect (probably not the only one...).

Since I am commenting late I'll mention here that I suspect the main reason for the current popularity in the US is that it became a universal feature of health food stores and co-ops before they were all that popular. When Whole Foods took health food stores mainstream they sold it and when supermarkets responded with natural products departments they started selling it too. So now it is not only a good quality soap with a relatively short ingredient list but very widely available.

</comment></comment></comment><comment><USER14> I think they did a fabulous job with the product label on their soap bottles. It looks like a super cramped newspaper / exam cheat sheet and is what caught my attention a few years ago at the grocery store amongst hundred of other soaps. I also love the peppermint smell and it lasts forever!

<comment><USER15> It seems to hearken back to the 20s or 30s? when everything you can say about a product was labeled on the product: [https://i.pinimg.com/originals/32/cb/43/32cb43687e9d39e31466...](https://i.pinimg.com/originals/32/cb/43/32cb43687e9d39e31466566af033259d.jpg)

<comment><USER16> No, if you actually read the label you'll notice it's basically a religious tract preaching a weird quasi-spirituality nonsense. I do like that in those days you have to actually create a useful product so people would listen to you, instead of now where you just need a Twitter account

> Emanuel wasn't a businessman (or a doctor, for that matter). He was an > activist who, in the wake of his parents' deaths in the Holocaust, began > using his soap's label as a, well, soapbox for proselytizing his "All-One!" > thoughts and ideas. His philosophy, which he eventually named the "Moral > ABC," comprised a grab bag of religion, spirituality, environmentalism, and > self-help, and its peculiarity was matched only by its ambition: peace and > harmony on "Spaceship Earth."

<comment><USER15> I was speaking design-wise. Never read one of the labels!

</comment></comment></comment></comment><comment><USER4> Every hippie on Dead or Phish lot (or in Humboldt county, etc) everywhere swears by this stuff lol. You can even use it to kill spider mites on your marijuana plants (true story.)

</comment><comment><USER17> The best advice I ever read for Dr. Bonnner's was to buy one scent for the shower and a different one for the kitchen.

As no-one wants their dishes to smell the same as their private parts.

<comment><USER18> I've got a better tip for you. Only use soap in the shower, when you're actually dirty. Sweat washes off just fine with water only. Your skin will thank you.

</comment></comment><comment><USER19> I find this quite interesting, I'd never heard of this until a while ago (I'm in the EU) but apparently it seems really, really popular with American travelers and backpackers and even people who got in touch with it in the US. I see the downvoted comment about mountain hiking, but I meant more the urban folks. Also while it's probably a small sample, there basically don't seem to be any alternatives if you look at a few subreddits on that topic :P

<comment><USER20> Originally he learned to make soap in Europe, so I wonder if there are any soap making artisans still around who learned the same techniques.

Dr. Bronner himself is a quintessentially American figure though. An immigrant fleeing Europe, he became a prophet of his own bizarre religious movement, and was persecuted by the authorities and fled West, where he became a wealthy California entrepreneur. All three of those are archetypal American stories.

</comment></comment><comment><USER21> It's an excellent product except for one flaw - it clogs pumps and even their bottle caps very rapidly. I wish it didn't.

<comment><USER20> Dilute! Dilute!

<comment><USER4> Haha, someone has read the bottle :D

</comment></comment></comment><comment><USER22> I'm impressed that when Dr. Bronner decided to take his teachings to the soapbox, he literally printed them on boxes of soap.

</comment><comment><USER23> David Bronner was my roommate my first semester of college. At least I think he was- he said he only had a room because he was required to pay for one - <USER2> was almost never there, preferred to crash on friends couches and I never got to know him at all. Missed opportunity, apparently.

</comment><comment><USER24> Also known as: crazy writing hippie soap.

</comment><comment><USER25> The _Straight Dope_ did a column on him in 1988:

[https://www.straightdope.com/columns/read/904/why-the- weird-...](https://www.straightdope.com/columns/read/904/why-the-weird- religious-ravings-on-dr-bronners-soap/)

</comment><comment><USER26> Label is crazy ok ok but think your reading it will entertain while you brush teeth oh no not this Bronner use other bottle ok ok good stuff ok.. peppermint have good smell hands... Man the label jive drove me crazy.

</comment><comment><USER27> I make my own bar soap, but I keep a bottle of Dr. Bronner's Peppermint around anyway. It's quite concentrated, so it can be used to clean around the house as well as a body soap.

</comment><comment><USER28> I gave out their bars of soap to people all the time, even in business settings. I'm a disciple for sure.

</comment><comment><USER29> I've loved their products for decades. Nothing beats their peppermint toothpaste. For taste, anyway. Dentists tell me that I need fluoride, so I alternate.

But damn, that's some odd theology on the packages. His "All-One-God-Faith". But see Chapman (2016) Dr. Bronner's "Magic Soaps" Religion: A Tikkun Olam Response to the Holocaust, the Atom Bomb, and the Cold War.[0]

> Abstract: This essay explores the historical and cultural context in which > the late Emanuel Bronner began marketing Dr. Bronner's Magic Soaps, a > natural brand known for its unusual labels that promote an "All-One-God- > Faith" solution for saving "spaceship Earth." An amalgamation of Judaism and > American pluralism, Dr. Bronner's plan for world peace was a response to the > anxieties caused by the Holocaust, the advent of atomic weaponry, and the > ongoing Cold War. Although Dr. Bronner was an escapee from an insane asylum > and came to be regarded as a kook, it should be recognized that he conformed > to the behaviour of a prophet or holy fool. His message corresponds with > tikkun olam, the Jewish vision of "repairing the world." Dr. Bronner's > natural soaps and the accompanying call for global harmony served as a > purification ritual for the American counterculture youth of the 1960s and > 1970s.

0) [https://sci-hub.tw/https://doi.org/10.3138/jrpc.25.2.287](https://sci- hub.tw/https://doi.org/10.3138/jrpc.25.2.287)

</comment><comment><USER30> The musings on the bottle are made from someone who's really out there. Perhaps mentally ill. It's expensive, I think $15 for a 32oz bottle. Lasted two weeks.

<comment><USER31> Holy cow, that's quick. I use 32 ounces and it lasts about 4-6 months of daily showers.

Were you diluting it? How did you use over two ounces of concentrated liquid soap every day? You must have been really fresh and tingly.

<comment><USER30> Label:

"For everyday bodywashing: Get wet and pour soap full-strength onto hands- washcloth-loofah. Lather up, scrub down, rinse off, and tingle fresh & clean!"

</comment></comment></comment><comment><USER32> We take Dr. Bronner's when we go camping. Wash up in a nice mountain lake without worrying about hurting the environment.

<comment><USER33> I'm pretty sure you shouldn't be washing up with soap in mountain lakes. Biodegradable doesn't mean it can't harm something before degrading. I find a rinse to be more than sufficient for most of my trail needs. If I need soap for some kind of washing I take some water out of the source and wash elsewhere.

<comment><USER32> It's all-natural, organic, kosher, and vegan. Vegetable oil-based. They even say you can brush your teeth with it.

<comment><USER34> Unfortunately, none of those things imply that it is safe for wildlife in a mountain lake.

Here's a good overview: [https://grist.org/living/ask-umbra-is-it-ok-to- lather-up-in-...](https://grist.org/living/ask-umbra-is-it-ok-to-lather-up-in- the-lake-with-biodegradable-soap/)

<comment><USER32> I'm well aware of what phosphorus and surfectants of your average soap can do but Dr. Bronner's has none of that. Here's the entire ingredients list:

\- Citric Acid

\- Mentha Arvensis (flowering plant in the mint family)

\- Organic Coconut Oil

\- Organic Fair Deal Hemp Oil

\- Organic Jojoba Oil

\- Organic Olive Oil

\- Organic Peppermint Oil

\- Potassium Hydroxide (AKA Saltwater soap)

\- Tocopherol (oils containing vitamin E)

\- Water

<comment> semi-extrinsic OK, when you mix that caustic potash (AKA Potassium Hydroxide) with vegetable fats, a chemical reaction called saponification occurs and you get surfactants. This is exactly how they made soap in the olden days.

Fish are extremely sensitive to surfactants, as their skin is covered with a thin protective fatty membrane that gets dissolved.

If you're still not convinced: go buy a goldfish, put a drop of this stuff in his bowl, and watch him die.</comment></comment></comment></comment></comment></comment>


Internet Explorer 11 Developer Preview for Windows 7 - <AUTHOR> http://www.microsoft.com/en-us/download/details.aspx?id=39677

<comment><USER2> It's kind of funny that their description of IE11-DP and IE10 further down the page are exactly the same:

> "Internet Explorer 11 Developer Preview is fast and fluid, and lets your > websites shine and perform just like native applications on your PC."

> "Internet Explorer 10 is fast and fluid, and lets your websites shine and > perform just like native apps on your PC."

Just like native apps? I didn't realize MS had already leap-frogged things like NaCl and ASM.js in IE10... :P

Aside from the hyperbole on that page, what is actually new in IE11?

<comment><USER2> Okay, this is just utter BS:

> "Windows Internet Explorer 9 lets your websites shine and perform just like > native applications on your PC."

</comment></comment><comment><USER3> I'm always surprised with just how much traction IE has lost in the developer/tech community. Across the couple of open source projects I maintain, only 62 of 4,847 visits have been from IE (mostly 9 and 10). I think everyone knows that most in this community don't use IE - but only 1% usage? That's crazy. Curious if this trend will ever change or if too many bridges have already been burned.

<comment><USER4> It will be hard, but I think IE can do it.

1\. With WebGL support and the other new features in IE11, they are close to finally being comparable to Chrome and Firefox in terms of being a modern browser. Yes, bridges were burnt, but IE11 and things like TypeScript are making Microsoft cool in the web space again.

2\. Previews appear to show IE11 is also competitive in terms of speed with other modern browsers. (IE was already fast at 2D canvas, but not much else.)

3\. The tech community was disturbed by the NSA spying scandals (that involve most major browser vendors), which led to some movement to switch to alternative browsers and search engines. Even if people don't switch entirely away, they might choose to put less eggs in one basket, so prefer to not do Chrome+google.com or IE+bing. Of the other combinations of those options (there are others of course, but just considering those), IE+google.com seems more likely than Chrome+bing, so IE might gain a little there.

<comment><USER5> This is what IE advocates have been saying since IE9, and it is no more true with IE11 than it was then.

Inertia means IE needs to be _significantly better_ than the alternatives to catch up. It takes time and energy to switch, so the payoff has to make it worth one's while.

When Firefox came out, it offered substantial improvements over IE6. When Chrome came out, it offered substantial improvements over Firefox.

IE11 continues the "hey, we're almost caught up!" tradition that has seen IE's market spiral downward for years. Until a version of IE comes out that earns the reaction "whoa, this is _much_ better than Chrome or Firefox!", the downward spiral will continue.

<comment><USER6> Even if IE11 has only "almost caught up", that means, as you point out, that inertia to change will mean existing users will be less likely to switch away from IE, as alternative browsers will no longer be significantly better. Just that will help to halt any downward spiral.

Note that on Akamai[0] (who have many of the world's largest sites as their customers) IE's share is relatively static. On NetMarketShare[1], IE's share is increasing. It seems any such downward spirals has already halted. At least on two of the major analytics sites that release public data.

[0] [http://www.akamai.com/html/io/io_dataset.html#stat=browser&t...](http://www.akamai.com/html/io/io_dataset.html#stat=browser&top=5&type=line&start=20130401&end=20130731&net=both) [1] [http://www.netmarketshare.com](http://www.netmarketshare.com)

</comment></comment></comment></comment><comment><USER7> Better link - download a VM with it:

[http://www.modern.ie/en-us/virtualization- tools#downloads](http://www.modern.ie/en-us/virtualization-tools#downloads)

They just updated to include IE11 preview

</comment><comment><USER8> Wow that's awesome. Although most of my IE users are still on IE8.

I'm sure this will be great when IE14 is out and my users have moved on to IE11.

</comment><comment><USER9> Glad they finally gave the Dev tools an update in IE11.

It's a welcome thing for those that still need to support users running IE.

<comment><USER10> I'm using IE11 on windows 8.1 to prep our product for it.

The developer tools are a piece of shit still. The JavaScript debugger is hideous, it's clunky as hell and actually changes the page behaviour resulting in all sorts of impossible heisenbugs.

<comment><USER11> I haven't used the IE11 version yet (still on IE9 for work development), but IE9's are pretty solid. Perhaps I'm suffering from a sort of perverted Stockholm syndrome, but they work well for me. They're not without annoyances (like having to refresh once you enable debugging), but once you get past those it works as expected.

Chrome's are also very nice, but at the same time, often overblown for my needs. For what it's worth, I mainly debug minor performance issues (99.9% relating to abusing the DOM) and the odd bugs in our own software. So, while the GPU and heap profiling and whatnot are grand, for my job YAGNI at all.

And I'll probably get drawn & quartered for this, but Firebug just plain sucked the last time I tried to use it (a month or 2 ago). I can only guess that it's because it's still an add-on, and not native, but it just felt slow and clunky, and like it was all held together with bailing wire and duct tape (which, considering it's an add-on, might not be far from the truth). It's ironic because I was an early-adopter of Firebug back when it was first introduced, and it set the early standard of just how awesome in-browser debugging tools could be, but now I avoid it. I do have big hopes for Mozilla's remake of the native dev tools though, I feel it's been a long time coming.

<comment><USER12> Opera's Dragonfly is still one of the best for JS debugging.

It's sad it's going to die with Presto.

</comment></comment></comment></comment><comment><USER13> Directly beneath the announcement is a list of the most popular IE downloads:

#1 - IE 8

#3 - IE 10

#4 - IE 7...

#5 - IE 9

</comment><comment><USER14> I do have IE on my computer (because it came with it), but I haven't used it in so long. I'm always open to going back if the browser improves. But right now chrome based seems to be the way to go from regular chrome to opera or torch browser, it's a better overall platform.

</comment><comment><USER15> Why is it only available for Windows 8.1 and Windows 7 but not Windows 8 RTM?

<comment><USER9> Because 8.1 is intended as a (free) update to 8 rtm.

So kinda like what they used to call a "service pack".

<comment><USER16> Except it ignores the original release of Windows Server 2012.

</comment></comment></comment><comment><USER17> WebGL is now a real option, or at least by this time next year.

</comment><comment><USER18> I never understood why IE had to place every downloaded item into C:\TEMP and then move the item into the darn drive I preferred in the first place.

<comment><USER19> Its probably to avoid having partially downloaded files look like completly downloaded files. A much better solution would be something like saving it as a *.download (or similar), on the drive it actually gets saved to. Saving it to C: regardless is just a stupid solution to this problem.

</comment></comment><comment><USER20> I see it still has the blue colors at the top, uglifying every site viewed in it. Why not be neutral, like Chrome?

</comment><comment><USER21> I'm tired of Micro$oft's shenanigans and the IE 6/7/8/9 saga I still endure today. Never again.

<comment><USER22> Top tip: don't use "Micro$oft" if you want people to take you seriously.</comment></comment>


How to know if you're not smart enough to be a great programmer? - <AUTHOR> I'm at a crossroads where I'm considering whether I should give up trying to be a programmer, specifically, a programmer worthy of a Big 4 job. I've been struggling daily with doing even leetcode/CTCI questions, not being able to implement even brute force solutions to relatively simple problems. It's been a month since I've been doing problems daily, but I've been trying my luck at tech problems on and off for about a year with dismal results.<p>I've asked people about this before and often  people defer to a lack of experience, but that seems to be an untestable hypothesis. A person can always use more experience. What I would like to know is how can a person know when experience is not the issue. How and when can someone objectively know if the reason they are struggling/failing is innate intelligence? What are the differences between struggling because programming is difficult and one doesn't have enough experience and it being definitely being an issue of intelligence? At what point does a person have reasonable certainty that their time would better be spent pursuing something else? <comment><USER2> I wouldn't say that it have to do with "innate intelligence". Not everyone have the "mindset" for programming, but I would think that everyone could _learn_ to have the mindset for it.

It's always hard to answer a question like this when one don't know more about you and the problems you face with programming, is it the language you are using? Do you have issues with the core logic of programming?

When I started out with programming there was a lot of things that I encountered that I found so hard that I questioned my own capabilities, but by keeping on doing it either way (seeing it have always been my dream) I always came to a point where it cracked and the logic was obvious.

It's also always harder to learn stuff without someone guiding you (which you might have without me knowing, hehe). So if you have the possibility I'd recommend taking a course and see if you feel the same after it. If you do, try another with another teacher (because not all teachers are great!) and see if you still have the same issues.

Keep on working on it and you will get there, and also... a whole lot of developers with big jobs really suck at programming... ;)

</comment><comment><USER3> Does a square peg fit in a round hole? The obvious answer is no, the circumspective answer is it depends on the diameter of the hole, the "can do" answer is: pass me a hammer. Should the operation fail, the "politically correct" response to the client will be 'we needed a bigger hammer' than specified in the initial project plan...herein is our revised project estimate...

Scrutinize the aforementioned gedenkan thoroughly. Rinse & repeat. Accidenture [decode it] and plenty of projects under execution by Deloitte, PwC, KPMG, Capgemini/E&Y operate just like this on a regular basis

Similarly, so are you {square peg in round hole) if you think solving a cicada challenge provides a hypothetic-deductive 'proof' of likelihood of 'worthiness' at any firm.

Conversely, if you cannot suss out the meaning of what has been provided in the previous two paragraphs, then it is indeed probable that certain "problem solving" requisite skills are presently absent from your internalized paradigms and personal processes...these can be learned and are not untestable...get a full-time gig and "just do it" as the Nike slogan alludes.

Best regards

</comment><comment><USER4> I've wondered the same about myself. What I've come to about it is that there are definitely different types of programmers, and I have found what type I am and what makes me unique. Also I've come to that I may not always program just to program. I have higher goals that could use programming as a means, and for my specific goals I don't need to be the best. A good example is Pieter Levels [1]. He is not the best programmer, but he makes a lot of amazing (and revenue generating) things.

[1] [https://mobile.twitter.com/levelsio](https://mobile.twitter.com/levelsio)

</comment><comment><USER5> You should give up now. You're smart enough to program, but you're getting in your head too much and until you fix that it won't happen.

<comment><USER4> Did you mean shouldn't* ?</comment></comment>


How to Become a Senior Developer - <AUTHOR> https://hackernoon.com/developers-edge-how-to-become-a-senior-developer-f1ec1738cf45 <comment><AUTHOR> Submitted this mostly because I'm interested in other's thoughts on it.

Right now I'm about 5 years into my career, but I feel like I've stalled out and am currently trying to figure out the most efficient way to advance myself. I don't have a CS background (EE undergrad degree), so the algorithm stuff is what gets me the most, so I've started trying to read up on that stuff more, I'm just struggling to find sources with the right depth. Half of what I find all seems really obvious from what I've just happened upon and the other half goes way over my head before I've even started.

The one thing that I've found to be the perfect depth for me was this one really awesome blog post from a rust contributor that I can't find at the moment that was describing some sorted tree structure for strings and the like. (Apparently my memory is another problem.)

I just picked up 'The Imposter's Handbook', hopefully this can find the right balance.</comment>


A Teenager Gets Grilled by Her Dad About Why She's Not That into Coding - <AUTHOR> https://medium.com/matter/you-should-learn-to-code-is-the-new-you-should-go-to-law-school-talk-dads-love-to-have-b03bd22b3c99

<comment><USER2> Imagine the headline:

"A Teenager Gets Grilled by Her Dad About Why She's Not That into Motorcycle Repair"

"A Teenager Gets Grilled by Her Dad About Why She's Not That into Salvage Diving"

"A Teenager Gets Grilled by Her Dad About Why She's Not That into Running A Boutique Charcuterie Supplier"

</comment><comment><USER3> Tech companies are at the forefront of western civilization?

I guess so, if by which they mean the general trend of displacing more risk onto younger people while thrusting them into lower-paying and less secure jobs than those held by their parents.</comment>


Forget Aeron, here's the best programmer's chair in the world - <AUTHOR> http://b7og.com/post/306057238/forget-aeron-heres-the-best-programmers-chair-in-the

<comment><USER2> I worked like this for two years: <http://www.dqd.com/~mayoff/images/alfa.jpg> (picture shows the guy I got the idea from, not me)

the backsaver zero-gravity line is not as flashy as the one in TFA but it allows locking the recliner at any angle you want, not just 3 pre-set ones.

A backsaver will run $1000+ new, and the one in the TFA is probably more; if you want to try the idea out you can get a cheap lawn chair version for $65 on Amazon: [http://www.amazon.com/Strathwood-Anti-Gravity-Adjustable- Rec...](http://www.amazon.com/Strathwood-Anti-Gravity-Adjustable-Recliner- Champagne/dp/B001BSQB94) (I've tried that one too, and IMO it's a great value, although even more limited to "reclined" and "not reclined").

I stopped coding in a recliner since it was too hard to add a 30" monitor to the setup in a cubicle environment.

</comment><comment><USER3> The actual chair: <http://www.varierfurniture.com/default.aspx?menu=686>

</comment><comment><USER4> At the risk of commenting on a piece of furniture I'll never try, I think there should be a clear divide between where you work and where you relax. Ideally, I'd like to be in a comfortable, ergonomic chair (like the Mirra I recently bought) when I work and then take a nap on the couch. When I get tired, I want to get up, disengage from my work and let my body (and brain) relax. The concept of taking a nap in my chair seems strange to me.

I can see the appeal of being able to recline while contemplating something but as a person who almost instantly falls asleep when horizontal, I wouldn't get much contemplation done.

</comment><comment><USER5> Totally impractical as a work chair. You'd kick your desk over the second you reclined.

<comment><AUTHOR> programmers and creative people in general are usually impractical type. well, at least a lot of them. myself included

<comment><USER5> I disagree. I think they are the exact opposite. Why waste time on something that hinders your work.

</comment></comment></comment><comment><USER6> I wonder if this chair is VaporWare, I've seen a bunch of posts just like this one obviously only are based on a press release. I've so far found not a single link to someone who's actually _tried_ it.

<comment><USER7> Here's at least one UK retailer that claims to sell it: <http://www.backinaction.co.uk/gravity>

</comment></comment><comment><USER8> I think my ideal chair would be a treadmill: <http://en.wikipedia.org/wiki/Treadmill_Desk> . Being able to walk a couple miles every hour would definitely increase my energy level and focus.

<comment><USER9> That's a pretty brilliant idea. Currently I just pace up and down my office.

</comment></comment><comment><USER10> The chair is nice and interesting, but it's good only for relaxation, not for working. I don't know how many people could work, or better said type, while laying on their back. Also, I prefer laying on a bed or a couch.

<comment><USER6> Lying on your back is only one of the possible positions. You can sit like in a normal chair in it, too.

<comment><USER10> I prefer a normal chair + couch/bed, instead of wasting my money on this.

</comment></comment></comment><comment><USER11> heh. but programming on a laptop in a chair with armrests can be frustrating (i have a beanbag in the corner of my office that's perhaps a better candidate for best programming chair ever...)

<comment><USER12> and it doesn't end well if you fall asleep with a laptop

</comment></comment><comment><USER13> I dunno, my girlfriend is an occupational therapist, she would probably have a mental breakdown about how unergonomic this chair would be to use with your workstation.

<comment><USER7> Don't be so sure. Take a look at the PDF product sheet linked from this page: <http://www.varierfurniture.com/default.aspx?menu=686>

The positions where you are actually sitting either supports you, or put you in a position that lets your spine stay upright and well supported.

</comment></comment><comment><USER14> Furniture porn always reminds me of the scene in Fight Club where Ed Norton is cataloging the furniture in his apartment. Still, I want that chair.

</comment><comment><USER15> i always ask myself, "would woz (or any other heroes) better off using these luxuries 'back then' when he first did apple ?"

</comment><comment><USER16> I think I'm going to stick with my Aeron.

<comment><AUTHOR> I had Aeron at office and didn't like it that much...

sure you can customize it every imaginable way, still it's conservative and quite static chair, and it wasn't that comfortable for really long hacking sessions

</comment></comment><comment><USER17> can anyone find a price for it?

<comment><USER18> I found it online for 1200$.

[http://www.mobilewhack.com/new-gravity-balans-recliner- from-...](http://www.mobilewhack.com/new-gravity-balans-recliner-from-varier/)

Apparently there are only 250 pieces made.</comment></comment>


New Numbers Are in and EVs Are Cleaner Than Ever - <AUTHOR> http://blog.ucsusa.org/dave-reichmuth/new-numbers-are-in-and-evs-are-cleaner-than-ever <comment><USER2> I'm glad this seems to validate the numbers I'd calculated last year based mostly on wikipedia sources: [https://emergent.unpythonic.net/01471617505](https://emergent.unpythonic.net/01471617505)

It's a curious fact that in my area the fuel/energy cost of a mile of travel in a 44MPG gasoline hybrid is close to the a mile of travel in a 100MPGe EV. So it's hard to see a lifetime cost of ownership savings driving an EV. [https://emergent.unpythonic.net/01470953274](https://emergent.unpythonic.net/01470953274)</comment>


Ask HN: How to tell if a JavaScript/front end candidate is mid-level or senior? - <AUTHOR> I often find that niche topics are used to distinguish between certain levels. What criteria (including specific topics or questions) do you use? <comment><USER2> Hmm.. for distinguishing senior engineers from juniors I would look beyond just knowledge on technical topics. Two important areas to cover IMO for senior candidates, beyond coding skills:

1\. Design / architecture / product skills. Here I mean 'design' in the software sense: can you design a good API, can you structure a large project well? Do you have good enough product intuition to work well with a product manager and a designer?

2\. Past experience. What have they shipped in the past? How did they deal with difficulties like conflict between teams, deadline misses, uncooperative team members, etc.

<comment><USER3> Any good sources to learn 1?

<comment><USER4> Besides experience mentioned in the other replies, I'd recommend reading open source code. Search for open source projects related to the programming language of your choice.

Other ways to find good projects to read are to look through the codebase of whatever framework you're using, if you're using one. Are there any dependencies/libraries you always reach for? Read through that code as well.

Learn design patterns to properly decouple parts of your system. The Gang Of Four book is considered the best book on this topic.

</comment></comment></comment><comment><USER5> I use this a lot when interviewing at companies, but find it useful when interviewing senior folks:

"What is a technical decision you made on this project that you wish you would have made differently, that you are still living with today?"

This opens up a lot of conversation around how it could have been solved better, what they know now that made it apparent is a sub-optimal decision, what steps were taken to minimize the impact once this fact was discovered, and is there any plan to correct in the future or just live with it.

The big thing is to see that someone has not only built something, but maintained it after the fact, and for long enough to see the impact of trade- offs.

</comment><comment><USER6> Don't use edge cases or niche anything. Expect a senior to provide original solutions to problems.

If you want to be very specific determine the level of hand holding the developer requires.

* Can they do the job without a giant framework and a billion build tools?

* Can they interpret and refactor other peoples code?

* Can they write documentation?

* Can they objectively consider evidence based approaches to code decisions?

* Can they distinguish product quality from developer convenience?

Consider that a good mid level developer is at the top of the bell curve. They know all the latest trends and fashions. They have probably mastered things important to beginners. A good senior has learned to leave all that nonsense behind to produce simpler code more productively.

</comment><comment><USER7> * Assuming a mixed stack, the ability to communicate to with the other devs is important. Often front end devs think they know everything about the product and don't get on with the back end apis and vice versa.

* Understanding of things outside their scope such as databases, server setup and deployment

* Good knowledge of a couple of frameworks, but the flexibility to pick up others quickly too and not constantly complaining if they have to deal with legacy code or frameworks they don't like!

* Communication, humility and the ability to teach or mentor more junior staff

* Knowledge of base JavaScript and programming in general should go without saying. Ability to do reasonable design / css / html even if that's not their area

* Remember one persons expert is is Brendan Eich or Ken Thompson. Another persons might be any career developer with 3-5 years experience!

</comment><comment><USER4> Lots of good replies already, but I would also consider a senior engineer someone who puts the team first. They admit mistakes early, look for ways to improve not only the codebase but the software development lifecycle and their teammates as well. Mentor younger engineers, write and maintain thorough documentation. Add processes to reduce risk of shipping faulty code, and preventing production incidents.

</comment><comment><USER8> Communication skills - ability to convey tech details to non-technical stakeholders.

Ability to understand the bigger picture in the organisation rather than just focusing on what's happening on the dev team.

Make good decisions on what's important to build for the sake of the organisation versus what devs want to build to entertain themselves.

</comment><comment><USER9> Ask them fizzbuzz:

      Solved <  7 mins: Senior
      Solved < 15 mins: Mid level
      Solved < 45 mins: Junior
      Otherwise: No hire

</comment><comment><USER10> How about asking them to design and build a basic version of react/ redux/ react-redux/ react-router etc</comment>


"Smart drugs" may help chess players - <AUTHOR> https://qz.com/905546/smart-drugs-like-modafinil-and-ritalin-can-be-used-as-doping-agents-to-enhance-performance-in-chess-games/ <comment><USER2> > The drugs could enhance the player's ranking by 35 Elo points

Is this significant enough difference that it would make a difference between a good day and a bad day? I've played a fair amount of Go and a good day and bad day can definitely change your "rating" by well over 1 rank either direction.

</comment><comment><USER3> not surprising, theyre already banned in many video game tournaments and such as far as im aware. i was a little surprised they didnt include an amphetamine in the study though.</comment>


Use of Prolog for developing a new programming language (1992) [pdf] - <AUTHOR> https://pdfs.semanticscholar.org/57d3/1ca47fa9688089b9b7e7c19c199aa03aff1e.pdf <comment><USER2> Fun fact: Niko Matsakis is working on a rewrite of Rust's typechecking/trait matching infrastructure in Chalk, which is a derivative of Prolog: [https://github.com/rust-lang/chalk](https://github.com/rust-lang/chalk)

Prolog is surprisingly (or not surprisingly, given the Curry-Howard isomorphism) useful for implementation of programming languages, especially typecheckers.

</comment><comment><USER3> Story of development of Erlang from 1992. I don't know why Erlang does not include backtracking. It seems a required part of Prolog. Can anyone explain the advantage? I read this PDF to see if they answer the question but found no mention of it, as if Prolog doesn't support backtracking at all. Does this make sense to anyone?

<comment><USER4> Because Erlang was not written to be a logic programming language? I may misunderstand your question, but it strikes me as akin to asking why Python doesn't support pointers (since it was initially implemented in C).

<comment><USER3> What Is it about being a logic programming language that means that backtracking is not a part of it? I see backtracking as an implementation of search, where Prolog takes expressions and finds bindings for those expressions where the expressions are true. Doesn't Erlang look for solutions to its rules?

<comment><USER4> I see search as a particular kind of problem that would be defined in a library, not a language. Unless it's a language built specifically to solve constraints (i.e., a logic programming language), which Erlang is not.

Can you point out where within Erlang you feel backtracking should be supported by the core library? It sounds to me like you want the language to be something it fundamentally isn't; i.e., more Prolog-like, and I'm uncertain as to why.

<comment><USER5> I think they may be confounding pattern matching with unification.</comment></comment></comment></comment></comment>


Ask HN: Do you have a home office (if you work from home)? - <AUTHOR> Am considering taking on a new job which would involve 2 days/week of remote work. My apartment is pretty small, I don't really have room for a home office. Most of my out of office coding is done on the couch, but I don't think that scales to 16+hours/week.
Do you have a home office? Why (not)? Any tips?
Thanks! <comment><USER2> I'm in Ireland and made a shed office in my garden. I'm aware being in an apartment probably means you are gardenless but I'll throw my hat into the ring anyway.

My shed is 10x8 and insulated. It has double glazed windows I got from gumtree. I have power running from my house and an ethernet cable. Both above ground for most of their run.

I have a raspberry pi turning a 500w heater on/off using a relay and temperature probe. I have conquered the winter months but I have not been able to handle the recent heatwave. I'm working on this at the moment.

Being out of the way is important for both myself and my family. I don't want to be disturbed by them or spoil the general atmosphere for them either.

We are blessed in Ireland with much green. Apologies if my answer is out of reach for you. I just like talking about my shed.

<comment><USER3> Sounds like a great set up. I have something similar (a bit bigger at 12' x 14') here in Southern California. No heat and in the summer it does get stuffy but I have a standing fan and a ceiling fan and that helps. When we built it, I had the electrician vastly over-wire the place with outlets and circuit breakers.

I agree 100% about separating work from home. Feels wonderful to shut the door on work and go home at the end of the day, even if it's only a few steps away.

<comment><USER2> As a favour I made a one page website for an electrician I knew eight years ago when he started out on his own. He returned the favour by wiring my shed office years later.

The webpage is terrible but it has brought him a lot of business :-)

</comment></comment></comment><comment><USER4> I've worked at home for decades. In the beginning when I had small apartments, I used to put a table with my computer on it inside a closet. I'd open up the closet door, pull up a chair, and voila, office.

In those days, monitors were thick, and the web didn't exist. Now that monitors are thinner and computers have become many people's de facto TVs, there would be less advantage in doing this.

</comment><comment><USER5> I've been working from home for almost six years.

Last year I finally setup a desk area in a finished room in the basement. It's my main office space, has windows so I can see the backyard.

Tables and office chair is from IKEA they have some good ones that look nice and are priced reasonably and comfortable to sit in.

I have a desktop (pc) setup with dual monitors and a laptop (mac) stand/external monitor both setup. Check out the rain laptop stand on amazon. Definitely work with dual monitors or laptop screen and an external.

And get an external laptop keyboard and mouse (I use apple keyboard and mouse).

Before that I had a computer enclosure cabinet where I would setup my laptop and external monitor. We just happened to have that though.

Before that I worked mainly on my laptop at the kitchen table, breakfast bar, recliner, sofa, coffee shop or sports bar.

I still move around quite a bit and work out of the house if I need a change of scenery. Although I do less of that now that I have a nice desk area.

In the beginning I would just use what you have. Then add an office chair, then a desk. Till you see how you like working. You definitely don't need a dedicated room.

When you are working around the house with your laptop I would get an inexpensive plastic laptop stand that you can use if you do work from a sofa or recliner at first. They prevent the laptop from getting overheated, if you just have it on your lap or pillow it can prevent air flow around it.

Working from home is one of the greatest things out there. When I think back to commuting, spending time going in to the office every day I wish I'd done it sooner.

Good Luck.

</comment><comment><USER6> In my home office, I use a Poang chair from Ikea. Been doing it for about 2.5 years. I don't have a lot of paper in my workflow. A couch would work for me about as well...

...anyway, to me there's no reason not to use a couch first and figure out if it does or does not work. If after a few weeks or months it doesn't work, you'll have a better idea what will and won't work for you. Before spending money.

Good luck.

</comment><comment><USER7> I've been working from home remotely 100% of the time for five years now. I'd say a dedicated space for the majority of the work is a good plan, although it's also nice to grab the laptop and go out to a cafe, or work on the porch on a good day.

My set up:

300 square foot room, dual 24" monitors on an 4'x6' drafting table + stool for sitting/standing. Desktop, plus battery back-ups (desktop is set up to automatically boot back up if there's power loss), two internet providers for fallback, static IP from the primary ISP to the desktop so I can easily remote in while on the road. Synced laptop so I can just grab it and go with my current work-state already saved.

<comment><USER8> How do you sync your laptops ? I've tried that a few times but I always missed something.

<comment><USER7> I use Resilio Sync:

[https://www.resilio.com/individuals/](https://www.resilio.com/individuals/)

Although, I've also been hearing some good things about Sync-Thing.

For a while I used a set of rsync and unison scripts but they required too much manual intervention resulting in a lot of collisions.

</comment></comment></comment><comment><USER9> I have a home office in San Francisco. With a remote team including direct reports nine hours ahead of me, it's important to me that it's a specific room that's mostly dedicated for work. When I've had guests in town who take the room, I work from the living room but it's not the same. I can work from anywhere—but day-to-day, I like to have \- a decent sized desk \- pen and paper handy \- screen real estate (e.g., home office, I have two 27" monitors in addition to my MBPR; setup isn't as polished at corporate office where I have one 21" external display. Still, better than one.)

Prior to being in a position where I pretty much _had_ to work from home certain days, I found it unnatural. I couldn't imagine not going into the office... Getting the workspace right helped. Leveraging communication tools helped replicate the hallway conversations I missed a lot initially. (Quick video calls > chat > email).

</comment><comment><USER10> The best tip I can give is to set up your desk, chair, screen and input devices at the best heights.

This means, roughly:

0) Make sure you have an external keyboard, mouse and monitor so you don't have to put up with laptop ergonomics for extended periods of time.

1) Set the height of your seat as high as you can whilst keeping your feet firmly on the ground.

2) Set the height of the keyboard and mouse so that, when you sit on the chair with your shoulders relaxed, and your fingers on the keyboard, your forearms are parallel to the ground. If you cannot adjust raise your desk, stack pieces of wood on the table. If you are short, like I am, add a wooden slide-out keyboard tray under the desk surface.

3) Set the height of the monitor so that your eyes are level with the vertical centre of the display.

4) (Optional) Get a folding laptop support stand, to elevate your laptop such that its screen in the same way as the monitor.

</comment><comment><USER11> I've worked remotely since around 2008, both as a founder with employees and as an employee.

Yes, having dedicated workspace is the best way to go, but it doesn't have to be a dedicated office though. Personally, I do have a dedicated office, but I also have equipment to support the hardware development lifecycle, so I need that extra and dedicated space. However, I work some days from the kitchen table, the couch, the patio or wherever I might be. Personally, I find by mixing it up makes me way more productive than if I just sit in my office everyday.

So if I was you I wouldn't rush for dedicated space. Try different places and just mix it up some for awhile and figure out what works for you. 2 days a week isn't hard to do from the couch/table if you personally are productive from there.

</comment><comment><USER12> You may find this arstechnica home office exposed article useful. It's kinda dated now, but you can see pictures plus a short blurb from folks who work at home in a remote office set up. It's part of a bigger series they run, including a "chairstechnica" in the article as a link.

[https://arstechnica.com/gadgets/2014/11/where-and-how-do- ars...](https://arstechnica.com/gadgets/2014/11/where-and-how-do-ars-staffers- work-our-computers-let-us-show-you-them/)

</comment><comment><USER13> I work from home 3-4 days a week, and absolutely have a home office setup. As it falls into the "two or more days per week" category, my home office is considered a "remote office" by my employer for workplace health-and-safety purposes. This means I needed to take photos, and fill out a declaration that the setup was ergonomically sound (chair, desk/keyboard/mouse/monitor height, lighting, etc), that there werent any dangers/risks around, etc. Certainly no way I could get away with sitting on a couch or at the kitchen table (well I _can_ , I just have to say that I'm not...). Welcome to big corporate CYA!

<comment><AUTHOR> Home office bureaucracy? That's a new one. Is this because your employer mandates it, or is it some kind of government regulation?

<comment><USER13> Employer. The paperwork pretty much covered a lot of what would be required if it were a company operated office, stuff like there being smoke detectors, fire extinguisher, a basic first aid kit, that the work area was adequately sized and in an ergonomic configuration, that all exits from the work area are clear and unobstructed, no slip/trip hazards, that the lighting is appropriate, proper ventilation and adequate heating/cooling, that all electrical cords and appliances are in good order (didn't need to go to the level of 'test & tag' thankfully) and safely secured, etc.

It also stated that the company is entitled to send someone to randomly inspect my work area if they choose to... I wouldn't expect this to ever actually occur, it certainly hasn't happened for me in the last 5 years I've been working in this arrangement.

I know a number of years back there was a legal case where a big Australian company was ordered to pay the legal and medical costs of an employee who injured herself after slipping down the stairs twice in two months while working from home... so I guess it's not that crazy.

</comment></comment></comment><comment><USER14> I work at home and have for a long time.

Right now I'm in our basement in a room that used to be a bedroom for our sons who've now moved out. It's a pretty big room, about 12' x 20' but I don't take up near all that space for work.

My desk is just a cheap 30" x 6' table with fold up legs. I have a Mac connected to two monitors on it (18" and 24") and a Raspberry Pi connected to another 16" monitor, and a USB switch for the keyboard/mouse to switch between the Mac and Pi.

You do really want a good chair. I don't have any recommendations for that except to say you need to find one that's comfortable for you.

Personally, I love working from home. I'm way more productive at home. When I'm coding I really don't like distractions so I don't want anyone popping in on me.

After a long session of coding, or when I hit a wall, I need to take a break. I generally go to Facebook or come here to give my head a rest. I imagine that would be really hard to do working in an office, especially if breaks were scheduled.

Having to stop coding based on a scheduled time would be tough for me. Once I dive into it several hours can go by in what feels like no time at all and I get a lot of work done when I immerse myself in it like that.

I can imagine that some people might not do well working like this. They'd miss the routine of going to an office and working with others and even not having anyone looking over their shoulder making sure they're working.

For me, learning to code was motivated by the concept of "telecommuting to work". I think that's a phrase from the mid-80s that was trending in Los Angeles where I lived and other big urban areas at the time. It took me about 10 years to make the transition but I've been doing it since the mid-90s and working solely on web base projects since `99.

Other than getting some face to face time, which is a good thing, I don't see a real need for coders to drive someplace to work. If I were you I'd be thinking about how I could get them to let me work from home more, or entirely.

</comment><comment><USER15> Get ear plugs if you have noisy neighbors (read: loud music all day).

Working from the couch will hurt your back. Get a chair and a big desk.

Don't tell anyone you're home, they might disturb you while working.

</comment><comment><USER16> I've worked in an office where I was doing most of my coding sitting in a sofa. If you are used to this work style (single screen, trackpad) then you can be fine for however long you work like that. Might need to get up sooner rather than later but I don't see any other problems with it.

If you have people around you and you are easily distracted then you probably need a dedicated office, mostly for the isolation and not for the office itself.

<comment><AUTHOR> I find that long sofa coding sessions leave me with poor posture and neck pain, but maybe there's a way to improve my sofa posture.

<comment><USER16> I have bad posture but it's a lifelong condition. I also have lifted weights for years nd my back laughs at the notion of hurting from sitting on a surface that's too soft.

</comment></comment></comment><comment><USER17> Yes you should have it for any kind of serious coding.

Aside from thr other advantages just having a dual monitor setup with a mechanical keyboard can boost your productivity by quite a lot!

</comment><comment><USER18> Have been working from home for four years. After moving into a larger apartment, I learned that a dedicated room for work is a must (at least for me). My office is very minimalistic and only used for work. I hardly work outside of it - mainly because of my two screens, but also so that I have a mental separation.

</comment><comment><USER19> I work remote 4 days a week and have a home office. Having an ergonomic setup is important to me. If you're strapped for space, I would suggest a small desk and a nice chair as a bare minimum.

</comment><comment><USER20> I worked from my couch for a year, now I have a bigger place with an office. I expected a productivity boost but it's honestly been no different.

</comment><comment><USER21> I use a John Boos table, large monitor, external keyboard and mouse, headphones etc. I keep it pretty minimal.

</comment><comment><USER22> No, because I find it too constraining and would rather setup someplace new (inside or out) for each new task.</comment>


How SUPL Reveals My Identity and Location to Google When I Use GPS - <AUTHOR> http://mobilesociety.typepad.com/mobile_life/2014/08/supl-reveals-my-identity-and-location-to-google.html

<comment><USER2> BlackHat 2012: "Security issues with SUPL implementations" has an overview of these problems: [https://rpw.io/slides/rpw- bhus2012-supl.pdf](https://rpw.io/slides/rpw-bhus2012-supl.pdf)</comment>


SAFE Network Alpha Release - <AUTHOR> https://blog.maidsafe.net/2016/08/12/safe-network-alpha-release/ <comment><USER2> congratulations to the MaidSafe team. Looking forward to seeing a commercial product.

</comment><comment><USER3> Another coin thingy? Thanks but no thanks!

<comment><AUTHOR> I would check out the wiki ([https://safenetwork.wiki](https://safenetwork.wiki)). The network's been in development for a decade, it doesn't use a blockchain, and the coin isn't the goal of the system (just a feature).

<comment><USER3> Oh, well, just because you call it "farming", not "mining", it doesn't make it vastly different.</comment></comment></comment>


Dreaded Favors Asked of Web Designers - <AUTHOR> http://webdesignledger.com/tips/top-8-dreaded-favors-asked-of-web-designers

<comment><USER2> This "ew, people keep asking me for help" genre has been around for a long time, and I greatly dislike it. It's _perfectly natural_ for people to turn to someone they know who knows about a topic. My father-in-law has answered my questions about cars for years. If there's something he can help with, he does; otherwise he tells me where I need to take it. Maybe I sometimes ask him for help that's actually a lot of work: that's not me being importunate, that's _me not knowing about cars_. Somehow he's never had any trouble helping me when he can and explaining when he can't. And when someone asks me about computers -- which they do all the time -- I'm delighted to return the favour. It's just not very hard to be a nice person who helps others.

What can sometimes be hard is setting boundaries in the relatively rare case of someone insisting that you help them to an inappropriate degree. Many of us admittedly need to learn how to do that better. But, a hint: whining in public about others' failure to respect the professional glory of your web designerness is no way to work on it. (Not picking on web designers here; programmers are worse.)

Edit: in fairness, the OP does offer some sensible hints (amid much self- centered snark) about polite ways to handle situations.

<comment><USER3> I agree; I hate these 'social faux pas' posts for web/graphic designers. I'm also increasingly beginning to hate this model of 'designer playing publisher' and abusing wordpress as a CMS for 'premium content' and buying/selling ad space. 1/10 times you end up with posts like, [insert quantity] things(outbound links) for [something].

The result is usually just a list of outbound links with some useless editorial commentary. Some sites (psdtuts, hongkiat) can pull it off, but others can not, which is easily discernible in how valueless each post is for who ever they're targeting (usually designers).

</comment></comment><comment><USER4> This sort of complaint is common to both web designers and programmers. The problem is that most people don't know anything about design/programming, and so they don't understand that it takes a lot of time to do.

Show somebody a patio that you built. They'll be able to see all the pieces, and how heavy they are, and how they all have to fit together _just so_ ; they'll be able to comprehend that it takes a lot of time to move all of those pieces around and make them fit together.

Show somebody the black box that is a website, or a computer program, however, and they can't even _see_ the pieces, much less understand how they fit together, or how complicated they are.

<comment><USER5> Start explaining about the structure of the html document, how the css styles the document, how this part of javascript has that effect, and in no time people will have a better idea of the complexity of our work (and not a bit more understanding of it).

</comment></comment><comment><USER6> Somewhere there has to be a forum of lawyers who don't charge enough or exercise sufficient professional discretion where they regale each other with tales of how Cousin Vinny wants free legal representation again.

<comment><USER7> It's a problem for lawyers, accountants and doctors.

Except they don't have any of my sympathy because they have officially- recognized bars, certifications, and boards to ensure they are paid what they are actually worth. Because of this, the advice they get solicited for comes from respect, not because what they do "must be easy".

<comment><USER8> _they have officially-recognized bars, certifications, and boards to ensure they are paid what they are actually worth._

Or to put it another way, to artificially erect barriers to entry that ensure they get paid more than they would in a freer market.

<comment><USER9> You know how sometimes you hire a guy from a hemisphere you've never even heard of for a project, and when he delivers, it's nothing at all like you requested, riddled with bugs, and randomly crashes?

Now imagine that guy representing you at a murder trial.

I like the barriers.

<comment><USER8> Yes, licensing regulations also serve a useful purpose. But having the details of those regulations determined by the guilds themselves (rather than external authorities) is a lousy way to achieve that purpose. Why do I have to visit a dentist to have my teeth cleaned, rather than a dental hygenist? Why can't registered nurses or nurse practitioners provide basic medical care except under the auspices of a doctor? Because the rules are set by groups that represent the doctors and dentists.

It's also worth remembering that plenty of indigent people in this country _are_ effectively represented by 'that guy,' including in murder trials. Look at the cases of Calvin Burdine or George McFarland, both of whose court- appointed attorneys slept through their trials. Are those barriers really doing what you want them to do?

</comment></comment></comment></comment></comment><comment><USER7> You're not a professional until you learn how to say No.

It's the closest thing digital practitioners have got to a Bar Association, and that's not about to change any time soon.

<comment><USER10> True. It even happens to priests and pastors. You wouldn't believe how many people you've never seen or heard of before will look you up and call you, saying how much they'd love a nice little wedding in your congregation's stone chapel. When you inform these people that you don't consider yourself a justice of the peace, the waters are deeply stirred.

</comment></comment><comment><USER11> A lot of these items also apply to programmers. Although, I bet the list would be much longer than this since no one knows what programmers actually do.

Like when somebody asks you to do a certain task and say "it shouldn't take more than [x]", even though he has absolutely no idea what he's talking about!

</comment><comment><USER12> Pertinent: <http://theoatmeal.com/comics/design_hell>

<comment><USER13> In his right-hand sidebar he has some image-links to other comics about "roads-to-hell-for-freelancers."

One of them was titled, "create FREE Flash websites" ... except, on further examination it was _not_ another spoof - it was an ad from Google: life imitates art!

</comment></comment><comment><USER14> The best way I can think of to get out of this situation quickly, and relatively painlessly, is asking this question:

 _"I get paid to do this kind of work. Why would I do this for you for free?"_</comment>


How a star explosion may have shaped life on Earth (2015) - <AUTHOR> http://nautil.us/issue/22/slow/the-secret-history-of-the-supernova-at-the-bottom-of-the-sea <comment><USER2> Another great example of how far radioisotope dating has come since the early 50s ... and has been finding more and more Sherlockian applications.</comment>


Solving the strcat() woes - <AUTHOR> https://haneefmubarak.com/2015/12/13/solving-the-strcat-woes/ <comment><USER2> Great observations.

Really, it's unfortunate that null-termination was used at all. The "unlimited length" feature did not have to be implemented in such an expensive way.

As an example, I think it would be possible to use leading bytes to encode strings in one of three ways, using a Pascal-style string as the base case but limited to 253 characters:

        [0]      [1...253]                  (short strings)
        length   data

        [0]      [1...254]   [end+1]        (concat. string chains in large contiguous block)
        254      len+data    start of next

        [0]      [1...8]     [9...255]      (concat. string chains in non-contiguous blocks)
        255      next ptr.   segment len+data

In other words, the values 254 and 255 could act as special values to dictate how to chain together multiple string fragments, and any shorter complete string would degrade to a Pascal-style string.

<comment><USER3> Interesting idea. It makes me think of the indirect blocks used in Unix style file systems. But I'm unclear on some points. Should the 253 in the second case (s[0] == 254) be 255? It's not clear why it ends at 253. Second, how is the end of the string found in the cases two and three? I'm assuming the last part of the chain would be a string segment of type 1, with the length of the final segment given in the first byte.

<comment><USER2> Actually in cases 2 and 3, since the first byte is "special", the length of the actual string must be the next byte. I've updated it to show that. This is why there is no length-254 string. And in the 3rd case, the maximum segment length is 10 bytes shorter.

For a multi-segment setup the length of the entire string would be found by summing the lengths of each segment. This is still "fast" because you would have to, at most, test one byte per segment to find the next length byte, to find the total string length.</comment></comment></comment>


Go to the University of Reddit - <AUTHOR> http://www.mndaily.com/opinion/columns/2013/05/29/go-university-reddit

<comment><USER2> This has been discussed many times before:

<https://news.ycombinator.com/item?id=5761441>

<https://news.ycombinator.com/item?id=5366423> <\- Significant discussion

<https://news.ycombinator.com/item?id=4411318>

<https://news.ycombinator.com/item?id=4409219> <\- Significant discussion

<https://news.ycombinator.com/item?id=2728975>

<https://news.ycombinator.com/item?id=1479143> <\- Significant discussion

Consensus seems to be summed up in this comment: <https://news.ycombinator.com/item?id=5761688>

        jebeng
        I remember seeing this before. The quality of the courses were
        often quite poor. And many instructors would start a course and
        not finish it, leaving the people following the course hanging.</comment>


Value Type Hygiene - <AUTHOR> http://cr.openjdk.java.net/~jrose/values/value-type-hygiene.html <comment><USER2> What a fascinating design constraint: to retrofit a useful feature into the Java ecosystem while keeping as many things backwards-compatible as possible. This proposal has a much stronger answer to backward compatibility than the previous one, by letting all ported builtin classes keep the same descriptor in the bytecode. The catch is that each class file will now declare which of the types it imports are ValueTypes, and which aren't.

Java's strong commitment to bytecode-level backwards-compability is sometimes to the detriment of its feature-set (e.g. non-reifiable generic types due to type erasure), but this commitment is a large contributor to the platform's success.

<comment><USER3> Non-reified generics is the feature that allows different JVM languages to interoperate much more easily and share data structures. If you look at the CLR, interop there is much messier, largely due to this. The reason is that if reference-type generics were reified, then the JVM must know the subtyping relationship between such different types, and different languages have very different variance strategies. This limitation does not apply to types that cannot be subtyped, which is why value type generics can (and will) be reified.

In exchange, you pay with a minor nuisance: mostly the inability to overload methods with the same erased types. I think most would agree that having a truly polyglot VM that allows different languages to enjoy the data structures written in other languages is much more important.

<comment><USER4> It's an interesting trade-off. It makes java a somewhat weaker language but the jvm a better platform. At the time the decision was made, probably no one was thinking of the jvm as polyglot platform. So there was a decision whose chief benefit was only revealed in retrospect.

<comment><USER5> It's also possibly an unnecessary trade-off.

Scala, for example, has something akin to reified generics, without any support from the JVM itself. It also allows for a decent level of interop with other JVM languages, though of course all you can really "export" to other languages is the least common denominator semantics required by the JVM.

Java could theoretically do something similar: Maintain type information that is visible to Java at compile- and run-time, while still compiling to code that is consumable from other languages without too much hassle. Really, personally, I only care about it being available at compile time. Haskell, for example, erases types much more aggressively than Java does, while also maintaining a high level of type safety.

I guess I don't know that it's backwards compatibility on the JVM that bothers me so much as Java's tendency to think of itself as being little more than a JVM macro assembler with C-like syntax.

<comment><USER3> That's not so simple. The class file, I believe, does have the generic instance at the _use site_ , but then if you could have two overloads, foo(List<String>) and foo(List<Integer>), which would you call if you use a raw type (either in Java or from other languages). It's not that Java is a JVM macro assembler so much that there is not much to be gained from this feature given the rest of Java, and Java has a very different design philosophy from Scala, as it aims at a different audience. If and Java evolves in that direction, perhaps this feature would change. In the meantime, those who like Scala can use Scala.

<comment><USER5> This feels to me more like a failure of imagination than a technical impossibility. C#, for example, handles some things like this by exporting a function with a special name in the compiled modules. Java could do the same - handle the overload by having them be two different methods named something like foo__String() and foo__Integer() on the back end. The naming may not be beautiful, but I think that, if you do it right (for starters, try to use more readable naming conventions than Scala does), it can make for a pretty sane user experience for consumers who are using different languages. Naturally, the best practice would also be to design so that the API remains clean for packages that are meant to be consumed by multiple JVM languages.

I also want to point out that having a type system with a stronger handle on generics is about more than just ergonomics when overloading methods. As another example, Java's story for auto-mapping libraries (serialization/deserialization, lighweight ORM, stuff like that) is materially hindered by the inability to express things like "List<MyDataType>.class". And those sorts of things do have a material impact on developer productivity - when I'm working in Java, I find that I spend an inordinate amount of time writing, maintaining and code reviewing all the extra glue code that needs to be written to handle tasks that other languages make almost effortless.

<comment><USER3> > This feels to me more like a failure of imagination than a technical > impossibility.

It's not the lack of possible solutions, but more of a design philosophy.

> is materially hindered by the inability to express things like > "List<MyDataType>.class

See Guava's TypeToken [https://google.github.io/guava/releases/25.0-jre/api/docs/co...](https://google.github.io/guava/releases/25.0-jre/api/docs/com/google/common/reflect/TypeToken.html)

> I find that I spend an inordinate amount of time writing, maintaining and > code reviewing all the extra glue code that needs to be written to handle > tasks that other languages make almost effortless.

Which is why the Java ecosystem offers a nice selection of languages to match almost everyone's taste. Many people like Java and feel productive using it, and those who don't can enjoy the great polyglot interop afforded by, among other things, generic type erasure.

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> I can't wait for Value Types to land! The contortions my code has to go through to fit in RAM and avoid fighting the garbage collector drives me nuts. Problems that might fit in a few megabytes in, say, C/C++ can take gigabytes in JVM. I have always looked at the C# structs with envy.

Rah rah I hope the authors peek on HN and see that their work has baying fans :)

<comment><USER7> C# has much more than only structs.

You can do manual memory management, GC free code blocks and there is unsafe.

Additionally C# 7.x has safe stack allocation, spans, references to stack allocated data.

Looking forward to have some of those goodies in Java as well.

<comment><USER8> > Additionally C# 7.x has safe stack allocation, spans, references to stack > allocated data.

How much of those are the direct result of having value types in the language?

As far as the other features you mentioned, it would be nice to have them in the JVM as well.

<comment><USER7> All of them.

They were already available in other languages like Modula-3 and Oberon(-2) before Java came to be, but Java team decided it was too complicated for their target audience.

Just like Sun was religiously against AOT, a feature only available in commercial third party JDKs, they also believed it was a matter of making the JIT good enough for escape analysis.

Thankfully the .NET team had other beliefs.

</comment></comment></comment></comment><comment><USER9> Silly quick question: What is the "L-world" discussed here?

<comment><AUTHOR> The letter L is used in the JVM bytecode specification to refer to objects (as opposed to primitives or arrays). You'll often see that notation when using jmap or javap.

[https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.ht...](https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html#jvms-4.3.2)

<comment><USER9> Thanks! I'd seen that notation before, but I didn't connect it to this context.

</comment></comment></comment><comment><USER10> Presumably I'm missing something, but are they trying to do something more than just Boxing value types? (Specialization?) I cannot see how legacy classes would be impacted if Boxing was used, nor quite why it is going to be so difficult. Boxing would seem to deliver most of the benefits (i.e. the ability to do things in a memory efficient manner in new code).

<comment><USER11> Yes, the point is to not box them.

<comment><USER10> Yes, in ArrayLists ... etc., but if you want compact values on the stack, or compact value data structures you don't need this. I feel like 80% of the solution (and one which is likely future compatible) is going begging whilst they worry about nice to haves.

</comment></comment></comment><comment><USER12> Happy to see value types making their way, however I'd put good money on not seeing this in Android until 2030 at the earliest.

<comment><USER13> In the Android world, it's quickly becoming what Kotlin supports.

<comment><USER14> Still need JVM support of value types for this to make sense.

<comment><USER15> Android doesn't use the JVM. Hell, it doesn't even really use a VM any more.

<comment><USER7> Sure it does, ART was AOT only during Android 5 and 6.

Android 7 brought the VM back.

Now it uses an interpreter hand written in Assembly that gathers PGO info for the JIT, which also performs PGO data gathering, then only the hot bits are AOT compiled to native code, when the device is idle.

Any change on the execution path or updates trigger the execution process from the beginning.

<comment><USER16> I didn't know that. Here are the docs: [https://source.android.com/devices/tech/dalvik/jit- compiler](https://source.android.com/devices/tech/dalvik/jit-compiler)

<comment><USER7> The docs are outdated, Android P is bringing sharing of PGO data across devices via the Play Store.

[https://www.youtube.com/watch?v=Yi9-BqUxsno](https://www.youtube.com/watch?v=Yi9-BqUxsno)</comment></comment></comment></comment></comment></comment></comment>


Google workers walk out to protest office harassment, inequality - <AUTHOR> https://www.reuters.com/article/us-alphabet-google-harassment/google-workers-walk-out-to-protest-office-harassment-inequality-idUSKCN1N644R?il=0 <comment><USER2> Primary discussion here- [https://news.ycombinator.com/item?id=18352275](https://news.ycombinator.com/item?id=18352275)</comment>


console.log entries in Node.js does not get garbage collected - <AUTHOR> https://github.com/nodejs/help/issues/1339 <comment><AUTHOR> One of the services we develop has been in a state where we can now look at performance and memory optimizations. I've been investigating memory pressure issues using the node inspect tools (which interfaces with the Chrome memory profiler).

I noticed that the default stream for console.log in node.js does not get garbage collected, and raised an issue about it in the github node org, where a node dev has acknowledged the behavior.

He provided a link to a larger thread where this is being discussed, but it seems it's been in discussion since 2016.

One possible solution around this is to write log entries to a file instead of using the default stream.

<comment><AUTHOR> Update:

Via bnoordhuis (Ben Noordhuis - node.js dev):

I see you posted this over at [https://www.reddit.com/r/node/comments/8s2y7b/til_consolelog...](https://www.reddit.com/r/node/comments/8s2y7b/til_consolelog_entries_will_not_get_garbage/) but your summary there is wrong. You should update it because it's going to mislead others.

The state of things:

A connected inspector client will cause console.log() to buffer a bounded number of messages (currently 1,000.)

Libuv can buffer messages when you print faster than the sink (tty, pipe, file, etc.) can consume them. That's something you can fix by pacing your writes.

</comment></comment><comment><USER2> Ha, we ran into this a couple of weeks ago. Here [1] is a write up of what we found... our assumptions don't match up exactly with what is in the GitHub issue here but it was the best we could do.

[1] [https://tech.datawallet.com/posts/weekly- update-2018-06-01/](https://tech.datawallet.com/posts/weekly- update-2018-06-01/)

</comment><comment><AUTHOR> Reddit discussion here (with lots of good tips / info):

[https://www.reddit.com/r/node/comments/8s2y7b/til_consolelog...](https://www.reddit.com/r/node/comments/8s2y7b/til_consolelog_entries_will_not_get_garbage/)

</comment><comment><USER3> as you saw in comments this is needed for logging purposes for example in DevTools, it keeps certain number of logs in memory for debugging purposes

I would not recommend console.log for production anyway</comment>


How convict labour increased inequality - <AUTHOR> https://www.economist.com/news/united-states/21740468-forcing-prisoners-work-lowered-wages-and-increased-unemployment-how-convict-labour <comment><USER2> I recommend the book _The New Jim Crow_ if you'd like to read more about this, particularly on how it relates to extending pseudo-slavery.

<comment><USER3> I'd suggest the documentary 13th as well.

</comment></comment><comment><USER4> If - for a moment - we can abstract from the actual conditions of the "lodging" and from the quality of the food (that I understand can be terrible in some US prisons), if we take a single "free" man or woman that is working the same hours (possibly not full-time because there is not such a job offering) at minimum wage BUT has to pay rent, utilities and food, plus medical care, etc., I don't thing that the net (i.e. what remains after having paid all "basic" bills) is very different from a few cents per hour.

This hypothetical single low-pay worker has not done anything "bad", and there is no reason why society should "punish" him/her, but I doubt that he/she can save more than 50 US$ per month.

<comment><USER5> I get where you're coming from, but I think it's a little disingenuous to abstract away living conditions. For all those 'basic' bills your minimum wage laborer is likely getting a comfortable bed in their own room with only a few housemates, much better nutrition, a cell phone, private showers, etc. If they wanted to live in a storage unit, shower at the YMCA, and eat for 2 dollars a day they likely could save much more.

<comment><USER6> > If they wanted to live in a storage unit

Which is illegal. And even if it wasn't, it's sad that someone working minimum wage has to live like a prisoner if they want to save anything significant.

<comment><USER5> I totally agree. I'm using a reduction to absurdity to make my point that prisoners experience abysmal living conditions, not arguing that the state of minimum wage workers is just.

</comment></comment></comment></comment><comment><USER7> Regardless of who goes to jail and why, I can only figure on three possible activities for convicts -

1) Rot in their cells. 2) "Busywork" i.e. stuff that resembles work but has no value other than occupying convicts' time. 3) Economically useful work.

The economic / social case against option 3 is pretty strong - I remember analyses of the economic collapse of the USSR blamed convict labor among other things - except that options 1 and 2 have strong downsides as well. Not just for convicts, but the COs and prison staff as well.

<comment><USER8> There's no reason that the inmates should word for free. Economically useful work is great, both for the prisoners and society. Maybe take a 50% tax cut out of minimum wage and give the prisoners the rest of the money. Put them in a personal account they can use when they're released. It would help them immensely with rehabilitation.

<comment><USER9> > There's no reason that the inmates should word for free.

If someone is fined, they had to work for that money. So we're taking the fruits of their labor from them.

And they're in prison in the first place, so they're being denied their livelihood.

It's almost like we're trying to punish people for crimes they commit!

<comment><USER10> The punishment that prisoners are subjected to is the deprivation of their liberty.

As noted by other commenters, prisoners should be paid at market rates. This is both fair, and avoids market distortions.

</comment></comment></comment></comment><comment><USER11> Wait a minute...you're telling me using slave labor is bad? BUT IT'S SO CHEAP!

The idea that we allow FOR PROFIT prisons to "employ" prisoners for less than minimum wage while they make money is an embarrassment. This is not justice. This is not "repaying your debt to society". The fact that all criminals get stigmatized and penalized during and well after their incarceration is punishment. The use of them as a labor force to perform tasks to create additional revenue for the prisons is just gross.

And don't get get me started about how this leads to a potential conflict of interest when you allow the prison companies to hire lobbyists who could lobby for harsher sentencing in an effort to create more slaves.

<comment><USER12> Would you feel better about it if the prisoners' situations were identical, but the profits went to the government or to reparations for victims of crime?

<comment><USER13> _> ...or to reparations for victims of crime?_

The courts already have a way of doing this that doesn't involve slavery.

<comment><USER11> To that end: if there was a civil suit against someone and you wanted to allow convicts to work in prison while paying them a fair wage in order to pay off this debt, that is a logical and even noble choice.

I think the biggest issue everyone seems to have is the idea of below market wages being paid to the workers.</comment></comment></comment></comment>


The Case for Robot Cars - <AUTHOR> http://www.templetons.com/brad/robocars/robot-cars.html

<comment><USER2> I think robotic cars are inevitable. But I also think its going to take awhile. Cars will need to be able to distinguish between birds and toddlers with a deal deal of certainty.

We'll get there. And when we do, we'll see a dramatic reduction in the size of most cars and in the number of cars we'll need. A great many of us will be taking cabs instead of owning. Our houses will lose their garages and traffic systems will become realtime schedulers.

Don't get me started about robotic storage or how virtual factories will be sharing the roads with us.</comment>


Ask HN: USB-C Connector Mechanical Durability? - <AUTHOR> I recently upgraded and old Lenovo laptop to a new one which uses a USB-C charging connector. The old connector was a sturdy cylindrical/barrel plug, but the USB-C feels very flimsy.
I believe the flimsiness is an intentional design choice for USB-C connectors, but it does not instill much confidence that it will last as long as the old one (many years), and that i can easily damage the female part of it (in the laptop, PITA to replace). Every time i plug my laptop into power and the power cable runs off the table, the connector is at all sorts of angles, with seemingly only 1/4" of  plug body for mechanical leverage.
What is people's experience with the longevity of the USB-C power connectors vs the old barrel plugs?
thanks! <comment><USER2> It's probably too early to say, as most laptops only started using USB-C a few years ago. My experience has been that they are durable enough for charging, but can be very flakey for data purposes. I have to plug and unplug my USB-C dock several times to get DisplayPort passthrough to work, for instance.

</comment><comment><USER3> I have seen some USB-C devices (laptops, tablets) where the USB-C connector doesn't seem well connected to the motherboard and for which I imagine it might fail quickly. Other devices and sometimes other connectors on the same device seem better.

I've had Lenovo and Dell windows-based desktop replacement laptops and I'd say both USB 3 and USB-C ports are iffy in various ways. My Dell at work works perfectly with a Dell dock. I've never found a USB 3 or USB-C dock that works right with my slightly older Alienware (also Dell) laptop, although I've had good luck with monitors that do both USB-C /Thunderbolt and video on the same card. I think macs do better than in that department, particularly in how fast they can inspect the USB-C bus and connector all the devices.

</comment><comment><USER4> At this point I've had 3 phones with USB-C.

My first, a Nexus 6P, eventually had it's connector fail to tightly grip any cables, resulting in an easy to disconnect connection. While this sounds like the common USB-C problem of lint/material in the phone side, no amount of cleaning ever fixed it.

The second phone, also a 6P had no issues.

My current, a Pixel 2XL has had the phone side connector metal slightly bent inwards from a bump, resulting in a quite sturdy connection.

So far I haven't had any cable connectors fail for me.

</comment><comment><USER5> Certainly in phones e.g. Galaxy range, USB-C initially seemed much more positive than micro-USB which always broke/degraded after a year or 2. Now after a year or 2 again the connection is very dodgy, this is on the phone end. I'm not sure how this can be improved but at the moment it seems like a massive scam to end-life a perfectly good phone. The other issue was phone batteries whose lifetime seems way worse than laptop batteries (for instance).

Sorry I don't have any experience of usb C laptop connections.

</comment><comment><USER6> FWIW, the round Lenovo plugs weren't that great either in my experience, but on a swappable module, so easy to fix once they broke. I hope they kept that, at least for the chunkier models.</comment>


Visual Game Editor for Pixi.js - <AUTHOR> https://ctjs.rocks/ <comment><AUTHOR> GitHub: [https://github.com/ct-js/ct-js](https://github.com/ct-js/ct-js)

I think ct.js is a hidden gem of open source game tooling. Pixi is among the most mature and popular game engines available for 2D game development, but it doesn't have an official editor. ct.js simply layers a whole suite of graphical interfaces on top of Pixi to make it accessible to a wider audience.

The author is a classic "would rather spend time coding than doing PR" open source dev. I hope HN can show some appreciation for their work.

<comment><USER2> I wouldn't call Pixi a game engine, it's more like a rendering library isn't it?

<comment><USER3> Yeah, pixi is just a rendering engine. A way to specify sprites and declare there positions on the canvas and have the rendering engine lay them out and update the canvas.

</comment></comment></comment><comment><USER4> This looks really cool - there goes the rest of my weekend testing this out! The JS game world has been missing a straight-forward editor like this... there are 3rd party tools that are very powerful (like Tiled), but having everything integrated is just... fun! And that's pretty important when you're making games!

[Edit: if the person who created ct.js is around: I just booted it up, and it looks nice and simple - but I think I'd make the default "empty" project be populated with a minimal texture and room... you should be able to launch a game and see what this software is about instantly: like Blender's "default cube".

This could be disabled for experts if it's annoying to delete things, but it would really encourage beginners and tire-kickers to dig in rather than having to figure out how get started and go through tutorials]

</comment><comment><USER5> Ct-js and Pixi.js is great, but personally I always reach for Phaser ([https://phaser.io/](https://phaser.io/)) and the Phaser Editor 2d IDE ([https://phasereditor2d.com/](https://phasereditor2d.com/)) first for games. There's just more batteries included with a better ecosystem if you're making an interactive game. I would use Pixi.js if I didn't need any interaction or sounds or sprite sheets.

<comment><USER6> I switched from phaser to pixi because I wanted more control over what I was doing. Animated sprites in phaser -- at least from what I could figure out -- have to have the exact same dimensions. Some of the sprites I was using were not that clean. This is one example of what I didn't like phaser, but it was pervasive. If phaser fit your particular game assets and use-cases, then it saved a ton of time. If it didn't fit perfectly, then it was a time suck going through forum posts, documentation, blogs, etc. trying to figure out what to do.

Pixi supplies the primitives and gets out of your way.

<comment><USER5> Just curious if you experienced those issues with Phaser before or after they replaced Pixi and what's your strategy for sound and controls?

</comment></comment></comment><comment><USER7> I downloaded this and tried it out, but it seems to hide all the implementation details. What if we need to make some changes to index.html? For example, I want to make a game like Untrusted ([https://alexnisnevich.github.io/untrusted/](https://alexnisnevich.github.io/untrusted/)) but to do so I need to be able to create a textbox for code editing next to the game canvas.

Is this possible to do under ct.js?

</comment><comment><USER8> The collision shape editor seems quite nice and beginner-friendly indeed, I remember a game developer friend of mine in the old days telling me how many nights he wasted fixing collision boxes. I am humbled by how little of game development I understand but this looks super well crafted.

<comment><USER9> Collision boxes make my brain hurt. I spent a week once with Sfml trying to get my collision boxes to change in size accordingly and still work properly when the player crouched. Not to mention just the hassle of trying to get the collision boxes to interact with all sides of every other object properly.

I just remember it breaking every time I added the code for the next side and having to go back and figure where I fucked up to begin with.

Then I used the godot engine and editor next time. Having simple, easily created, collision boxes that just worked was pretty mind blowing to me. That and setting up sprite animations...that had been another week of struggle with Sfml.

</comment></comment><comment><USER10> I've used a ton of game engines throughout the years. This looks better than most closed-source and paid software. Can't wait to give it a try.

</comment><comment><USER11> The name confuses me a little. I had always felt the foo.js branding meant "this is a library".

<comment><USER12> I always interepeted the *.js to mean "belonging to the js / web front end ecosystem"

</comment></comment><comment><USER13> Would be nice if they took at look at the OSX build... doesn't seem to contain most of the example assets for the tutorials. Plus some kind of installer script would be even better.

</comment><comment><USER14> Wow, I can't believe I haven't seen this before. This looks absolutely incredible!

</comment><comment><USER15> Can I use this to build and deploy games for iOS or Android?

<comment><USER16> Whatever you make with this will be contained in a webpage. You can turn it into an app using a tool like Apache Cordova. Not the most efficient approach in terms of battery/memory/etc usage, but it works.

<comment><USER15> Will battery life be horrific, or just "sub par"? In other words, are users going to notice and should I refrain from doing it this way?

</comment></comment></comment><comment><USER17> Recent developments in visual editing specially for 2d games is wonderful. Wondering if there's a visual editor yet which also supports multiplayer games.

<comment><USER18> Roblox would be an example of that. Only 3d, and quite cartoony looking.

</comment></comment><comment><USER19> How would this compare to cross-platform dev in, say, heaps.io</comment>