Stross: Gadget Patrol: iPad, a month on - <AUTHOR> http://www.antipope.org/charlie/blog-static/2010/06/gadget-patrol-ipad-a-month-on.html

<comment><USER2>
        As for the big picture: this thing is roughly where
        the Macintosh was in late 1984. Which is to say, a lot
        of people don't get it, and think it's a toy — and in
        truth, there's a lot of stuff it doesn't do properly
        yet. But it's an astonishingly promising toy.

<comment><USER3> I've always said I think the iPad is more a bet on the future than it is on the present. I wrote a post on my blog a while back that I think makes the point pretty well(if I might be so conceited): [http://tomstechblog.com/post/What-People-Donrsquo3bt- ldquo3b...](http://tomstechblog.com/post/What-People-Donrsquo3bt- ldquo3bGetrdquo3b-About-The-iPad.aspx)

The gist of that post is that the "Pad" form factor will succeed for two reasons...

Reason #1 - Once documents start moving to the cloud people are going to want a way to view those documents on the go. In the same way that people carry a notepad to meetings now they'll want to pull up documents in the future. They need a device that focuses on being a "viewing device" (as opposed to PCs, laptops and netbooks which make huge concessions for data entry). The same is true of paper media like books and newspapers. People need a way to carry around these digital representations.

Reason #2 - People aren't going to redefine the page. Digital documents will continue to be based around 8.5" by 11" dimensions just as Roman Chariots defined the Space Shuttle's booster rockets. So paper will be the form factor that defines the mobile devices we carry around with us in the future.

To me that's the point. The "Pad" form factor is something we all know is appealing (they were appearing in Star Trek back in the 60s). It was just a matter of waiting for the right time and producing a quality device. I think Apple's done both of those things with the iPad

<comment><USER4> _just as Roman Chariots defined the Space Shuttle's booster rockets_

Can you elucidate?

<comment><USER5> I think this is referring to the standard width of rail cars, which are required to move some component parts. Very, very generally, rail cars are the width they are because they started in Europe, and they had to fit on roads, which were built to accommodate older cars, which had to fit in wagon wheel ruts, which had to fit in Roman chariot ruts. I'm not sure it's fact, but it's a common story. I heard it from Prof. Channing's ChemE lectures on Stanford's iTunes U.</comment></comment></comment></comment>


The Senior Engineer's Guide to Helping Others Make Decisions - <AUTHOR> http://silverwraith.com/blog/2017/10/the-senior-engineers-guide-to-helping-others-make-decisions/ <comment><USER2> The real way a senior engineer trains juniors is by selecting appropriate work. They thread the needle of a number of factors: it needs to be done, its within reach, will build their skills, will educate them on product/business/process, they will find rewarding, will give ownership, relevant staff can support them etc. These factors are so important that the senior engineer might need to negotiate with the product manager to bring appropriate work forward to avoid failure or killing the enthusiasm of the junior.

What can't really happen is for a junior to suggest work. The experience and context they lack is for the business, the user and the strategy. The junior's biases for what they think matters are usually much worse that the senior's for what works e.g. they want to improve cosmetic factors or add cool features. Its not that they are wrong, the product might be offensively ugly and the cool features might be game changers, but professional development is a parade of gut wrenching compromises because the constraint is time and resources not imagination and ambition.

That said, I agree with the thrust of the article - the risk of senior engineers "fighting the last war" and accruing a set of limiting beliefs is very real and the naive optimism of a junior challenging them is part of the value they bring.

<comment><USER3> > What can't really happen is for a junior to suggest work.

Junior engineers should feel welcome to suggest work. They should also be ok with having that suggestion rejected or put on the back burner because it's not pertinent to the current product/business goals.

Depending on how the company is run, the senior can make the call, or involve a product owner, as to whether the junior's suggestion is something that they should be working on or not. But I think the OP's point about tone is important: being dismissive about it is demoralizing and isn't helping the junior grow. Explaining why (to borrow the example from the article) it might be ok to lose a week's worth of data, or even why they just currently have bigger fish to fry, but will revisit the idea later... that shows respect for the junior's desire to grow and establish ownership while giving them a taste of knowledge and experience that you have but they don't.

<comment><USER4> > They should also be ok with having that suggestion rejected

I agree at one condition: explain them why their suggestions are not appropriate (out of context, lack of resources, not a priority etc...).

That way you simply teach them more about the team/company business and will help them to step up their decisional skills.

<comment><USER5> I agree but have to be careful with this one. I'm relatively junior and we had a lot of "it's not the time for this right now" when I believed it was... You have to win somebody over with your arguments rather than a unilateral explanation IMO. (edit: what I'm saying is - prove your explanation and convince the person of the business priorities, you can't say "it's confidential" or "we can't talk about why" or "the decision was made above our head".)

Also when your team has many priorities and are tackling many fronts and one of your frustrations - as a team - is your rarely addressed tech debt (due to business/monetisation priorities), then the team is up for demotivation.

<comment><USER3> > I'm relatively junior and we had a lot of "it's not the time for this right > now" when I believed it was... You have to win somebody over with your > arguments rather than a unilateral explanation IMO.

Yes and no. I think the best kind of rejection is the kind that convinces the rejectee that the rejection is well and proper, certainly. But at the end of the day I want to see some measure of humility in a junior engineer. Blind trust is a bit much, to be sure, but the junior should have some grasp on the idea that they don't know everything, can't know everything, may not have all the context (context which they do not always need to do their job), and they should just accept it and move on. Some battles are worth fighting, but many are not.

Put another way: a company is not a democracy. Consensus is nice, but if we had to build consensus around literally everything we did, we'd get a lot less done. Sometimes it's absolutely fine and proper to say "we're not doing that right now, and I don't have the time to get into the nuts and bolts of why".

> (edit: what I'm saying is - prove your explanation and convince the person > of the business priorities, you can't say "it's confidential" or "we can't > talk about why" or "the decision was made above our head".)

Agreed, those are crappy, insulting, disrespectful explanations.

