Why Companies Keep Pay a Secret   - <AUTHOR> http://www.smartmoney.com/personal-finance/employment/why-companies-keep-pay-a-secret/ <comment><USER3> It really seems like you have two options:

 _Classic corporate style_ : all salaries are private, and management has total flexibility in how salaries and raises are calculated.

 _Fog Creek style_ : there's a grade system, salaries are near-public (or easy to figure out), and management is locked into pay brackets; a trade of flexibility for transparency.

What doesn't seem to work is anything in between. If everyone knows everyone else's salary _and_ management does flexible incentive/retention/recruiting salary calculation, the situation devolves to "Incentive Pay Considered Harmful"-style teamicide as people snipe at each other and invest cycles in cultivating resentment about perceived pay injustices.

An employee might reasonably prefer one style or the other. It's probably nice not to stew all day wondering if the guy slacking off next to you is making more than you, but it's also nice to know that if you talk to your manager, make an arrangement, and then just completely rock out for a couple months, you can achieve an arbitrary pay bump. "Classic style" is more entrepreneurial.

<comment><USER4> I agree with that. There's some of the latter going on in science academia lately. Pay used to be Fog Creek style, determined almost entirely on a mixture of years of service (civil-service style) and rank. An Associate Professor with 8 years of experience got a certain salary; a Distinguished Institute Professor holding a Prestigious Chair got the salary associated with that position. Pay and raises were fairly easy to figure out (approximately) because they were entirely tied to these public ranks. There was still a lot of politics, but the ranks at least have some social legitimacy: people are willing to accept that the Named Chair of Particle Physics should be paid more than an Associate Professor of Physics.

As things have become more market-like, it's become a lot more flexible (mainly in science/engineering). A junior professor might get offered more than a more senior and prominent professor because the school is trying to lure her away from elsewhere, or really wants to fill a particular hole, or just because of competition (if someone has offers from three schools, yours has to be in the same ballpark). At private schools, this is sometimes handled classic corporate style, but it's not _that_ private, because sometimes faculty votes are involved in the decision making.

At public schools, this combines with sunshine laws that make any state employee's salary viewable in online databases (in some states). This causes all sorts of shenanigans. Now you have professors realizing that they're paid $90k while someone much less accomplished in the same field is paid $110k, due to the histories of who got hired when. So they're going to need to be offered $120k, or else they're going to threaten to move (and there's a whole bluffing and bluff-calling game in that). This also creates the perverse incentive that people who move around a lot, or at least interview around a lot and solicit external offers on a semi-regular basis, are generally paid more than those who focus their energies on one university's research/education programs.

Overall I don't think it's been a good change for there to be both: 1) disparity in pay that is not tied to clearly public things like Distinguished Professor versus Associate Professor; and 2) that pay disparity to be public, so colleagues know who makes more than who.

<comment><USER5> As a brief anecdote, I was completely shocked by what some professors earned at the public university I attended. I had several standard professors in finance and accounting who made ~$150-200k/year plus freelance consulting at $500+/hr. If more people knew of the salary potential of being a professor, universities might get more quality applicants.

<comment><USER6> This is a because a professor of finance or accounting also has the credentials to be a CFO (or even CEO). They're in demand and that's the price that the market will bear. There is probably a similar effect in computer science, engineering, medicine and related fields.

<comment><USER5> Of course. Most people just don't think you can earn that kind of income in academia.

</comment></comment></comment></comment></comment><comment><USER7> My high school, a few years before I got there, once decided to post the teachers' salaries in the lounge for all the teachers to see. The salaries had no names next to them, but since they did list the length of each person's tenure, the teachers deanonymized the list quickly.

There was a ruckus when people discovered that a lot of the worst teachers were making the most money. Your salary was basically determined by how frequently you had the nerve to ask for a raise, plus some consideration for how long you'd been at the school. Not exactly a winning compensation scheme.

If your compensation scheme is well-reasoned and defensible, it's a lot less of a problem when people figure out how much everyone else is making. If your compensation scheme sucks, expect outrage.

<comment><USER8> Actually, almost all teacher salaries are based on length of service (via union contracts). Teachers seldom, if ever, are paid according to performance (at least in public schools).

edit: How did this go from +4 to -1? I was just pointing out that in the US, most teachers at public schools have salaries that are set via length of service. Downmodding on HN has really gotten out of hand.

<comment><USER9> Wasn't karzeem was describing how it is at karzeem's high school?

<comment><USER10> Nearly all public school teachers are NEA members, and the NEA strongly opposes pay based on anything other than seniority.

<comment><USER4> The NEA opposes it, but they haven't been able to completely stop it, especially since Obama's been a big proponent. The Teacher Incentive Fund allocated $200m conditional on underperforming schools adopting performance- pay plans, which has caused some to switch (e.g. Seattle has a trial program).

</comment></comment></comment></comment></comment><comment><USER11> I've worked for quite a few companies over the years who had made it a firing- offense to discuss salaries at all in the workplace. This made negotiation your top skill in the company - not the quality of your work, nor the quantity of your work.

While this didn't stop employees from finding out who made what, it slowed it down, and it did little to reduce the sense of unfairness.

Folks who tend to go into managerial tracks tend to think that everything is negotiable. While techies tend to be poor negotiators. This results in an arms race where one side is unarmed.

