Ask HN: Has anyone moved from a 100K salary to 200k salary directly? - <AUTHOR> How was your experience? <comment><USER2> I very nearly did that ten years ago. I had been at the same firm from age 23 until 38 and had started at a very junior level and had advanced to the most senior possible level in that time. I made a horizontal move to another firm and the 90% pay raise I got put me in the mid range for my JD there. It is nice to make a lot more money. I would say the first thing you should do is get out debt and or save a year's pay. Then go on a really nice vacation. It is easy to spend a lot of money every month without setting definite goals... and it is even easier to become depressed when you spend all that money and it doesn't have the effect that you want it to. Better to build something and have something to look forward to. Just my two cents.

</comment><comment><USER3> I went from ~90k to ~250k TC. Getting a local job in NYC after leaving a fully remote job based in my old town. It was quite shocking. The result was that I could suddenly save a TON more money and had to rapidly learn the concepts of investing for the future.

</comment><comment><USER4> 100K to 200K sounds like a great jump, but not nearly, not even close as significant or impactful, as e.g. going from 30K to 70K. Lower bound jumps are the hardest and the ones worth (and quite interesting, to be honest) studying IMHO.

</comment><comment><USER5> What's the purpose of this question?

I've had big salary bumps before. My experience was that I made more money and could afford to invest more and buy more stuff with it. What did you expect?

<comment><AUTHOR> Not the experience after you got the bump. The experience of getting that 200k it cud be because of switch from one state to another or may be because you specialized in some specific tech.

The purpose is to identify what really led to a 100 % bump , i believe it is not something that happens usually in many cases and few special cases might have led to this.

To understand wat paved the way for this special case to happen.

<comment><USER5> The most common way to do such a thing that I am aware of is to move from a small company to a FAANG company, especially when that involves moving to Silicon Valley from somewhere else.

Moving from academia to industry can also result in a large pay increase.

</comment></comment></comment><comment><USER6> After working for a decade at a nonprofit at 100K, I used hired.com to get an iOS dev position at 175K. A year later I moved to a 200K position.

<comment><USER4> sounds like an ad for hired :thinking_face:

</comment></comment><comment><USER7> Close to this. 125K in a small city working for small company on a government project. I took a bit of time off to travel and then landed a 220K job in Seattle. Rent cost took added a bit more than $15K Taxes took another $27K.

The difference really is moving from a small co. to FANG.

CTCI and LC your way there.

<comment><USER8> For clarification…

• FANG means "Facebook, Amazon, Netflix and Google" [1]

• CTCI means "Cracking the Coding Interview" [2]

• LC means "Leet Code" [3]