<comment><USER5> oh yeah, i'm definitely not expecting an on the spot explanations of every single thing, but eventually i'd like an insight in to why something was rejected (if it's a major thing), 'tis all. That can be later on in the week or when appropriate, or after fires are out or whatever.

Not saying there needs to be consensus (i.e: I agree), I don't necessarily have to agree with every single thing I've been asked to do in order to do it, sometimes a job's a job.

When I was composing that post I was thinking at a relatively coarse level of a previous experience (which to be fair is at a different level to the original article).

</comment></comment></comment></comment></comment></comment><comment><USER6> I saved this comment from jlcfly from an AskHN that was answered a long time ago and have reposted it many times, as I feel it is an excellent philosophy for making your team better.

"Teach them to be better than you. That may seem counterproductive. I have a type A personality, and I have decent coding skills. I've been in your situation a number of times. I also know there's these mythical expert developers out there that I can't seem to find (or afford). So, what to do? A few years ago I realized that if I continue down this path, I'll end up with some serious health issues due to the stresses that come along with having a reputation for being a really good developer. So, I decided that instead of searching for developers better than me, I would teach developers I work with how to BE better. It's taken a lot of patience. And it's taken me quite a bit to LET GO of my way of doing things. I had to take my ego out of the picture. (VERY hard to do.) Nowadays, I realize that developers don't have to BE better than me. I simply have to ALLOW them to do what they do without being so obsessive about it. Turns out, even junior developers really CAN do good work. They just need a little guidance that only comes with experience, and then they need me to get out of their way."

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

<comment><USER7> I'm not sure I'd be comfortable calling myself "senior" in job titles, but I often end up saying:

> I know this is a "do what I say not do what I do" situation, but please X > because we've had problems with Y.

</comment></comment><comment><USER8> I agree with the core premise of this post; you shouldn't put down ideas by junior developers by just flatly saying no. But we can't just go around letting junior developers do whatever they feel is a good idea because "it's a learning opportunity".

I get that the most direct way of learning is to make mistakes and learn from those. But there's an easier way too. Read books, talk to people, get the benefit of others experience without needing to make those same mistakes again.

We don't go about individually discovering why modular design is a good thing, or why at certain scales microservices are a better option. We do the research, talk to others, and figure out that the general consensus is a reasonable one that we can use.

There are many learning opportunities even once you implement the currently best known solution. You'll eventually grow beyond what the best solution can achieve, and I feel it's a better use of our times to try to push the boundaries of knowledge at the edge, rather than making junior developers learn the same things over again. As they say, learn the rules before trying to break them.

\--

I do agree that senior developers need to do a better job at communicating with junior developers. I think that in the transition between junior and senior developer, there comes a time when you just start assuming that everyone has the same context and knowledge that you do.

When you say "it won't scale" to a junior developer, you might believe that they understand all the subtle connotations that phrase holds. But from the perspective of the junior developer, it feels like an arrogant know it all trying to run from an argument.

I think we need to do a better job at explaining _why_ something is a bad idea to junior developers. Learn to see things from their perspective, and communicate in a way that relates to their experience rather than ours.

But that's just good advice for life, not just development.

<comment><USER9> I use a "touching a hot stove" analogy:

There's a hot stove in the room. Do you want every engineer to touch the hot stove to find out it's hot? Or do you want to take one engineer who's well equipped to find out how hot the stove it, find out it's hot, then notify everyone that it's hot?

I don't usually use the analogy for this particular argument, but it works here also.

<comment><USER10> However on the other end of the spectrum you have The monkey experiment, where you end up with 5 monkeys that don't climb the ladder for the banana reward, but none of them knows why not to.

I sometimes still find it a challenge to walk the line between sticking to a principle and letting it go. But it's my opinion you should always stay open to let any of your principles be challenged (by someone else or yourself). And it still surprises me how I can shatter some of my deep rooted principles because of a new/different look on things.

<comment><USER11> Document your decisions, explain assumptions, limitations, and reasoning. It helps immensely.

<comment><USER10> Indeed, I also started moving from documenting what code does to explain what I intend the code to accomplish (because code already explains clearly find what it does by itself). By communicating at this level the overarching idea does not get lost and allows for much better refactoring or debugging.

</comment></comment></comment></comment></comment><comment><USER12> The problems here, to start with, are:

\- "senior" means a wide range of things to different people.

\- "engineer" means a wide range of things to different people.

Some people are senior because they have technical skills, some are good with processes, some have years of experience, and others due to superficial traits associated with dominance (e.g: posture, voice pitch/amplitude/speech rate, verbosity, being good at interrupting others), some due to interviewing skills... or anything to be honest.

This gives origin to a wide range of decision making processes:

\- from pragmatic to unpractical

\- from rational to dogmatic

\- from collaborative to competitive

\- from respectful to antagonistic

\- from constructive to unproductive

If your discussions look like the "Argument clinic" from Monty Python, you've got a problem. If your discussions are toned down because noone wants to sound negative, you've got a problem. If all discussions end up with someone pulling rank, you've got a problem. Try to have: pragmatic, rational, collaborative, respectful, constructive discussions. And focus on the problem at hand, not the person.

</comment><comment><USER10> "Being a senior engineer means realising not everything should be done the way you want it to be."

I think it's funny how these opinions can completely flip over or oscillate over time. In this case:

As junior you known nothing so not everything can be done the way you want, then later you think you know a lot more and everything should be done your way, after that you really know a lot more and realise not everything should be done the way you want it to be.

Same like Friday deployments. First time you always deploy on Friday until you deploy that bug and you weekend gets destroyed. You never deploy on a Friday again. Until you discover testing and CI which makes Friday deploys trivial again. (maybe until the next time it breaks?).

<comment><USER13> That's a good observation. I've also worked at organizations where the policy pendulum swings.

For example, "Gotta release code quickly" to "quick is good, but all code must have unit tests and rigorous code reviews" to "gotta be quicker, can't always be holding things up because of a rejected code review!"

I've also worked places where that didn't happen because management, and the engineering culture, were strong.

</comment></comment><comment><USER14> Language is basic stuff, but hard to do well all of the time. This is a great reminder for the way our language and questions can affect the outcome of work.

The only thing that I couldn't help thinking, at the end, is that the senior engineer gives up potential conflict around the language (which it seems to be known may be difficult to maintain) in order to empower the junior engineer to own the decision. However, I get the feeling that this wouldn't be best for the business/team in the real world. In the real world, the question might be posed "What would the perl language give you that language X wouldn't, for this problem?"

</comment><comment><USER15> The article is excellent, and the way it suggests to communicate is great. I'm certainly taking notes. As a team lead myself, I've screwed up on this more than my share of times. Within a team, these advises are gold.

At a higher level though, I can't help but feel our industry is taking so long to mature because everyone has to keep making the same mistakes over and over and we don't learn from history.

Conversations often go like:

Engineer A: "I'm going to do XYZ".

Engineer B: "Hmm, we've tried XYZ, it exploded in our face"

Engineer A: "I've had experience with XYZ on my side project/little startup, it works fine!"

Engineer B: "Yeah, it works at first but eventually problems arise and it will blow up"

Engineer A: "Whatever, I'm doing it anyway"

<6 months later>

Engineer A: "See, it worked fine!"

Engineer B points at the beggining of some problems

Engineer A: "That's normal!"

<6 months later>

Engineer B: "Welp, as expected, it all went to hell. Where's Engineer A?"

Engineer C: "Oh, Engineer A got bored and quit/joined another company. Looks like you're inheriting it, Engineer A!"

Repeat...hundreds of times...for everything.

<comment><USER16> Thanks, glad you liked it :-)

There's definitely a strong bias in our industry towards "greenfield" things - everyone wants to do the fun, exciting, initial work. But once the new shiny coating has worn off there's a ton of really hard work to do with resilience, robustness, scaling, etc. Too many people just give up at that point, get bored, and do something else.

</comment></comment><comment><USER17> Senior engineers are, by definition, survivors in the engineering trade. We weren't driven out to open pizza shops or become midlevel product managers.

Most of us senior engineers have made our share of mistakes. We've had people help us understand and correct our mistakes. "rollback!"

The job of any engineer is to work ourselves out of every job, so we can do other jobs.

Our job as senior engineers is this: give junior engineers the power to become senior engineers. Help them use their fresh-out-of-school knowledge to solve real problems in sustainable ways. When they make mistakes, don't punish them. Instead help them correct the mistakes, learn from them, and move on. They will have to live with the consequences of their decisions

Help them gain perspective on broad systems and industry issues. In this article's example, that might be by asking the question "PERL, huh? Maybe you should take a quick look at job openings for PERL folks. When your system becomes totally mission critical you'll want to hire somebody to help you." You could say the truth: "PERL sucks, I know because I hacked PERL for three years when I was a wee little lad." But saying that doesn't help somebody beccome a senior engineer.

This all is especially true when we have the privilege of following the rule, "never hire anybody unless they're smarter than you."

<comment><USER18> "Help them use their fresh-out-of-school knowledge to solve real problems in sustainable ways."

I always wonder why waste the best and most creative years of young people at school teaching them things that they will not use in real world work environment. Is it not much better if the novice programmer enters the work environment without going to school first and learns the job by doing?

I especially object to the academic way of teaching a subject which requires the student to learn the whole field before issuing him a license to practice. This is like teaching someone who wants to tend to his small garden the entire science of botanics and require him to know all the plants in the world before allowing to play in his backyard garden.

Sorry for off-topic comment.

</comment></comment><comment><USER19> My thought is that really good juniors need to be treated as less experienced peers in most (but not all) interactions. A smart, hard working, capable programmer is going to need to feel respected. So the number of times 'junior' and 'senior' get thrown around here is problematic.

Which is not to say that there shouldn't be clarity in terms of who gets final decision making or that there is no hierarchy at all. But in most discussions you should treat them as a smart person who probably has good ideas that should be respected. Otherwise why did you hire them? I'm not _quite_ getting that tone from this article.

<comment><USER16> I completely agree, and in writing this post it was one of the pieces of feedback that came up. Ultimately we decided to go ahead with the verbiage because it would be the most easily understood, but the _message_ here is not about junior vs senior or organisational hierarchies. It's about peers and interactions between more and less experienced persons.

I interact with people daily who are far more "senior" to me on specific topics, and I to them on other topics.

</comment></comment><comment><USER16> As the author of this blog post I'd just like to say: 1\. Thank you everyone for the positive tone of comments 2\. Thank you for the feedback and perspectives :-)

</comment><comment><USER20> There are some very good points here, but letting the junior go ahead and use Perl (or any language / platform that the company doesn't generally use or support, and that there's no overwhelming benefit to taking on for one small improvement), just to avoid discouraging them and helping them grow? Definitely not.

I do realize that part of becoming a senior engineer is being able to make and learn from mistakes like this - that sometimes loose/absent leadership is the crucible that makes them. But at this point the hypothetical senior is allowing unnecessary complexity into things, it's verging on outright dereliction of their bigger picture duty to keep things reasonably homogenous and maintainable. Mentoring juniors into seniors is something that a good senior engineer should spend quality time on, no doubt, but it's far from their primary function - and you certainly don't let your system descend into unmaintainable multiplatform anarchy for the sake of doing so in an optimally non-discouraging way. There's still always going to be a lot of blocking of dumb ideas - it comes with the territory, and not all ideas are salvageable - it's harsh but sometimes you need to hear that to grow, too.

Not every junior is a senior waiting to blossom, either - some are just solidly junior and not really equipped with the curiosity or drive to progress no matter what you do. Yes, there's room for bias to seep in here, but still, there's little sense in trying to make seniors out of devs who just aren't cut out for it (some of whom are still solidly dependable pairs of hands for day to day code slinging).

</comment><comment><USER21> Excellent points. I'd like to think my job is making sure everyone around me ends up better than me.

<comment><USER22> I have landed on the phrases rising tide vs shooting star. Early in my career I wanted to be the shooting star, the bestest most productive person there. Now that I'm older I want to be a rising tide that raises all ships. Did you experience a similar transition, or were you always a rising tide type?

<comment><USER21> Yeap. I was the most productive in the room and it was becoming a problem. Others simply couldn't keep up and it was slowing us down on the long run rather than making it go faster and better. I was disappointed with the improvements others in my team were making and started wondering what I could do to make that go better.

I realised that one of the freedoms I had early in the career was the freedom to experiment and fail. This taught me a lot and turned me into the software engineer I am today. I realised was robbing them of that valuable experience. I am more ok now with letting them pick a sub-optimal solution, as long as it doesn't directly affect the business.

I like the term. I am going note that down. Thanks!

<comment><USER22> Apologies, this kind of became a novella.

>Yeap. I was the most productive in the room and it was becoming a problem. Others simply couldn't keep up and it was slowing us down on the long run rather than making it go faster and better.

It was a problem for me too, but in a different way. I feel like I was resented by my teammates for being a shooting star. I was younger then so there's a strong possibility I was hot-dogging it a bit unintentionally. I was definitely getting first pick at all the coolest projects, which of course I enjoyed.