<comment><USER12> IANAL, but as far as I understand it, in the US it is against the law to fire someone for discussing pay as this is protected speech. The is part of the National Labor Relations Act, [http://www.nlrb.gov/Workplace_Rights/i_am_new_to_this_websit...](http://www.nlrb.gov/Workplace_Rights/i_am_new_to_this_website/what_are_protected_concerted_activities.aspx)

<comment><USER13> Few people probably know that, hence the effectiveness.

</comment></comment></comment><comment><USER14> There might however be a huge advantage for 'underpaid' employee's to know they are not paid well.

if pay equates to skill, or productivity, which in America is the general idea, then underpaid employees are under performing ones.

Companies like GE will fire the bottom 10% annually. This is expensive and requires an administrative and legal cost. Underperforming workers are also usually unaware of there skill deficit. <http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect> Releasing salaries might make performance acknowledgement more visible.

As a result of measured ( not actual ) performance being more visible underperforming employees might seek a new job before getting fired or getting frustrated. It might also encourage employees to seek out better mentor-ship relationships.

I have even heard that on some scrum teams, there is a base salary for each employee and then a team bonus that get's distributed by your other team members, entirely in the open. The idea is that as a team you want the strongest team members to stay on your team so that all of you can look better. a sort of 'gamification' and 'collective bargening'.

i've always thought that keeping pay secret was lame. plenty of people in a company can social engineer a way to figure it out, and in a startup it means you have to do a ton more work to hide your financials from others.

i'm all for transparency and flatness.

<comment><USER15> _if pay equates to skill, or productivity, which in America is the general idea, then underpaid employees are under performing ones_

If you're hired and paid by honest people, yes. If you're hired and paid by the moral equivalent of a car salesman[1], your pay is probably based more on what they think they can get away with paying you.

 _I have even heard that on some scrum teams, there is a base salary for each employee and then a team bonus that get's distributed by your other team members, entirely in the open. The idea is that as a team you want the strongest team members to stay on your team so that all of you can look better. a sort of 'gamification' and 'collective bargening'._

How on earth do you do that without making the entire process a political nightmare?

[1] It's actually much worse than this. Your boss doesn't have to be a cynical car salesman trying to screw you out of salary to save money for the company. He could just be susceptible to the same old "the squeaky wheel gets the grease" treatment where people who ask for raises more often get raises more often.

<comment><USER16> _If you're hired and paid by honest people, yes. If you're hired and paid by the moral equivalent of a car salesman[1], your pay is probably based more on what they think they can get away with paying you._

Or they lack the ability to accurately judge people on their individual merits and/or abilities as a contributor. That is, a sales guy has a very clear cut idea of how much he's contributed. However, a guy who writes a lot of crappy code and causes problems for people that come after him would look stellar next to the schmuck who's got the untangle the mess he leaves behind. If management isn't technical...

</comment></comment></comment><comment><USER17> Just a data point: here in Norway, tax information (including income and assets) are published in the newspapers every year, and are freely available via web search. It's trivial to find out what _anybody_ is earning.

<comment><USER18> Serious question. Do you look? And how do you think having this information changes people's behaviour?

<comment><USER17> I don't look-- I'm an American, and I find the whole thing skeevy. Many people do look, though.

I live in a small town, and the year before last I was actually the top earner in the town-- which got me a whole raft of unwanted newspaper and radio stories.

Meanwhile, the names of people convicted of crimes are withheld from the press. If you rob a bank, you can live anonymously. If you earn more than your neighbors, you're going to make the newspapers.

</comment></comment></comment><comment><USER19> There are a lot of employers which have standard wage scales, so knowing anyone's salary is trivial with information like time of service. In the military, people wear their pay grade on their sleeve/collar/hat, so it's even more obvious. This doesn't seem to be a problem.

The biggest problem is if someone perceives pay as unjust. I personally plan to publish salaries internally for everyone, along with all budgets (projected and actual). The primary benefit is making it transparent how much various resources cost -- often employees aren't expected to take into account the costs of various activities, like a meeting which uses 4-8 engineers, or the overhead of various admin tasks (like spending $20 of time to document a $5 expense).

CEO (and other exec) pay seems to be most often out of line; Peter Thiel's observation about predicting the success of a company based on founder pay is great, and a founder making $0-60k/yr is in a much better position to negotiate compensation than a CEO (possibly founder) making $250k.

</comment><comment><USER20> We have open books at the agency I work for. Its pretty darn good to be honest. No one is over paid and no one is underpaid. We are paid what we and the rest of the company think we are worth. Simple.

Well, kinda simple. When having an annual review you must present your personal development plan of what you have achieved in the past year, what you hope to achieve in the next year (and possibly beyond) along with how much of a raise you want. You then have a meeting with a review committee consisting of two normal staff and two directors where you discuss how fair and equitable it is to you and your colleagues, whether it is affordable for the company and whether it would be attractive to a potential new hire hypothetically replacing you. Proposing your own salary makes you really think about what you are worth, and if you want a higher salary can really motivate you into proving that worth and not just being a bum on a chair.

Its a lengthy process but everyone is pretty happy with it (there are few things that getted tweaked everytime soneone has a review but its an ongoing process of improvement). There is no way you can be paid to much or too little as someone on the committee will complain and your proposal wont get signed off. For example, a member of the board had to go back to the committee 4 times until they accepted his proposal, each time honing their salary level and what they will be doing for the company in return.

I'm not sure that opening your books like the article says is the best way to go. Salaries in most places are unbalanced and letting everyone know that would lead to proven disaster. It would be best to try and get them inline before opening them up for the employees to see, although i'm not sure how you would do this. Its just a shame the article make no mention of how great open salaries are.

ps, look up Ricardo Semler and Semco for en example of open salaries on a LARGE scale. Its not just little agencies that this can work for!

<comment><USER20> Great book by Ricardo Semler <http://en.wikipedia.org/wiki/Maverick_%28book%29>

All companies should be based on this.

</comment></comment><comment><USER21> Making salary information available is but one, small step towards greater employee satisfaction. If it is the only step - this can be disastrous. You essentially get the problems described in the article.

The company needs to give much more information than just the current salaries that got set by who knows what way.

First, the company needs to make available what the company is making - <USER2> is usually available but in some big numbers like earnings per quarter. If you are working on some product you need to know how much it sold and how much is likely to get sold in the next 6 months. You need to at least be able to know how much the company can afford in the end when all salaries together with all the other costs are added together to still be profitable.

Then you need to know the median salary for your job at other companies. These statistics are usually available - and if not can be found from recruiters.

Finally, you need to think about what is fair in your mind - how much does your husband make, how much does the neighbor make, your friends - compared to what they do? This is something you know and the company does not know about - but it does factor into how happy you are with your salary.

Armed with all this you are ready to set your own salary. This then can be seen by all others and a proper discussion can be done. Discussing things with all this in the open is at least possible. Everyone can participate and after a few months everyone will be armed with additional historical information about Joe the Slacker or Jane The SuperStar and if their salary is fair. If someone really thinks they deserve a huge salary regardless - they can always go someplace else if the majority of her colleagues disagree and get her fired.

</comment><comment><USER22> Companies keep pay a secret because they want to minimize their payroll costs, and there is enough of a margin between value-of-employee and compensation-of- employee that its worth it to pay aggressive negotiators more.

</comment><comment><USER23> Had to read the entire article to get to the important part

"...if dissatisfaction is a motivator, they'll end up better off."

I agree. Sometimes ignorance is bliss, but when it comes to your lively hood, I think knowing is better than not.

</comment><comment><USER24> I'm suprised that effects were very widespread and evenly distributed.

The only people I have ever known to talk about their salary/wage seem to be union members (or other blue-collar professions). Electricians, teachers, machinists, elevator repairmen, etc. On the flip side I have never heard a programmer or other white-collar employee talk about their salary/wage unless they are griping about a previous employer/contract.

Given that most of the hourly university employees probably already know what the wage scale is I'm suprised an official publication of the data would have any effect on satisfaction.

<comment><USER25> My friends and I are actively trying to challenge this by discussing salaries and benefits openly. We've been told it's 'classless' by a few older mentors etc, but frankly I don't see how it's classless to discuss what you're selling your time for.

</comment></comment><comment><USER26> > likelihood of searching for a new job increased

This is a good thing for the job market. There might be some companies that have some better use for those employees if they want to pay them more. And if there is no such companies then dissatisfaction from pay might be impulse to improve ones skills.

</comment><comment><USER27> It's the "last conversational taboo"? Isn't it really just no-one else's business if you don't want to share that info? Most people keep their bra size, weight, penis length, or preferred sexual kinks a "secret" too, and pay is just as personal and private to most people as those things.

<comment><USER28> That's all 'taboo' means. It identifies things we _don't_ talk about openly, regardless of why.

Personally, I think the social disinclination to talk about salary is as manufactured for private gain as the whole diamond engagement ring 'tradition'.

The practical effect of secrecy in compensation is that employers have a massive advantage in negotiations and end up paying far, far less for labor. Perhaps I'm just cynical, but in my personal experience, effects like that are never accidental.

<comment><USER27> _That's all 'taboo' means._

Sure. My point was mocking how it can't be the "last" conversational taboo since there are other, far more private things we don't tend to discuss in public either. Indeed, discussing salary isn't a "taboo" at all from my POV since so many people do it in public nowadays anyway.

<comment><USER28> I've had far, far more conversations that included all those other personal details than I've had that included compensation.

<comment><USER27> You've had more conversations about your sexual preferences and anatomical details than about money you've earned? Sounds fun but I suspect that puts you in the minority ;-) At least on HN where "I made $X yesterday!" type comments and posts seem to be reasonably common.

<comment><USER29> There's only one person I've dated who knew my salary, and vice versa.

</comment></comment></comment></comment></comment></comment><comment><USER9> I wonder if it would be easier to accept the salaries of others if you knew what they were before you even joined he company.

If a particular company disclosed everything to potential employees, would those who couldn't handle the information be less inclined to join?

<comment><USER30> No. They can tell you the salaries of your future colleagues, but they cannot know how good their performance is relative to what yours will be, let alone how you will perceive that ratio.

</comment></comment><comment><USER31> This looks at the short term effect in one organization. The effect across the economy is something else to take into account. Market theory assumes perfect information. If you want to use market economics to maximize efficiency, then you want pay information published.

For example:

Some companies have issues finding people with certain skills.

People in other less productive companies who have those skills can use salary information to move to the more productive companies that will be able and forced to pay higher salaries.

People in other fields are encouraged to retrain into higher paying areas.

</comment><comment><USER32> Am I a failure at a business person because my immediate (and obvious) conclusion was that if 1/2 people became miserable and other 1/2 weren't happier then the solution was to have everyone at or as close as possible to the median salary rather than being secret and under/over paying a bunch of money grubbing twerps.

</comment><comment><USER33> I remember a blog entry that I most likely found here. It was from a company owner who makes the rules which determine how he pays employees public to everybody. It seemed pretty fair and according to him he hasn't had any complaints so far. I will keep looking for it as it was a good read, maybe somebody has it bookmarked though.

<comment><USER34> You're thinking of the Joel Spolsky / Fog Creek method of publicizing salary information amongst employees: <http://www.joelonsoftware.com/articles/fog0000000038.html>