[1] [https://en.wikipedia.org/wiki/Facebook,_Apple,_Amazon,_Netfl...](https://en.wikipedia.org/wiki/Facebook,_Apple,_Amazon,_Netflix_and_Google)

[2] [http://www.crackingthecodinginterview.com/](http://www.crackingthecodinginterview.com/)

[3] [https://leetcode.com/](https://leetcode.com/)

</comment></comment><comment><USER9> no

</comment><comment> java-man yes

<comment><AUTHOR> How was your experience?

<comment><USER10> good</comment></comment></comment>


This Is Probably How to Control and Engineer User Growth - <AUTHOR> https://medium.com/@dgaff/this-is-probably-how-to-control-and-engineer-user-growth-fa28e0ec8bdc#.c2x00gng5 <comment><USER2> say what?

<comment><AUTHOR> [http://boostershot.io/](http://boostershot.io/) is the signup URL if you want to try it out in the near future</comment></comment>


FBI's "imperfect entrapment" of teen may lead to FAA challenge - <AUTHOR> http://www.buzzfeed.com/nicolasmedinamora/did-the-fbi-transform-this-teenager-into-a-terrorist <comment><USER2> This seems like a tragic situation. There are some strong indications that personal and social problems are what drove Mohamud to embrace Islam, and that therefore these are in some sense responsible for making him susceptible to becoming 'radicalized.'

However, unlike some others in this thread, I don't find myself privately rejoicing that a legal technicality has now presented him with a chance of freedom. Whatever the causes of his antipathy toward the United States, and however you feel about the surveillance state and general disregard among law enforcement for our constitutional rights, Mohamud demonstrated a very clear intention to kill many people whom he never met. This cannot be attributed to entrapment, even if it is ultimately shown that his constitutional rights have been violated.

I hope Mohamud has overcome whatever psychological state led him into this situation. If it could be shown that he is truly better, I would have no objection to his return to society. But there is something absurd about the possibility that a person with a demonstrated propensity for mass violence might be returned to society at large without any legal restrictions, psychological treatment, or period of supervision.

<comment><USER3> The appeal isn't about entrapment, it's about wholesale warrantless surveillance of American citizens.

> Mohamud is the very first criminal defendant to challenge the FAA before a > court of appeals, which opens the door for a hearing before the U.S. Supreme > Court. The appeal has widespread implications: The controversial law > provides the legal framework for the mass surveillance programs that Edward > Snowden revealed in 2013.

> "It's not an exaggeration," Patrick Toomey, an American Civil Liberties > Union attorney, told BuzzFeed News, "to say that the privacy rights of > millions of Americans potentially hang in the balance of his case."

<comment><USER4> > The appeal isn't about entrapment, it's about wholesale warrantless > surveillance of American citizens.

Why should they have it any better than the unAmerican citizens of the world?

<comment><USER5> The Constitution of the United States only protects US persons (not citizens) from unreasonable surveillance. Spying on "unAmerican citizens of the world" is the direct duty of many of the US spy agencies, of which there are 17.

</comment></comment></comment></comment><comment><USER6> In this context, FAA is a 2008 amendment to the FISA legislation, not the Federal Aviation Administration.

<comment><USER7> I definitely clicked the link going "WTF does the FAA have to do with FBI entrapment?" Until I read the article, I had no idea there was a FISA-enabling law also called the FAA.

</comment></comment><comment><USER8> As a Muslim, this article is an eye opener as to how individuals become radicalised. Part of it is due to Terrorist publications, I don't see why these articles/magazines aren't actively being taken down. Most Daesh foreign fighters were recruited through such channels as well.

The other part is unfortunately due to radicalisation by the FBI and other state agencies. Had this teen been made to work for an honest living — as he was trying to by working on a fishing boat, would he realise the value of life. And part of his personality seems odd as well, he's hypocritical and blames his transgressions on western society whereas there are countless cases of individuals living a productive & a peaceful life.

His parents' approach has been reactive instead of being preemptive. Had they known of him sneaking around and being with shady characters they should've had a proper intervention and led him on the right path.

Parenting is hard, and unfortunately this is a case of failed parenting.

<comment><USER9> Why take them down when leaving them up acts as a honey-pot to trap would-be recruits.

<comment><USER10> Having a honeypot is not helpful. You can never kill all the people who don't like you. Better to not have them join up with the enemy in the first place. All the regimes that were historically the most successful at stifling dissent and opposition knew this and did it.

</comment></comment></comment><comment><USER11> Wonderful, it's the FBI and intelligence agencies that are responsible for radicalising people in order to arrest them later. Presumably some of them drop through the net after they've been successfully radicalised.

Well, least it's consistent with US policy with the mujahideen from Afghanistan against the Soviets.

</comment><comment><USER12> _Wahhabism, a traditionalist Sunni practice_

Wahabism (Salafism) is decidedly not traditionalist. At best, it's a form of degraded literalism that abandons 1400 years of exegesis for an anarchic reading of Islamic texts. It lends itself easily to terrorism, and, as the founding doctrine of the Saudi state, it is gaining traction in much of the world. It seems to have particular appeal for "born again" types like the subject of this article.

</comment><comment><USER13> _"Do you guys know Pioneer Square?" the teen said. "When they have events, everybody comes up there. So, on the 26th of November, they have a Christmas tree lighting and some 25,000 people attend. You know, the streets are packed. I thought, I thought if you could help me, you know, to have, to have a truck. … You know, explosives, inshallah."_

 _"And this is what's in your heart?" Youssef said. "You know, there's going to be a lot of children there."_

 _"Yeah, I mean, that's what I'm looking for," Mohamud said._

Providing this is an accurate recounting of events (this _IS_ the FBI we're talking about), it was at this point that I stopped caring about the poor misled / "entrapped" teenager.

He just flat out said he wanted to kill a bunch of people including innocent children. And was given multiple outs by the so-called entrappers.

Entrapment nothing - this sounds like a legitimate sting operation to me that got a dangerous killer off the streets.

<comment><USER3> They're not complaining about the entrapment in the appeal, and it's not just about that one guy. This is the first criminal case challenging wholesale warrantless surveillance in court.

<comment><USER13> Which is fine, and even necessary, but the article and many commenters here go out of their way to castigate the FBI for "trapping" this kid, which is plainly not the case.

<comment><USER14> Do you think, if the FBI hadn't gotten involved, that he would have had the initiative to put this plan, or any similar plan, into action himself?

Based on the article, it seems to me that he almost certainly would not have. He appears to be naive, gullible, and latching on to one thing or other for direction. When placed on a perfectly set up stage for doing something horrible, he did it. But without that perfect stage, what would he have done? He's clearly not a "good person", and could definitely be described as "immoral". But it's not clear to me that he's a criminal and deserves jail time. It seems like he didn't meet the requirements for an entrapment defense, at least according to the jury. But it still seems very close to entrapment: he's essentially being punished for a a tendency or a willingness to do horrible things, even if he would never have done them without specific encouragement.

<comment><USER15> He was actively looking for ways to carry out an attack. Do you seriously think if the FBI hadn't got in the way, he would have stopped doing that? He doesn't seem any less capable or motivated than the Tsarnaev brothers.

</comment></comment></comment></comment></comment><comment><USER16> TLDR: don't ever contact the cops because they will fuck shit up even worse than if you didn't call.

</comment><comment><USER17> It's not hard to take a troubled, isolated young person, isolate them further, become their primary source of love and support, feed into grandiose fantasies about how killing is the right thing and turn them into a killer. It is literally how every military in the world operates. We have seen proven experimentally otherwise well adjusted (albeit white educated industrialized rich democratic college students mostly) will do horrible things if a person of authority simply tells them to. As far as I can tell from this account, that is more or less what happened here. A high-stakes version of the Milgrim experiment.

I think we need a new approach. I think in situations where it is applicable, authorities should attempt to positively intervene in a person's life when, for example, in this situation where they collect information about a highschool student who starts interacting with editors of extremist publications. That sort of things should shoot up red flags that someone needs help, rather than wait a few years and see if they can get them to try to kill people.

</comment><comment><USER18> This doesn't just happen in the US. Here in Canada a seemingly similar instance occurred:

[http://www.cbc.ca/news/canada/british-columbia/b-c- legislatu...](http://www.cbc.ca/news/canada/british-columbia/b-c-legislature- bomb-plotters-entrapment-claims-hard-to-prove-1.3098654)

[http://www.citynews.ca/2015/09/17/lawyers-in-b-c-court- argue...](http://www.citynews.ca/2015/09/17/lawyers-in-b-c-court-argue-for- access-to-secret-documents-from-spy-agency/)

</comment><comment><USER19> The guy is an idiot. What was his part of the plan? He was there to push the button only. He deserves to be in prison for sheer stupidity.

</comment><comment><USER20> I hope finally we have someone who can challenge the unconstitutional behavior of our government. Our idiotic judicial rules always seem to rule in favor of the government and the prosecution when it comes to FISA. Maybe it will finally be stopped. Or not, the supremes aren't always consistent in their "interpretation" of the obvious.

<comment><USER21> Please remember that it falls to us, the voters and citizens to enact the laws that we see fit. The judicial branch only interprets the law, we still have the ability to change it if we disagree.

Apathy is the enemy of democracy.

</comment></comment><comment><USER22> "One day, the devil came to God and said let's make a bet between you and me for the soul of a man. And from on high, they looked down on Job, a devout man, religious. And the devil said, I can change his mind and make him curse your name. And God said try him, you will only fail. So the devil begins. He kills Job's herds and takes his fields. He plagues him with boils and throws him on the ash heap, but Job's mind remains unchanged. So I ask you son, if the devil couldn't change Job's mind, how the hell are you going to change mine?"

... apparently in this case the devil could change Job's mind.

</comment><comment><USER23> >When the agents learned of Mohamud's plans to travel to Alaska, they worried he might try to continue to Pakistan or Yemen. They placed him on the no-fly list.

 _Really?_

<comment><USER10> It seems like a perfectly valid use of the no-fly list, unlike in the cases of the majority of people who are put on it.

There are flights (with transfers) you can take from Alaska to Pakistan or Yemen. It's not unreasonable at all.

<comment><USER24> Seems like a good reason to at least have an international and local no-fly list separate. How's access to flights in Alaska different from access to flights in every other state? Unless there is a difference and I'm missing something?

</comment></comment></comment><comment><USER25> I didn't know buzzfeed put out articles of substance.

<comment><USER26> Quite a few have hit HN: [https://hn.algolia.com/?query=buzzfeed.com%20points%3E10&sor...](https://hn.algolia.com/?query=buzzfeed.com%20points%3E10&sort=byPopularity&prefix&page=0&dateRange=all&type=story).

Many if not most of the major websites have this dual identity where they put reams of fluff, then the occasional substantive piece.

<comment><USER27> The reams of fluff bring in the dollars and views, whereby they can afford to pay people to write substantive pieces. Furthermore, sometimes the biggest 'cost' is not the piece itself but making sure you have a legal team to defend against potential SLAPP suits.

<comment><USER26> The way you put it almost makes it sound not dysfunctional, i.e. high-quantity dross subsidizes higher-quality material.

It still seems like there's a need for a different funding model. But it's interesting that one still hasn't emerged, given that the erosion of the old one has gone as far as it has.</comment></comment></comment></comment>


Ask HN: What problems do you face when managing a rental property remotely? - <AUTHOR> What problems do you face when managing a rental property remotely? <comment><USER2> I have been a landlord for about 35 years, and a remote landlord for 20+. Since my wife and I are just now moving to another state for my new job, we just rented our home in Arizona, so we will now have two remote rentals.

My advice: be careful choosing property management agents. Get referrals and communicate clearly what you expect as far as them quickly fixing problems, providing receipts, etc.

My meta advice: prefer buying modest homes to live in, not MacMansions, and try to hang on to them as rentals as you move. It is a good way for someone in the "middle class" to accrue resources. It is better to live in a modest home and have separate income property than to just own a huge/expensive house that you live in.

<comment><USER3> > It is better to live in a modest home and have separate income property than > to just own a huge/expensive house that you live in.

Explain this logic, please. How is it "better"? Using which criteria?

<comment><USER2> Sorry, I should have been more clear. For my wife and I, we value long term stability, wealth building, and flexibility more than an extravagant home to live in.

I totally understand people who prefer a better current lifestyle if a large expensive house makes them happy.

<comment><USER4> Not sure I buy that. The tax and loan guarantee advantages of your primary residence in the US are huge. It's almost certainly more advantageous in most markets[1] to put $N of real estate into a single residence worth $N than it is buy two $N/2 homes and try to rent one. Details matter, talk to an accountant, yada yada.

[1] That is, assuming a decent appreciation of home values. In Detroit, say, this advice wouldn't hold because the homes are worthless investments and you want the rent income instead.

<comment><USER5> This is a bit of a naive view of the tax view within the US. I can't and won't compare the tax advantages of primary residences within the US to other countries, and they are good you're right. However, loan interest can be deducted as an expense on loans on rental properties. [1] This is not the only expense that can be deducted. Almost all expenses including your time can be deducted if you set things up properly.

As an investment vehicle, there are very few investments which can be diversified as much as rental properties. In my experience there are also very few investments with the level of return of rental properties. [2]

[1] I am not a lawyer, a CPA, or a tax attorney. I do have all three of these people on retainer. If you would like to know how set this up and make sure to get the most advantageous tax positions and financial positions from your investments, please hire people like this to tell you what to do. Also, do not forget to interview a few attorneys and tax professionals before hiring.

[2] My experience: I currently own 12 properties of three different rental categories in 3 different states.

</comment></comment></comment></comment></comment><comment><USER6> Are we talking long term rentals or short term rentals? They are both different animals.

Long term rentals have less issues. I'd say venting tenants if you are doing it yourself can be tough, although you can work with an agent if you choose.

Dealing with issues that are small, but need to be done, for example, dealing with a clogged drain, or dealing with a broken toilet in the middle of the night, are tough to manage. You can call a plumber, but prepared to spend a lot of money for something that can be done yourself without much trouble.

Short term rentals the biggest issues I've seen is the check in/check out process, cleaning, and being able to adjust to client expecations.

Some renters will have issues finding the location for a variety of reasons despite providing directions. This goes for finding wifi passwords, not knowing how or when to checkout, etc. Being there helps enforce these policies and deal with these small matters.

As others have said, prepping the unit with consistent quality can be tough as finding reliable staff isn't easy and their is high turnover.

For some context, my short term rentals are in the Caribbean, my long term rentals in the states.

<comment><USER7> How are your returns in the Carribean vs the US? In some cities, short term rentals in particular can offer great returns, but definitely not always the case.

<comment><USER6> I don't have a years worth of data to compare just yet. During tourist season, it's obviously more than what I could get than long term. This is about 2.5x as much profit than the long term, but during slow season, it's breaking even what a long term tenant would be in there for.

I'd also need to account for renting it for free to friends and family. I agree that short term in other US cities would be great, where my other properties are, I don't think I'd get much value out of it, especially when I'm usually in the USVI myself.

</comment></comment></comment><comment><USER8> I've never sold a home, I just rent them out when I move. I've done long distance rentals both myself and with an agent. Finding a good agent is easier than finding a good tenant, and good tenants move out eventually and you have to find another.

A good agent will have a handyman on staff so you can get simple stuff fixed for a reasonable price, a network of contractors that do good work at a good price, and know what channels to advertise in to get good tenants in the local market. They also know the local market better, which means they can better optimize price vs time empty, and depending on how bad you are at that, that optimization alone will pay their commission.

</comment><comment><USER9> Reliable cleaning staff is definitely the biggest challenge.

It's all too easy for unsupervised people to flake out hours before you have some renters with high expectations due to move in. Some may have the courtesy to let you know beforehand, others after the fact, and still others will bill you anyway.

Others may not have a consistent work ethic (spit and wipe a few spots and spend the next three hours checking Facebook).

Getting the reliability numbers up is very expensive. I'm starting to see maintenance staff take before-and-after pictures as part of their work.

<comment><USER10> Supervision of cleaners, maintainers and repair contractors is a job for the business of _property management_.

Those people can't slack off or do a crap job if they have to report to a management company, with which they aren't affiliated in any way.

Property management is a solved problem; it's a problem that the very rich have (or big corporations) that own many properties in many locations. Even if you own a bunch of properties in the same metropolitan area, the same one where you live (so technically not remote), you can't be personally checking on everything that is going on in all of them; when on Earth will you have time for afternoon golf?

It's a special case of the structure of any big business. Someone making fries at MacDonald's cannot slack off simply because the CEO of MacDonald's is on the other side of the world somewhere.

<comment><USER11> The question posed here though is explicitly one about problems experienced operating that business though. If you're managing a property, remote or no, you're doing _property management_.

</comment></comment></comment><comment><USER12> Reliable staff for just about any task. Before managing remotely I would have two reliable contractors for every type of job you might ever need: plumber, general contracting, cleaning, management, accounting, and legal. Having a trustworthy manager (and a backup) who can respond to emergencies is a huge help, and worth paying top money. Someone gets stuck without a key at 2am and you want to avoid the renter breaking a window or door? A good manager can resolve these types of things and you won't even know until the next day.

When we did short term rentals we even had the manager greet the new tenants, and take pictures in front of them, as well as meeting them for departure.

It's also worth it to set up a local telephone number that forwards to your remote number so everyone can still reach you. Unpredictable stuff does happen, and if it is something costly or big, you want to be in the loop.

Some people are going to take advantage of you, or at least try. Budget some extra money for this. Insurance may replace things eventually, but if you want to keep renting and your property description says there is a TV, you'll need to replace the stolen one right away.

<comment><USER13> or buy a home warranty for less than $500 a year and with a phone call and flat fee they will send somebody to fix it!

</comment></comment><comment><USER14> This just echoes what everyone else says.

1\. A living space just requires a lot of physical labor: gardening, repairs, maintain, etc.

2\. You can outsource a lot and still have holes. Example: property management company handles everything. The dishwasher breaks. You order a new one. How do you co-ordinate that the installer and the delivery is at the same time? What if the person there doesn't want to deal with it? Can you hire someone to let the delivery in and store it till the other person comes? What if they don't show up on time?

Imagine scenario #2 x 100 over and over again.

</comment><comment><USER15> 1) Bad property management company; response to situations; payment to me. 2) Demanding tenant; breaking things, bullying contractors, incurring costs.

Biggest problem: Property management company. I don't trust them to manage my house, and see that the tenant doesn't destroy it. A lot of my problems are things I never worried about, or thought needed to be fixed immediately, but my property management company has screwed me multiple times, but I can't afford to break the contract. My tenant is demanding, and exposing glaring holes in the lease.

Find a reputable property management company and get references. Talk to the home owners, real home owners, not property investors. Require the company to send your payment within the first month, don't let them keep that and earn interest off of it, choosing to remit next month, etc. Include strong clauses in the lease about property and appliance damage, detailed instructions in the lease for tenant maintenance (i.e. air filters), expand the section on pest control to explicitly state what you will, and won't do. Buy warranties on your central air, and if you can find a good place for it, on your appliances. Trust me on this one. Meet, qualify, and set up your own agreements with handymen, contractors, etc. Don't let the property management company do this unless you are absolutely clear on the costs, etc.

My saving graces for this house if my contractor, who is also the handyman, but has a rolodex of reputable people for all situations. Find someone like this, preferably an independent contractor in your area, and get to know them. Worth their weight in gold.

</comment><comment><USER16> Self-managed a long term (1 year lease) rental property remotely for 4 years, family worked in short-term rentals so I have some experience of that market too.

Main problem was peace of mind, knowing that tenants were there & not causing issues. Had a friend in the local area drive by every so often to make sure the place was in good condition. Let one do their own gardening, they let the place get run down so in the end mandated lawn/pool service for the tenants. The gardener was good at alerting us to issues.

Tenant changeover was hard and usually necessitated a flight down for a week or two to show the property (to a pre-arranged appointment list) and ensure move-in/move-out went smoothly.

Co-ordination was difficult sometimes (tenant reports an issue, get vendors out to triple-bid repairs, arrange for tenant to be there to let in vendors both during bidding and doing the work). Ongoing maintenance issues (the pool constantly leaked) were difficult to evaluate properly & had to trust our contractors.

Considered a property management firm but at 10% of the gross rent (and fees to find/place new tenants) on a property we were not cashflowing on we chose to manage it ourselves and it worked out alright. Short term I'd definitely want a local agent, too much to go wrong.

</comment><comment><USER17> Generic advice for being a landlord.

Screen your tenants. Better to be vacant for months than let a bad tenant trash the place.

Make your money when you buy. Don't overpay and rely on appreciation. The property should cash flow from day one.

</comment><comment><USER18> I recently moved from Scotland to Finland, and kept my (paid off) property to rent. The biggest annoyance was that the property management company I picked couldn't be trusted.

Despite having positive reviews, even from friends, they were just terrible at dealing with any problems. I expect that all properties would have leaking roof, a failing appliance, or similar, over a long enough time. But each time something broke the company handled it in a terrible fashion.

From promising, but not delivering, pictures of damage, to getting estimates for repairs that were almost 100% bogus. The list goes on and on.

Of course changing management company once you've already got tenants in, and you're abroad is a pain in the ass.

Beyond that though I found that since I was abroad I was suddenly classified as a "non-resident landlord" which meant my income was taxed pretty harshly. I should have expected that, but it was just another surprise.

Largely to cut down on tax and currency-conversion woes I put the property on the market, and now I'm waiting for the sale to complete. Good news? The property was sold for a pile of cash. Again though taxes will be a pain, and I'll have to pay capital gains tax for the first time in my life. God help me if the brexit fiasco causes the pound to drop again, because that'll wipe out a lot of money.

</comment><comment><USER19> Considering either selling my house or keeping it as a rental. Trustworthiness and reliability of the management company are my greatest concerns. Will they be available when a tenant has an issue? Will they provide receipts when something breaks?

It seems like too much of a headache, so I will likely sell the house.

</comment><comment><USER20> For people doing long distance single family detached house rentals, how do you make sure the general maintenance gets done? Things like lawn mowing, gutter cleaning, chimney sweeping, bush trimming, furnace serving, weeding around the foundation (damn Maple trees), snow removal, etc?

This seems like a lot to manage and I wouldn't trust a tenant to do it and some stuff requires tenant coordination. Seems like an annoying logistic problem to solve.

</comment><comment><USER21> A friend who has been a landlord for many years suggested that I hire a home warranty for my rentals. I have been doing that for about 1 year now and it's working out fine. You pay an annual membership and then a fixed fee for every claim. They handle everything from finding a contractor, to dispatching and paying the service costs.

</comment><comment><USER22> As someone who owns a couple rental units, the prospect of being a rent- seeking gentrifier or a slumlord

</comment><comment><USER23> Follow-up question (and I'm happy to create a different Ask HN, since this is kind of hijacking): How do you find, evaluate and purchase a good rental property remotely?

</comment><comment><USER24> "What problems do you have with absentee landlords that don't even live the same state as you?"

</comment><comment><USER25> Are talking about short-term airbnb type stuff, or like a long-term apartment or house?

</comment><comment><USER26> competent local staff. a single tenant focused front line staff member can change the whole entire equation for you.

i remotely manage hundreds of SFR & MFR units.

<comment><USER20> How do you find such a person and how do you vet them? Do they take landlords with only a single property?

</comment></comment><comment><USER27> Getting it cleaned by somebody who won't steal your stuff is a challenge. They can just say that it was taken by the renter.

<comment><USER28> You mean like copper piping?

Or is your rental furnished?

<comment><USER27> Lol... I'm talking about a furnished one. A relative of mine had an furnished unit they rented out and I remember this was an issue. They paid a pretty expensive cleaner as far as cleaners go, but thought it was worth it.</comment></comment></comment>


EU privacy using a VPN from the US - <AUTHOR> If I rent an EC2 (or similar) in Europe and tunnel all my ip traffic from home in the US, will I have the same benefits as you guys living there?<p>Seems like there are some very knowledgeable folks around here - hope I didn't miss a thread where this was already discussed. <comment><USER2> Why use a VPN, which doesn't provide privacy-by-design, when you can use privacy-by-design anonymity systems like Tor?</comment>


Company sues website owners for using image links - <AUTHOR> http://blog.simplyjean.com/2008/05/27/imaging-linking-is-patented-websites-and-blogs-affected-advertlets-nuffnang-and-blog2u-may-have-to-call-it-a-day/ <comment><USER2> In what version of HTML was an <img> nestable in <a> introduced? I have a feeling it might have been really really early on, in which case prior art should hopefully stop this dead in its tracks before they've scared too many people into paying up. Unfortunately someone will have to stand up to them in court...

I couldn't find any record of the actual patent they're attempting to base their claims on here.

<comment><USER3> yeah, but it made great linkbait!

</comment></comment><comment><USER4> There is simply no way this will get any traction in court.

</comment><comment><USER5> Another step in the abolishion of software patents?</comment>


More Republicans Now Support Free College Than Oppose It, Poll Finds - <AUTHOR> https://theintercept.com/2017/09/21/free-college-tuition-republicans-bernie-sanders/ <comment><USER2> That title is really oddly phrased at best, an outright falsehood at worst.

The actual numbers were _specific to 4-year universities /colleges_ and the _total_ support was 47% (strongly support 26%, somewhat support 21%). Strongly _oppose_ (28%) exceeded _each_ of those numbers.</comment>


In Running Like A Startup, Nonprofits Find Success - <AUTHOR> https://news.crunchbase.com/news/nonprofits-find-success-running-like-startup/ <comment><USER2> Certainly if you don't want to make a profit: startups are the ideal model.

</comment><comment><USER3> I really want to start or support a philanthropy nonprofit. This is such an under-served area, the real impact is possible. I have no idea where to start and what to do, though.

<comment><USER4> It is a ton of hardwork that demands a wide variety of skills that often do not directly contribute to what you want to be changing. That is not to say it cannot be done, but it can feel like such a grind between selling your vision and constant fundraising.

</comment></comment><comment><USER5> What a yodaesque title. How about "Non-profits Find Success In Running Like Startups"</comment>


Is Your Life Just One Big RPG?  - <AUTHOR> http://g4tv.com/thefeed/blog/post/702668/Is-your-life-just-one-big-RPG----Mind-blowing-speech-from-DICE-2010.html_______________________________________________

<comment><AUTHOR> This talk is excellent. It gets a big sci-fi towards the end, but the insights into the recent successes in gaming are spot on.

</comment><comment><USER2> This is required watching for startups - some of the best insights into customer psychology and the perception of value. And funny, too.</comment>


TP-82 Cosmonaut survival pistol - <AUTHOR> https://en.wikipedia.org/wiki/TP-82_Cosmonaut_survival_pistol <comment><USER2> This is is exactly the type of thing I come to this site for. Showing me fringe info I don't even know I'm interested in knowing about.

<comment><USER3> The article had a link to an AK-74, and I thought is that a typo for an AK-47? Apparently Russia moved on to the next generation in 1974 and the rest of the world remained with AK-47s?

<comment><USER4> It's all about the cost.

During WW2 and Korea, militaries generally favored larger, heavier bullets. The thinking was power is good. Over time, people realized that carrying weight is bad, and volume of fire is usually better than the power of a single cartridge – so the US moved to the M-16 (M4, AR-15) and the Soviets to the AK-74.

The sticking point is you have to have the money for BOTH:

1\. Mass caliber conversion (rifle replacement, new ammo, new tooling...), AND

2\. Purchase of additional, larger caliber weapons to replace the capability you lost when switching most of your forces from the intermediate cartridge to the newer, smaller bullet.

So, poorer countries tended to stick with the AK-47, and wealthier Soviet-bloc countries went to the AK-74...but there aren't too many wealthy communist countries, so the AK-47 remained the standard.

</comment></comment></comment><comment><USER5> See also: [https://en.wikipedia.org/wiki/Soviet_laser_pistol](https://en.wikipedia.org/wiki/Soviet_laser_pistol)

That's straight out of Scifi.

<comment><USER6> What it looked like: [http://www.geraldika.org/images/06_2007/010_04.jpg](http://www.geraldika.org/images/06_2007/010_04.jpg)

<comment><USER7> Seems like a movie prop. What evidence is there that this thing was a real prototype?

<comment><USER6> It's an exhibit in Russia's Strategic Missile Forces Academy museum.

<comment><USER7> Ok, that's evidence enough! Still looks like a prop though :P

<comment><USER6> Did you know that Princess Leia's blaster was not a prop but an actual Soviet handgun?

[http://www.imfdb.org/wiki/Star_Wars:_The_Original_Trilogy#DD...](http://www.imfdb.org/wiki/Star_Wars:_The_Original_Trilogy#DDC_Defender_and_SC_X-30_Blaster_Pistols_.28Vostok_Margolin_.22LR_target_pistol.29)

<comment><USER7> Cool! Did not know that.

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> Worth noting it took two decades from Leonov's complaint to introduction of this handgun.

<comment><USER8> Soviet bureaucracy at its finest.

<comment><USER9> I thought the advanced team quickly building a log cabin to sleep in was very Russian.

I knew a guy years ago who kind-of described it as a right of passage that you would take a trip out into the woods and build your own cabin/dacha.

A Finnish friend sent me his pictures of building his, including the obligatory sauna.

<comment><USER8> It might be that Russians cooperate very well (I do definitely agree on that), but as the organisation grows bigger, it is definitely very Russian to not be able to do _anything._

<comment><USER10> It's not a Russian trait, it's a common bureaucratic trait, and Soviet Union was bureaucratized over any sane limits.

<comment><USER11> One of signatures of Henry Spencer ( [https://en.wikipedia.org/wiki/Henry_Spencer](https://en.wikipedia.org/wiki/Henry_Spencer) ) looks like this:

        --
        Americans proved to be more bureaucratic           |       Henry Spencer
        than I ever thought.  --Valery Ryumin, RKK Energia |   firstname.lastname@example.com

[https://yarchive.net/space/rocket/fuels/hydrogen.html](https://yarchive.net/space/rocket/fuels/hydrogen.html)

</comment></comment></comment></comment></comment></comment><comment><USER12> I can't be the only one who was disappointed to find out that these weren't designed for Cold War space combat with American astronauts.

<comment><USER13> The Salyut 3 space station had an aircraft gun mounted for defense in orbit:

[https://en.wikipedia.org/wiki/Salyut_3#On- board_gun](https://en.wikipedia.org/wiki/Salyut_3#On-board_gun)

<comment><USER14> Interesting. Would something like that have had an effect on the velocity of the spacecraft?

<comment><USER15> If my math is right, you'd need to fire the gun 60 times to change the velocity by one meter per second.

</comment></comment></comment></comment><comment><USER16> Here is a couple threads of discussion on the ammo:

[https://forum.cartridgecollectors.org/t/space-shotgun- ammo/2...](https://forum.cartridgecollectors.org/t/space-shotgun-ammo/23669)

[https://forum.cartridgecollectors.org/t/russian- tp-82-surviv...](https://forum.cartridgecollectors.org/t/russian- tp-82-survival-gun-and-ammunition/2596)

</comment><comment><USER17> > In 2007,[2] the media reported that the remaining ammunition for the TP-82 > had become unusable and that a regular semi-automatic pistol would be used > on future missions.

Assuming the gun fires 28 gauge shotgun shells and standard AK74 ammunition, I can't see why the original ammunition failing would be a problem. Is there something I am missing here?

<comment><USER18> > Is there something I am missing here?

They weren't standard AK74 rounds. They were a special soft point version (5.45x39 SN-P) that were only used in these survival guns.

<comment><USER19> Couldn't someone just hand-load a different bullet into the same base cartridge? In the worst case scenario, swap out the barrel for one that can handle the standard rounds?

<comment><USER20> ...or just start handing out newer, lighter automatic pistols, and save yourself some flight weight and an occasional maintenance headache.

<comment><USER18> They were already using lighter weight Makarov pistols before the TP-82, and switched to the combo gun after some cosmonauts spent the night in the Siberian wilderness and thought a small semi-auto pistol wasn't enough. But, yeah, running out of qualified ammo likely just supplied the impetus to re- evaluate the necessity of the TP-82.

More interesting is the laser pistol the USSR attempted to design for cosmonauts to carry.

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

<comment><USER19> But the laser gun was for blinding satellite cameras, not fending off Siberian bears.

<comment><USER18> True, but still fun, and still pretty much useless for either job.

</comment></comment></comment></comment></comment></comment></comment><comment><USER21> 200m effective range seems a wee bit optimistic to me considering that barrel length.

<comment><USER22> The russian version of the article gives it a 50% accuracy a 100m, so yeah, good luck with 200m.

</comment></comment><comment><USER23> Here is Mark Shuttleworth training using one: [https://miro.medium.com/max/3300/1*81CK- yP7BzV8pJHDa9QtLw.jp...](https://miro.medium.com/max/3300/1*81CK- yP7BzV8pJHDa9QtLw.jpeg)

Source: [https://medium.com/war-is-boring/soviet-cosmonauts- carried-a...](https://medium.com/war-is-boring/soviet-cosmonauts-carried-a- shotgun-into-space-a9e7852c6da5)

</comment><comment><USER24> Three barrels: two shotgun and one rifle? Wow. That's a lot of firepower for one pistol. I don't know anything about gun construction, but I'm amazed such a small gun holds together being so hole-y.

I'm surprised I've never seen these in an FPS. Seems like a unique and versatile sidearm.

<comment><USER25> I though the same thing! This would be a really cool un-lockable sidearm in Battlefield or Call of Duty!

</comment></comment><comment><USER26> I can't find out if it was ever actually used. Does anyone know?

</comment><comment><USER27> Moon's haunted.

<comment><USER28> Not haunted, the man in the moon simply dug further down into the cheese layer beneath the lunar regolith when we got there and started poking things with flags.

</comment></comment><comment><USER28> And if you ran out of ammo, it would make a pretty decent club to beat, well, anything with.

<comment><USER29> It even has a machete in the stock.

</comment></comment><comment><USER30> [https://en.wikipedia.org/wiki/Soviet_laser_pistol](https://en.wikipedia.org/wiki/Soviet_laser_pistol)

</comment><comment><USER31> Only in Siberia

</comment><comment><USER32> Damn, Russians don't do things halfway

<comment><USER33> On a similar note The Man In Black on Westworld favours [https://en.wikipedia.org/wiki/LeMat_Revolver](https://en.wikipedia.org/wiki/LeMat_Revolver)

<comment><USER34> It was an interesting choice, and they didn't mess it up -- as I recall, some LeMat peculiarities play into the plot at one point, so the propmaster knew what they were doing.

Because I'm a nerd who grew up shooting, I've taken several runs at a "guns for writers" primer, because it's hard to get right if you don't know anything about firearms. The best rule is to avoid specifics here if you can, because naming a brand (e.g.) can back you into a corner if you don't know anything about the brand. (Case in point, I read a book a year or so ago that included a character cocking a SIG Sauer, which isn't possible.)

Point being, choosing a LeMat is a risky option for the writer because it's so unusual, so I was really happy to see they did so knowing what it was. We wouldn't really have LOST anything if they'd just given the MiB a bog-standard 1851 Colt or Single Action Army, but the LeMat adds a little depth/spice/eccentricity. It's a nice choice.

</comment></comment></comment><comment><USER35> Why is this on HN? It's again another $random Wikipedia article.

<comment><USER36> Because the poster thought it might be interesting to those who frequent the site? Considering its position on the front page at time of writing I would say he thought correctly.</comment></comment>


Bleak housing market in Bay Area - <AUTHOR> https://twitter.com/sallykuchar/status/978332798275616768 <comment><USER2> I feel like a unified regional government could help fix some of these commercial/residential disparities, but too many towns have too much to lose for that to happen. And I wouldn't want to wish the voters of Dublin or Livermore onto SF/Berkeley/Oakland residents.

Glad to live in a city (Chicago) with a much saner housing market.

<comment><USER3> I've started going to city meetings in Cupertino and Sunnyvale, and I agree the only solution is top down. I want the newly available Cupertion Vallco site to be full of housing, but I've resigned myself to the fact that Cupertino just isn't going to do it. The mayor doesn't want it, and the home owners don't want it. I wouldn't be surprised if it ends up with more office space than housing.

In Cupertino, Palo Alto, etc. housing is currently controlled by local nimby interests. We do have a state oversite process: [https://abag.ca.gov/planning/housingneeds/](https://abag.ca.gov/planning/housingneeds/). CA knows we're not doing the right thing, here and in the rest of the state. Check out the statewide housing assessment: [http://www.hcd.ca.gov/policy- research/plans-reports/index.sh...](http://www.hcd.ca.gov/policy- research/plans-reports/index.shtml). It shows the picture clearly. We're like a person driving a car with their feet - we're just doing something dumb. We need to get around the political inertia to change our current approach.

The state process just doesn't have enough grip to get our hands back on the wheel. It seems like sb 828 might improve the oversite [https://artplusmarketing.com/california-needs-a-housing- firs...](https://artplusmarketing.com/california-needs-a-housing-first-agenda- my-2018-housing-package-1b6fe95e41da#6ef2).

Looking around for what we can literally do as citizens, I found our state senator had an open house last week, but I missed it with a cold. So, show up and ask for more housing and ask him to get sb 827 and 828 passed! If you're local, follow his schedule at [http://sd13.senate.ca.gov/sign-e-notices-and- email-updates](http://sd13.senate.ca.gov/sign-e-notices-and-email-updates) and show up with me!

<comment><USER3> replying to myself: I just sat in a Sunnyvale El Camino Real planning meeting. Sunnyvale is adding substantial capacity on El Camino, about 7000 additional units in a much denser style, like what we need in the rest of the bay. So, We can do this in the bay! It's not a question when, but of how long. The sooner you get involved, the sooner more housing projects get started!

</comment></comment></comment><comment><USER4> Only of the (very few) reasons I like the GOP tax bill is that it will likely lead to California tax overhaul, including reducing income tax and ending Proposition 13.

</comment><comment><USER5> This is all about the continued rise of the housing market. It's the opposite of bleak.

<comment><USER6> Housing markets like this are bad for people and bad for the economy. It is bleak. There is no actual value being created when home prices skyrocket; it means that supply is severely restricted, and it prevents efficient location of people near their jobs.

<comment><USER7> It also destroys disposable income and savings potential, thus reducing overall quality-of-life.</comment></comment></comment>


When nerds hook up with nerds... - <AUTHOR> http://chalain.livejournal.com/72063.html <comment><USER2> Wow, random IM conversations recycling tired XKCD jokes are now front-page news here?

<comment><USER3> Although I did find the joke funny the 1st time I read it, I too was kind of curious about the 'first page merit' on this one... Also, and on a related note, I have noticed that the front page content has somewhat changed over the previous months. Used to, when hitting hn, I was greeted by pretty much 99% programming/hacking content... not so much anymore... makes me a little sad on the inside (still holding the knife on the outside, so I don't think sad is whats coming across... we will say conflicted...).</comment></comment>


Mirror grinding - <AUTHOR> http://www.scopemaking.net/mirror/mirror.htm <comment><USER2> My dad (Tom Johnson) founded Celestron. His key idea was a way to create the corrector plate at the front of a Schmidt-Cassegrain telescope. The corrector plate compensates for spherical aberration (the difference between a parabolic main mirror and a spherical main mirror). This is a very complicated curve, and the traditional way to make it was to have an optician make it by hand. This was an arduous and time-consuming process. Tom's idea was to spend that time manually creating a block that has the OPPOSITE shape from the one desired, and carve narrow grooves in it. Then, take a normal optical-quality sheet of glass, and use a vacuum to deflect that glass down onto the block. Grind the exposed surface flat, which is a quick and easy thing to do accurately. Release the vacuum, and out pops a piece of glass that is a high- quality corrector lens. As a kid, I can remember many weekends when my dad was out in the garage grinding lenses and refining the idea. Eventually Celestron became successful enough to allow him to quit his day job!

<comment><USER3> Do you know what this process is called? This description makes it sound like the glass has to bend significantly under at most one atmosphere of (negative) pressure, which sounds strange to me. I'd like to read more about it.

<comment><USER4> I think the trick is that the glass actually doesn't need to bend much. Notice that the caption here: [https://en.wikipedia.org/wiki/Schmidt_corrector_plate#/media...](https://en.wikipedia.org/wiki/Schmidt_corrector_plate#/media/File:Schema_lame_de_Schmidt.svg) describes the plate as being hard to tell apart from a flat disk visually.

</comment></comment></comment><comment><USER5> My parents run a business making telescope mirrors, and I grew up around this exact process. Measurement is the biggest difference between this and what they do. Take a look at [https://en.wikipedia.org/wiki/Interferometry#Engineering_and...](https://en.wikipedia.org/wiki/Interferometry#Engineering_and_applied_science) if you want to know more about how it's done in industry.

The best metaphor I got from them about how precise a shape they make in glass is that if you took a typical 1 meter mirror and scaled it up to the size of the United States, the biggest deformity from a perfect curve would be less than you are tall - far less than your ability to perceive.

The other thing that was impressed me is that up until recently, the last stage of high-precision mirror making was literally done by hand. My dad would literally rub on a mirror with very, very fine grit to take out bumps on the order of microns. Recently, they've switched to machines in that last step to make it faster and more accurate, but for many applications the traditional way worked just fine.

<comment><USER6> I'd imagine the math to be off-the-charts complicated, but I'm interested in the signal processing software people have created for correcting optical aberration (and how effective it is). I believe they pioneered this technology for the hubble's mirror defect. If it's effective, then manufacturers could reduce costs by not even needing to try for perfection, just staying within the limits of what software can fix.

<comment><USER7> The approach most advanced people use now is deformable mirrors. They work in concert with a laser that emits from the detector, bounces off the atmosphere, and produces a real time map for the deformation (you have to solve an inverse problem here IIRC). You can also use a wavefront sensor.

For small problems, you can just buy these things off the shelf: [https://www.thorlabs.com/newgrouppage9.cfm?objectgroup_id=32...](https://www.thorlabs.com/newgrouppage9.cfm?objectgroup_id=3258) "only" $17.5K

<comment><USER8> The history behind wavefront sensors is pretty fascinating. It was developed in the 60's by Hartmann, in order to better image satellites from earth, and then largely ignored by the astronomy community, even though he presented it to them, until the 80's.

I can't find the original paper that I read, but here's a bit of history [1].

[1] [https://pdfs.semanticscholar.org/d1ed/a97dd2cf70f54f24b85abc...](https://pdfs.semanticscholar.org/d1ed/a97dd2cf70f54f24b85abc320915cab1be4a.pdf)

<comment><USER7> WHen I started grad school in Biophysics (1995), a microscope professor mentioned adaptive optics and asked the incoming students if they thought similar processes could be done in microscopy. If you said yes, he let you join his lab (they were already working on this).

<comment><USER6> I wonder if it would be possible to make a deformable mirror using a combination of liquid mercury chemically bonded with a ferromagnetic metal (if mercury isn't already magnetic). Then theoretically, you could use an electric current in a coil to shape the liquid into a precise shape.

<comment><USER7> Maybe? I wouldn't touch mercury for any reason, though.

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> I know a few keen amateur astronomers who make extra cash by producing astronomical equipment for other amateurs. Some of them are very skilled, and could probably start a fully-fledged business if they wanted to, but they prefer to keep it as a hobby.

I paid one guy $400 to build me an equatorial platform for my 12-inch Dob. The value it provides me is way higher than the financial cost, and he could probably charge more for his work, but I think his main motivation comes from the satisfaction of building things he's proud of and that others can enjoy. Certainly, when I occasionally donate my time and knowledge at public astronomy outreach events, I find it very rewarding, especially if I can inspire children's interest.

N.B. By far the biggest weakness of Dobsonian (or any alt-azimuth mounted) telescopes is the lack of tracking, and thus having continuously to nudge the tube to keep objects centred. An equatorial platform eliminates this weakness, and I strongly recommend one to anyone who's frustrated with their alt-az scope.

<comment><USER10> It's a very small market. And at the higher volume lower end (cheap scopes for newbies) you can't compete with chinese mass production.

> _An equatorial platform eliminates this weakness, and I strongly recommend > one_

Agreed. You own a dob, just get a platform already. It's even useful for astrophotography.

</comment></comment><comment><USER11> This is one of my favorite hobbies to take part in.

I've got a hot glass shop on my farm in Kentucky (where I will make blanks and other artistic pieces), and I have built a cold shop with some tools (my favorite is a mold that uses pennies instead of the porcelain that they use in the article) and then using a HD projector and a DSLR that I remotely trigger, I get a map on the screen of where the imperfections are relative to the "top" of the mirror (that I indicate with a dot on the side).

Once I've worked the imperfections out, I'll then take it to an observatory in Ohio to get mirrorized -- and generally speaking, I'll donate my last telescope to the observatory (for public use) once I get the one I'm building done.

</comment><comment><USER12> I don't really understand how a perfect shape can come out of that process. Can someone explain how it's a product of the grinding technique?

<comment><USER6> Depends on what you mean by perfect. its very precise, but I'm sure if you examined the surface with an electron microscope you'd still see imperfections.

Edit: was incorrect about what I said below. Leaving it for posterity

It's important to remember that the final surface - the one that actually _reflects photons_ \- is created chemically by releasing a gas inside a vacuum that very evenly coats the surface with reflective metal atoms. I'd wager that process fills in the ~last nanometers~ or so of imperfections. Or at least averages them out enough to not affect the optical performance.

<comment><USER10> No, it's not needed. Nanometers don't matter, that's the atomic level, far below what visible light could resolve. The metallic coating doesn't change the shape.

Once you're below 20 nanometers it basically doesn't matter. The wavelength of visible light is on the order of 400 nanometers.

In a different universe where the wavelength of visible light would be comparable to, or smaller than, the size of atoms, it would be very hard to make mirrors.

Source: I make telescope mirrors.

<comment><USER13> And indeed x-ray mirrors are a bitch

(Although that's more because of destructive self interference than imperfections)

</comment></comment></comment></comment><comment><USER14> This appears to be incomplete. It explains coarse and fine grinding but that's not enough to make a usable mirror. You need to continue with polishing and figuring before getting it aluminized. Here's an explanation of the whole process:

[http://www.bbastrodesigns.com/JoyOfMirrorMaking/Intro.html](http://www.bbastrodesigns.com/JoyOfMirrorMaking/Intro.html)

</comment><comment><USER10> A much more extensive guide is at Stellafane:

[http://stellafane.org/tm/](http://stellafane.org/tm/)

Keep in mind this is a long term project. If you're looking for something to do with your hands, a physical object in the real world, that would keep you busy for months (assuming you're not working on it full time) - you've found it.

Keep at it and you'll make a very high quality instrument. My first parabolic mirror came out at lambda/25 precision (and no ripples, no turned edge), whereas many commercial mirrors are only lambda/4 or 6 and the edge is sometimes questionable.

As for the instrument itself (everything except the optics), it's not much harder than making a simple cabinet, and in some ways it's easier. Go slow, read a lot, think ahead, and you'll succeed.

</comment><comment><USER15> There is also a 90 minutes film »Telescope building with John Dobson« [1], inventor of the Dobsonian telescope [2], going through the entire process of building a 16" telescope from scratch.

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

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

</comment><comment><USER16> From a previous HN thread for this article ...

> I grinded some mirror. Nice experience but at end monotonous and boring. > Also grinding powder is lethal, I had my appendix removed since I eat some > :-(

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

</comment><comment><USER17> Random semi-related question I was thinking about last night:

Could you:

1) make a coarse "random" mirror that was bumpy at the large scale

2) buff out all the fine texture so you get clear fragments of an image all across the lens at random focal planes

3) put it on a track with a LCD screen on one side and a camera on the other

4) use some sort of gradient descent algorithm to move the image and camera around and reverse engineer the normal map for the lens

5) Use that displacement map to generate a light field from an image

6) Use the light field to generate any (clear, in focus) image you want in the light field volume.

In other words, can you make a Very Bad but Smooth lens, and then make up for it in software?

My guess: you could, but for any given focal plane you'd recover very little resolution because probabalistically few of the microlens fragments are focused there.

<comment><USER18> 1) Yes, ThorLabs sells them: [https://www.thorlabs.com/newgrouppage9.cfm?objectgroup_id=11...](https://www.thorlabs.com/newgrouppage9.cfm?objectgroup_id=1132)

2) You mean like a fun house mirror?

3) So you mean have a screen shine through a wonky lens at a camera?

4) Yes, this is commonly done with interferometers in many junior physics lab classes, though the set-up is different. [https://en.wikipedia.org/wiki/Optical_coherence_tomography](https://en.wikipedia.org/wiki/Optical_coherence_tomography)

5) So, try to figure out how the surface deforms the light image.

6) Yes, we have been doing this for many years now: [https://www.edmundoptics.com/resources/application- notes/opt...](https://www.edmundoptics.com/resources/application- notes/optics/introduction-to-adaptive-optics-and-deformable-mirrors/)

Yes, that is considered a 'solved' problem, but the costs and market for such devices limits their wide-spread use. Typically they are used for nanoscopes and telescopes. There are a few purveyors, but add 2 0s to the end of whatever you think the cost should be.

The limiting factor is the light coming in and having a 'known' value to measure your noise against. In telescopes, this is typically a 'guide' star that has a very well calibrated light spectrum and positions that you can measure the noise values against.

Also, another cool thing youmay want to look into is electro-wetting lenses, basically a digital lens: [https://en.wikipedia.org/wiki/Electrowetting](https://en.wikipedia.org/wiki/Electrowetting)

</comment></comment><comment><USER19> I'm a software engineer working in the precision optical fabrication and metrology industry since the late 80's. I've written a lot of software advancing the art in interferometry and computer controlled optical fabrication. It's always a thrill to visit optical shops all over the world and see my software still running on machines I helped build 20 years ago. I really have appreciated the opportunity to build software of enduring value, and to work on the enabling technologies for fab and test of microlithographic, aerospace, medical, research, and photographic optics.

</comment><comment><USER2> From one of Jon Bentley's Programming Pearls books, the "Bumper sticker computer science" chapter:

[Thompson's Rule for First-Time Telescope Makers] It is faster to make a four- inch mirror and then a six-inch mirror than to make a six-inch mirror.

        Bill McKeenan
        Wang Institute

This is offered as wisdom for software development..

</comment><comment><USER20> I work in optics at my day job. For me, one of my secret pleasures of optics is learning the ancient technologies, techniques, and measurements, that remain viable even in modern times. It's a pleasurable counterbalance to the "new framework of the month" syndrome, and helps keep me sane.

</comment><comment><USER21> I interned at a great company ([https://qedmrf.com/](https://qedmrf.com/)) that engineers magnetorheological fluid and machines for polishing / analyzing optics. I can't imagine doing it by hand. Fascinating stuff.

</comment><comment><USER22> If you live in the SF East Bay, there's a free workshop that meets every Friday night at the Chabot Space Center:

[http://www.chabotspace.org/telescope-makers- workshop.htm](http://www.chabotspace.org/telescope-makers-workshop.htm)

</comment><comment><USER23> How is the curvature of the mirror measured during manufacturing? It's obvious that the mirrors require extreme precision in order to function correctly.

<comment><USER6> [https://en.wikipedia.org/wiki/Spherometer](https://en.wikipedia.org/wiki/Spherometer)

<comment><USER10> Spherometers are only used during the initial stages. Towards the end you switch to optical testing.

</comment></comment></comment><comment><USER24> Needs the same for lenses. I'm very eager to try optics.</comment>


Show HN: The easiest way to program your Raspberry Pi in JavaScript - <AUTHOR> http://pijs.io/learn/getting-started

<comment><AUTHOR> I built this over the last few weeks with Meteor (JS framework) and I would love to know what you guys think! If you have a Raspberry Pi, how often do you use it? Do you think a web ide like pijs.io would help you use it more often?</comment>


The reddit time machine (a series of screen captures and mock-ups from over the years) - <AUTHOR> http://www.redditall.com/2006/12/time-machine.html

<comment><USER2> <http://web.archive.org/web/20030215210203/www.snew.com/>

Snew was once devoted to a higher purpose.

<comment><USER3> oh boy.</comment></comment>


CS course recommendations for a math major? - <AUTHOR>

What would be good courses to recommend to a math major who's looking to get into the applied / computational side of things? She's already taken CS1 / CS2 / Data Structures, and will be taking Intro to Algorithms next semester. I've suggested game theory and and possibly AI, any other ideas? <comment><USER2> I'd recommend taking courses in CS that will cover material she won't come across in math classes. So I'd say compilers and operating systems.

Game theory and AI? Sure, but I don't think a math major would have much trouble reading in those areas on her own. Whereas something grounded in compilers or OS would elude her unless she had a background in these areas.

</comment><comment><USER3> Numerical analysis

Computer architecture and organization.

Intro to computer networks.

And one that is underrated: Human-Computer Interaction</comment>


Another Gadget for your DIY Lab - <AUTHOR> http://www.plosone.org/article/info%3Adoi%2F10.1371%2Fjournal.pone.0023783

<comment><USER2> Link to the firmware, schematics and instructions.

<http://www.chem.ucsb.edu/~kwp/cheapstat/></comment>


Ask HN: Dropbox-like file-sharing with stronger encryption than just password? - <AUTHOR>

Estonia's vision allowing anyone in the world to start using its ID-cards: goo.gl/kXPL7b. Do you see value in this kind of cloud service: login by inserting ID-card and PIN1; upload a file; encrypt it with PIN2; share it by writing other's ID Card code; other can decrypt it by entering his PIN2. So, no site or state or NSA can get this document and it would be safer than just a password-encryption as I would need to steal your ID-card also. <comment><AUTHOR> I guess the second important aspect is that the other person, who you share with, is a real person. He cannot be fake as to get this ID card you need to authentificate yourself with biometric information</comment>


Ask HN: Created Scraping SaaS, best way to avoid misuse? - <AUTHOR> In light of the last few days, and all the scraping topics popping up. I figured I'd ask how to approach this.
I created a service that's in very early alpha   that's able to use lots of different techniques (pattern matching, NLP,javascript) to get data out of webpages.
For data gathering, I planned on having an interface to different kinds of APIs, along side the scraping, that users might need to do mashups.
It's already paying the bills for me, so I'd like to start scaling this out now. There can be a lot of potential for misuse here.
Besides the obvious things like robots.txt, naming my user agent, and users  being able to opt out of things like emails gathered by the system and throttling. What other things should I should be aware of? <comment><USER2> I'd be interested in using this type of service; I've tried a few but they were mostly too complicated to use, failed to work as advertised, or cost more money then hiring someone off vWorker to write a specific one-time solution.

<comment><AUTHOR> That's what the NLP is for. It's a three step process: Specify what you want, where you want it from, come back later and download your spreadsheet.

I planned on adding more advanced features later for users to specify css selectors and stuff.

The main ability of this is a preview and adjust feature I created in there that highlights the data it "thinks" it would grab for each website.

I took a lot of notes as I was creating this.

</comment></comment><comment><USER3> what's the url?</comment>


Jason Calacanis: Why we built Mahalo Answers  - <AUTHOR> http://calacanis.com/2008/12/15/why-we-built-mahalo-answers/ <comment><USER2> because Mahalo's original dumb model wasn't working.

</comment><comment><USER3> Just curious why he didn't put this on the Mahalo blog? (Well, I have a theory but I'm too polite to say it.)

<comment><USER4> What's your theory?

<comment><USER3> Calcalnis has a reputation as a publicity hound, and putting it on his personal blog gives _him_ traffic and attention even though it's about his company.</comment></comment></comment>


Ask HN: Should .io domains still be avoided? - <AUTHOR> A few years ago pg wrote a great article on startup names: http://paulgraham.com/name.html
The resulting discussion was equally as informative: https://news.ycombinator.com/item?id=10030863
I'm wondering if this has changed at all. Are .io names to be avoided still? Have consumer/investor perception of them changed since?
This question comes as I brainstorm names for an upcoming project. The target demographic is generally a developer, and as such I picked up a relevant one word .io name. I am aware of available .com names which would suffice, but they're commonly two words and not as succinct. Would switching to a .com be advised? <comment><USER2> A lot of huge and successful companies are using .io domains (e.g. Github, filecoin, etc..)</comment>


Google enters DoubleClick sweepstakes; Microsoft must be annoyed - <AUTHOR> http://blogs.zdnet.com/BTL/?p=4769 <comment><USER2> Part of me thinks google is just entering the contest to make it more expensive for MSFT, and has no intention of actually winning this one.</comment>


Ask HN: Would you accept a job that pays you in Bitcoin? - pablo-massa I was looking for a UX Designer remote job and when I find this opportunity [0] I ask myself this question.<p>[0] https://www.exodus.io/jobs/#ui <comment><AUTHOR> Would you accept a job that pays in Monopoly money, lottery tickets, Warcraft equipment, or in trucks of cheese?

<comment><USER2> What type of cheese?

</comment></comment><comment><USER3> No.. because risk</comment>


Size cost of C++ exception handling on embedded platforms - <AUTHOR> https://andriidevel.blogspot.com/2016/05/size-cost-of-c-exception-handling-on.html <comment><USER2> In a compiler's intermediate representation, exceptions are typically modeled as multiple returns. E.g. in LLVM the `invoke` op specifies a label to go to if an exception is returned [http://llvm.org/docs/LangRef.html#invoke- instruction](http://llvm.org/docs/LangRef.html#invoke-instruction)

By the time this reaches the backend, the exception handling is usually converted into "zero cost" exceptions where raising an exception calls a handler which uses a lookup table to work out how to unwind the stack and what destructors to run etc. Here's a really good explanation I found [https://mortoray.com/2013/09/12/the-true-cost-of-zero- cost-e...](https://mortoray.com/2013/09/12/the-true-cost-of-zero-cost- exceptions/)

This "zero cost" exception handling has _no performance penalty_ on normal CPUs in normal execution as exceptions are exceptional so the conditional call to the handler easy on the branch predicter and the clutter of unwinding doesn't fill the caches.

(Zero cost execption handling appeared first iirc in Metrowerks compilers, but quickly became the standard way on most modern platforms and is now in the ABIs.)

The multiple-return approach may well be much better for total program size.

Whether you can use the multiple-return approach on bare ARM - when the ARM ABI specifies zero cost exception handling - is nothing I know about.

<comment><USER3> GCC does employ DWARF exception handling (the zero-cost EH model) on ARM7TDMI. While the cost is zero in time, it is not zero in space. The EH tables, unwinder code, and support code for them have a non-zero space cost. While the space cost is normally considered negligible in a workstation or server environment, in a microcontroller environment it most certainly is not.

<comment><USER4> well, if ypu want exceptions that practically don't exist neither in time nor space, use something else :)

</comment></comment></comment><comment><USER5> This article is very interesting but it address only the constant overhead. It would be interesting to know is there is also a factor on the size of the program (Sexp = k*Snoexp + C). I'm not sure if this factor (here 'k') will be greater or smaller than 1 (without exception, you have to generate code for every if/then needed for managing the error code).

If k<1, the choice become a trade-of : Small programs are smaller without exception and big programs are smaller with exception.

Has anyone try to measure this factor ?

</comment><comment><USER6> Exceptions are a really valuable programming tool , but you can live without them. The cost of not having exceptions is usually giving every function in your code the option to return an error value.

It takes some time getting used to, but it also creates the habbit of checking error codes on every function you call. It also makes handling errors something you do as soon as possible (and in the most recoverable way).

<comment><USER7> True, and a good type system will enforce that you check for errors. However, depending on how often errors occur in your program, this can actually make your code slower. Good exception handling implementations are "zero-cost", meaning that there is no performance impact in the happy path (when no exceptions are raised). C-style error handling (an if statement) is actually slower, at least in non-embedded environments.

<comment><USER8> In C, there are ways you can get the optimizer to turn if-based error handling into something that only spends one or two instructions; using __builtin_expect[0] can decrease the cost of a condition by letting the branch predictor pick the "right" thing to expect. That way you end up only paying the price of the branch (and maybe the jump) instructions without any pipeline flushes or stalls.

[0]: [http://blog.man7.org/2012/10/how-much-do-builtinexpect- likel...](http://blog.man7.org/2012/10/how-much-do-builtinexpect-likely- and.html)

</comment></comment></comment><comment><USER9> I think this shows clearly that compilers are still quite bad at "optimising in the small", since they tend to all be based on the "link in everything and let later passes strip out some of it" principle, whereas what's really needed is for them to link in code only if it can be proved it will be needed/can't be proved to be unneeded. And even after his efforts at removing unused code, there's still plenty remaining (more than order of magnitude difference.) Ideally the compiler should be able to optimise the exception code to become identical to the no-exceptions code, something that a human could easily do in this case but the compiler couldn't.

<comment><USER10> Link Time Optimisation is what you're referring to (-flto) and that wont solve the issue. exception handling is inherently unsuited for embedded systems.

The size & performance overhead is one thing, but the model of attempting to "handle" errors is incorrect. In most cases, a PANIC situation should lead to a watchdog reset.

Exceptions should be for _exceptional_ cases, not the usual program logic. In embedded systems, _exceptional_ cases == reset.

<comment><USER11> _Exceptions should be for exceptional cases_

Why? Simply because the words look alike?

I think you're painting a false dichotomy here. There's a whole world of program state between "usual program logic" and "exceptional cases".

<comment><USER10> defined recovery cases are not exceptions.

exceptions are breaks from what you had assumed to be constant.

There is a reason program logic is not placed into exception handlers... the readability would be completely destroyed.

<comment><USER12> You're thinking of asserts, not exceptions.

Exception usage can usually be split into three buckets: (1) programming errors where abort() or equivalent isn't suitable (e.g. libraries); (2) semantic errors at the application level where language provided unwinding is used as a convenience to jump back to the core event / request loop and provide an error to the user or client; and (3) to provide out-of-band error information for failures when interacting with non-deterministic systems (e.g. failure to open a file or communicate with a device, where the natural function to write returns a value, rather than a success or error code).

There are alternative solutions to all three, and all three may not apply to every environment. For embedded systems, case (1) may indeed not apply. But cases (2) and (3) may be useful as a programming convenience to automate the idiom of checking error conditions and aborting the current operation. If checking error conditions and aborting is fully automated (like monadic Result handlers in e.g. Rust) then you start approaching an isomorphic semantics to exceptions, with no necessary difference in implementation details.

<comment><USER10> nope, definitely not thinking of asserts, they are nothing to do with this situation.

program logic encoded in an exception handler is undeniably less easy to read than explicitly coded error cases.

Also, the non-locality of the decision making means the further away from the error-site you are, the more context you have to keep in your head.

This similar to what deep inheritance hierarchies suffer from, non-local logic. you end up jumping all around your source tree trying to figure out the full context that an error has occurred in.

<comment><USER13> That's a very strong statement. You really believe there can't possibly exist _any_ instance where program logic in an exception handler ends up being easier to read? That assumes you know enough about every possible permutation of logic flow to know that exceptions could not benefit it.

<comment><USER10> Of course not, I'm talking about a general rule.

No rules are universal.

<comment><USER13> Sure. The real point I'm getting at is that overly strong statements lead to arguments, where people take your statement at face value. Hyperbole is rarely useful in a serious discussion. It just means people have to work to determine your real stance because it may not match exactly what you said.

You could have said "I've never seen a case where exception handling resulted in more clear and easier to read code, and I doubt I'll ever encounter such a situation" and I think that would convey your opinion clearer (assuming I understand it correctly).

> No rules are universal.

We're talking about CS and programming here, where there are plenty of cases where things have been formally proven. Some rules _are_ universal. No reason to use absolutist statements where they don't apple.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER14> How much is this space increase because of dependences upon the STL library that is included to do the exception handling versus the actual exception hanlding itself.

I would like to see a comparison that doesn't use STL for the exceptions in C++ and then measure that difference.

I find that the use of STL increases the size of the resulting binary significantly by itself.

(Now maybe since STL is the official C++ library maybe this is still a fair comparison, but STL is known for bloating the size of binaries.)

<comment><USER15> I realize we're talking embedded here, but what is "bloat" in the context of 2016? I have a suite of 35 command line apps with header-only dependencies on Boost and the whole shebang builds in under ten seconds on 2012 MacBook. Many of the binaries (64-bit) are under 200k.

EDIT: I've hand-coded 68xx, 56xxx and 8051 when 4K RAM was a luxury. But this "C++ is bloat" and "exceptions are universally wrong" discussion feels a little 1995 to me. It's 2016: if you have software it's not that hard to find a $5 system to run it on. And people who actually write embedded code know how to pick their tools. And at least one of them isn't necessarily afraid of STL or exceptions... me.

EDIT 2: jotux comment below nails it.

<comment><USER16> I think we have different ideas about what an embedded environment is if a macbook is your reference platform.

<comment><USER15> "64-bit" and "using Boost" are the clues that I was making a contrasting, not supporting, argument.

</comment></comment></comment></comment><comment><USER17> Welp time to use Option types for error handling ;)

<comment><USER18> Rust still requires stack unwinding info (dwarf CFI) so it's still going to be bloated on anything non-trivial.

<comment><USER19> You can turn off unwinding as of a few days ago in nightly. We'll see how long it takes to hit stable.

<comment><USER18> This is one of my issues with Rust, there are a a couple dozen knobs that need to be turned and may or may not break things to get somewhat sensible behavior (imo). And creating a shared library with Rust with it's default behavior of crashing on OOM (Linux can be configured to not do overcommit), etc is just plain bad.. oh yes there is a knob for that too!

</comment></comment></comment></comment><comment><USER20> But still, it's a x49 increase between code with exceptions and without. It would be logical to assume that additional exception handling code is the same regardless of the original code size — but I'm not sure about how correct such an assumption is.

<comment><USER21> The exception support code is a constant overhead. The remaining difference in size will come from the unwind tables - but it's difficult to compare apples with apples there, because a program written to not use exceptions will need additional error handling logic, which has its own significant size overhead.

</comment></comment><comment><USER10> Exceptions are the wrong model for embedded systems, generally if something _exceptional_ happens, you need a reset. Attempting to "handle" exceptional cases is incorrect, a reset is the correct option.

Exceptions != normal program flow.

<comment><USER11> You can divide embedded systems between industrial control systems and headless consumer devices, like set-top boxes or smart TVs. For the latter, you really don't want to invoke a device reset every time the input stream is malformed.

<comment><USER10> true, but I would not consider a set-top tv a true embedded system, rather a specialised user-facing system. So yes, you wouldn't reset a user facing system.

I would characterise embedded systems as those having to maintain functionality without user intervention.

(also, comms issues such as input stream errors are the normal program logic, i.e. defined error cases).

</comment></comment></comment><comment><USER22> I'd also be curious about the run-time costs (performance) of an exception- ready system that doesn't actually ever handle exceptions vs one that doesn't consider exceptions a possibility.

</comment><comment><USER23> I'm a beginner, but why use exceptions instead of returning an error code and displaying a message?

<comment><USER24> Here's a great StackOverflow question/answer on this: [http://stackoverflow.com/questions/4670987/why-is-it- better-...](http://stackoverflow.com/questions/4670987/why-is-it-better-to- throw-an-exception-rather-than-return-an-error-code)

I program in Java and I like that methods have __* to declare what they exceptions they throw. This makes it very obvious from a consumer standpoint.

 __* except for runtime exceptions

<comment><USER25> Checked exceptions were/are one of Java's biggest mis-features (IMHO). You can't force a client to deal with exceptions. Checked exceptions ends up encouraging empty catch blocks, which is usually worse than propagating an exception.

<comment><USER24> If the method you're designing is going to throw an exception that wouldn't make sense to handle from a consumer standpoint, creating an exception that extends `RuntimeException` would be my advice. I agree that empty catch blocks are not a good idea.

<comment><USER26> It would b a good idea to catch it. Except Java has a FileNotFound exception when trying to open something, which to me should just be part of the normal control flow and is not something exceptional.

That and you tend to get code that just "throws Exception" propagated all the way down to main. I know I've done it for little projects at Uni (when I last programmed in Java, 3.0 I think?)

</comment></comment></comment></comment></comment><comment><USER27> I recently reimplemented machinery in our compiler which implements C++ exceptions. I figure it might be useful to share a few interesting issues.

The way C++ exceptions are used creates very interesting interactions in the design of their implementation.

There a hidden cost many forget: call frame information restricts what the compiler can do. Why is this the case? Even if exceptions are super rare, the compiler still needs to make sure the program will obey the language rules if an exception is somehow thrown at an appropriate program point.

The compiler must emit instructions which can be represented by the call frame information in order for the unwind to be able to reason about the stack.

This is usually not a problem on Linux because the DWARF CFI is very expressive. That expressiveness comes at a cost: it is quite inefficient when it comes to size.

Other platforms, Windows NT (ARM, x64 and IPF) and iOS, recognized that this increase in size is a bad state of affairs and thus aimed to make the CFI more compact. By doing this, they greatly reduced the size of CFI but unfortunately created restrictions on what a compiler can do.

As for trickiness inherent in C++ exceptions, C++ supports a fairly esoteric feature: exceptions may be rethrown without being in a try or catch:

      void rethrow() {
        throw;
      }

An easy way to make this sort of thing work would be to thread a secret in/out parameter which represents the exception state.

But how is this typically implemented?

Well, remember, the ethos of exceptions in C++ is that they are rare. Rare enough that implementors are discouraged from optimizing the speed of C++ exceptions.

Instead, thread local storage is typically used to go from any particular thread back to it's context.

Things get pretty darn complicated pretty quickly with features like dynamic exception specifications:

      void callee() throw(double) {
        throw 0;
      }
      void caller() {
        try {
          callee();
        } catch (...) {
          puts("got here!");
        }
      }

On first examination, "got here!" should be unreachable because the call to "callee" results in a violation of the exception specification.

However, this is not necessarily the case! What _actually_ happens is that some code runs between the throw and the catch: std::unexpected is called.

Now, std::unexpected might throw an exception of it's own! If this new exception matches the exception specification, the exception would pass into the catch block in "caller". If it doesn't, the exception thrown within std::unexpected might result in another violation!

Wow, this is get complicated... OK, so what happens if it results in another violation? Well, the exception gets cleaned up and replaced with, you guessed it, another exception! We'd be left with an exception of type std::bad_exception leaving std::unexpected and thus "callee". Because the catch clause in "caller" is compatible with std::bad_exception, control is transferred to the catch block.

This is the tip of the iceberg. A huge amount of machinery is sitting around, waiting to engage to make exceptions work.

</comment><comment><USER28> C++ exceptions have a runtime overhead, because they have to set up a handler (insert a record into a linked list) upon entering the try block and remove it when leaving the try block. Now of course checking return values introduces a lot of branches, so go figure out which one of them is worse...

still it is very advisable to have likely pragmas around if conditions that check return values.

The big problem with exceptions is that it introduces a lot of implicit code paths, and lots of possibilities for resource leaks (if raw pointers are involved).

<comment><USER29> That's one way they can be implemented, but now they tend to be zero-cost implementation where only when an exception occurs does it figure-out where it was and what to do.

<comment><USER28> the article speaks about 'embedded' systems - these are not x84-64 systems (intel cpus need too much power) so they don't have a 'zero cost' exception table (that is also not exactly zero cost)

Can you show me an embedded system with zero cost exceptions?

<comment><USER29>
      $ CXX=g++ppc CXXFLAGS=-g make -f /dev/null foo.o
      g++ppc -g   -c -o foo.o foo.cc
      $ objdumpppc -drS foo.o

      foo.o:     file format elf32-powerpc-vxworks

      Disassembly of section .text:

      00000000 <_Z3fooi>:
      int
      foo(int i)
         0:   94 21 ff d0     stwu    r1,-48(r1)
         4:   7c 08 02 a6     mflr    r0
         8:   90 01 00 34     stw     r0,52(r1)
         c:   93 e1 00 2c     stw     r31,44(r1)
        10:   7c 3f 0b 78     mr      r31,r1
        14:   90 7f 00 18     stw     r3,24(r31)
      {
              try { if (i < 0) throw (i); }
        18:   80 1f 00 18     lwz     r0,24(r31)
        1c:   2f 80 00 00     cmpwi   cr7,r0,0
        20:   40 9c 00 74     bge-    cr7,94 <_Z3fooi+0x94>
        24:   38 60 00 04     li      r3,4
        28:   48 00 00 01     bl      28 <_Z3fooi+0x28>
                              28: R_PPC_REL24 __cxa_allocate_exception
        2c:   7c 60 1b 78     mr      r0,r3
        30:   7c 0b 03 78     mr      r11,r0
        34:   7d 69 5b 78     mr      r9,r11
        38:   80 1f 00 18     lwz     r0,24(r31)
        3c:   90 09 00 00     stw     r0,0(r9)
        40:   7d 63 5b 78     mr      r3,r11
        44:   3d 20 00 00     lis     r9,0
                              46: R_PPC_ADDR16_HA     _ZTIi
        48:   38 89 00 00     addi    r4,r9,0
                              4a: R_PPC_ADDR16_LO     _ZTIi
        4c:   38 a0 00 00     li      r5,0
        50:   48 00 00 01     bl      50 <_Z3fooi+0x50>
                              50: R_PPC_REL24 __cxa_throw
        54:   90 7f 00 1c     stw     r3,28(r31)
        58:   7c 80 23 78     mr      r0,r4
        5c:   2f 80 00 01     cmpwi   cr7,r0,1
        60:   41 9e 00 0c     beq-    cr7,6c <_Z3fooi+0x6c>
        64:   80 7f 00 1c     lwz     r3,28(r31)
        68:   48 00 00 01     bl      68 <_Z3fooi+0x68>
                              68: R_PPC_REL24 _Unwind_Resume

              catch (int e) { i = -e; }
        6c:   80 7f 00 1c     lwz     r3,28(r31)
        70:   48 00 00 01     bl      70 <_Z3fooi+0x70>
                              70: R_PPC_REL24 __cxa_begin_catch
        74:   7c 60 1b 78     mr      r0,r3
        78:   7c 09 03 78     mr      r9,r0
        7c:   80 09 00 00     lwz     r0,0(r9)
        80:   90 1f 00 08     stw     r0,8(r31)
        84:   80 1f 00 08     lwz     r0,8(r31)
        88:   7c 00 00 d0     neg     r0,r0
        8c:   90 1f 00 18     stw     r0,24(r31)
        90:   48 00 00 01     bl      90 <_Z3fooi+0x90>
                              90: R_PPC_REL24 __cxa_end_catch

              return (i);
        94:   80 1f 00 18     lwz     r0,24(r31)
      }
        98:   7c 03 03 78     mr      r3,r0
        9c:   81 61 00 00     lwz     r11,0(r1)
        a0:   80 0b 00 04     lwz     r0,4(r11)
        a4:   7c 08 03 a6     mtlr    r0
        a8:   83 eb ff fc     lwz     r31,-4(r11)
        ac:   7d 61 5b 78     mr      r1,r11
        b0:   4e 80 00 20     blr
      $ g++ppc -v 2>&1 | tail -1
      gcc version 4.3.3 (Wind River VxWorks G++ 4.3-315)
      $</comment></comment></comment></comment>