I'm not entirely confident that more is being accomplished now that I'm a rising tide. Statistically I think there's some evidence that isn't the case. For example, there's Price's Law which states that half the productivity is completed by the square root of the people in the domain. The following is really rough math just to put some plausible numbers on it... So if there's 9 people on the team, I was one of the 3 people doing half the work, and the other 6 did the other half of the work. That means I was individually accomplishing 16.6% of the work, and the 6 were each accomplishing 8%. If by being a rising tide my individual productivity is cut in half, then the other 6 people have to improve their individual productivity by nearly 3% of the total work, or 35% over what they were doing before. I have no confidence that the other people have improved their productivity by 35%. If I could reliably improve worker productivity by 35%+ I'd be a lot wealthier. However, I do believe people enjoy working with me more, and consequently I have a better experience at work.

</comment></comment></comment></comment><comment><USER23> > Being a senior engineer means realizing not everything should be done the > way you want it to be.

A real corollary is, you really don't know as much as you think you do sometimes.

<comment><USER3> I think the point (something I struggle with personally) is more that even if you do happen to know the ideal way to do something, it doesn't need to be done that way, and letting someone junior figure out how to do it their own way can still be sufficient. That has the added bonus that the junior will learn much better than if you were to dictate their path exactly.

Of course, sometimes letting a junior engineer do something their own way can fail to be sufficient entirely; knowing your junior engineers and their capabilities well enough to know how much rope to give them on a particular task is yet another skill to be honed.

</comment></comment><comment><USER24> I normally use the - Half way there approach, trying to explain in detail as to why - realizing well that there are my biases at play but in the world of agile and fast moving changes, it is difficult to justify time for experiment and see what happens.

But then I look at author's claimed non-bias approach. The perl conversation is still the "half way approach". If a particular language is not used frequently it is easy to lose track of changes and new features/issues popping in.

Then there are company coding standards. Sometimes I look at a project where majority of the stuff is written in Java while a particular component is in C++. A lot of time the answer is, it was "easy to do". Even with documentation, it only leads to issues.

</comment><comment><USER25> This methodology is an effective way to leverage the developers in your team. It does rely on a certain discipline that juniours often don't have to drive and refine an exploratory solution into production code.

It requires curiosity, an openness to measuring and validating an idea and then driving it home. This sounds a lot like what I'd want from a team lead; but as someone pointed out some juniors aren't destined for leadership either.

I love the idea and have made it work, a lot less though than desirable.

</comment><comment><USER26> This article works in theory, not so much in practice. The theory is fine, it's the reality of working in the real world where it is less fine. I think the author needs to rethink his approach in the context of a limited budget.

If your goal is to grow your junior engineers at any cost, great article. If your goal is to balance the benefit to the company/project with growing a junior engineer, less great.

And perl? For production code? I love me some perl, I really do, and I've written production code in perl (but it took 2 complete rewrites before I figured out how to do maintainable code in perl). I would not let a junior engineer anywhere near perl for production code.

<comment><USER27> It takes creativity to carve junior-level tasks out of a real backlog. But it can be done. You just need to have buy-in from your manager. They hired the junior not expecting them to be productive right away. What they usually don't realize is that they need the seniors to spend time mentoring them in order for them to ever be productive. If they can't allow time for that then it's just not a good place for juniors.