There's also a sort of follow-up on why he doesn't allow for negotiation of salaries: [http://www.inc.com/magazine/20090401/how-hard-could-it-be- em...](http://www.inc.com/magazine/20090401/how-hard-could-it-be-employees- negotiate-pay-raises.html)

</comment></comment><comment><USER35> "Money doesn't always bring happiness. People with ten million dollars are no happier than people with nine million dollars." --Hobart Brown</comment>


Narcissistic CEOs weaken collaboration and integrity - <AUTHOR> https://www.gsb.stanford.edu/insights/narcissistic-ceos-weaken-collaboration-integrity <comment><USER3> I always think it's good that people research things that are considered "obvious" because there is always that rare chance you will discover something unexpected! That said, nothing interesting was really discovered here - <USER2> article does go into a bit more detail but you can really summarize it as "people don't like to work with assholes, and people especially don't like to work for assholes"

<comment><USER4> Hmmm...my experience is very different. A lot of seemingly normal people are just fine, if not happy to be led by psychopaths and narcissists. They view their "confidence" as a plus because they don't dig deeply or are just scared, wimps and like a big strong "asshole" to lead them. I honestly blame the rise of asshole CEO's and leaders on the normies, who don't want to be be held accountable.

<comment><USER5> It's not happiness, it's complacency. Huge difference. Psychopaths and narcissists do a LOT of unseen damage if not kept under a very tight leash.

</comment></comment></comment><comment><USER6> Extrapolating from 700 mechanical Turk surveys to CEO behavior seems like quite the leap.

<comment><USER7> Are you purposely excluding the " _250 MBA students taking coauthor Chatman's course on leadership at UC Berkeley_ " plus the " _nearly 900 business school alumni from Stanford, Santa Clara University, and UC Berkeley who worked at 56 large, publicly traded high-tech firms based in the United States_ "?

<comment><USER6> Not on purpose, stopped reading after that line about mechanical Turk. Still, after reading the whole study, I can't believe this is publishable.

<comment><USER7> I probably would have left out that mechanical Turk data, if only for perception.

The rest seems quite solid.

</comment></comment></comment></comment><comment><USER7> I like that the semi-obvious research is being done because it moves the conversation forward and helps avoid complacency and shrugging-of-shoulders. Changing the status-quo can be about mindsets, not just product.

Next step is focusing on solutions for/around narcissist leaders.

Also great to see Hacker News supporting these non-engineering business topics as well.

</comment><comment><USER8> I definitely agree with the premise of the article that narcissism takes away value instead of adding value.

Being calculative, cold and even disloyal at an individual level does not make someone a narcissist, it can be a very altruistic and idealistic thing in fact. For example, firing untalented employees to make room for more talented, hard working ones is altruistic IMO. If everyone did this, the system would work really well and everyone would be better off (even the lazy, untalented people would be better off thanks to universal improvements in productivity).

I think nepotism is a huge problem now. At scale, loyalty to specific individuals can be downright evil. Loyalty must only be given on the basis of shared values and principles.

Criminals can be extremely loyal to each other but they have no shared values aside from mutual self-preservation.

</comment><comment><USER9> When I read a description of a narcissist, I think "that sounds like the description of an average human to me".

<comment><USER10> There was a time it was not so common a trait. I distinctly remember the 70's and 80's when there were a large number of people who I would say "lacked confidence" so to speak. Kind of unsure of themselves, shy and retiring types.

As we moved into the 21st century, it does seem like lack of confidence has gone away. People are almost "over confident" sometimes.

<comment><USER11> > People are almost "over confident" sometimes.

Is it possible that people are by and large the same, but that social media simply makes it very easy for people lacking confidence to come across as more confident than they really are?

<comment><USER12> I suspect it's more that the very confident have their messages amplified on social media. Most people I encounter in person are not like that.

</comment></comment></comment></comment><comment><USER13> The only thing important for a CEO is their effect on bottom line and stock price. If the effect is that people collaborate less, but results go up, maybe more collaboration is not necessarily always positive. So in my opinion, just using these metrics and no economical metrics gives no useful answer for those who need to hire a CEO. On a further note, the tendency to blame things on other people's personality types is akin to a modern-day astrology.

<comment><USER14> > The only thing important for a CEO is their effect on bottom line and stock > price.

What? No. Legally that may be true for C-corps, but AFAIK that's explicitly why people started doing B-corps; to have other metrics of success than just those two. And even for C-corps, doesn't it still depend on what the shareholders want?

And after all that, you've still got to consider that if you're only looking at "ends justify means", well, why do you think you're at an end and can even measure it?

</comment></comment><comment><USER15> Recent experience has led me to wonder whether narcissistic founders are more likely to succeed. Their self-confidence makes them less likely to give up. When they they have some success through luck or effort from others they will attribute the success to themselves and keep going, creating a positive feedback loop for themselves, but a pretty toxic environment for everyone else involved. Any employees questioning the narcissist will have a bad time.

</comment><comment><USER16> I'm about to go through a series of job interviews. Any tips on determining whether potential future managers or coworkers are narcissists? Seems like it can be hard to suss this out without some longer-term exposure.

<comment><USER17> Narcissists are very charming initially and very good at hiding it. Some tells:

\- Very attuned to their own fashion attire. Very well/trendy dressed.

\- Use the words/phrases "value", "add value"

\- Brag about themselves a lot. Talk about very lofty standards about very minor details.

<comment><USER5> >and very good at hiding it

Not really, you just need to know what to look for. A shallow, materialistic person with very little sense of humor, curiosity of the social/intellectual/cultural/creative kind, or visibly empathetic interest in others is a big red flag. The "curiosity" part may well be the easiest to assess as an observer, because it's not something that can be faked easily.

</comment></comment></comment><comment><USER18> Any narcissistic exec weakens these things. We had a CIO that came into the startup I was at and just destroyed the culture.

</comment><comment><USER19> "Narcissists weaken collaboration and integrity." works as a more general title, I suspect.

</comment><comment><USER20> The only defense social humans have is really to detect them. Watch for their inability to feel empathy.

Ask them to tell a joke. Do they do it right?

[http://hintjens.com/blog:_psychopaths](http://hintjens.com/blog:_psychopaths)

</comment><comment><USER21> Yeah, loser narcissists are the worst. Pay very little. Fake worse than the Kardashians. Lie, manipulate, bullshit, boast, play favourites at every turn at every turn.

</comment><comment><USER22> How did they identify who was a narcissist in order to study their effects? I didn't think there was an objective test for that.

</comment><comment><USER23> My personal experience is that this applies to any C suite member.

<comment><USER24> It applies to anyone who can't be fired easily.

</comment></comment><comment><USER25> Tesla would make a good case study here.

</comment><comment><USER26> Narcissists are a specific kind of asshole. They tend to seek power and they are very good at convincing the people above them that they deserve it. That's what makes them more dangerous to an organization than average assholes.

<comment><USER27> Isn't narcissism among those who rise to an executive rank at some point in their career more the norm rather than the exception?

<comment><USER28> I've always thought that was more of a meme/rumor than actual fact. It seems unlikely to me that the average executive is somebody with a fragile ego that lacks empathy. From my perspective it can't be the case. The executives I've worked with have always been powerful teammates with great listening/communication skills. Maybe I'm just lucky?

<comment><USER29> Narcissists conduct abuse within intimate (romantic, familial or very close friends) relationships. Outside of those relationships, they're typically very well-behaved and even adored.

<comment><USER30> could you expand on this? why do they do this?

<comment><USER29> I'm an emotional philosopher, not a psychologist. But here's my take:

There are two fundamental arguments of the self: additive and subtractive.

The additive argument is called love. It tells us to add to the self.

The subtractive argument is called disgust. It tells us to remove from the self.

Codependents are addicted to the chemical rewards of love, while narcissists are addicted to the chemical rewards of disgust.

Narcissists therefore have an overwhelming need to eject things as "not good enough" from their extended self. If I tell a stranger his haircut looks stupid, I don't get a disgust reward. If I tell my son that, I do get the reward because he is part of my extended self.

Basically, narcissists have extremely high standards for themselves. They want to become fast friends because they want (need, really) to share that terrible burden.

<comment><USER31> Narcissists don't have a real self, they have a developed mask that sits on top of it. Usually developed in childhood for a parent.

You can't police feelings into evidence of pathology. Some people are more disgust sensitive than others. There is light and dark to everything, including love and disgust.

<comment><USER29> The mask is a metaphor. I'm talking about real things.

If you're addicted to a feeling then that _is_ a pathology. You're right that love and disgust can both be good or bad, but nobody said otherwise.

<comment><USER31> The mask is a real thing.

>You're right that love and disgust can both be good or bad, but nobody said otherwise

You did when you made disgust a fundamental negative and love a fundamental positive. But whatever.

>If you're addicted to a feeling then that is a pathology.

Not necessarily, some people deliberately go through bad feelings for the sake of getting to the bottom of something and integrating that answer. That can seem like an addiction from the outside.

You do you.

<comment><USER29> No, the mask is an abstract metaphor.

I said _subtractive_ and _additive_. Chiseling is subtractive. Do you think chiseling is fundamentally negative?

What point are you trying to make with your "bad feelings" comment? That narcissists are actually fiercely introspective? What are you even on about?

You say "You do you" but you're the one who butted in. Next time, first know what you're talking about.

<comment><USER31> Nobody knows where feelings come from, what makes them real and but not a mask, a behaviour people can embody? They are both real.

You said: "There are two fundamental arguments of the self"

You conflated criticizing haircuts with a disgust reward and constructed a view on narcissists that is defined by feelings nearly everyone feels. Your view on feelings is too limited to identify a narcissist, as demonstrated by the idea that you can go through feelings and appear to be an addict from outside, but not be one.

Butted in to what? A public thread?

The mask idea comes from psychology. A narcissist suffers narcissitic wounds at an early age and learns to develop a false persona to please abusive parents instead of a healthy self that grows over time. They stay locked in a cycle of abuse trying to escape past trauma instead of dealing with it and it is unleashed on those around them when the tension becomes too much. They frequently rely on charm and a single talent to get them achievements to please said relationship and are found to be brittle or liars when challenged. They will suck the life-force out of others to fuel their own lack of a self. There is a whole bunch of psychological information on this.

This all has an overlap with the external version of the story, the narcissus myth. Narcissus is a spirit that embodies the story of self love, being so captivating to some. He has multiple outcomes. In one he captures the attention of another so completely that their life becomes drained away and the adorer becomes no more than an echo in a forest, which mirrors the fueling the self & abuse cycle from psychology. In another part he sees his reflection in a pool and becomes unable to leave his own reflection and eventually suicides or recognizes that the love cannot be reciprocated and becomes a flower, which mirrors a lot of the empathy focused therapy techniques.</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment>


Start Binge-Reading - <AUTHOR> https://www.nytimes.com/2019/05/04/opinion/sunday/why-you-should-start-binge-reading-right-now.html <comment><USER3> I think most people nowadays are binge reading. They're just not necessarily binge reading books. They binge read articles on reddit, hacker news, new york times, any variety of quality and less than quality online sources.

<comment><USER4> I don't think that really compares. The main way to use social media - <USER2> least to my observation - seems to be looking often for short intervals. That would be the opposite of binge reading as it is very superficial, always in the background and seldom with a real focus on it.

<comment><USER5> Still, people are reading and consuming more information than any time in history. When the alternative is probably no information rather than some.

The fact it's not great information vs what you might find in a well-thought out book is a different question.

</comment></comment></comment><comment><USER6> I read a lot growing up, stopped like high school to late 20s, then really got back into it recently.

I'm not going to pretend that it has somehow rocked my world to spend an hour or so a day reading novels, but... it has forced me to slooooooooow doooooown. A novel comes at you _relatively_ slow compared to reading 15 news articles, Reddit threads, my twitter feed, et al.

It has been a peaceful experience to have a slowform entertainment medium take a chunk of my day.

And I always feel this is worth repeating, but after ~25% of a book if you're not enjoying it, put it back on the shelf and try something else. We're (most of us) not in high school anymore, nobody is forcing us to finish a novel. Read something because you want to.

Last note: if you're having trouble staying focused on a book, put your phone in another room while you read. Game changer wrt the temptation of checking notifications.

<comment><USER7> Another tip is to force yourself to read in half your normal speed. You're not going anywhere, and reading is not a competitive sport. Personally this gives me a ethereal and meditative sensation, making literature more impactful.

Like you mentioned this is the opposite of "online reading", where the point of reading often is to consume the content and move on.

<comment><USER8> Another thing that helps reading more slowly is reading out aloud. Imagine recording an audio book. I do that sometimes. It's somewhat soothing and also improves my pronounciation, which may seem like an irrelevant aspect but while my english is quite strong and I always read, listen to and watch english content in its original language, it's simply not my native language. Having the chance to read aloud/talk in english is a welcome and somewhat educational change.

</comment></comment></comment><comment><USER9> _> Ben Dolnick. Mr. Dolnick is a novelist._

 _> Once I'm actually enjoying a book, it really does feel as if the pages are turning themselves; [...] And pleasure is, after all [...] the reason that I read._

Many proponents of reading (like Ben Dolink) don't seem to accept that _some people just don 't like to read for pleasure_ the same way they do. People are different.

I love reading and I've read a hundred of the well-known classics including the thick tomes of Moby Dick, War & Peace, and Les Miserables. But 99% of my friends do not read books for fun. I totally understand that because not every brain derives the same pleasure from reading. Therefore, I'm not going to "advise" them that they should be reading more.

On another note, I still heavily read non-fiction tech books but I've stopped reading all fiction more than 5 years ago. I found out quitting fiction isn't that strange as even famous novelists like Philip Roth and Larry McMurtry also quit reading fiction.[1][2]

Sometimes people just quit getting the dopamine hit from fiction -- or never really got it in the first place. They just read whatever was required in high-school and college to pass some tests and that's it.

I know there will still be some confident folks that are sure that anyone can be "taught" to love fiction. My personal experiences make me doubt that. To me, it's like the fitness enthusiasts claiming you'll get "runner's high" and exercise will feel good. But I've been running regularly for decades and I've _never_ had runner's high; running is always a chore. Certain people get a dopamine hit from workouts but I never did. I think people are just different in what activities bring genuine pleasure.

If you read Mr. Dolnick's self-reported joy of consuming fiction and for some reason, it doesn't inspire you to do the same, there's nothing wrong with you.

[1] [https://www.google.com/search?q=philip+roth+quit+reading+fic...](https://www.google.com/search?q=philip+roth+quit+reading+fiction)

[2] [https://www.google.com/search?q=Larry+McMurtry+"lost+interes...](https://www.google.com/search?q=Larry+McMurtry+"lost+interest+in+reading+fiction")

<comment><USER10> I agree that the generalisation probably does not work.

However, considering a lot of people like fiction in most their other forms, except books, we have to be careful not to overcompensate in the other direction. From the 99% person you know that don't like reading, I'm convinced a significant number would actually love it, if introduced to it properly.

Like, I agree that a lot people will never get the runner high from cycling. But the crowd that gets it from hitting the gym should be prime material to convert to cycling.

I blame school. I never got any love of sport from PE. I didn't get the love of reading from reading assignments either ( _), but society is telling me that not loving sport is weird so I tried again, while not loving reading is expected.

(_) Up until the day a teacher just had a list that wasn't just all classic and you were not expected to use the reading as a basis for a disertation on some historical or social quirk, or extract profound philosophical meaning about the human nature. I picked a book with a story I liked, first time ever since childhood.

<comment><USER11> Absolutely. English Literature (mandatory at my school) meant I didn't pick up a book for pleasure for over five years after that.

Mainly they ruined reading for me with an intense over analysis that I could never get to grips with.

That wasn't the only thing though. We used to go around the room with one person reading a page at a time, some people could barely read and it was absolute agony because it would take months to get through a book.

</comment></comment></comment><comment><USER12> Difference between binge watching and binge reading is that reading warrants a good amount of imagination. Watching is pretty much a passive activity, and hence easy to get addicted to. Good article.

<comment><USER13> I agree. I noticed the same thing with reading articles online (or threads from HN), there's no friction and you end up getting a good amount of dopamine after much less time than you would by reading a book.

<comment><USER14> I would argue that the dopamine from a book is actually higher. You invest more into a book and are thus more likely to manipulated by what the author is saying.

On the other hand a documentary I invest no effort into watching it and thus can remain relatively unbiased.

</comment></comment></comment><comment><USER15> I'm going to admit, if I was to buy all the books I wanted, I would be left poor and unable to feed myself. That's why a lot of thought goes into what books I buy. I can be seen frequently taking _way_ too much time at bookstores perusing books often reading a few pages of a book and then making up my mind whether to buy it or not.

I thought E-books and Audible would change the game and make it easier to consume books, but it still requires a lot of mental and physical bandwidth to consume a book. It's very active and requires a 'reading muscle' to get good at reading, or even listening to one (on Audible).

I've tried various tools like Kindle and speed-reading apps, but they fail horribly in that they still require that reading muscle. There is no way out of this; you have to put in the work of reading a book, and the time investment (alongside cashflow to bring in steady streams of curated books for consuming).

<comment><USER16> More and more I keep thinking about an interview with Jacques Derrida.

[Standing in his home library / office space]

INTERVIEWER: Did you read these?

DERRIDA: No, I haven't read these. I haven't read all the books that are here.

INTERVIEWER: But you've read most of them?

DERRIDA: No, no. Three or four. But I read those four really, really well.

<comment><USER17> I saw the interview, and it kinda annoys me. Close reading comes from broad reading - it's only after you've read a library of books that you get all the subtleties and references. There are all sorts of orthodoxies around reading propagated by philosophers, often ingenious ones, often trying to make some kind of backhanded point.

</comment></comment></comment><comment><USER18> Agree. I have been watching a lot of movies in the last month since I retired but this afternoon I felt like reading a book so I jumped into Liu Cixin's "The Wandering Earth" and it was a more satisfying than most of my recent movie watching.

I have also been binge writing on a new book project, a three hour writing sprint each morning this week.

There is something satisfying about spending at least a couple of hours in an activity without jumping to something else, like reading email for a few minutes. Concentration is a great thing.

</comment><comment><USER19> I think I've somehow wired my brain to no longer be able to read books. I read almost all of the content I get in a day, no tv, rarely movies, but I cannot muster the stamina to read a whole book...particularly fiction. It makes me feel bad b/c I'm obviously missing out on a big part of culture.

Fortunately the rest of my family all loves to read thanks to my wife's amazing consistency in getting our girls into it and inspiring them to keep going.

(Edit: I have had a bit of success with audio books as long as the narrator isn't distracting)

</comment><comment><USER20> "There is no team of brilliant and vaguely sinister engineers, cooking up ways to get you binge reading."

There is, and it's called an editor. This is especially why a lot of bestselling non-fiction reads so smoothly. I always have a bunch of these lying around for when I want something easy to get into.

</comment><comment><USER21> I recommend binge skimming of books, blogs, magazines, looking for ideas and viewpoints. "Speed understanding," Asimov called it.

Mark the content that is novel to you, that is beyond your understanding, that you disagree with, that challenges your thinking, that makes you reflect or reevaluate, sparks your imagination.

And so conversely avoid reading further things well known to you, that only confirm your thinking, that you agree with, that is spoon-fed to you, that doesn't demand of you to apply its capital even after the cover is closed.

It's the deliberate practice of synthesis, analysis, and evaluation of reading that is the heart of all creativity.

One doesn't discover new lands without consenting to lose sight of the shore for a very long time. - Gidé

</comment><comment><USER22> Binge reading to me isn't actually good its just necessary to consume information, we do that already with our feeds and sites like this.

With fiction I want to take my time, so no books can wait.

Netflix to me is this generation's radio, its background noise. It produces some good content but we only truly tune in for that release. On most days it's old episodes of the office, fraiser and the west wing.

</comment><comment><USER23> I usually like to find classic literature and then find the movie for it.

Some gold ones: -The Stranger, Camus. Bring the book to life -Nabokov novel

</comment><comment><USER24> When I've got extra time I like to take $5 or $10 and go to the local GoodWill. They've got rows of great books (fiction, instructional, illustrated coffee-table books, etc.)

Sometimes I buy something, sometimes I don't. But it's always fun looking through the titles for treasures.

<comment><USER25> I used to enjoy doing that on a grey Saturday afternoon, but most charity shops in my area are now much too savvy to leave any treasures in their shops. A volunteer checks any 'interesting' books for value online and sends them up the line to HQ to sell on eBay or Abebooks.

The remaining dross goes onto the shelves for 'five books for a pound'.

It's profitable for them now but in the long term I think itis counterproductive since it removes a lure that used to encourage people to enter the shops.

</comment></comment><comment><USER26> Would you ever listen to somebody giving a 2 hour monologue? To blindly give somebody that much power over your attention span? I rather not. Get to the point or stop wasting my time. It's why I hardly read books. Just give me the section with the information I need.

</comment><comment><USER27> I do binge read. It's hacker news and a personal RRS feed with 150 or so sites I track...

</comment><comment><USER28> Great article! I really like that it's aware of its own limitations, or rather that it knows it's trying to explain something largely obvious.

As with everything, the hardest step is the first one, then each successive one gets easier; and similarly, some things simply aren't enjoyable in bite- sized ADHD-addled portions.

</comment><comment><USER29> This doesn't make sense. The reason people binge watch (as opposed to, say, bing drink) is that there's no incremental cost to watch an additional episode. I had expected this article would be about a new kindle subscription service that gives you unlimited access to all books. But instead it's about...reading, the traditional regular kind.

FWIW I have subscribed to O'Reilly Safari for years: it gives you essentially unrestricted access to approximately all computer science and programming books. I've found it to be invaluable. I haven't bought a book for work in years. Something similar for all books would be great.

<comment><USER30> I find my local library does that fairly well.

Also, "approximately all computer science and programming books"? Approximately all? Just how good an approximation is that? I can't help but think a pretty bad one. Maybe "a few books on approximately most of the top fifty or so languages and a bunch of books on fairly common techniques, tools and systems"? Sure, if you just need _any_ book on something, it's going to be something fairly common and they've probably got one.</comment></comment>


Smart pointers and move semantics in modern C++ - <AUTHOR> https://www.oreilly.com/ideas/2-major-reasons-why-modern-c-is-a-performance-beast?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+oreilly%2Fradar%2Fatom+%28O%27Reilly+Radar%29 <comment><USER2> I'm over-generalising, but: if you want performance, don't create a huge soup of tiny objects on the heap pointing to each other as can often be seen in 'smart-pointer-heavy' C++ projects. Creating and destroying objects on the heap is expensive, and you'll end up pointer-chasing with cache-misses all over place.

Unfortunately smart-pointers are only useful with this 'every object lives isolated on the heap' approach, since alloc-init and cleanup-free are merged into the same operation. Of course there's ways around that by writing custom allocators, but this just adds more complexity when often granular objects with their own lifetime and ownership aren't needed in the first place.

Smart-pointers are a convenience feature to not having to think about object- lifetime, and in the case of shared-pointers, also to not think about ownership, they're not about performance. If you want performance, don't allocate single objects on the heap, and spend some time thinking about data layout in memory.

</comment><comment><USER3> Part of the problem with the new move semantics for me, and C++ in general, is figuring out what the compiler is going to do and their interaction with the return value optimization. Sometimes I can't figure out if the RVO or the move constructor is going to be used.

C++ has definitely blown it's complexity budget and the problem is getting worse. I don't really see a way out of it either. I sure hope Rust starts to gel or a better C++ comes along, because I don't think I can keep pace with C++ too much longer.

<comment><USER4> If you're using clang you can just turn on -Wpessimizing-move and the compiler will tell you when you have a std::move call that is inhibiting RVO.

The rule of thumb is don't use std::move on a return value unless you are returning a move-only type (which forces you to do so).

<comment><USER5> > The rule of thumb is don't use std::move on a return value unless you are > returning a move-only type (which forces you to do so).

RVO will be automatically applied if the returned variable is local to a function and of the same type as the function's return type. That's all that the standard allows.

RVO is not applied to function arguments, regardless of whether or not they're rvalue references.

So your rule of thumb breaks for cases such as these (X is a movable and copyable type):

        X f(X&& x) {
          return x;  // x is copied, not moved
        }

In order to get x moved into the return location, you would need to do move it explicitly.

Source: Effective Modern C++ by Meyers.

</comment></comment></comment><comment><USER6> There are other C++11/14 features that improve performance even further that are not mentioned here. For example, automatic type deduction often finds a more correct type for a variable or iterator than you'd guess on your own, since your guess might require an implicit conversion which might be costly in some cases. Brace initialization can also avoid costly implicit conversions. And using lambdas rather than named functions often leads to automatic inlining, an additional performance benefit.

C++ is a changing language and is doing a good job keeping up the with times, adding high-level features while increasing performance at the same time.

</comment><comment><USER7> The calculus here is simple. You have two options:

1) Spend 90% of the time writing performance-neutral code in a modern high- productivity language and 10% on performance-critical code in a modern high- performance language.

2) Write everything in a "performance beast" of a language, spending 90% of your time fighting said language and 10% delivering useful functionality.

Bottom line, if you choose option 2, you spend 10x time delivering the same functionality and performance and you force yourself to hire the kind of expensive developers who are willing to waste their time mastering modern C++.

<comment><USER6> You forgot option 3), which I use myself: Write in a high-performance language that also has high-level features, and write 90% of your code without concern for the language's cool optimization features.

That's what I do and it's great. I don't use move semantics or think about them, I avoid heavy templates, and I focus a lot of my work on the functional tools in C++ now and the more elegant ways of doing stuff at a high level. For when I need those extra optimizations, no need to change languages, I'm already there.

<comment><USER8> Haven't used C++ in a decade - how is the modern functional programming working out without a GC? Isn't object ownership tricky to untangle?

I read your option 3 and nodded - I'm using Julia for much the same reasons. I didn't expect C++ to be the answer, but it's cool that it can work out.

<comment><USER9> If you are using Julia, then I will presume you are primarily working in some form of numerical computing. It is a very wide field, so it is difficult to say if object ownership will be tricky or not.

If you are working with (b|m)illions of particles or entities which are capable of changing ownership, you will have a hard time in any language. Whether that's the C++ ownership being unclear or the garbage collector defragmenting your memory (just because you don't see the issue doesn't means it's gone in GC languages).

That said, typically I find most algorithms have a computable upper-bound memory constraint and so you just pre-allocate a slab and then objects reference it. You will usually get better cache coherency and less wasted operations/sec. You're left with only a couple pointers you need to delete when you're done with the structure.

As for `functional programming`, it depends on what you're looking for. C++ has two _killer features_ for this, in my opinion; expression templates can seriously improve performance of functional composition (see Eigen3), and compile-time elision of type-dependent code branches (like a static if).

Since I have learned to use `unique_ptr`, `shared_ptr`, `weak_ptr`, (`deferred_ptr`), and to prefer idiomatic accessors like `.at`, `.find`, `.insert` I cannot recall the last time Valgrind was angry at me. I think I end up writing `new` and `delete` maybe once a month(?).

If I was designing widgets or applications with hard to define user interaction, I imagine I would have more complaints to share.

<comment><USER10> One nifty trick to avoid writing new or delete even when you need manual heap allocation is to always use std::make_unique (or std::make_shared, as needed) instead. That way you're forced to spell out any transfer of ownership as it is happening, and so someone's always be sure to delete the object. You also dodge the bullet with indeterminate ordering of new's and constructors, that might result in memory leaks if one of the constructors throws.

An important extension to this trick is that unique_ptr and shared_ptr are specialized for arrays. So e.g. to allocate a dynamic array of size n, you can do:

        auto a = std::make_unique<char[]>(100);

or

        auto a = std::make_unique<int[3]>(1, 2, 3);

and then use it mostly like an array - a[i] is overloaded and work as expected, for example.

The reason why you'd want to do this rather than using std::vector is because you don't get the overhead of overallocation (since vectors distinct capacity and size) and default-initialization of the elements.

With these, it's quite possible to write >100 kLoC of C++ without a single new or delete in sight.

<comment><USER11> Great tip, thanks for the clear example :)

</comment></comment></comment></comment></comment></comment><comment><USER12> I hope everyone read down to the end to see this factoid about Leor Zolman, the author: _In 1979, Leor wrote the BD Software C Compiler ( "BDS C"), the first 8080/Z80 native-code C compiler both developed on and targeted for personal computers._

Leor's C compiler didn't support floating point, but it compiled programs like a bat out of hell on a 4 MHz 8-bit Z80 microprocessor with 64 KB of memory.

Yes, it was C, running well, on a 4 MHz micro with 65,536 bytes of memory. Truly remarkable for its time.

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

</comment><comment><USER13> Does anyone have a good recommendation for a cannonical reference on Modern C++14?

I have experience with C++ but its the old kind with raw pointers.

My usual starting point is Herb Sutter's books, with Bjarne's bible handy when I need it. I'm not sure where to start with modern C++.

<comment><USER14> "The C++ Programming Language" has been updated in 2013, and includes C++11 changes: [http://www.stroustrup.com/4th.html](http://www.stroustrup.com/4th.html)

"A Tour of C++" (also by Bjarne) is a quick overview of the language (including C++11 changes): [http://www.stroustrup.com/Tour.html](http://www.stroustrup.com/Tour.html)

Another very useful resources is the FAQs from "Standard C++ Foundation": [https://isocpp.org/faq](https://isocpp.org/faq)

</comment></comment><comment><USER15> Move semantics are a good idea, but C++ doesn't have the compiler machinery to catch when you move something away and then try to reference it. Move semantics really need a borrow checker, like Rust. In C++, you have to be very, very careful not to do things like accidentally move something passed to you as a non-const ref.

<comment><USER10> In C++, you can't "accidentally" move something that's a non-const ref, since a move from one would require explicit use of std::move.

The only things which can be moved _accidentally_ are rvalues and rvalue references. But for rvalues, that doesn't hurt anything; and for rvalue references, the only reason why you'd use one is if you intended to play tricks with move semantics, which implies that you know what you're doing.

Basically if you write C++ as if move semantics didn't exist (i.e. never use rvalue references or std::move), you won't shoot yourself in the foot by those means. Of course, this also means that compiler assumptions are fairly pessimistic, so many places that could be a move aren't, because the move has to be explicit.

</comment></comment><comment><USER16> Wow the author is giving a two day course soon in C++ for up to 40 people that is costing 2500 per person. Is that a big industry? Do many people on HN run programming workshops? I would be interested in chatting if you do. Email on my profile

<comment><USER6> C++ training is a big industry, yes. Not sure about other languages.

</comment></comment><comment><USER17> The vector is initialized with 500000 widget objects. The size and capacity of the vector are equal. The following while loop is never executed.

>> while (vw.size() < vw.capacity()) >> vw.push_back(Widget());

In the situation that the vector is not initialized with elements and populated in a loop the time for a single push_back is equal. I think this is because there is no need for a resize.

>> vector<Widget> vw; >> for(int i = 0; i < 500000; i++) { >> vw.push_back(Widget()); >> }

Does this illustrate how fast a vector of objects can be copied/resized using move semantics?

</comment><comment><USER18> As a rust programmer. I've been very happy to see c++ talking about the things that are core to how we get stuff done in rust. As a c++ programmer, do you ever wish that auto wasn't const by default? Couldn't you have auto (let) and volatile (mut) :) .

I'm pretty sure this wouldn't be too hard to implement.

</comment><comment><USER19> I think most of these educated comments about memory safety wouldn't be here without the hindsight provided by Rust. So thanks, Rust!

</comment><comment><USER20> If only it was a reliability/robustness/simplicity beast instead. Instead, it's evolved to be this atrocity of unspeakable proportions that continues to wreak havoc (security bugs, technical debt, complexity) pretty much everywhere it's used. When the best C++ developers on the planet can not do better than that, you know we have a problem.

It remains to be seen if the alternatives that are now slowly emerging will replace it. My personal estimation based on all the expert C++ programmers I know is that this will not happen through people abandoning C++ since it sits so high on the abstract ladder of complexity that for one to even begin to question its foundations (and all the time/years/decades one has sank into becoming an expert C++ programmer) will be a Tower-of-Babel moment. On top of that you have the (quite illusionary) tremendous feeling of empowerment one gets when using something that required such an investment to master.

JWZ once wrote (on an unrelated topic):

"No matter how hard you try, you can't make a racehorse out of a pig. You can, however, make a faster pig."

This seems fitting to the way C++ is evolving.

<comment><USER21> Should quote this one as well:

       (3)  With sufficient thrust, pigs fly just fine. However, this is
            not necessarily a good idea. It is hard to be sure where they
            are going to land, and it could be dangerous sitting under them
            as they fly overhead.

[https://tools.ietf.org/html/rfc1925](https://tools.ietf.org/html/rfc1925)</comment></comment>


Ask HN: Considering State Vocational Program for Network Administration - <AUTHOR> I currently work in an unrelated blue collar field. I'm wondering what your experience has been, and whether you would recommend /not/ entering it (if so, why not?).
I understand the choice is a personal decision, etc, etc. I'm only looking for resources to help me make my decision.
Any input is greatly appreciated. <comment><USER2> The best experience for network administration is hands on experience. If this program has old and modern equipment from old school copper hardware to modern fiber ranging from routers, switches, firewalls, and working server equipment take it. As hands on experience trumps everything, especially if you are an ambitious driven individual in an interview. One of the great benefits about the network engineering field is the better you get the more you will be compensated for your skills, talents and abilities, especially the closer you are to a metro area.

Though, I would also recommend at least reading and watching through the certification material for CCNA, CCNP and CCIE Routing & Switching, Security, Collaboration and Datacenter when you have a chance from something like Safaribooksonline or Udemy. The amount of knowledge you learn just by reading through the certification material and applying it is breathtaking.

To enhance your experience, I also recommend picking up a CCNA/CCNP lab kit off of Amazon so you have something cheap at home to put your hands on. If you do not have the money or do not want to have equipment in house there are online lab options that use real equipment that you can remote into from home. Though with that option you will not get the good hands on experience learning about all the different cable types, how to configure them properly on the routers, and switches and go through the good old troubleshooting process when cables do not work as expected that you will run into on a real network engineering job.

All of the best network engineers I have met have their own network lab setup at home or were lucky and had a test network setup at work to prototype and test things before implementing them in their staging and production environments at work.

Once you have a good grasp of physical networking and the configuration of network hardware you can really start to take advantage of software defined networking to automate all types of network designs and security requirements. This will give you a major advantage over other candidates if the program has varying types of equipment to learn on.</comment>


Jailed Just-in-Time Compilation on iOS - <AUTHOR> https://saagarjha.com/blog/2020/02/23/jailed-just-in-time-compilation-on-ios/ <comment><USER3> > While this approach works, continuously changing page permissions is often > quite slow. A better solution for performance is to (ab)use memory mappings > to map the same physical page twice, with two virtual addresses, one of > which is accessible with write permissions and one which enables execute > permissions.

Just finished implementing this for UTM :) [https://github.com/utmapp/qemu/commits/ios- support](https://github.com/utmapp/qemu/commits/ios-support)

To Apple engineers reading this: please don't patch this technique (unless you're going to replace it with real JIT APIs). It's not a security issue because get-task-allow entitlement is never granted in distribution certificates. And it's allowing us devs to not have to jailbreak our phones and lose out on the security and privacy of the system.

<comment><USER4> It's not an 'abuse' of virtual memory and it doesn't need patching - <USER2> memory is designed to map multiple times and this functionality is used for basic things like malloc.

<comment><USER3> We're referring to the ability to remap RX memory as RW without the JIT entitlement which is normally needed to map RWX pages. The author calls it an (ab)use because mapping RWX is prohibited by the system but RW+RX in aliased memory which effectively achieves the same purpose is allowed. This ability is what I hope Apple doesn't patch at a misguided attempt to fix a "security issue" (which I argue is not).

<comment><USER5> I would argue that being able to run arbitrary code that I have authorized on my hardware is not a security issue, but Apple clearly disagrees :) I would expect Apple to patch ptrace rather than virtual memory remapping, in this case, since there really is no reason that an application that is not spawned by debugserver "needs" to be able to request PT_TRACE_ME. But since this doesn't really affect most users, maybe they'll let us have some fun for once…

</comment></comment></comment></comment><comment><USER6> This appears to be an expanded description of a long-known technique, described by the author on HN years ago: [https://news.ycombinator.com/item?id=18431524](https://news.ycombinator.com/item?id=18431524)

It's also mentioned in the source code of UTM, a virtual machine app for iOS: [https://github.com/utmapp/UTM/blob/ac89c106ecf9c765ea47bfe04...](https://github.com/utmapp/UTM/blob/ac89c106ecf9c765ea47bfe0428f504fce9cd9a6/UTM/main.m#L28)

<comment><USER7> I noticed the author had some comments on this approach on an HN thread the day before, "QEMU for iOS". Probably the previous discussions stirred some creative juices and they figured it's a good topic to elaborate upon in blog post form.

<comment><USER5> Somewhat, the story for this is a bit complicated :) I'm sure the ptrace trick was already well known by the jailbreaking community long before I discovered it independently, but I used that to port TinyCC to iOS: [https://github.com/saagarjha/tinycc/tree/ios](https://github.com/saagarjha/tinycc/tree/ios). (This was after Apple allowed people to sideload apps on their devices, so I was planning on making an app that would let you write C on your phone. I made an early demo and even an app icon, but lost motivation after I couldn't figure out how to make my app appear in sidebar of the Files app, go figure.) Emulators started implementing it at some point, and after not being able to do anything useful with it I just stuck around whispering it to anyone who'd listen. At some point I realized that a Mach exception handler might help solve the freezing issue described in the post, and UTM was the first app where I actually implemented it to see if it would work (though I suggested it to Dolphin earlier: [https://github.com/dolphin- emu/dolphin/pull/8492#issuecommen...](https://github.com/dolphin- emu/dolphin/pull/8492#issuecomment-563146828)). Since I ended writing essentially the same thing for PPSSPP ([https://github.com/saagarjha/ppsspp](https://github.com/saagarjha/ppsspp)) and I knew that there were other emulators that had the same issue, I figured I'd just write it up and point people at that instead of trying to send patches to all of them. I'm kind of lazy ;)

<comment><USER8> I am fascinated by your port of UTM and have to ask the question you've probably been asked thousands of times: is there any prospect of you releasing this on _TestFlight_?

<comment><USER5> Unfortunately, the JIT described here cannot be be used in an app submitted to Apple for review, which is required for all apps distributed on the App Store or via TestFlight. By the way, osy (who is also in this thread) is the author of UTM, so you'd want to ask them about project management decisions like these. I just submit patches :)</comment></comment></comment></comment></comment>


BusinessWeek's Best Young Tech Entrepreneurs of 2011 - <AUTHOR> http://images.businessweek.com/slideshows/20110516/best-young-tech-entrepreneurs-2011/

<comment><AUTHOR> Congratulations to Tutorspree, WePay, Bump, Greplin, Hipmunk, and Disqus!

<comment><USER2> PG - thanks for giving two young guys from the east coast with a crappy prototype a chance!

</comment></comment><comment><USER3> How sad that they only listed companies that got funding. It is not a good culture to look at funding as success, how about growth, revenue or even profit.

<comment><AUTHOR> It's true that funding is only a step toward success. I'm constantly reminding founders of that. But as of now, at least, it is empirically a necessary one. Construct a list of the most successful technology startups however you like (by revenues, market cap, number of users), and you'll find the number that didn't take outside funding is zero or near it.

It's an interesting phenomenon that all the biggest successes take outside funding. Perhaps the reason is that the better you are, the better terms you can get money on, and for any given startup, there are terms so good you'd be stupid not to take money at them.

<comment><USER4> You are right that any truly transformative tech company has raised outside money. However, it seems like there is a shadow tech scene comprised of substantial companies that have self funded. e.g.

CSN Stores - $300MM+ annual revenue/ bootstrapped

MailChimp - Approaching $100MM/ bootstrapped

Club Penguin - $350MM acquisition, heard they had a little angel money, but no VC

Ganz/Webkinz - Kind of a startup within a small manufacturing biz, but they have mid 9 figures in revenue.

SparkFun/iFixit - Both $20+MM in revenue with no outside investment.

Provocraft has $100MM+ in virtual good sales

Granted, most of these aren't household names in the tech world, but all thrive based on web tech. I'm sure there are others beyond the ones I know, but there seems to be a playbook that can get a company to $100MM+ without VC.

In closing, I agree with your thesis, and Sequoia's old homepage would back you up 100%, but do you think companies like the ones above are just outliers or are not successful enough?

<comment><AUTHOR> A combination of both. If you constructed a list of the top technology companies, few to zero of these would appear on it.

<comment><USER5> Do you wish you had raised VC for Viaweb and grown it to be "bigger"? How much bigger would you have had to grow it to get a better exit personally?

Bose is at least one counterexample, it seems. However, don't the most successful private companies have little incentive to release the information you say is necessary for the comparison?

<comment><AUTHOR> Actually I wish I had raised less. But I wasn't trying to make Viaweb into one of the top technology companies.

</comment></comment></comment></comment></comment></comment><comment><USER6> Anyone else see this as a thinly veiled advertisement for the venture capital syndicate. How could the two most important categories on the Best Young Tech Entrepreneurs of 2011 be "Funding" and "Wisest Funding Decision?" Everyone's answer seems to be, "Yeah, the best thing we ever did was take $X MM from X venture capital."

</comment><comment><USER7> Wow, not one of those has any roots whatsoever in science or engineering, except maybe Meraki.

Is this just media selection bias, or is Silicon Valley really just turning into Marketing Valley?

<comment><AUTHOR> What do you mean by roots in science or engineering?

<comment><USER7> I suppose the meaning of "tech" is somewhat subjective, but to me it seems like most of the companies mentioned purely provide a platform or a service to consumers or businesses, largely with the motivation of selling a consumer something.

I guess I hoped there would be some cool startup working on non-linear optics that I've never heard of, or some bioinformatics startup changing the way we do medicine. Research spin-offs, I guess. I understand there's a lot more intellectual overhead in some of these things, and maybe they just aren't as glamorous or something, but I was hoping to see _something_ along those lines.

<comment><AUTHOR> Historically, few successful software startups have been research spinoffs. That's not a recent trend. Even Google wasn't really. In biotech, yes, but there the founders are older.

<comment><USER5> Backrub, and its creators, were clearly government funded:

"1996 - Larry and Sergey, now Stanford computer science grad students, begin collaborating on a search engine called BackRub."

<http://www.google.com/corporate/history.html>

"BackRub is a research project of the Digital Library Project in the Computer Science Department at Stanford University."

[http://classic- web.archive.org/web/19971210065425/backrub.st...](http://classic- web.archive.org/web/19971210065425/backrub.stanford.edu/backrub.html)

"The Stanford Digital Libraries project is one participant in the 4-year, $24 million Digital Library Initiative, started in 1994 and supported by the NSF, DARPA, and NASA."

[http://classic- web.archive.org/web/19971210113151/diglib.sta...](http://classic- web.archive.org/web/19971210113151/diglib.stanford.edu/)

That's a huge initiative, especially in 1994, supporting many, many grad students like Larry and Sergey. There's a strong claim that without the research funding, we wouldn't have Google.

<comment><AUTHOR> That's why I put the "really" in there. It was government funded in the sense that any side project people work on in grad school is government funded, since the government is paying their living expenses. If that makes the startup a spinoff, Apple was a spinoff of HP, because Woz was still working at HP when he started designing the Apple I.

<comment><USER5> A $24M project, over 4 years, at six universities is exactly supposed to encourage creative innovation among the next generation and surrounded by domain experts. That initiative was _designed_ to produce projects like Backrub.

Was Woz's job description at HP written to specify novel hardware? Was he surrounded by mentors and other employees hired to support that initiative? Across six departments?

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> 6 out of 20 of the entrepreneurs were funded by YC. How incredible is that?

<comment><USER9> And many listed doing YC as the best funding decision they ever made.

</comment></comment><comment><USER10> As an "outsider", the only thing I really take from this - besides seeing the prominence of YC startups - is that there certainly is a shit ton of money chasing unproven ideas.

I mean, all of these products seem on the surface to be viable entities. I suppose that alone is better than what was happening ten years ago. However the issue I have is that the degree they need to succeed _just to be a positive return_ is sometimes bordering on the outlandish.

Groupon - a BILLION dollars? Seriously? It's news if an entire industry is worth this much, let alone a single company.

Maybe I'm just not getting it, but a lot of this stuff seems to be overvalued in the extreme.

<comment><AUTHOR> Whether Groupon is overvalued depends on its price to earnings ratio. What is its current P/E ratio?

<comment><USER11> I disagree. P/E is just one way of valuing a company.

Regardless of their current valuation, my personal opinion is that Groupon faces serious issues regarding the long term sustainability of their business model. They have dominated an ecosystem that will eventually balance itself. I am skeptical that they can maintain their current valuation through that process.

<comment><AUTHOR> I agree that there are other methods you can use. I thought it would be a start to bring the level of the discussion up to specifics at all.

</comment></comment></comment></comment><comment><USER12> I don't understand the age discrimination. Is there a "Best Old Tech Entrepreneurs of 2011"?

<comment><USER13> The younger you are the less time you've had to achieve something. Therefore it's more impressive when you do.

<comment><USER14> First statement is true. Second statement is false.

<comment><USER13> Explanation?

</comment></comment></comment></comment><comment><USER15> Solid list and congrats to everyone on it.

I'm not a fan of how much emphasis BusinessWeek puts on the funding amount. It really is the only data point they write about. Would like to see revenue or users... or something else.

<comment><USER16> Funding events are usually announced publicly, while revenue isn't. Revenue is also hard to compare between product, service, and advertising-supported companies.

</comment></comment><comment><USER17> Just realizing how small the startup community really is. I've had drinks with a quarter of the people on that list at Hackers & Founders over the last 3 years.

Cheers, mates. Next round's on you. :)

</comment><comment><USER18> I've got so many friends that shoulda made this list, but fly under the radar.

<comment><USER19> I'm probably not the only one who'd be interested in an alternative list...

</comment></comment><comment><USER20> Got halfway through the list and gave up. So no one builds products anymore.

</comment><comment><USER21> Congratulations, Jason Baptiste!

I made a point of meeting Jason when we lived in Miami at the same time. I had to meet this guy who made so many great comments here at Hacker News.

Glad to see you've moved on to bigger and better things. It was only a matter of time. Looking forward to hearing great things about Onswipe.

<comment><USER22> Ed, thank you, it means a lot :). Hope to see you again before my next time in Miami.

</comment></comment><comment><USER23> Really cool to see several YC companies listed.

I really wish I could invest in YC.

I bet YC will (still) be a notable player in the industry 20 years from now.

</comment><comment><USER24> I really wish the mainstream media (oh, and US automobile manufacturers) would use the same calendar that we mere mortals use.

</comment><comment><USER25> Wonder how many of them are dropouts?

</comment><comment><USER26> I installed Bump on my iPhone but used it just once. Any one knows how Bump is doing in terms of traction and usage?

<comment><USER27> It's not.

</comment></comment><comment><USER28> Where's Mark Zuckerberg?

<comment><USER29> He's transcended lists like this.

</comment></comment><comment><USER30> For those who commented on the age discrimination, Businessweek has this list of overall most promising startups:

[http://images.businessweek.com/ss/08/06/0627_fresh_entrepren...](http://images.businessweek.com/ss/08/06/0627_fresh_entrepreneurs/)</comment>


Awsum Shoes! Is it ethical to fix grammatical errors in Internet reviews? - <AUTHOR> http://www.slate.com/id/2293544/

<comment><USER2> no.</comment>


Heavy Rotation of Relational Hashicorp Vault Database Secrets in Spring - <AUTHOR> https://secrets-as-a-service.com/posts/hashicorp-vault/rotate-dynamic-relational-database-connection-in-spring-at-runtime/ <comment><USER2> Thanks for your blog post. Introducing rotation of configuration without downtime (interruption) is a quite challenging topic. The most challenging parts are breaking up static assignments and considering concurrency. If we reduce the problem to external integrations such as databases and message brokers, it's easier to grasp the scope.

If we look at what happens after credential expiry, we experience a quite diverse field. Some databases just keep working on existing connections as these remain authenticated. In other cases, databases validate the security context on each operation, which requires disposal of connections.

While injecting updated configuration is possible in some cases, it's not an approach that works for all technologies. Rather, we should come up with an approach that helps to understand and solving the problem for all components (or at least the majority).

The root of all this is that configuration binding and the components being configured just do not expect rotating credentials. We need to work around this fact. While this approach works for Hikari, it might not work for other pool implementations and that is the problem I have with the posted approach.

Instead, I would recommend a Proxy-based approach that can work with the majority of components. A pool is a DataSource after all and with the usage pattern of opening and closing connections, an implementation can track resources in use. So instead of exposing a HikariCP pool directly as data source, it would make sense to expose a proxy that routes getConnection() calls to the currently active and valid pool implementation.

Once credentials expire (or are about to expire), the implementation would fetch new credentials, pass these to a DataSource factory function and obtain a new, healthy pool. Also, once all connections of the previous pool are released, the old pool can be closed.

For technologies that do not expose a releasable connection (MongoDB, Cassandra), we require a different release mechanism, probably timeout-based. Still, the general proxy idea (proxying the Mongo or Session object) would remain the same.

<comment><AUTHOR> Thanks for your feedback.

I agree that the post does not offer a generally applicable solution for the rotation of configuration. Unfortunately, it looks like in this moment of time there is no such solution available (at least not that I'm aware of). On the other hand, the reason for writing this post was not to solve this issue but to help developers of Spring applications to use Hashicorp Vault for generating dynamic database credentials.

A solution for the more generally applicable, but also much more complex problem of configuration rotation without downtime would likely also solve the issue of the blog post. But as long as this solution is not available a more specific approach could at least address the challenges for some of us. The quite narrow scope of the blog post is bound to relational databases and HikariCP and I hope that I could point out that this still addresses a lot of use-cases (at least as long as SQL databases are not dead ;) ).

Additionally, I would like to increase the awareness that Spring itself is currently not automatically addressing the issue of rotating expiring secrets provided by Hashicorp Vault. Because Spring provides so many out-of-the-box production ready solutions for a lot of use-cases a lot of developers don't know and even think about the edge cases which could still create pain.

I'm really interested in more details about the proxy-based approach you were writing about. If I'm able to build a more general solution with this approach I would be really happy to share this approach in another blog post. Or do you know if it there already something planed in the Spring backlog to make this easier?

<comment><USER2> The approach is currently a design draft to approach credential rotation from a generic perspective. It spans over a couple of components and we need to identify first on which level we want to address the requirement of credentials rotation. So it will take a bit until we have a more clear picture.

<comment><AUTHOR> So there will be a generic solution provided by Spring?

I'm really looking forward to this. Is there I way I can be kept up to date about the progress or how I could potentially participate?

</comment></comment></comment></comment><comment><AUTHOR> Author here. Happy to answer any questions or hear any feedback about this post.</comment>