<comment><USER16> Indeed. As your business grows (it _is_ growing, right - that's why you hired more engineers?) you need to scale yourself. If you don't, eventually you'll become the bottleneck.

Following this process has a definite cost up front. You have to give up doing some work in order to help someone else grow and learn the system. But once they do, your business now has an extra version of you. Not as experienced, but hopefully still pretty good. Let that person handle more work, trust them, and hire another person. Rinse and repeat.

The truth is that when you get more senior, you almost have to stop focusing solely on knocking out code or fixing problems yourself, and commit to helping others learn how to do it.

If you become the bottleneck, the business will start to work around you and then you will become irrelevant.

</comment></comment></comment><comment><USER28> Nice this is just what I need, as I am being asked to take on more senior responsibility

<comment><USER16> You should definitely make sure this - the teaching and growing of other engineers - is part of your responsibility. It's the only way to scale yourself up.

</comment></comment><comment><USER29> In one of the YC videos someone says that in Silicon Valley when you suggest an idea people think about what would happen if it did work rather than all the possible failure modes. From that perspective, the article starts with failure modes and ends up with success modes. YC startups tend to be young people, I suspect because they don't have "experience." While the junior/senior dichotomy is one aspect, the article is even more interesting when framed in the context of success-mode thinking versus failure-mode thinking and how to take effective action.

</comment><comment><USER30> This feels like fundamentally the same problem as the whole big company inertia/innovator's dilemma situation. There's value in known-entities, but also a lot of value in trying to reinvent the wheel now and again.

Another problem is it doesn't leave as much room for people to learn from mistakes as companies grow larger and larger. You need wiggle room to get dirty for that to happen.

</comment><comment><USER31> In my experience, typically the junior's suggestion can possibly be done. However it often would be complicated to implement well, and I would be concerned how long it would take the junior to complete (if they would complete it satisfactorily at all). So, I agree with the suggestions that it is often more productive if a senior engineer suggests appropriate work.

<comment><USER31> Of course, I'm sure this highly depends on the individual person, the type of work, and the project itself.

</comment></comment><comment><USER32> With the landscape constantly changing you could argue if we take too much weight on senior perception. For example: "Those 10GB of data would take up too much space, it's BIG DATA, we can't afford that!" ... Junior: We could use my laptop, it has 2 TB.

<comment><USER33> I don't think any competent senior engineer would say that backups are too expensive without looking at the actual cost first.

Your example doesn't work though - using someone's laptop is likely not secure, reliable, and definitely not appropriate for any compliant data. It really doesn't meet the actual requirements of a true backup.

My backups sit on disks that supports disaster recovery, are proven to be reliable, and meet all compliance requirements for the data we store.

</comment></comment><comment><USER34> Next level: look into ways of doing hot backups.</comment>


Palantir and Investors Spar Over How to Cash In - <AUTHOR> http://www.wsj.com/articles/palantir-and-investors-spar-over-how-to-cash-in-1451439352 <comment><USER2> Too bad the bulk of the article is behind a paywall.

One of my friends who got offers from Palantir turned it down, as she wasn't convinced that the stock that was part of the pacakge would be worth _anything_ , while the recruiter insisted it was worth as much as her Facebook offer's stock.

In light of this she made the right choice.

<comment><USER3> Select the title. Right-click, search.

[https://duckduckgo.com/?q=Palantir+and+Investors+Spar+Over+H...](https://duckduckgo.com/?q=Palantir+and+Investors+Spar+Over+How+to+Cash+In&t=ffcm&ia=news)

[http://www.nasdaq.com/article/palantir-and-investors-spar- ov...](http://www.nasdaq.com/article/palantir-and-investors-spar-over-how-to- cash-in-20151229-00453)</comment></comment>


Intel Releases the Arduino 101 Source Code - <AUTHOR> https://blog.arduino.cc/2016/04/21/intel-releases-the-arduino-101-firmware-source-code/ <comment><USER2> Intel has been making some very... unusual SoCs recently. As I understand it, this one has a 486-like core at 32MHz. Too bad it's not PC-compatible, because something of that size, performance, and power-consumption would make a great retro PC to play with old software and experiment.

<comment><USER3> It would!

The Curie is a wonderful little SoC. The built in BLE, Gyro and Power management make it perfect for much more than a beefy UNO clone.

After seeing so much press from Lady Gaga to the X Games, I got a few 101s and started deving. Got to the point I wanted to get a few boards made with it. Turns out the only way a private individual can buy a Curie chip is attached to the 101 board.

Perplexed, I asked a representative a few days ago at a trade show why they were so scarce. It appears Intel, or rather the division responsible, isn't making the individual module available for purchase. That is unless, and I quote, "Your name is Oakley or similar".

Which makes me a little sad as their brand messaging calls for a "Makers Movement" but doesn't give us the products they have developed for it.

One thing I find particularly amusing is the 101's step counter tutorial featured on their Maker page[1]. A 7cm x 5cm pedometer with a battery management circuit that isn't mapped out on the board.

Either way, I hope they release this wonderful little package they have developed.

[1] [https://www.arduino.cc/en/Tutorial/Genuino101CurieIMUStepCou...](https://www.arduino.cc/en/Tutorial/Genuino101CurieIMUStepCounter)

<comment><USER4> > After seeing so much press from Lady Gaga to the X Games, I got a few 101s > and started deving. Got to the point I wanted to get a few boards made with > it. Turns out the only way a private individual can buy a Curie chip is > attached to the 101 board.

> Perplexed, I asked a representative a few days ago at a trade show why they > were so scarce. It appears Intel, or rather the division responsible, isn't > making the individual module available for purchase. That is unless, and I > quote, "Your name is Oakley or similar".

This has been my biggest frustration with Intel. They will not sell their solder-on chips to distributors for some reason. I feel like they could make some major inroads into ARM-dominated markets if they made getting their products much easier. After all, how are you supposed to become an "Oakley" if you can;t get off the ground in the first place? Plus, if you get there on ARM chips, what is your motivation to suddenly switch to Intel once you are big enough for them to give a shit about you?

<comment><USER5> From what I can tell, the whole thing is basically a PR stunt. Intel are less interested in actually displacing ARM than they are in generating lots of publicity about how they're part of that hip new IoT thing. They've funded an entire TV show called America's Greatest Makers to try and associate the Intel Curie with wearables and the maker movement, done a whole bunch of high- profile tie ins with the X Games, Lady Gaga, Arduino, BMW, etc but they've no interest in actually making it available unless it'll give them publicity.

It seems to be impossible to find official power consumption figures for it anywhere either, and the documentation is lacking in general.

<comment><USER6> The Curie is a nice little SOC and it will be available to purchase. If you read the press release associated to the recent internal reorg at Intel they mention IoT as one of their focus markets.

</comment></comment></comment></comment></comment><comment><USER7> It's not released under a free software license. What a shame.

<comment><USER8> Which license?

<comment><USER9> It appears to be the "Intel Software License Agreement". As near as I can tell, it's for inspection only?

<comment><USER10> Website has the wrong license. Source itself all seems to be 3-clause BSD.

<comment><USER11> This is the original BSD license, modified by removal of the advertising clause. It is a lax, permissive non-copyleft free software license, compatible with the GNU GPL.

This license is sometimes referred to as the 3-clause BSD license.

The modified BSD license is not bad, as lax permissive licenses go, though the Apache 2.0 license is preferable. However, it is risky to recommend use of "the BSD license", even for special cases such as small programs, because confusion could easily occur and lead to use of the flawed original BSD license. To avoid this risk, you can suggest the X11 license instead. The X11 license and the modified BSD license are more or less equivalent.

However, the Apache 2.0 license is better for substantial programs, since it prevents patent treachery.

[http://www.gnu.org/licenses/license- list.en.html](http://www.gnu.org/licenses/license-list.en.html)

</comment></comment></comment></comment></comment><comment><USER12> Is there anything that's still closed-source on the board and if so, what?

<comment><USER13> well this is not OpenSource, they just released the code.

<comment><USER6> Here is a link to the board design files.. everything is open source (apart from the processor itself)

[https://www.arduino.cc/en/uploads/Main/Arduino101RefDesign.z...](https://www.arduino.cc/en/uploads/Main/Arduino101RefDesign.zip)

</comment></comment></comment><comment><USER14> In the meantime if you want to play with a small solution there are solutions like the Mbientlab MetaWear that give you a nice small package and are approachable as a maker.

[https://mbientlab.com/metawear/](https://mbientlab.com/metawear/)

</comment><comment><USER15> I'd rather use eChronos or seL4. They're provable and free software.

Intel call their thing an RTOS; it's bullshit. They lack proof of hard realtime.

<comment><USER16> RTOS means a bunch of things; hard realtime is a very specific subset of that.

</comment></comment><comment><USER17> Interested to see that the download contains 3 distinct GCC cross toolchains: x86, ARC, and ARM.

Um, Wow!

</comment><comment><USER18> Why am I not surprised. I guessed this months ago and told people to stay away from it.

It was a closed-source blob masquerading as open source hardware (under the Arduino name).

Good thing the people at my hackerspace understood what I was saying, and bought none.

<comment><USER10> It's a bug on the website. The source itself is all 3-clause BSD.</comment></comment>


Steve Wozniak says he's leaving Facebook - <AUTHOR> https://www.usatoday.com/story/tech/2018/04/08/apple-co-founder-steve-wozniak-says-hes-leaving-facebook/497392002/ <comment><USER2> I'm not a famous icon for an industry but I _never_ signed up for Facebook. I'm really enjoying not getting anymore looks of confusion or hostility when I say I don't use it. And the occasional 'I told you so' is pretty sweet too.

I just wish the public at large, or these icons leave, would acknowledge the more general problem beyond the simple partisan politics driving the flight from Facebook. Centralization is always bad. Walled gardens are always bad. The create the incentives and pressures will inevitably lead to the problems people blame Facebook for.

But nope. These same people deleting their facebook accounts are still using gmail, still using Apple's app store, and switching to using Discord or Slack or the like to talk and organize.

<comment><USER3> >But nope. These same people deleting their facebook accounts are still using gmail, still using Apple's app store, and switching to using Discord or Slack or the like to talk and organize.

I get what you're saying: Google still reads everything sent/received through gmail, Apple still provides very little transparency over the appstore etc

That all said, I still use these services because they actually provide usefulness to me. Gmail has been my persistent email provider for a decade now. If I didn't want a free email service, I could get a domain name that looks professional enough and set up my own email server, but I can't be bothered to maintain it when I don't use email that much. I could stop using the Play Store, unlock my bootloader, get a custom ROM with privacy built in, compile FOSS apps and all but it's far too convenient for me to search for an app's name and hit download. I've weighed up the tradeoffs between privacy, security and convenience and with the services you've mentioned, convenience outweighs the negatives.

However with Facebook I just don't see the _point_ anymore. To begin with I was fine with the lack of privacy. I knew that anything I post would be analysed by a FB server and a profile built up on me for targeted ads, which was a valid tradeoff for a free service that gave a lot of functionality: pages were great for seeing what bands were doing, private groups were great for shit-talking with people, events were and still are one of the best features FB introduced, and I could see an unfiltered stream of posts from friends which was essentially uncensored. Now there's better services for all of those features (except for events). Facebook is a cluttered mess of spaghetti code which slows down any device it touches and has features nobody uses than features they do. Messenger is completely useless to me since not only is the app a mess, but the privacy implications of having all my messages read by Facebook are too severe. I never check my news feed anymore since FB started filtering what people see. In the end, all I use it for nowadays is events and a couple of private groups. And then of course there's the increased the level of snooping they do on your private life, to the point where severe world changing incidents like Cambridge Analytica are inevitable.

I spent a few days of last week writing a script to purge everything I've liked, commented, and posted on Facebook. I would have left it at that if I only had issues with Facebook's lack of privacy of its users, but since I just have no use for the service anymore I'm going to be deleting my account also.

It's a shame, because Facebook could have been an incredibly useful and reasonable service if they didn't expand as rapidly as they did. But it is no longer useful to me at all, and a lot of people I've spoken to about this say the same: it's no longer a website with any novel purpose, but one they keep using because everyone else is on it and there's nowhere else to go.

<comment><USER4> Small correction: Google stopped reading emails for ad targeting about a year ago:

[https://www.theverge.com/2017/6/23/15862492/google-gmail- adv...](https://www.theverge.com/2017/6/23/15862492/google-gmail-advertising- targeting-privacy-cloud-business)

Obviously they're still in that system and at least being parsed for spam filtering, but not for targeting.

<comment><USER5> Not specific ad targeting (what ever that means). Every other use I am sure is full speed ahead. Machine learning, group ad targeting, prediction algorithms for google assistant, etc. I have used gmail for a long time and recently my employer switched over. Got me really thinking about alternative ecosystems but still have not made any big changes.

</comment></comment></comment></comment><comment><USER6> For all the reports of people leaving and constant breaking scandals, unfortunately, the actual damage to Facebook still seems to be negligible. They've been confidently informing investors that their stock price is ok and membership is rosy.

If Facebook comes through all this rather unscathed then it reinforces that these big companies just _don 't need to care_. It also says much about the values the stock-market supports.

</comment><comment><USER7> I honestly don't know why Facebook (the tool in this problem) is getting more flack for this then the candidates who used the tool to do the damage.

Can we do the same thing for gun companies, how about death in general? It wasn't X's fault, he used a remington (tool) to kill someone but really it's Remington's fault, their CEO should go to jail..

Next we'll start blame Amazon for being the company that transporting the problem.

<comment><USER8> I have come to believe the biggest mistake Facebook made is not hiring the right lobbyists.

The disproportionate attack on Facebook versus, for example, Experian is stunning.

<comment><USER9> You might be right to believe that Facebook's PR team is weak or that Experian's practices are bad, but the Experian comparison isn't stunning. Experian's name recognition is nowhere near as strong as Facebook's and it makes the potential loot for journos less interesting.

<comment><USER8> A large part of a solid PR team's job is to cultivate relationships with journalists so when situations like these arise, they feel compelled to cover the issue in a more nuanced and educated manner. I don't mean to say the PR team has to strive to spread lies or dishonesty, but rather be able to get your company somewhat fair coverage. I don't think that is happening.

I'll go a step further and argue that for a company like Facebook, you should have a dozen folks whose job is to simply come in everyday and think about the possible attack vectors from the PR side. And then you work backwards from the worst case scenarios of each to begin addressing the issue from various sides (engineering, BD, Corp dev etc), ideally long before it plays out.

To give you an example, google PR for a long time has been super aware of getting caught in a media tsunami charging it for being a monopoly. My hunch is that every public speaker representing google has been made aware of this and is provided guidance. For example, you won't find google engineers talking at big data conferences even joking about world domination. Instead, in public, google underplays its larger ambition to err on the side of caution.

</comment></comment></comment></comment><comment><USER10> Just an aside: I've seen several people lately get a lot more interested in leaving Facebook when they realize they can stay on Messenger while deactivating their Facebook account.

<comment><USER11> ...which is dangerous, because it makes them rather _less_ likely to leave in the future, while giving them the satisfaction of having "left."

<comment><USER12> These people believe the have left?

<comment><USER11> Yes, otherwise why would they 'delete' their regular facebook?

</comment></comment></comment></comment><comment><USER13> Funny thing is that you never say you're 'leaving' Google. This is the difference between Search(AI/ML/NLP) and social media

<comment><USER14> I'd say the difference is how essential your user account is to the service. You might say you're "leaving Youtube". You'd definitely say you're "leaving Gmail".

Which touches on the point that saying that you're "leaving Google" is unclear because there's a huge family of products and services that you might mean.</comment></comment>


Facebook puts bounties on bugs in the D programming language implementation - <AUTHOR> http://firstname.lastname@example.com#post-l65mvq:24du0:241:40digitalmars.com <comment><USER3> The author of the post also had a Reddit AMA recently, related to Facebook's usage of D: [http://www.reddit.com/r/IAmA/comments/1nl9at/i_am_a_member_o...](http://www.reddit.com/r/IAmA/comments/1nl9at/i_am_a_member_of_facebooks_hhvm_team_a_c_and_d/)

Among other things, he wrote the book "The D Programming Language".

<comment><USER4> I believe you're not very much into C++, I mean Andrei is a real celebrity here [as well] ;)

</comment></comment><comment><USER5> Google supports Go. Mozilla supports Rust. Facebook should actively support D.

<comment><USER6> Looking back over the D forums, D implementers have been promising to support shared libraries since at least 2006, and as far as I can tell, none of the major D compilers support it yet. D is a very nice language, but without shared libary support in Linux or Windows, its use to me as a low-level alternative to Python or Lua is limited.

Go clearly is interested in static-only compilation, and they've said as much. Rust is still too alpha to use for serious projects, and to be frank I find it carries much of the complexity that turns me off from C++ (I _really_ wanted to like Rust).

Meanwhile, I've found Nimrod can happily handle shared library support, meaning I can easily make nice extensions for Python and Lua. Nimrod is just as fast as D, and probably a bit faster than Go and Rust. Syntax is very nice for Pythonistas, and it has a very full standard library.

I've also noticed that Nimrod is getting some very good exposure here on HN, and people smarter than I am are starting to play around with it (in addition to the people smarter than I am who invented it and brought it to this level).

In the end, the only new low-level language without big company support may turn out to be the winner here.

<comment><USER7> > Rust is still too alpha to use for serious projects, and to be frank I find > it carries much of the complexity that turns me off from C++ (I really > wanted to like Rust).

Could you elaborate? I personally think that Rust carries no complexity that we didn't need to get the job done, and we're still simplifying the language (for example, removing conditions and glob imports), but I'm certainly open to hearing other ways that the language could be simplified.

> Nimrod is just as fast as D, and probably a bit faster than Go and Rust.

I think that for numerics all four languages will be roughly on par (although Go will be a bit slower if you're using 6g/8g, as they don't do much optimization), but for memory management the performance characteristics are quite different. Rust doesn't rely on garbage collection or reference counting for safe memory management, unlike all the others (although you can opt out in D, at the cost of safety). So I don't think you can really make an unqualified statement like that in all cases.

<comment><USER6> >Could you elaborate?

A major source of complexity, in my opinion, are the different pointers: owned pointers, managed pointers, borrowed pointers (mutable and immutable), each with its own syntax and rules for use. And all three seem to be everywhere. I actually understand pointers in C (mostly!), yet I struggle to remember all the use cases for pointers in Rust. Here's the tutorial on just borrowed pointers: [http://static.rust-lang.org/doc/master/tutorial-borrowed- ptr...](http://static.rust-lang.org/doc/master/tutorial-borrowed-ptr.html) I'm sure I could understand learn the rules given some time, but now that I've played around with D and Nimrod, I'm wondering why I should. I can get excellent performance without using pointers, yet I can access a pointer if I absolutely need one.

>So I don't think you can really make an unqualified statement like that.

I agree that unqualified statements about the relative performances of language implementations are tenuous, and so I retract that statement. But it's clear that Nimrod can reach ballpark C++/Rust/Go speeds, even without GC specifically turned off, based on both my own usage and this benchmark:

1\. [http://togototo.wordpress.com/2013/08/23/benchmarks-round- tw...](http://togototo.wordpress.com/2013/08/23/benchmarks-round-two-parallel- go-rust-d-scala-and-nimrod/)

Now, it's quite possible that we're not getting optimal performance out of Rust because we're not writing idiomatic Rust, but this hurdle is at least partly a function of my first point.

EDIT: I should add that I think Rust may well find itself in a very strong position among systems and embedded programmers, given the fine control and safety it offers. But for your average programmer just looking for a faster language to use when Python or Ruby won't suffice, Nimrod (and D with shared library support) is a very nice alternative.

<comment><USER7> > I'm sure I could understand learn the rules given some time, but now that > I've played around with D and Nimrod, I'm wondering why I should. I can get > excellent performance without using pointers, yet I can access a pointer if > I absolutely need one.

Because they let you avoid garbage collection and data races while remaining safe.

If you're just starting to use each language, then having just one, globally garbage collected type, will seem to make everything simpler. And benchmarks of numerics will show that hey, it doesn't seem to matter what your memory story is. But in my experience those who have struggled with garbage collection pauses or data races come to appreciate the ability to declare the ownership semantics at a fine-grained level. Large, production-quality, performance-critical software in Java, for example, very frequently starts running into issues with the garbage collector. And I don't think I need to go into the headaches of sorting out data races.

Last I looked, Nimrod in particular loses all memory safety once you share objects between threads. (I hear this is changing though; I'm interested to see what they come up with.) Go loses some memory safety around maps and slices if GOMAXPROCS>1\. D remains memory safe in @safe code, but at the cost of concurrent, stop-the-world garbage collection. None of these languages offer support for avoiding data races at compile time. Those decisions have real costs (as well as benefits; they're all tradeoffs).

It's very easy to brush off features like safe manual memory management with "I don't need that feature in some other language, why would I need it here?" But everything you've posted has not indicated any understanding of _why_ Rust has smart pointers. If you think GC, data races, or safety are not worth solving at a language level (which, to be clear, is a position that reasonable people can take!) then argue that instead of handwaving around pointer type complexity. I don't mind if you like Go/Nimrod/D better than Rust—they're all fine languages and I have great respect for their creators—but be informed with your criticisms.

> But it's clear that Nimrod can reach ballpark C++/Rust/Go speeds, even > without GC specifically turned off, based on both my own usage and this > benchmark:

This is a perfect example of how single benchmarks can be misleading. First of all, that benchmark was found to be mostly testing the performance of the random number generator, which is cryptographically secure by default in Rust and not in other languages. Second, that benchmark probably never even triggers the GC in any of the languages. It's totally numeric-bound. Try a benchmark of arena allocation, for example. Or compare max pause times.

<comment><USER6> >Because they let you avoid garbage collection and data races while remaining safe.

Yes, and as I wrote, I think there's a very significant place for Rust among embedded and systems programmers. But for someone who's just looking for a fast alternative to C, Nimrod has been quite nice.

> ...handwaving...handwave....

I was trying to give you the specifics you asked for, not handwave. I don't think I could have answered your question any clearer. And I don't think pointing out the complexity inherent in 3 different pointer types _is_ handwaving. It's a very specific statement.

>...but be informed with your criticisms

You asked me to elaborate on my criticisms, and then you criticize my criticisms? Look, I understand that Rust is your baby, and apologies if I've treated it unfairly, but why ask for why I found Rust complex if you're just going to discount it?

To be clear, I'm talking from the perspective of an intermediate-level programmer, with a couple years of experience, who taught himself to program in his 30s. I can certainly see the value of the design choices you've made for an expert programmer like yourself, with many years of experience, who can benefit from the kind of fine control Rust provides. But to someone like me, who's just looking for some caveman-level (but very significant) speedup from Python, and something I can call from Python, Nimrod has proven more than adequate and a whole lot easier to use than C/++.

>This is a perfect example of how single benchmarks can be misleading

So to be clear, are you saying Nimrod can't reach ballpark C/Rust/D/Go speeds?

EDIT: Wow, I've made comments critical of Apple and Google and not gotten as many downvotes as I'm getting here. But just to be clear, I'm not at all being sarcastic when I say "expert programmer". I'm aware of that pwalton is a very talented programmer and language designer.

<comment><USER7> I don't disagree with you that if you're looking for a fast language that integrates well with Python, then Nimrod may be a great choice. Pervasive GC certainly makes the language easier, with a performance cost that can be totally reasonable in many scenarios.

I do think that there are applications for which GC will always be slower than alternative systems such as arena allocation that Rust provides safe support for. (As an extreme example, the binary-trees shootout benchmark.) A language that does not provide safe manual memory management will lose in either performance or safety for these applications. I prefer not to make statements like "GC is slower than manual memory management", since there are many applications for which this is not true (for example, the level generation benchmark). Rather, I'd say that manual memory management provides a level of _control_ that can allow skilled programmers to write applications that outperform those in languages with a "one size fits all" memory management scheme.

<comment><USER8> you may choose to go the C++ STL way for a wildly usable subset.

what I mean is this - we all knew that the rb tree implementation of stl wasn't that hot, neither was its sort (note - this is 7 years back), however that library enabled a c++ project to be jumpstarted in significantly less time than building everything from scratch.

as a language creator, you may not want to touch the design choices you made and make it more "accessible" for a simpler use case - as the previous poster wrote, upgrading from python.

however, you could potentially expose an accessible subset of the language as a standardised library. of course, this may lead to language rust (!!) at scale, but I would argue that its a good problem to have then.

I would be in your target market then - significantly better than python, inherently memory safe, easy to use, worse than c++.

<comment><USER7> > what I mean is this - we all knew that the rb tree implementation of stl > wasn't that hot, neither was its sort (note - this is 7 years back), however > that library enabled a c++ project to be jumpstarted in significantly less > time than building everything from scratch.

It's not that simple. You can't start with a language that lacks memory safety and add it later. Nor can you start with a language that uses global concurrent GC and try to reel it back in without losing safety. C++ is in the former category and I think there is no way for them to add memory safety at this point. Languages in the latter category really have no way of going back on global concurrent GC; the entire ecosystem is built around garbage collection.

Safe manual memory management is balanced on a very delicate precipice. You must carefully design your language around it for it to work. It is not something that can just be added later, like a faster red-black tree algorithm.

<comment><USER8> actually - I'm proposing the other way. In fact, what you just wrote above (about the RNG being cryptographically secure in Rust) makes me really, really, really excited to try out the language.

For a large portion of my career, I was building EDA (silicon design automation tools), so I have worked with trying to optimize one bit at a time with unsafe pointers biting my back constantly. IMHO partitioning an EDA netlist is a NP-hard problem, so there have been lots of very interesting startups that tried to solve that problem and failed.

I now work with Ruby and Python.

Trust me I do know the value of everything you wrote: I am just wondering - requesting even - if there is a way to bridge the "accessibility" gap. Is there a way (anything - a "quickstart" library or a safe-but-suboptimal- subset, etc.) that enables me to start hacking with Rust in a matter of minutes ?

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> Good for them. I was a bit surprised by the amounts though. Is it enough to motivate?

Also, I notice the BountySource site is blank without javascript on. I'm not one who demands that every site work w/o it. But, they should at least show their banner and message that it needs to be turned on. The noscript tag is twenty years old, no?

<comment><USER10> I noticed this too. But I wouldn't single them out. A _lot_ of sites I visit has problems without js. It's even worse when the site isn't blank - <USER2> things just doesn't work or show as they should...

</comment></comment><comment><USER11> And when can we put bounties on Facebook bugs?

<comment><USER12> Good question. What Facebook bug would you put a bounty on?

(ps I work on Facebook platform so this is not an idle question)

<comment><USER11> Wish I would have seen this earlier. I run a game on Facebook platform and we oftentimes have bugs that you guys likely consider corner cases because they only affect a very small subset of your users.

These tend to happen to our heaviest users who account for a large portion of our revenue. These power users either use obscure edges of the platform or act in unique ways to other users.

For instance, many of our top players have been completely unable to access their friends list for the past 2 weeks now. Playing with friends is a hugely vital component of our game and this bug makes it completely unusable for these players (many of whom have been active, paying users of our game for several years now).

See Bug 1420634571501183 (recently marked as a duplicate of 681781621832581 which I have no way of verifying since that user didn't post an error message and was using FQL rather than the graph api.. I'm hoping this bug doesn't just get lost now that it's been marked as a duplicate).

This isn't the first time we've had a bug like this happen. Allowing developers to put a bounty out would be a strong signal that it's an important bug to fix. It's not necessarily about the bonus revenue to Facebook, it's about giving developers a way to get truly important bugs prioritized.

Or heck, being able to buy 5 minutes of a real Facebook engineer's time would be valuable as well.

See also:

Bug 1394861264086269 which is a bug marked as Invalid but has to do with the (relatively obscure) "Game Groups" Graph API not matching what's actually shown on the web interface.

Bugs 177435992460351 and 242967435851521 which will probably be closed in 5 months because "We are prioritizing bugs based on impact to the developer community. As this bug report has not received much attention from other developers, we are closing it so as to better focus on the top issues." even though they've been confirmed by FB just like countless other bugs I have reported over the years.

</comment></comment></comment><comment><USER13> oh another of those bounties programs... but maybe this one is different from the rest?

If you ever find any security issue don't expect to obtain a bounty from the big corps easily, and not even a "thanks". Once, the co-founder of one of the most important security companies told me "do not expect to receive a bounty without sending a minimum of 10 emails explaining the same thing in 10 different ways... average 20". It's a sad truth, and I think this means that usually legit critical security issues reports will not be properly rewarded because most people get tired quickly.

One year ago I discovered a session hijacking vulnerability on Facebook, the guy who respond my messages didn't even know what secure flag is. After asking me how to solve the bug (the solution was actually pretty simple) they never replied to me again.

With Google was the same thing: last year I found leakage of sensitive user information because of bad cookies configuration, 0 bounties 0 thanks.

Another bad experience I had with Google, but maybe a bit of topic (sorry): almost two years ago the gmail's cert changed for apparent no reason using a new CA, and it seemed that nobody else was having this issue (ie no mentions of this new cert on the web, googling the fingerprint returned 0 results) except me. I accepted this new cert on my laptop in my home; but then the "funniest" thing happened: when I connected to gmail from my university the previous cert appeared again, "it's ok.. nothing strange is happening here", but then when I went back to my home the new cert showed up again! my paranoid level went to over 9000 and immediately I connected through Tor to gmail (yup, the old nice cert was there again) and sent an encrypted mail to google's security team explaining everything, with the fingerprints and certs info, _including_ at the end of my message my pgp pubkey. One week and a half latter.. I received an email from the "security team": they replied my message in plain text, my message was quoted unencrypted (!) and they asked me how I discovered this, I told them that my browser checks for every new cert. I also told them if it would be possible to not quote in plain text encrypted mails. Then, after two days I got a new email from them, again plain taxt, and it was pretty minimalistic "We checked out and the new certificate is ok" EOF no digital signature no nothing, wtf! oh well... at least on the next day I connected to gmail in my home and the old good cert was there again :) (and the strange new cert never appeared again). A late Halloween story.

<comment><USER14> Did you even read the article? Did anyone who update you read the article?

This has nothing to do with security issues. It is to do with fixing specific bugs in the D compiler and libraries.

<comment><USER13> I did, but I think that although my examples are about security issues this is another bounty program by the same company, why would they have a different behavior?

<comment><USER15> You example is about bugs in Facebooks own application. This D bounty program is more like Facebook throwing some money around to support an Open Source project they use.

</comment></comment></comment></comment><comment><USER16> surface interpretation: they want them fixed

sneaky possible reason: recruitment strategy that's more likely to suss out the more "elite" devs

likely: my bet, a mix of both

<comment><USER10> The sneaky possibility has already begun. You just have to follow the depths of the newsgroup :) [http://email@example.com](http://firstname.lastname@example.com)

</comment></comment><comment><USER17> Maybe they'll put a bounty on getting 13-year-olds to make wall posts instead of sending self-destructing photographs.</comment>


In Technology, Small Fish Almost Always Eat Big Fish - <AUTHOR> http://www.gsb.stanford.edu/insights/technology-small-fish-almost-always-eat-big-fish <comment><USER2> Painfully close but wrong.

Big fish are almost always eaten by small fish. On the other hand, almost all small fish fail. It's the rare exception among small fish that bests a big fish. Stated correctly it sounds unremarkable because it is unremarkable. So much for "Leslie's Law".

His DEC/IBM comparison shows that he somehow stopped reading the tech press around 1990. Intel's decomposed platform ate them all and opened the door to Linux and open source. Intel still dominates servers, but on the client side has been bested by the system on a chip cpu designs licensed by the mobile vendors. The two big client OSs are of course rooted in open source (iOS is from OSX is from NextStep is from Mach/BSD, and of course Android is Linux).

EDIT: Lawtonfogle is absolutely right, so I removed the word "completely" and left "unremarkable". Good point. Also I think most small fish die on their own. Usually because they build the wrong product.

<comment><USER3> Big fish are almost always eaten by small fish. Small fish are almost always eaten by big fish. At least there's a nice symmetry to it.

<comment><USER4> _If_ small fish get eaten at all. The vast, vast majority don't. They just die.

So to rephrase what you're saying: fish that get eaten are eaten by other fish. Not quite as interesting.

</comment></comment></comment><comment><USER5> This post seems like a restatement of " _The Innovator 's Dilemma_"[1] by Clayton Christensen.

A new product that serves a market that is initially small _but growing_ is ignored by the established company. The established company is conditioned to focus on their _current_ customers' needs instead of imagining that _future_ customers of a product they don't currently make could be a much bigger market.

A Stanford prof like Mark Leslie would presumably be well-read and therefore be aware of Clayton Christensen's popular book. He should explicitly state where his thesis differs from, or is more refined than, The Innovator's Dilemma.

[1][https://en.wikipedia.org/wiki/The_Innovator%27s_Dilemma](https://en.wikipedia.org/wiki/The_Innovator%27s_Dilemma)

<comment><USER6> That was my first thought as well. This is a blatant rip off of the theory of disruptive innovations put forth by Clayton Christensen many years ago.

<comment><USER7> Or Gandhi's quote: "First they ignore you, then they laugh at you, then they fight you, then you win."

</comment></comment></comment><comment><USER8> Survivor Bias? Confirmation Bias? Wilful ignorance of the 'acqui-hire'? These and more, just take your pick.

I also like how smartphone OSes are implied to be 'small fish', when both major OSes were released by giant thunder-lizard companies, both with far more 'household name' power than IBM.

</comment><comment><USER9> Seems rather unconvincing to frame your article on "small fish" eating "big fish" with a story about big fish IBM vs the small fish of DEC and Sun. IBM currently has (according to Google) a market capitalisation of 160 billion dollars; DEC and Sun don't exist any more.

<comment><USER10> And Apple, and Microsoft, and Oracle...

I think now companies are more conscious about the innovator dilemma and they can acquire innovators before they grow and integrate or kill them into their ecosystem.

Although the innovator dilemma is real, company profits came also from support contracts, so acquiring a cheaper more innovative product will also include a big support contract.

</comment></comment><comment><USER11> Great stuff by Leslie. He is also the author of Sales Learning Curve, a framework to figure out when to ramp up your sales force.

 _Likewise, technology companies shouldn 't expect to sell their 1.0 product without undergoing a learning curve around the needed feature set, the competitive response, the right type of channel and sales rep, optimal pricing, etc. And yet, nearly every business plan I have seen shifts gears directly from Development to Sales, staffed by a growing number of experienced sales reps charged to sell their regular quota of product.

The consequence of skipping the Sales Learning Curve in a business plan is all too common: the company fails to meet the plan, sales reps are fired, eventually the VP Sales is fired, and the company has to raise a highly dilutive down round of capital to stay in business.

Leslie's prescription for success and capital efficiency is a plan that includes the Sales Learning Curve. Accept that until we're out there selling, we can't know what we don't know about the selling process. The goal at this point is to maximize runway, since you can't rush science. As my erudite partner and Harvard Business School Professor Felda Hardymon likes to instruct, "run the business like a one story whorehouse" (with no fucking overhead). Hire only two or three creative, guerilla-style reps and a VP who knows how to experiment with multiple channels.

It may take 4, 7, or 10 quarters to climb the curve. Only then, when your sales force is a profit center (with two quarters where contribution exceeds twice the sales costs) is it time to flick the switch. At this point, raise lots of capital and hire as many talented reps as you can possibly find! This kind of prescriptive framework for clearly distinguishing the phases of a company is so much more actionable than the wishy-washy approach of hesitantly adding more and more sales reps over time._

[http://whohastimeforthis.blogspot.in/2005/09/best-startup- ad...](http://whohastimeforthis.blogspot.in/2005/09/best-startup-advice-i- have.html)

[https://hbr.org/2006/07/the-sales-learning- curve](https://hbr.org/2006/07/the-sales-learning-curve)

</comment><comment><USER12> The author is leaving out the fact that the big fish are eating the small fish in acquisitions.

</comment><comment><USER13> Maybe I'm not thinking about it long or hard enough, but this article just seems kind of wrong.

Acquisition events are way more common than small-company-eats-big-company events. It's literally logically impossible for small fish to always eat big fish, because there would then never be any big fish to start with, all fish would work out to the same size +/\- one fish.

[EDIT] - After reading some more of the article it's just the title that is linkbaity/exaggerated... I made too cursory an evaluation

</comment><comment><USER14> Only if the small fish doesn't sell-out before it has a chance to become a major threat to its competitors (see Whatsapp or Instagram, for instance).

</comment><comment><USER15> "Leslie's Law" would have just a bit more credibility if someone other than Mr. Leslie himself had bestowed the label.

</comment><comment><USER16> "There's always a bigger fish" (I just had to say this)

</comment><comment><USER17> correction: In Technology, Big Fish, if they get eaten, are almost always eaten by Small Fish. Also, Small Fish almost always don't survive.</comment>


Reddit confirms $300M Series D led by China's Tencent at $3B value - <AUTHOR> https://techcrunch.com/2019/02/11/reddit-300-million/ <comment><USER2> Tencent has a meaningful ownership of American youth.

12% Snap 7.5% Spotify 40% Epic Games 100% Riot Games 100% Supercell 5% Reddit

Hollywood has also been moving in this direction, with a lot of Chinese investment in the studios, and blockbusters adding special scenes with Chinese actors and locations.

What does it mean for America when it's no longer the owner or creator of culture? It's historically one of our largest (and most important) exports. I'm not sure if that claim to fame is a net positive for the world, but the changing of this guard will certainly have a local impact.

I'm just not yet totally sure what it means, broadly.

<comment><USER3> > What does it mean for America when it's no longer the owner or creator of > culture?

That premise is no more valid today with China than it was at the height of Japan-takes-over-the-world mania.

Japan via Sony accumulated a large ownership position in US music. Sony acquired Columbia Pictures in 1989 for $3.4 billion, a huge deal at the time. Nintendo and Sega took over US video gaming from Atari. What did it mean? Nothing as it turns out.

<comment><USER4> It's very different this time. Japan was under the American umbrella of influence when it was supposedly going to take over. China is a rival and a resource-rich nuclear super power with orders of magnitude more leverage and a very different set of cultural norms and behaviors.

I don't think it will go the way it did with Japan.

<comment><USER3> Japan had a larger GDP per capita than the US from 1987 until 2000.

Inflation adjusted their GDP was nearly as large in 1995 as China's is today. They did that with 1/11th the population. China will never accomplish something that dramatic economically.

Japan held a lot more influence over the US at the time precisely because we were allies. China will never be allowed to acquire large numbers of important US companies (and vice versa), because we're unlikely to ever be allies. Japan's holdings of the US national debt back then as a % were also far greater than China's position is today.

In 1991, it was Japanese billionaires dominating the global richest 50 list. Taikichiro Mori and Yoshiaki Tsutsumi were the two richest people in the world, at $15b and $14b. That's nothing like what is occurring today, American billionaires are dominant.

In the late 1980s and early 1990s, it was the Japanese corporate giants that ruled the global economy. Today it's American corporate giants by a large margin. China's giants mostly can't leave their own borders and never will. The regressive command economy straight-jacket - mixed with political doctrine-based restraints - that their companies are permanently ruled by, won't allow it.

China's leverage today is not orders of magnitude greater than Japan at its economic peak. Asia as an example was far poorer across the board in 1985-1995 than it is today, Japan towered over Asia economically in a way China never will. In 1985, South Korea's GDP per capita was 20% that of Japan; China was 2.5% that of Japan; and so on.

<comment><USER4> China does not seem to be at its peak yet. It can't be compared to Japan at its peak.

</comment></comment></comment></comment></comment><comment><USER5> Waiting for the API to be turned off to force use of the official app. I am subscribed to lots of niche subreddits and love browsing reddit from my app of choice, but when the day comes that they force me to use the reddit app, I will abandon ship.

They won't care, because they probably make no money off of me.

<comment><USER6> They have almost made their mobile website un-usable. You have to click 3-4 buttons just to close out all of the popups. If you browse in Incognito mode, you have to close everything every time.

<comment><USER7> The original desktop site on mobile works fine for me, it's all I've ever used. But it's not the default and the redesign is unusable, so you have to configure each new browser you visit the site on. My usage has definitely dropped over the last few months due to usability alone.

<comment><USER8> Red reader is fantastic for mobile. Ad free and night mode looks the same as hn version with night mode.

</comment></comment></comment></comment><comment><USER9> I've seen Reddit degrade painfully over last 8-10 years. It was full of intelligent comments, insight and unique perspective from people all over the world. Browsing the front page and reading the comments makes me sad that instead of intellectual discourse, we have a 3 billion dollar meme making machine.

I wish to keep HN away from the masses as much as I'd like a broader perspective in the light of how things go with typical social networks. There is no lack of funny things on the internet. Even witty jokes have no place here because slowly and _surely_ it will erode away why HN is a gem of the internet.

<comment><USER10> Reddit, like Usenet, or IRC, is just a collection of individual communities that happen to share an identity system. Expecting the (not-logged-in) Reddit front page to be "intellectual discourse" would be like expecting a random selection of Usenet posts or IRC chat-lines to be "intellectual discourse."

Try just visiting specific Reddit communities, rather than looking askew at the entire menagerie as if there was value there.

Same goes for YouTube: just subscribe to specific channels based on out-of- band recommendations. Or for Twitter, or Netflix, or anything else. These platforms have good things; even curated collections of good things. But you won't find them by asking the platform to show you something good.

In short: ignore recommendation systems. They are very good at surfacing content that the average "profitable" user that the business targets, wants to see. They are horrible at surfacing the "best" (e.g. highest positive impact on your life for having consumed it) content.

<comment><USER11> This is very good advice. One of my most upvoted Hacker News comments was saying that creating an account and whitelisting the subreddits you want to read is a tremendous improvement on reddit.

Funny thing to me is that it is really hard to isolate yourself in this way on Twitter. I've spent a lot of time trying to do this but politics always seems to leak through. One thing that has helped is by turning off retweets for as many people as I can.

<comment><USER12> I've a similar problem on Twitter. I don't follow anyone for their political views, so I typically unfollow as soon as I read some but it's far from an optimal solution.

I resisted setting an account up for years on Reddit, but you're absolutely right - it's the only way to effectively filter things you don't want to see.

<comment><USER13> Same with Facebook. I usually just unfollow people who frequently post political things, but at the cost of missing out on their posts about their personal lives. I wish there was a "subject" filter that I could use to filter out political posts.

<comment><USER12> Twitter has one I learned recently, but it's pretty enfeebled. It's as far as I can tell, exact matches only, which sounds fine perhaps in the design phase, but was deeply frustrating in practice. There's a new political candidate in America generating lots of buzz who has several permutations of their name (abbreviations and hyphens were my undoing here), so I ended up having to add several entries just to not hear about politics in a country I don't live in!

<comment><USER14> I put in so many things to filter out politics. Still inundated with it.

</comment></comment></comment></comment></comment></comment></comment><comment><USER15> I'm probably a luddite but the new reddit ui is downright painful to use.

<comment><USER16> I use the "Old Reddit Redirect" FF add on which redirects all Reddit links to old.reddit.com which still uses the nicer old UI.

<comment><USER17> that, and apollo on iOS, and i forget that there is such a thing as the new UI at all.

</comment></comment></comment><comment><USER18> For anyone interested, I'm making an open source clone of reddit that is federated using activityPub. Everybody can host it's own server and each server can talk to eachother so you can interact with threads and comment from other servers.

The project is in very early stage, but it's usable and lind of cute.

[https://moontreeproject.org](https://moontreeproject.org)

<comment><USER4> I think there are multiple projects of this sort. Is there an effort to make sure they are all compatible with each other? Does that even make sense?

<comment><USER18> The other one similar that I know of is prismo. If they all use activityPub they will be compatible. They will also be compatible with mastodon (which is like twitter), peertube (which is like youtube) and many others.

</comment></comment></comment><comment><USER19> Maybe if they get another $300M round they will be able to afford some designers to fix the abomination that the current design is.

<comment><USER20> I think a few DNS records can fix their UI, don't need 300MM for that. Just make reddit.com the same as old.reddit.com.

<comment><USER21> The mobile app UI is fantastic IMHO. List is snappy, easy to perform upvote, downvote, comment.

<comment><USER22> Their mobile app (on iOS) is pretty terrible in my opinion. I use Apollo. It's fairly priced and the developer is responsive, and it feels like an iOS app not a web app.

</comment></comment></comment></comment><comment><USER23> I'm done with Reddit. It was a nice ride, but now it's officially over. They've been trying to turn reddit into Facebook, a personal data vacuum, but now it's going to get ugly.

Considering the valuation, remaining as an unpaid moderator for a reddit sub, is absolutely crazy. Hopefully all the mods up and leave, nothing like letting others get rich from your free efforts.

<comment><USER24> My advice would be to treat it like a tool: look up what you need, ask questions when you need to, but ignore it the rest of the time.

<comment><USER25> It's not Stack Overflow; Reddit is designed to be visited daily and 'engaged' with.

That said, I do go to Reddit first when I'm looking to answer questions like HDD recommendations or things to do in my city. That's because searching Google for it will give me nothing but awful content mill blog posts stuffed with affiliate links and SEO-optimized keywords ("Best USD Hard Drives in 2019"). On Reddit you actually get the feeling that the question is trying to be answered by actual people.

<comment><USER24> > It's not Stack Overflow; Reddit is designed to be visited daily and > 'engaged' with.

I don't care how it's designed. It can be used as a tool.

</comment></comment></comment></comment><comment><USER26> Reddit was outraged when the users heard that Reddit was going to take $150M from Tencent but now there is not a single mention of it on the frontpage even after they took double the earlier reported amount.

I cannot help but think if it's the Reddit's censorship is in play here.

<comment><USER27> Or people don't mind THAT much that a Chinese company has a stake in Reddit. It is probably not going to change much, if not increase relationships between the US and China.

</comment></comment><comment><USER28> The amount of censorship on Reddit by moderators for arbitrary reasons, completely defeats the purpose of having community-controlled content.

[https://www.reddit.com/r/RedditMinusMods/](https://www.reddit.com/r/RedditMinusMods/)

<comment><USER29> See also: [https://www.reddit.com/r/undelete](https://www.reddit.com/r/undelete)

</comment></comment><comment><USER30> Recently I've been asking more programming help on Reddit because I get more friendly response there compared to Stackoverflow.

</comment><comment><USER31> Where are the youth of this generation and why are they not creating the next killer platform?

<comment><USER32> Im a CS undergrad right now and in need of a side project... I'll start right now :)

But for real, the idea of Reddit seems perfect to me its just way to popular now. Maybe a platform where you need to pass some sort of quiz created by the mods of the different communities in order to post/comment? I could see this having lots of issues though.

Also I don't really mind reddit going to shit ever since I found HN a few years ago.

<comment><USER25> > Maybe a platform where you need to pass some sort of quiz created by the > mods of the different communities in order to post/comment?

FB groups have had this ability for a while. I'm in one (a meme page for a semi-popular TV show) and to keep the quality of conversation high, new members have to answer 3 questions about stuff from the show correctly to join.

</comment></comment></comment><comment><USER33> Is there a good alternative to Reddit? I've been a pretty heavy user for almost a decade but they have been disappointing these past couple of years. I hate how their "principles" aren't consistent. They ban certain subreddit for certain violation while keeping others that fit the same exact category. They never provide an answer to the commuity either. Where do I go to now?! HN is my only safe haven left...

<comment><USER34> People used to host forums dedicated too a topic. Forums are still a thing... Reddit, is just a forum of forums...

Why do we need centralized forums anyways?

<comment><USER35> Because they are a million times easier to browse when all on one site and there (usually) aren't any worries about cross-promoting different subreddits. It also makes it a lot easier for knowledgeable people to poke their heads into a random thread and offer an opinion compared to going to another site.

Unfortunately, all of that was a lot better 10 years ago.

<comment><USER25> > It also makes it a lot easier for knowledgeable people to poke their heads > into a random thread

That rarely happens in practice. Knowledgeable people's comments have to be made at the right time in a post's popularity window (< 24h) for it to have been upvoted early enough for other users to see. If you come across a thread that's even a couple of days old, on a popular sub, you won't bother commenting because you know no one will see it. Unlike a message board, new replies to an existing topic do not take it to the top of the thread list page.

It is usually the opposite situation that is true. A certain post hits the Reddit front page (usually a meme or political post), and all of a sudden the community is overwhelmed with new subscribers, who are either trolling/brigading because they don't like the content, or simply bringing down the quality of the conversation by posting more memes etc., because that's what they think the sub is about.

</comment></comment></comment></comment><comment><USER36> As a site that derives the vast majority of its value from the contribution of its users it is a shame that they didn't open at least some level of participation in this round of funding to its users.

</comment><comment><USER37> It doesn't say if Tencent gets a board seat or not. Without a board seat the impact should be less...

<comment><USER23> If they don't get a Board seat it would be the dumbest $300m ever spent, but if they don't get a Board seat it means their interests are already protected and represented.

<comment><USER38> I think I read that Tencent only put in $100M of the $300M. Which means they only bought 3% of the company. That wouldn't warrant a board seat.

</comment></comment></comment><comment><USER39> Tencent is part owned by Naspers, originally a local South African media company who by some accounts have played a big part in the Tencent's success Quote from Reuters Founded in 1915, Naspers has transformed itself from an apartheid-era newspaper publisher into a 1.5 trillion rand ($127 billion) multinational with private equity-style investments in e-commerce platforms that also include OLX, the biggest classified sites in India and Brazil, and Russia's Mail.ru.

</comment><comment><USER40> Maybe they'll use that money to finally teach their engineers some CSS media queries and build a mobile website that isn't completely trash

<comment><USER25> The only thing they're likely to be engineering is that nested div monstrosity FB uses to obfuscate sponsored posts from adblockers.

</comment></comment><comment><USER41> Sorry but I don't understand some of these arguments here! Not talking about this particular case, but I saw the same arguments many times.

A lot of businesses in EU and Asia are owned or invested by US companies in many different industries. Why are people so offensive when it is other way around?

I've worked with Chinese! Let's not blame all Chinese because of what their government is doing.

</comment><comment><USER42> What we need to see is if people like /u/gallowboob get any of this funding

<comment><USER43> Who or what is that?

<comment><USER44> Go to /r/all and count how many posts are his.

<comment><USER43> Wow. That is a lot of effort being put for internet points.

That person seems to moderate a lot of communities too!

<comment><USER25> It's usually not one person. Reddit accounts with very high levels of karma (upvotes gained from popular posts) are often bought an sold to companies selling products. u/gallowboob is an example of a Reddit influencer, even if a great deal of his posts are pics/gifs of animals being cute.

<comment><USER42> /u/karmanaut was the original proving ground for this. It was known that it was a used account

</comment></comment></comment></comment></comment></comment><comment><USER45> This is a hilariously petulant article.

</comment><comment><USER46> I don't know what it means for America, but what it apparently means for China is no more Chinese villains in films for an international audience

<comment><USER47> Honestly, as an Asian American, I actually prefer the villain characters as opposed to the new "sidekick/background" character trope.

Hollywood writers and producers still know how to marginalize these new Chinese characters and unfortunately, it seems the Chinese audience is still naive to it.

At least the villains had agency. These new Chinese sidekicks only purpose is to serve the "American" hero.

<comment><USER48> Same here, there is systematic and institutionalized racism in Hollywood, I'm glad China is making their moves in Hollywood, maybe we will see more Korean and Chinese celebrities appearing in these films.

Interesting since the first Japanese male actor was a sensation amongst white women of the early 1900s silent film era, and thus Asian Americans were erased from mainstream films.

The more I study American history, the Japanese interment camps, the racist treatment of Asian Americans, the genocide against 50+ million Native Americans, Opium war, Boxer rebellion, vietnam war, hiroshima, the more I'm convinced that Nazi's escaped and helped build the Reich that they could've had in a far away new land.

<comment><USER46> > since the first Japanese male actor was a sensation amongst white women ... > Asian Americans were erased from mainstream films

Where r/conspiracy and r/redpill meet... Presumably you're talking about Sessue Hayakawa, and the same nonsense appears on his Wikipedia page, supported by citations that don't actually support the assertions.

> The more I study American history, the Japanese interment camps, the racist > treatment of Asian Americans, the genocide against 50+ million Native > Americans, Opium war, Boxer rebellion, vietnam war, hiroshima

I would recommend studying some Chinese or Japanese history too if you think American historical behaviour is in any way particularly notable, other than an unusual willingness for Americans to want to atone to it, compared to most other countries.

> I'm convinced that Nazi's escaped and helped build the Reich that they > could've had

You appear to believe the Nazis were time-travelers, or simply have a particularly weak understanding of the chronology of the items you've listed.

</comment></comment></comment></comment><comment><USER49> I hate websites that try too hard to get you to download the app...incredibly annoying to open Reddit on mobile web

</comment><comment><USER50> Redeadit. Made in China now.

</comment><comment><USER51> China now owns the front page of the internet.

<comment><USER5> Well 10% of the front page of the internet, and they do have 20% of the world population.

There is no way China would allow Reddit to operation in China, and there is no way China would allow a western company to own a significant percentage of "the front page of China".

<comment><USER52> Reddit's slogan is "the front page of the internet". I think he's referring to that.

<comment><USER51> Yeah was referring to the slogan. No shade.</comment></comment></comment></comment>


Why I quit micro-dosing? - <AUTHOR> https://ericaavey.com/2019/11/13/why-i-quit-microdosing/ <comment><AUTHOR> My therapist informed recently that counselling sessions should continue even if you feel healed because the anxiety might return and counselling helps to maintain a direction towards autonomy. Thankfully, I am not suggested for dosing. In order to maintain autonomy, I have not seen my therapist for a month now after meeting her for at least twice every month in last 16 months. I do agree with the author that depression is a natural response to disconnect from the nature. Everyone has a grey side and one must be comfortable to express it. Often lack of expression leads to self-inflicted guilt.</comment>