Brasília: an excerpt from Urbanized - <AUTHOR> http://www.90percentofeverything.com/2012/11/05/brazillia-an-excerpt-from-urbanized/

<comment><USER2> Oscar Niemeyer is a glorified disaster in usability; his buildings are the most wonderful and unusable crap.

I worked for 3 months in a building that is now a museum to his creations: [http://www.cliquearquitetura.com.br/portal/blog/view/mon- mus...](http://www.cliquearquitetura.com.br/portal/blog/view/mon-museu-oscar- niemeyer-curitiba/216) It basically looks like the scenery from "The Jetsons" cartoons/series. It is cool from the outside but is an horrible place to be inside the whole day.

It's official name was "Castelo Branco" (white castle) but everyone called it "white elephant".

What made it beautiful is that it looks like a white slab floating over a field with a rain forest park behind. What made it atrocious is that the thing had no windows or ventilation, bad water drainage and it is in the middle of the rain forest region: hot, humid and moldy; the perfect breeding place for respiratory diseases. Most people would work very little time there before leaving to treat allergies, flu, pneumonia and even tuberculosis.

<comment><USER3> Like the article mentioned, Brasilia is a glorified disaster in usability for everyone except those in cars. It's terrible for humans on foot or on bicycles. However the biggest travesty was the decision to locate the city in an area that has a 10-15% relative humidity during the winter months (May to September). It is so dry that your eyes and throat will be very dry, scratchy and uncomfortable and your lips will become chapped. Some people even experience nosebleeds from the excessive dryness.

The other problem with Brasilia is the 99%er problem. The city was built by the 99% for the 1%. All the 99%ers ended up in the slummy satellite cities, where the quality of life is low and where there hasn't been any real sources of economic activity to raise the quality of life.

<comment><USER4> Also, important to remember, Brasilia is in the middle of no-fucking-where. I remember when my - then - wife wanted to get a tourism visa to the US you had two options: go to São Paulo, or Brasilia. Brasilia had half the waiting time, but for us living in Santa Catarina it was simply a no-go.

</comment></comment></comment><comment><USER5> That's Brasília. With an S and an accent on the i that follows.

Niemeyer is not responsible for the urban planning of Brasília, someone else did. His role was to design some of its most prominent individual elements and ensure a visual language throughout the whole project.

The crazy urban planning was the work of Lúcio Costa (thanks Wikipedia): why not using a quote by him, instead?

Pitting urbanists against architects is just as futile as pitting Android fanboys against iOS fanboys.

</comment><comment><USER6> FYI - The film referenced, Urbanized, is available for streaming on Netflix. I watched it a few weeks back and thoroughly enjoyed it even though I'm not particularly versed or overly interested in the subject.

<comment><USER7> I came here just to post that it was on Netflix streaming: [http://movies.netflix.com/WiMovie/Urbanized/70218731?locale=...](http://movies.netflix.com/WiMovie/Urbanized/70218731?locale=en- US)

</comment></comment><comment><USER8> If anyone is interested in seeing a city design by a single visionary that does work, I highly recommend checking out Yerevan Armenia - a project headed by Alexander Tamanyan 85 years ago - that is in parts still being implemented.

</comment><comment><USER9> It looks like Le Corbusier finally found an entire city willing to incorporate his design values. What a fiasco.

<comment><USER10> Try to reach Seaside without a car.

<comment><USER9> So our only urban design choices are the Tower in a Park or the New Urbanist suburb?

<comment><USER10> Brasilia is a modernist city forged out of wilderness. It attempts to deal with the messy problems of poverty.

BTW, Seaside isn't a suburb of anything.

<comment><USER9> I'm still trying to understand what you're arguing.

</comment></comment></comment></comment></comment><comment><USER11> The title appears to have been editorialized from the actual one: "Brasília: an excerpt from Urbanized". As the submitter is the site's owner, perhaps the altered title was thought to appeal more to HN? I was hoping to read about some interesting concepts that emerged from using Photoshop at the wrong zoom level.

</comment><comment><USER10> Jan Gehl is no Oscar Niemeyer.

<http://en.wikipedia.org/wiki/Oscar_Niemeyer>

The Netherlands has twenty times the density and four times the per capita income. Brazil is vast. It is nearly as far from Brasilia to Natal as from Amsterdam to Moscow.

Rational urbanism isn't one size fits all.

</comment><comment><USER12> Understandably the urban planners did not anticipate that technology would make us less dependent on cars instead of more. I assume linear regression is what contemporary planners use as well. I wonder what are the main concerns taken into account when planning for rapidly growin urban cities in Asia for example, and how they will turn out to be in 50 years

</comment><comment><USER7> I wish there were more concrete examples (and diagrams) of how things at "eye level" didn't work in Brasília. Is it just the straight, too-far paths to each landmark? Is there a lack of connecting bridges across the freeways?

Also, a little more exploration of how this applies to web and app design would be interesting. It seems that the lessons from Brasília would be inverted: thinking too much of the small details and not of the broad visual scope (especially across pages). It doesn't seem like too many designers get hung up on designing for a far-out zoom level, since you learn pretty early that you have limited screen space to work with.

<comment><USER13> If you're ever in upstate NY, check out the Empire State Plaza in Albany ( <http://en.wikipedia.org/wiki/Empire_State_Plaza> ), which is a massive complex of government buildings designed with similar principles to the government core of Brasilia.

They basically gutted the core of the city and built a million square feet of office space, connected by massive underground concourses, mazes of tunnels, and an outdoor concourse that resembles a Roman forum scaled for giant robots.

I think that one of the design principles was that senior bureaucrats would never need to be exposed to outdoor air or the city they work in the middle of. Hit the garage door opener, roll into your underground parking garage, and stroll through the corridors to your office.

It's literally a fifteen minute walk to get to a coffee shop on the street outside of the complex.

<comment><USER14> Thanks for that link.

The style of the "Cultural Education Center" there reminds me of the Dorothy Chandler Pavilion in LA (early 1960s) -- monumental architecture on an elevated stone plaza, with a fountain and sculpture in front and parking beneath. It was also designed at the behest of a rich old cultural icon (Rockefeller in Albany, Dorothy "Buffy" Chandler in LA).

As you point out, one of the problems of this architectural style is that the resulting building is totally disconnected from the surrounding streetscape. It took decades for the area around the Chandler Pavilion in LA to gain back some significant buildings that had a relation to the street.

It turns out it's actually a net minus for the area if the people going to the building just park underneath, go up, do their business, and exit. The resulting bubble creates an obstacle for organic development nearby.

</comment></comment></comment><comment><USER15> That's true for many areas. I've experienced the same during my adventures with music production.

<comment><USER16> Could you explain more?

</comment></comment><comment><USER17> I live in this crap! hahaha

anyway, it's true, it's a 'beautiful city', but the 'UX' is horrible, people from much bigger cities likes São Paulo or Rio arrive here and feel like everything is way too far away(even tho you could fit 10 Brasílias inside São Paulo), also, apparently it was made for cars to move through, not people

Me and my friends theorize how this, and other architectural decisions, like the way the city is heavily location/class segregated(specially considering it's the city with the worst case of income concentration of Brazil) affects the people here, they're not as welcoming as they are in other cities we went, in our opinion

<comment><USER10> Brasilia was indeed designed based on automotive travel following Corbusian urban design principals.

These principles were developed in response to the conditions found in the world's slums using a central planning concept. Gehl's approach came about a generation later (in the U.S. Jane Jacob's _Life and Death of American Cities was a response to the centralized approach to improving urban spaces).

Both Gehl's and Jacobs may be criticized for failing to address the horrible conditions to which Brasilia (and the CIAM modernists) were responding. 1960's Greenwich Village and Holland don't replicate the conditions of Brazil's _favelas*.</comment></comment>


Super Rich Tax Cheats Outed by Bank Clerk - <AUTHOR> http://www.abcnews.go.com/Blotter/story?id=5378080&page=1

<comment><AUTHOR> I have very mixed emotions on this. The guy shouldn't have stolen the records let alone sell them. The "super rich" obviously shouldn't have evaded taxes. And the government shouldn't be wasting so much of the tax payers' dollars. If effective tax rates were 20% instead of 40-60%, I wonder what impact that would have on tax evasion.

<comment><USER2> I think this falls under the category of "Two wrongs don't make a right".

<comment><USER3> But three rights make a left... _chirping_

</comment></comment></comment><comment> patrickg-zill Did the bank clerk pay taxes on the money that the various governments paid him? Just asking ... supposedly he was paid upward of 5 million euros.</comment>


Robinhood Will Retool Checking Product Following Scrutiny - <AUTHOR> https://www.bloomberg.com/news/articles/2018-12-15/robinhood-will-retool-checking-product-following-scrutiny <comment><USER2> Somebody from Robinhood's legal team either said "yeah, the SPIC will totally be okay with this" or management ignored any advice to the contrary, whichever it was those people need to pull their heads out of their asses. Even Schwab, an investor bank, has insurance from the FDIC for their deposit (and sweep) accounts - if they could have gotten away with just SPIC coverage don't you think they would have?

<comment><USER3> As well as Fidelity's checking account, Cash Management Account, is FDIC insured.

This definitely feels like a case of Robinhood ignoring some advice.

<comment><USER4> Not quite. Fidelity CMA accounts are brokerage accounts and thus cannot offer FDIC insurance because Fidelity is not a bank. Fidelity accounts offer SIPC insurance.

However, Fidelity's trick is to sweep all cash into third-party FDIC-insured bank accounts behind the scenes. This yields several benefits:

1) Practically speaking, it offers the exact same FDIC insurance as a real bank account, because your money _is_ being held in a real bank account.

2) Since cash is deposited into FDIC-insured accounts behind the scenes, Fidelity can seamlessly split money up so that each sub-account holds no more than $250k (the limit of FDIC coverage). This is how they can offer $1.25M of FDIC insurance (split between 5 accounts).

The customer never deals with this complexity, as it's completely abstracted away, behind the scenes. The result is a cash management account that offers $1.25M FDIC insurance on cash balances.

<comment><USER5> It's sorta abstracted in a way, but they are very clear about what's happening behind the scenes; they even show you which banks hold your deposits, which banks are available to hold your deposits, and they even let you request to exclude some banks from holding your deposits. (I don't remember if it was a priority system or an include/exclude system)

There's no hand waving going on.

<comment><USER4> Yup, it's completely transparent and customizable for those folks who want to mess around with it, but it's abstracted away so that 99.9% of people will never have to think about it as something other than a single money bucket.

</comment></comment></comment></comment></comment><comment><USER6> As noted by @asanwal[0] this can be seen as both deceptive and smart. Here's the reality - when you get a $6B valuation, you are accepting VC-fueled growth fate, which means you are on a tightrope to grow _at all costs_. It's a gamble, but if executed successfully will lead to exponential growth and thus outsized investment returns.

Here's my personal problem - there is much needed punitive damages for this type of behavior. Until we have people in power that understand why these situations (deceptive advertising) are problems, then, well, let's be honest, we're gonna see the Wild West flourish full of cowboys and Indians.

[0] - [https://twitter.com/asanwal/status/1073945507100270592](https://twitter.com/asanwal/status/1073945507100270592)

<comment><USER7> > _there is much needed punitive damages for this type of behavior_

I'm a fan of Robinhood. But this calls for more than a slap on the wrist. Not punishing someone misrepresenting their FDIC or SIPC insurance status is a _horrible_ precedent. Not only does it show a green light to scammers. It also corrodes the protective, anti-run value these programs provide to depositors and investors.

<comment><USER8> I don't know. The fact that it was done completely publicly (and therefore was discoverable and discovered immediately) basically moots any need for harsh penalties.

They were essentially testing the fences. That isn't _bad_ , especially when it's done completely in the open. It gives the regulators an opportunity to say "no" and shut it down immediately if they want to, or say nothing and let it proceed.

If they say no, it doesn't happen long enough for anybody to really come to any harm.

And the alternative is that nobody is willing to try anything new just because there is no existing precedent explicitly saying that it's OK.

<comment><USER7> > _the alternative is that nobody is willing to try anything new just because > there is no existing precedent explicitly saying that it 's OK_

The part that was grossly problematic was Robinhood falsely claiming it was SIPC-insured. SIPC insurance isn't automatically granted. There isn't any useful innovation limited by telling people "try new things, but don't lie about having certifions you don't have."

<comment><USER9> Had they launched a product, sure. But this was mere talk about a future product which they've decided "to retool" after scrutiny.

No one was harmed here. This is fine.

<comment><USER10> > Had they launched a product, sure. But this was mere talk about a future > product which they've decided "to retool" after scrutiny.

It was not mere talk, it was talk about a waitlisted feature used to induce signups to (and because of a "referrals move you up the line" policy, also to induce providing personal information if third parties as referrals to) Robinhoods existing service.

That is, it was false representation used to induce people providing Robinhood things of value, and thus, arguably, commercial fraud.

<comment><USER8> > That is, it was false representation used to induce people providing > Robinhood things of value, and thus, arguably, commercial fraud.

That's assuming they knew the representation was false. If they reasonably expected to be able to get the insurance, claiming that they would get it was a true statement of their intentions.

<comment><USER11> Ummm but if you want people to trust you with their money and build reputation shouldn't you do your DD and make sure what you say is true? imo RH is either reckless or deceptive, and neither is a good look for a company like them

<comment><USER9> They hurt their reputation and they look like idiots, sure.

Above, people are suggesting that we need regulatory and/or criminal charges. There isn't any harm to customers and there isn't any evidence of fraud or criminal wrongdoing.

RH harmed themselves by looking stupid in front of the world. That's it. The rest is misguided hysteria.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER12> So no one actually did their due diligence before announcing the product. I'm quite shocked that a ~$6 billion company can behave this way.

<comment><USER13> "$6 billion"\- there seems to be a disconnect between what some VCs say and what the market says.

</comment></comment><comment><USER14> This seems to be a Rorschach Inkblot test for what people think of fin- tech/startups in general. If you want to see it as an example of a company moving too fast and being careless then you're inclined to jump on that reasoning. The same goes if you think this was a purposeful attempt to mislead the public.

Either way, what actually happened isn't public, so it's foolish to jump to conclusions.

<comment><USER15> At the same time, it certainly is _not_ possible to conclude that whoever was in charge of this knew what the fuck they were doing.

</comment></comment><comment><USER16> Why is everyone acting like robinhood stole people's money or destroyed people's lives? They wanted to make a product that would have been incredible value for costumers, got yelled at by the existing market and are now retooling to see if they can still put it out another way. No one has been hurt and they are just pushing forwards to get this out.

You guys make it sound like they sold people's private info to undercut the democratic process or killed innoscent people by putting untested self driving cars on the road.

<comment><USER17> They tried to obtain people's money under false pretenses. The fact that their scam failed doesn't make it ok.

<comment><USER10> They almost certainly got people to give personal info for signups and referrals based on the waitlist and referrals move you forward in line announcement; so it's not just _trying_ to get things of value under false pretenses.

</comment></comment></comment><comment><USER18> Silicon Valley is broken. Ethics went out the window years ago, replaced by greed. Whether that is Google suddenly wanting to go into China, Facebook lying and spying on everyone and their dog or companies like Uber et al 'bending the law'. The most recent such bend was now this stock trading company trying to sell customers Checking accounts that were never insured as such.

Time for the old valley of scrappy founders who wanted to change the world for the better to return.

<comment><USER19> I'm confused. Are we saying that robinhood is the scrappy kind or not?

I see no reason to be hostile toward them. I think they're undercutting buy fees. It sounds like they announced something and had to retract, but that doesn't hurt anyone. And I bet whatever they do come up with will put pressure on banks to be more competitive.

<comment><USER20> > And I bet whatever they do come up with will put pressure on banks to be > more competitive.

More competitive how, exactly? Robinhood isn't "innovative." They haven't done _anything_ fundamentally different from any other financial institution except skirt regulatory protections for retail investors. You'd think by now we would learn to ask "if this platform is free, how are they making their money?" Robinhood is cutting compliance corners. Period. That doesn't "pressure" other banks to be more competitive. That hurts consumers.

<comment><USER21> As explained to you in another HN post. HN makes their money via their margin accounts aka Robinhood Gold, and by selling their order flow, like many other brokerages do. It results in better execution for the clients (like myself) and a tighter spread. If it means I get a better price and someone else gets first dibs at the buy or sell side, I honestly don't care. You can use limits if you worry about getting "ripped off by the man".

<comment><USER20> I understand where their revenue comes from. But if they're doing the same thing as every other bank and _not_ charging for trades what's making up the difference on their bottom line? It's not income. So it must be that they're avoiding costs that the rest of the industry is incurring. Like the cost of compliance.

<comment><USER22> Maybe they're not making up the difference on the bottom line... maybe they're equivalent to Walmart, running on a lean margin and hoping to make it worthwhile through volume, and the wall street banks are Saks, charging more and earning higher margins.

</comment></comment></comment></comment></comment></comment><comment><USER23> I think it's becoming increasingly clear what happened.

As whitepoplar noted here ([https://news.ycombinator.com/item?id=18691477](https://news.ycombinator.com/item?id=18691477)) other similar services are FDIC insured because the funds are swept into FDIC bank accounts behind the scenes. But FDIC insured bank accounts pay very, very little interest, and Robinhood wanted to offer a high interest rate.

Their innovation was, instead of sweeping the funds into FDIC bank accounts, to sweep the funds into treasuries, which pay more. And as a bonus, bonds held on your behalf by a brokerage are insured via SIPC, which is a little bit _like_ having your funds be insured by FDIC, which makes for good marketing.

The problem here is:

1) SIPC insurance makes sure you get your bonds back if a brokerage goes under. It doesn't make sure that they're worth what you were promised, just that if the broker goes under, whatever they were holding on your behalf gets returned to you. That's valuable, but it does mean there's no guarantee that you'll get all your money back. Money market funds are covered by SIPC insurance, and that didn't stop investors from losing money during the crisis when some funds "broke the buck" and became less worth than what investors had paid.

2) It's not actually clear that SIPC insurance actually _covers_ this sort of thing. If I buy $5k of treasuries with a broker, it clearly would. If I deposit $5k cash with my broker (not for use in buying securities, but just to hold onto for me so I can pay my rent, as you would with a bank account), it clearly does not. If I deposit $5k cash and my broker uses it to buy $5k of treasuries then...I dunno, maybe? It does cover money market funds, and money market funds are a lot like what Robinhood was planning, but there are some obvious differences.

In short, Robinhood has done two things: They have marketed a vaguely money market like product as a bank account, but elided the difference in protection a money market and a bank account enjoys (very naughty). And they seem to have possibly contemplated launching a money market like product without getting the SIPC to sign off on it being covered, although it's very possible that the SIPC is reacting to the confusion caused by Robinhood's marketing. (Eg, the SIPC may have confirmed with Robinhood that a money market like product would be covered, but had no idea that this bank account product Robinhood was marketing was the same underlying product.)

In any case: In the US, bank accounts are covered by FDIC, Robinhood marketed this as a bank account, it isn't covered by FDIC, and even if Robinhood is right and the SIPC is wrong and it is covered by SIPC, that type of coverage is fundamentally different (and weaker) than FDIC coverage, making Robinhood's marketing fundamentally misleading. The core issue here isn't the dispute with the SIPC, it's that this was never going to work how Robinhood implied it was.

<comment><USER24> The only treasuries over 3% are pretty long term. Like, decades long. How do you sweep short term deposits into 20 year bonds?

Like I get generally how a treasuries backed money market fund works, but the average maturity there is like 2 months, not 20 years.

<comment><USER23> The idea is that they would be sweeping it into short term treasuries, and no, they don't pay 3% either, but it's more than a chequing account pays.

The remainder would presumably come from interchange fees. Ie, you put $500 into Robinhood, you then pay for something using your debit card, a cut goes to Visa, a cut of that goes to Robinhood, and a cut of that goes to subsidise your 3% interest.

<comment><USER24> So they're making up like 0.7% from fee cuts? As soon as they get big enough all debit card transactions are capped at 0.05% and like a quarter or something.

If the average transaction size is like $20 then they would not be able to make ends meet unless they took basically all of the fee for themselves.

In a universe where debit interchange fees are regulated to 0.05% and less than a quarter, I don't understand how this works.

Edit: I looked up the average debit card transaction amount, and it's over $40. The math doesn't work out at all.

Edit2: I guess if there's 3 more fed rate hikes the math might work out? That's not a good look though, if they don't increase rates along with the fed, because the gap between them and various savings account will shrink to almost nothing.

</comment></comment></comment></comment><comment><USER17> "However, we realize the announcement may have caused some confusion."

Gotta love corp-speak. "We lied our asses off but didn't realize you'd catch on so fast."

<comment><USER15> It's difficult to imagine a situation where an individual could get away with something like this.

Suppose someone gets a gig playing church hymns, and instead they stubbornly play an impromptu hour-long jazz interpretation of "Free Bird" until the police are called. What would happen if their response to the churchgoers was, "I was excited and humbled by the response I received yesterday! I'll be revamping my accompaniment style in preparation for next week's service!"

Would any church's response really be, "Well, ok, as long as you're sure you won't do a completely incompetent job next time..."

<comment><USER25> You've never seen someone screw something up, apologize for screwing up, and promise to do better next time? I find that hard to believe.

<comment> village-idiot It's more surprising when everyone lets them try a second, third, or fourth time

<comment><USER26> Has Robinhood here slipped up multiple times like this? I'm asking as someone who's only heard of the product, never tried it, doesn't look remarkably interesting to me/doesn't fill a financial need I have, never gave it much thought aside from this latest fuss.

<comment><USER27> Not to my knowledge, this is a pretty big screwup, at least reputationally. Robinhood's entire spiel is about how the big banks are bloated and sell you products you don't need (all of which can definitely be true). But I have never once doubted my bank's ability to comply with financial regulations and keep my cash safe.

</comment></comment></comment></comment></comment></comment><comment><USER27> If they really were "disruptors", they could have tapped their VCs for money to provide their own insurance, while they tried to work things out with the SIPC.

Instead, they made a shambles out this announcement, hurt customer trust and made themselves look like a fly-by-night operation.

</comment><comment><USER28> this article says absolutely nothing besides what have been discussed here last week. this is a dupe for all I care.

</comment><comment><USER29> Move fast and break things, I suppose.

</comment><comment><USER30> Dupe. [https://news.ycombinator.com/item?id=18691119](https://news.ycombinator.com/item?id=18691119)

<comment><USER31> It looks like this one was posted before that one. Two hours ago vs three hours.

</comment></comment><comment><USER32> Submission with non-paywalled version

[https://news.ycombinator.com/item?id=18691119#18691536](https://news.ycombinator.com/item?id=18691119#18691536)

<comment><USER31> You should be able to open the article in a private browsing window. Bloomberg provides ten free articles a month normally, and of course, that number is based on cookies.

</comment></comment><comment><USER33> The correct response here would be for Robinhood to cancel the product and apologize, instead of revamping their marketing materials.

They are not offering a "cash management" service. Unless they get insured or find another vehicle to prevent funds from being at risk, they are effectively just borrowing money from their customers.

This is sardonically innovative, as they've invented the retail investor equivalent of a revolver[1].

If they continue to market this without deep protections for consumers, this is effectively a scam and I would encourage anyone originally considering this to scuttle their considerations.

[1] [https://www.investopedia.com/terms/r/revolver.asp](https://www.investopedia.com/terms/r/revolver.asp)

<comment><USER34> TIL banks didn't exist before the FDIC existed.

<comment><USER33> This is a ridiculous strawman as it relies on an equation of social and economic systems before the 1930s to today, but despite that, it's a bad strawman given that the FDIC was created in direct response to restore faith in American banks after the Great Depression.

I'm all for fintech, but I'm not for blind trust in startups looking for hypergrowth as it relates to consumer protections.</comment></comment></comment>


Ask HN: Uncertainty in US H1B visa program - <AUTHOR> With changes to US policies since Trump came into office there has been a lot of talk about the future of H1B visa program. As an employeer, this makes me nervous to consider OPT candidates. I wonder will I even able to sponsor them for H1B in the future?
Does anyone else feel this way? What do you think will happen to this program?
Please note that I've previously hired OPT and later sponsored them for H1B. I value all types of diversity in my workplace.
Anyone have strong opinions about this visa program? <comment><USER2> I think it's definitely a concern as anecdotally it has become much harder to get a H1B. See [https://www.nytimes.com/2017/11/23/opinion/immigration- visa-...](https://www.nytimes.com/2017/11/23/opinion/immigration- visa-h1b-trump-.html) and [https://www.bloomberg.com/news/articles/2017-11-06/trump- s-h...](https://www.bloomberg.com/news/articles/2017-11-06/trump- s-h-1b-reform-is-to-make-life-hell-for-immigrants-and-companies)

Also worth mentioning is that Congress has been working on raising the minimum annual salary for people on H!B by $30k to $90k.

Looking at what's going on, my personal take is that H1B will stick around, but there will be fewer open spots and there will be a lot more competition. I'd talk to whomever you work with to currently sponsor H1Bs and get their take as well since I imagine it will be more accurate.

Also something that may be worth doing is talking to your representatives about the issue (senator and rep). Try scheduling a meeting to talk about H1B.

<comment><AUTHOR> Thanks!

Yes. Our imagration lawyer is certainly a resource for understanding the current situation. But my feeling is things may change further. Hence my interest in this informal survey.

</comment></comment><comment><USER3> H1B candidate here. I was awarded my first term as a developer, but I am required to provide more evidence on my second run because they didn't believe that I was qualified as a web developer. I mainly work with newer technologies such as React, Elm, NodeJs, but they're not 'buying my worth'. I have a deadline to fulfill or I am kicked out even though I'm very much qualified.

</comment><comment><USER4> As long as the candidates have a valid work status, isn't it illegal to discriminate based on type of work status?

<comment><AUTHOR> Almost but not quite. There are many government projects that require all personnel working on the project to be us citizens or permanent residents. Companies can certainly limit hires to those categories if they work or intend to work on such projects. The way to screen for the is to ask if somone has their permanent legal right to work in the US. Ianal but I think to be perfectly correct, one has to ask all candidates that. Not just ones they _think_ may not be.

Ianal but i think one is not allowed to descriminate based on national origin.

One can also discriminate based on ability to obtain security clearance.

</comment></comment><comment><USER5> You _only_ hire OPTs or H-1Bs?

<comment><AUTHOR> No. We've mostly hired not OPT/H1B. But I'm generally interested in hiring the best candidate regardless of nationality.

My concern is spending the resources on a good OPT candidate only to find that I can't hire them long term. Previously I didn't have that concern. Now I do. So I'm wondering if others share that concern.

</comment></comment><comment><USER6> H1B's are mainly bad.

First I get that many immigrants are actually really strong candidates more likely to do amazing things / start businesses and such, but that is precisely why we should not be allowing them into the US. They are very good candidates who should be at their home country helping to build it out, start businesses, employ others, etc. I think it's selfish of the US to even try to hire these candidates to begin with.

Second, an effect of H1B visas is they tend to really prevent people from getting a start in IT. Why waste all that money as a corporation building a talent pipeline, doing training, etc. if you can just whine and complain that you can't hire anybody followed by immediately getting more H1B's?

<comment><USER7> Yup if Micheal Jordan was born in a Nigerian village that's where he should do his best work.

<comment><USER8> There are other visas for superstars -- see EB-1 or "Genius Visa". This is a discussion of the H1-B program. Web developers working in React aren't really the CS equivalent of Michael Jordan.

<comment><USER9> What about people who never get a chance to become superstars because they can't get the initial opportunities? An EB-1 visa requires "sustained national or international acclaim". Michael Jordan wouldn't have qualified for that simply based on his outstanding high school or college performance; he would have needed to get into the NBA before he could have achieved that.

The EB-1 visa serves an important purpose, but we also need to be playing the numbers game with skilled young people so that we can that we can get the portion who eventually turn into superstars.

<comment><USER8> Well, if you want to propose a new visa type for people who might become superstars in the future, you are welcome to do that, but if you engage with this seriously you will see that that's not really something to which there is an immigration answer.

We have laws on the books; an H1-B visa isn't supposed to satisfy all of your desires for human betterment. It's a temporary worker visa for a limited quantity of higher skilled immigrants, and was only made into law on that basis. It was never supposed to ensure that "no child is left behind". I would go to whatever country you are most worried about and work on education and legal reform there, if that is your overriding concern.

<comment><USER9> > an H1-B visa isn't supposed to satisfy all of your desires for human > betterment

I wasn't worrying about human betterment; I was worrying about US betterment. We are not better off by keeping future superstars out of the country.

> It's a temporary worker visa for a limited quantity of higher skilled > immigrants

The H1-B visa is a dual-intent visa. It is not solely a temporary work visa. It is intended to bring skilled workers to the US and to sometimes get them to stay.

> I would go to whatever country you are most worried about

I am already in that country (the US)

<comment><USER8> > I wasn't worrying about human betterment; I was worrying about US > betterment. We are not better off by keeping future superstars out of the > country.

There is already a visa for superstars, so you don't have to worry about that. There is also no caps on visas for academic and research positions, so you don't have to worry about that either. We are talking about H1-B.

> The H1-B visa is a dual-intent visa. It is not solely a temporary work visa. > It is intended to bring skilled workers to the US and to sometimes get them > to stay.

Yes, but you misunderstand the intent. The visa has two intents -- education and for profit. The education/research uses are not capped. The business uses capped. If they are a superstar, then they can get the EB visa. H1B is for middle of the road skilled workers -- eg. people slinging react code. So no need to worry about future Einsteins or superstars being blocked from entry because of H1B concerns -- that's a completely spurious argument.

> I am already in that country (the US)

Then you should not be worried about a shortage of skilled workers, because we have no such shortage. There is a shortage of _cheap_ skilled workers, just as there is a shortage of cheap BMWs. Solving that "problem" is not the appropriate use of immigration policy, unless you believe the purpose of immigration is to arbitrage cross-country labor costs for shareholders of IP firms while our movies remain region coded and we push for stricter IP monopolies globally. When I can import medicine and music from the cheapest source around the world, we can then talk about doing the same for labor, otherwise you are just lowering costs for capital without also lowering them for labor, which results in shifting income from labor to capital -- something that is bad for any country.

<comment><USER9> > There is already a visa for superstars, so you don't have to worry about > that. There is also no caps on visas for academic and research positions, so > you don't have to worry about that either. We are talking about H1-B.

I already made it clear that I am not talking about current superstars; I am talking about people who are not currently superstars but have the potential to be. H1-B holders are almost universally young, well-educated people. They are much more likely than average to end up being superstars in the future. I also think it is absurd to suggest that only people in academic or research positions can end up being superstars.

> Yes, but you misunderstand the intent. The visa has two intents -- education > and for profit.

No, that is not what "dual intent visa" means. Per the first Google result: "A dual intent visa allows foreigners to be temporarily present in the United States with the known intention of possibly immigrating to the U.S. permanently. That's significant because most temporary visas require that the visitor intend to return home."

The H1-B visa is clearly intended to serve both as a way to temporarily work in the US and as a pathway to permanent immigration.

> Then you should not be worried about a shortage of skilled workers, because > we have no such shortage. There is a shortage of cheap skilled workers.

That is a matter of opinion, and I disagree with your assessment. It is a much more realistic concern that overly restrictive immigration laws will harm the competitiveness of American businesses than that adding a few tens of thousands of extra software developers to the several million software developers already present in the US will result in lowered wages.

<comment><USER10> > The H1-B visa is clearly intended to serve both as a way to temporarily work > in the US and as a pathway to permanent immigration.

But it isn't intended as a way for people to come in, get trained on domestic services, just so they can be outsourced later.</comment></comment></comment></comment></comment></comment></comment></comment></comment>


Show HN: Ambidexter (Latin): Using both hands with equal ease - <AUTHOR> https://play.google.com/store/apps/details?id=com.igbow.ambidexter <comment><AUTHOR> Question for ambidextrous: does this game seems easier to beat for you, as you can use both hands with ease? Do you think that this game can train ambidexterity?</comment>


news.YC SF Weekend Meetup? - <AUTHOR>

<comment><AUTHOR> I had a really good time meeting up with people I met at Startup School last month. Is anyone interested in meeting to have a beer and talk shop maybe Friday evening? I'm flying in to SFO early tomorrow for some other business so Thursday is good too.

<comment><USER2> How about a few beers at the Rose & Crown in Palo Alto? It's within walking distance of Caltrain and actually serves good beer. I'm suggesting Palo Alto and not SF because I assume most people will be staying near YC in Mountain View.

<http://www.yelp.com/biz/k6m7uTFW0MfVotLNwSULUA>

</comment></comment><comment><USER3> I'm all for it. I'm in the SF area until Sunday.

During the day is the best time, probably Friday or Saturday. Lets make it then. I have no idea where a good meet up place is, so someone familiar with the area should choose.

also, email me at email@example.com if anybody wants to have a cup of coffee/hang out with me during the day.

</comment><comment><USER4> I'm heading down from San Fran to the SDForum event Thursday evening in Palo Alto - you're welcome to join us - let me know if you need a lift. After SDForum we'll be heading over to watch Mystery Science Theater 3000 with some friends and you're more than welcome to come to that too.

[http://www.sdforum.org/SDForum/Templates/CalendarEvent.aspx?CID=2130&mo;=4&yr;=2007](http://www.sdforum.org/SDForum/Templates/CalendarEvent.aspx?CID=2130&mo=4&yr=2007)

<comment><USER5> And I'm sending my business plan to the SDForum's investor review. Free business plan review is a good thing.

Thanks

<comment><USER5> Never mind, it's free to members. Which costs $300.

</comment></comment></comment><comment><USER6> I'll be in SFO Friday eve-Sat. eve. All depends on what time the meetup's at. Best for me would be afternoon Sat.

</comment><comment><USER7> I would love to meet up with people in SF. Anyone coming up to the city?</comment>


Show HN: iOS7 iPad POP3 client splitting commands unnecessarily over packets - <AUTHOR>

With the iOS 7 update, the POP3 client on iPad is now splitting commands across TCP packets, using twice as many packets for POP3 sessions.
Surprisingly, it always sends just the first letter of each command and then the rest of the command:
C: U
C: SER email@example.com
S: +OK
C: P
C: ASS 123
S: +OK
C: S
C: TAT
S: +OK 2 320
...
C: R
C: ETR 1
S: +OK
...
C: D
C: ELE 1
S: +OK
C: R
C: ETR 2
...
C: Q
C: UIT
It sends the two packets 100-200ms apart, so downloading a few emails will take several seconds longer than usual. <comment><USER2> Have you had a chance to test gopher support yet?</comment>


Where can I find iPhone app sales information? - <AUTHOR>

I'm trying to get an idea of what's out there before starting a new iPhone project. <comment><USER2> You will like this one : [http://arstechnica.com/apple/news/2010/01/apple- responsible-...](http://arstechnica.com/apple/news/2010/01/apple-responsible- for-994-of-mobile-app-sales-in-2009.ars) I stumbled upon it here on YC, so just stay tuned here, there's almost daily a post about iphone app store economics.</comment>


Tim Cook says Apple's car project is 'the mother of all AI projects' - <AUTHOR> https://techcrunch.com/2017/06/13/tim-cook-says-apples-car-project-is-the-mother-of-all-ai-projects/ <comment><USER2> They got the autonomous driving license 2 months ago... They are kind of late but I am glad to see another contender :D</comment>


Polish charity gets huge phone bill thanks to stork - <AUTHOR> https://www.bbc.com/news/blogs-news-from-elsewhere-44645217 <comment><USER2> "EcoLogic told the Super Express newspaper that somebody found the tracker in Sudan, removed the sim card and put it in their own phone, where they then racked up 20 hours' worth of phone calls"

So they actually got a huge bill because they didn't set a SIM lock (if that's possible), and didn't block voice calls and so on.

Presumably, they had a good contract for sending tiny packets of data, but not for roaming calls in Sudan.

<comment><USER3> Sim locking is a device-side control that ensures only a specific carrier's sim is used in the device.

They should have used a limited IoT-oriented sim with data limits.

I kinda feel these folks were extraordinarily naive, but I'm coming from the perspective of a telco SME.

<comment><USER2> I think I mean the PIN lock, the one you have to input after rebooting the phone or inserting the SIM. This has existed since the beginning of GSM, as far as I remember.

But probably the GPS receiver can't work with that.

<comment><USER3> PIN lock is right

</comment></comment></comment></comment><comment><USER4> It's kinda amusing I'm reading this "news" by help of HN on BBC News page. Still, it seems to be really not interesting (typical to "silly season" or as we're saying here in Poland "cucumber season") as no other media outlet has copied it - well, beside Super Express but that's just a tabloid newspaper of same level as British The Sun, and they love such - pardon the word, shit.

<comment><USER5> "Scientists rack up huge phone bill - your jaw will DROP when you learn why!"

<comment><USER6> "Scientists HATE this trick to get free phone service!"

That said, while the article itself may not be much more than an anecdote, it does seem to have inspired some interesting SIM security conversations here.

</comment></comment></comment><comment><USER7> Only tangentially related to the article, but where/how do researchers get global coverage SIM cards that you can just put on a stork and expect to get data/calling wherever it flies? I've looked for this before but only found what seemed like tourist scams with very high prices per MB/minute.

<comment><USER8> Ideally you'd get a dedicated M2M MVNO operator who'll sell you a whole stack of them. If you just want one, you'll have to do a lot of price comparison; Three UK have some nice deals where you can use inclusive minutes/data in some non-EU countries as well as the standard EU free roaming.

<comment><USER9> Does anybody know of one that doesn't charge a monthly fee? I have a product idea where I'd like to use mobile data as a backup in case of wifi network failure. So I'm willing to pay a higher per-MB fee if I can avoid a monthly per-SIM fee.

<comment><USER10> unfortunately, no carrier will do this. I suspect that this is because of administrative fees associated with simply allocating a phone number and the network overhead from having a device associate with cell towers when idle.

<comment><USER11> You don't need a phone number if you don't need to be called on one, and you don't even need to be actively tracked in the home location database if you don't need to be reached at low latency at all. Think low latency=incoming call, no loner low latency=hourly email check. The remaining overhead is just renewing the sim once it degrades and keeping database space to allow it to associate if it turns the gsm module on.

<comment><USER9> That would be ideal in my case. It's data only and I'd be happy to leave the GSM module off 99% of the time if that made things cheaper.

<comment><USER11> See [https://www.quora.com/Do-all-SIM-cards-come-with-a-phone- num...](https://www.quora.com/Do-all-SIM-cards-come-with-a-phone- number/answer/Paul-Chitescu) for someone who seems to know a little more than I do telling us that the number is not necessary for the card to work.

</comment></comment></comment></comment></comment></comment></comment><comment><USER12> Meanwhile, can Microsoft please add an option to Windows10 that says 'this computer is only connected to an internal on-board network and satellite connection, please never try to update'? That was an expensive mistake as well.

I really wish people had started to migrate away from Windows earlier, but now all the essential stuff is written for it and well-tested, so any choice is hard.

<comment><USER13> I think there is something like that already. Look for "metered connections".

<comment><USER14> There is, but Windows 10 will disable this functionality after a month so you have to keep logging in to reset it. We had problems using a remote PC with a 4G dongle - programs like Office kept downloading updates even when Windows update was disabled. Having turned on metering, we didn't even think about it until the bill came through.

<comment><USER15> The link:

[http://www.itprotoday.com/management-mobility/q-how-can-i- di...](http://www.itprotoday.com/management-mobility/q-how-can-i-disable- windows-update)

</comment></comment></comment></comment><comment><USER16> Oh good, when the kids ask _the_ difficult question -- "where does the internet come from" \-- I can legitimately say "a stork brings it"

<comment><USER17> Funny enough, we told our kids, in order to block youtube&co, that internet comes once a year, with Santa. :) Not knowing, we put their tables in flight mode. Now they are waiting for Christmas :))).

<comment><USER16> > we put their tables in flight mode

Returned to the upright position and locked for landing?

</comment></comment></comment><comment><USER18> People are saying sim lock when the mean sim pin. A sim lock, more usually, locks a phone to a particular network's sim cards, stopping the consumer changing networks.

</comment><comment><USER19> This was not the stork's fault.

<comment><USER20> Personally I think the stork was the one who made the phone calls. Just getting back for them putting a tracker on him.

</comment></comment><comment><USER21> The title should read "Sudanese opportunist trains storks to collect sim cards from Poland"

</comment><comment><USER22> That's reminiscent of this incident from a few years ago [1]. A women in Australia took a SIM card from an electric meter and used it to download a bunch of movies and make a lot of calls, which the electric company found out when they got a bill for A$200k.

I can't find a link, but I have a vague recollection of a similar thing happening in the US.

Some cellular providers have data plans specifically for things like remote sensors that need to periodically reports small amounts of data, such as few hundred bytes an hour. They have low data caps and astronomical per kilobyte charges if you go over the cap.

[1] [https://www.theregister.co.uk/2011/05/02/stolen_sim_woman_ja...](https://www.theregister.co.uk/2011/05/02/stolen_sim_woman_jailed/)

<comment><USER23> The woman who did that was sent to jail for 18 months too! [[http://www.abc.net.au/news/2011-05-02/woman-jailed-for-it- th...](http://www.abc.net.au/news/2011-05-02/woman-jailed-for-it- theft/2697612\]\(http://www.abc.net.au/news/2011-05-02/woman-jailed-for-it- theft/2697612\))

Pretty harsh I reckon.

</comment></comment><comment><USER24> These trackers are interesting devices. There is a model that uses a light detector to estimate location. It has a clock onboard and can record the time of dawn and dusk. The time of dawn gives an indication of longitude. The length of day latitude.

</comment><comment><USER25> There was a similiar case in South Africa, where SIM cards were stolen from traffic lights and also racked up large bills: [https://www.bbc.com/news/world- africa-12135841](https://www.bbc.com/news/world-africa-12135841)

</comment><comment><USER26> Speculating here, but i suspect there was no pin or similar so that people in the field could just power it on, attach it to a bird, and let the bird go.

Never mind that i suspect that the data amount was not much more than a sms with a GPS position sent to a fixed number every X hours.

</comment><comment><USER27> They should have either set a SIM lock or reported the SIM as lost once they stopped receiving signals from it. They presumably thought it may come online later or may have forgotten about it. Expensive mistake.

<comment><USER28> SIM lock is a restriction built into mobile phones, not into SIM cards. It does nothing to prevent SIM card abuse.

<comment><USER29> No, SIM locks (specifically the pin code kind) program the SIM card to refuse to initialise unless you enter the correct code. It's the actual card that asks for a code, the phone merely forwards the authentication request to the user.

<comment><USER30> Popularly sim lock is something different see [https://en.m.wikipedia.org/wiki/SIM_lock](https://en.m.wikipedia.org/wiki/SIM_lock)

What you write is more of a PIN lock.

<comment><USER28> Non-mobile link:

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

</comment></comment></comment></comment></comment><comment><USER31> I wondering why SIM card wasn't Data-Only without voice?

<comment><USER32> Because most carriers are shit and don't even allow you to set policies on what the SIM can be used for.

I have a bunch of M2M SIMs here and they are capable of making calls using a number I didn't even know existed. The SIMs are marketed as M2M and the provider claims voice calls are _not possible_ despite me having proof of the opposite by calling them from it.

Thankfully their billing systems don't even mention voice anywhere, but surely if I rack up a big enough bill they'll manually send me the invoice for that.

</comment></comment><comment><USER16> So why is there a charity to do with polishing a table?

</comment><comment><USER33> In Sudan it is quite common for people to hunt storks in order to harvest their valuable SIM cards.

<comment><USER34> You're kidding, but you don't think that once word gets around some desperately poor region that tracker device == free phone calls, people aren't going to try and kill the bird to get the tracker?

If you think that's not likely, you've got a lot more faith in humanity than I do.

<comment><USER35> Then they'll find that the Sim cards are locked and don't work, and will stop wasting their time on them.

<comment><USER36> Except that they mostly _do_ work

<comment><USER37> Voice calls can be disabled remotely on the carrier side. Just because they worked this one instance doesn't mean future ones will. And especially after they had a 2k+ phone bill, you know they're scrambling to lock down any remaining SIM cards out there.</comment></comment></comment></comment></comment>


Joking Computer - <AUTHOR> http://www.abdn.ac.uk/jokingcomputer/webversion/start.php <comment><USER2> Strangely addictive - I kept willing it to produce something funny, and it kept failing so badly. Like so many AI projects by computer the idea seems OK, the execution is brilliant, but one is left with the feeling that there's just something missing.

Like, I don't know, intelligence?</comment>


Sunetra Gupta: Covid-19 is on the way out - <AUTHOR> https://unherd.com/2020/05/oxford-doubles-down-sunetra-gupta-interview/ <comment><USER2> Slightly off topic - I have not heard of this website, what is the general sense in the community about the quality of the content here? It looked interesting but I am always skeptical of trying new places because a lot of times they are just fronts for certain ideologies and tend to spin the content to suit them. And there is only so much time one has to critically evaluate everything and sift through the nonsense, this is the main reason I have stopped following news.

<comment><USER3> They are fairly reputable, I believe formed by a group of former GOP "never Trump" types who are trying to regain a semblance of reasonable exposition of conservative (or contrarian) views without engaging in the .. words fail me here .. that passes for conservative sites today.

So I would expect them to be reasonable, but perhaps not without a specific point of view that may bias the selection of topics and writers.

<comment><USER2> Thanks. I am actually fine with a specific point of view as long as it is spelled out. I understand that people have different value systems leading to different outlooks on topics and in most things there is no one right answer, what I dislike are the ones which are sly.

</comment></comment></comment><comment><USER4> While I think the view is a little too optimistic, I think some interesting points are raised, in particular to the virus finding ways to pockets of vulnerable people.

I believe that's why we saw all those deaths in Bergamo, Italy, because the virus arrived first in hospitals (where people staying there aren't, by definition, healthy) and then in nursing care homes.

Sadly I don't think there's much data on this, also due to the different responses by different countries.

</comment><comment><USER5> Surely someone better qualified than me can make some pertinent remark? It all makes sense to me but what about an epidemiologist's opinion?</comment>


I've realized that I'm a bad programmer - <AUTHOR> http://luizsol.com/i-am-a-bad-programmer/ <comment><USER2> Ok so the author inherited a project (in R!) as an intern, and successfully finished it in 3 months. He delivered, that's good, not bad. After that, he wished to reinvent the system to make it better. That's not per se bad, but the problem IMO is that his wish was granted (maybe due to his earlier success), clients payed, and apparently he wasn't accompanied by a senior during that task. Somebody should have explained him earlier, that everything has its tradeoffs, including OOP and all the other stuff. Now the author curses OOP and flirts with microservices. For me it seems that he is not a bad programmer, but works in a company which does not care enough about its junior devs.

<comment><USER3> Good points. To which I'd add:

> My boss was able to implement a feature using Node.js and 20 lines of code > that I thought that would take me at least 200 (he'd never programmed in > JavaScript before).

That just means that their boss has more experience (perhaps a lot more experience) than they have. Being an inexperienced programmer is something we all went through at some point in our careers, and doesn't mean we were bad programmers. I'd say a bad programmer is someone who doesn't want to learn new things or listen to advice on how they can improve themselves.</comment></comment>


A relatively simple Datalog engine - <AUTHOR> https://github.com/frankmcsherry/blog/blob/master/posts/2018-05-19.md <comment><USER2> For those who may have missed it, Mozilla is working on Datalog knowledge store backed by SQLite called Project Mentat [1] (also written in Rust). Announcement and rationale written by one of its devs can be found here [2]. Also previous HN discussion is located here [3].

[1] [https://github.com/mozilla/mentat](https://github.com/mozilla/mentat)

[2] [https://medium.com/project-tofino/introducing-datomish-a- fle...](https://medium.com/project-tofino/introducing-datomish-a-flexible- embedded-knowledge-store-1d7976bff344)

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

<comment><USER3> I don't see any mention of recursion. If it doesn't support recursion it is not really accurate to call it Datalog.

To clarify, if you don't have recursion, you've just got a slightly different skin over relational algebra.

</comment></comment><comment><USER4> For some interesting backlog here: As Rust moves from lexical to non-lexical lifetimes, there's been a few different ways of actually implementing it. The initial implementation had some bugs and was fairly slow; but Niko had some other ideas: [http://smallcultfollowing.com/babysteps/blog/2018/04/27/an-a...](http://smallcultfollowing.com/babysteps/blog/2018/04/27/an- alias-based-formulation-of-the-borrow-checker/)

The initial implementation used differential dataflow, but this was just merged in: [https://github.com/rust-lang- nursery/polonius/pull/36#issuec...](https://github.com/rust-lang- nursery/polonius/pull/36#issuecomment-390393717)

Very cool stuff!

<comment><USER5> Yes, this is a very traditional alias formulation of these sets of problems, and there is a lot of work in the past 10 years on expressing and computing aliasing like systems in datalog.

I don't know about rust, but the cost of that abstraction elsewhere is pretty good. Datalog will beat basic implementations, and those that most researchers have time to implement handily. However, very well engineered purpose built solvers still beat datalog engines by a large factor (again, no theoretical reason this should be true, but it is), so production compilers still currently eat the complexity of building alias solvers. It would be nice if one day that was not true.

<comment><USER6> > However, very well engineered purpose built solvers still beat datalog > engines by a large factor (again, no theoretical reason this should be true, > but it is)

Sure there is a reason: Many applications, alias analysis in particular, only use a subset of Datalog. Subsetting languages very often makes for easier and more efficient implementation. If you know that there is no negation in your alias problems, your special purpose solver can be much more efficient than a Datalog solver that must be prepared to deal with negation.

Of course you might wish for a generic Datalog solver that you could run in a special mode where you promise that it will not encounter negation in the problem you give it. But that is then no longer a Datalog solver but a "well engineered purpose built solver".

As for the "built in" part, anything that is not built in must cross an API boundary and usually translate between different data representations. That is a theoretical reason for being slower.

<comment><USER5> FWIW: None of this is a theoretical reason. This is no different than the problems any other compiler/JIT faces.

What you've offered are practical reasons it hasn't happened yet, but not theoretical reasons.

<comment><USER6> "System A _must_ do more work than system B" seems a pretty theoretical reason why, in the limit (after sinking an arbitrary number of engineer hours in each), system A must be slower than system B. But your interpretations of the word "theoretical" may differ.

<comment><USER7> I think the point is that there is no clear reason System A _must_ do more work than System B. Serious Datalog environments _will_ identify strictly monotonic programs and execute them more efficiently (e.g. with racy asynchrony); they _will_ identify linear recursion and partition work accordingly. They could identify programs corresponding to DannyBee's hypothetical purpose-build industrial winners and execute them using the exact same techniques, but apparently they don't.

I suspect the point of disagreement is

> Of course you might wish for a generic Datalog solver that you could run in > a special mode where you promise that it will not encounter negation in the > problem you give it. But that is then no longer a Datalog solver but a "well > engineered purpose built solver".

which I don't think is correct. A Datalog solver with the property that it can run faster on certain classes of input is great; it is not "no longer a Datalog solver".

<comment><USER6> > Serious Datalog environments will identify strictly monotonic programs [...]

Yes. And that is extra work that _must_ be done. Admittedly, it probably isn't the "large factor" mentioned by DannyBee.

> A Datalog solver with the property that it can run faster on certain classes > of input is great; it is not "no longer a Datalog solver".

I was talking of a special, user-requested mode in which the user guarantees that the input program they are interested in will not contain certain constructs, and the solver can reject programs that do contain them. A "Datalog" solver that rejects programs containing, say, negation, does not handle the full Datalog language and is therefore no longer a Datalog solver.

As an analogy, Clang is a C++ compiler, but passing it the "-xc" flag causes it to reject valid C++ programs, so then it's no longer a C++ compiler (although it is still the same program!).

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> Nice! It's always good to see Datalog in action. In my experience, Datalog is often more convenient and more readable than SQL.

As the post mentions, the current ergonomics (" _a wall of definitions_ ") are indeed the main shortcoming of the present approach, which is syntactically far removed from Datalog.

My suggestion towards an automated conversion is to consider Prolog: Syntactically, a Datalog clause is a valid Prolog term. In fact, Datalog is a syntactic subset of Prolog. Therefore, it can be easily parsed with Prolog (using the predicate read/1), and then inspected via built-in mechanisms. You may be able to write a Prolog program that converts proper Datalog definitions to such Rust snippets.

<comment> a-saleh I think it will be better if we figure out how to do embedded catalog in other languages. I.e. I really liked The research here [https://github.com/rntz/datafun](https://github.com/rntz/datafun), where we start with "datalog=relational algebra+fixpoints" and then are trying to figure out how far can we take this in language where not everything is a table of facts :)

<comment><USER9> schelog by Dorai Sitaram [https://ds26gte.github.io/schelog/index.html](https://ds26gte.github.io/schelog/index.html) is a classic version of a funtional/declarative hybrid as a purely operational artifact. apparently its still being updated, but I remember it from many years ago (early 90s?).

it uses the ability to return multiple times from a continuation to allow sets of results (streams or solution trees) to be expressed directly in scheme and intermixed freely with the functional subset.

a 'nice' mixture of declarative and procedural would be really slick. i should go back and look at mozart/oz again.

I'll definately see if my limited ability to deal with formalisms lets me understand the type system proposed in Datafun.

<comment> a-saleh "Streams of solution trees" kinda reminds me of mikro-kanren [1]. When I was using Clojure roughly 3 years ago, kanren was quite popular embedded logic.

W.r.t. Datafun, i learned about it from a talk its creator gave on strangeloop last year [2], for me it seemed quite approachable :)

[1] [http://webyrd.net/scheme-2013/papers/HemannMuKanren2013.pdf](http://webyrd.net/scheme-2013/papers/HemannMuKanren2013.pdf) [2] [https://www.youtube.com/watch?v=gC295d3V9gE](https://www.youtube.com/watch?v=gC295d3V9gE)

</comment></comment></comment></comment><comment><USER10> Since DataLog is just a subset of Prolog I want to link a very good book about modern Prolog and its applications [1].

[1]. [https://www.metalevel.at/prolog](https://www.metalevel.at/prolog)

<comment><USER3> While it is possible to view Datalog as a subset of Prolog, they are really very different languages. In particular Datalog implementations generally use forward rather than backwards chaining evaluation. As such, programs you might write in Datalog might diverge in naïve Prolog implementation. Depending on what variant and extensions of Datalog you are using, a program that you could write in the subset of Prolog that matches Datalog might similarly diverge in a Datalog engine.

So really linking to a text on Prolog is not really relevant to a discussion of the merits of Datalog.

<comment><USER8> Prolog and Datalog also have a lot in common: In addition to Datalog being a syntactic subset of Prolog, the semantics of Prolog and Datalog, and hence the solutions you obtain, are also _identical_ if you enable SLG resolution in your Prolog system and run a Datalog program with it.

SLG resolution (also called "tabling" in Prolog) prevents both positive and negative loops, and always terminates for programs that have the bounded term- size property, as is the case for all Datalog programs. XSB Prolog is a notable example of a Prolog system that supports this mode, which you can enable with the table/1 directive:

[http://xsb.sourceforge.net/shadow_site/manual1/node2.html](http://xsb.sourceforge.net/shadow_site/manual1/node2.html)

Therefore, you can use a Prolog system such as XSB Prolog also to learn Datalog, and then seamlessly move to Prolog. Conversely, if you know Prolog, then learning Datalog is very easy. Another very nice system for learning Datalog is DES, which you can run in SICStus Prolog and other systems:

[http://des.sourceforge.net/](http://des.sourceforge.net/)

Various extensions such as _aggregate functions_ and object-oriented programming (which are mentioned in the Wikipedia entry for Datalog) are also applicable to both Prolog and Datalog with identical or closely related semantics.

<comment><USER3> Yes, I'm well aware of tabling, which is why I said "naïve Prolog implementation". I'm also aware of using magic sets and demand transformations to allow writing Prolog-like relations in Datalog.

I also work on an industrial strength Datalog implementation and I can tell you unequivocally there is very little relationship with how a real Datalog engine is implemented and a Prolog implementation.

And no, learning Prolog will not help you learn Datalog. Unless you're going to always us tabling or demand transformations, the difference in evaluation model requires writing in a very different style.

<comment><USER8> Yes, such implementation differences definitely exist!

Whether one emphasizes the differences or commonalities of Prolog and Datalog may also depend on commercial interests: For vendors of Datalog systems, it may be advantageous to stress the differences. For Prolog vendors, it may conversely be advantageous to stress their commonalities.

Personally, I learned Prolog before Datalog, and it was easy for me to learn Datalog because I was already familiar with Prolog. The reason may be that I try to write as declaratively as possible when programming in Prolog, and that carried over well to Datalog too. More recently, I have also used tabling in many Prolog programs, and often obtained very general programs with good termination properties, similar to Datalog definitions.

</comment></comment></comment></comment></comment><comment><USER11> Awesome. I look forward to browsing its code.

I implemented a Datalog engine in Java a while back. Looking back on it now there are a bunch of things I might have done differently, but I've never tried to implement anything like it before.

I remember that doing the stratified negation was quite complex and I won't be able to explain it of the top of my head anymore.

Anyway, here's my version: [https://github.com/wernsey/Jatalog](https://github.com/wernsey/Jatalog)

<comment><USER12> I may actually have a use for this. Thanks for releasing it!

BTW the use of functional maps, such as those in [0], might have advantages over things like StackMap. Of course it would require some restructuring of the code.

[0] [https://github.com/slburson/fset-java](https://github.com/slburson/fset- java)

<comment><USER11> Thank you. I'll take a look.

In retrospect I think there might be several ways to improve performance by using other data structures to index the facts, but I haven't had the time to work on it lately. There is a pull request from someone that I'm still looking at, which might just spur me on to think about it some more.

</comment></comment></comment><comment><USER13> If you want a Go implementation, look at OPA [https://github.com/open-policy- agent/opa](https://github.com/open-policy-agent/opa) \- designed for authorization but quite general.

</comment><comment><USER14> What would be some advantages of this design over the µKanren design [0] which uses a search monad [1] and expresses unification and relations directly as plain values and functions?

[0] [http://webyrd.net/scheme-2013/papers/HemannMuKanren2013.pdf](http://webyrd.net/scheme-2013/papers/HemannMuKanren2013.pdf)

[1] [http://homes.soic.indiana.edu/ccshan/logicprog/LogicT- icfp20...](http://homes.soic.indiana.edu/ccshan/logicprog/LogicT-icfp2005.pdf)

<comment><USER6> Those papers and systems deal with Prolog-like languages, not Datalog-like ones. These are different languages, even though there is a common set of similar-looking programs with similar-ish declarative semantics but completely different procedural semantics. In particular, it's easy to write programs that easily compute the desired results when run on a Datalog system, but that run into an infinite loop when run on a Prolog system.

Also, the solver here is special-cased to treat only a certain subset of Datalog that is much simpler than the full language.

<comment><USER9> it looks like it doesn't handle negation. one of those unfortunate but interesting features of the space of recursive declarative languages.

if you allow something to be true only if something else is not true, your solution space is no longer monotonic. meaning that a result you thought was part of the solution can later be retracted. if there is a cycle (trivially "a if not a"), then you may not ever arrive at an answer. that might seem simple to detect, but that cycle can exist through an arbitrary number of rules and data dependencies, so in the limit is undecidable.

ideally, as in this solver, you could keep adding terms you could show to be correct from the data and rules at hand until they and all their consequences have been found, and which point you can stop (fixed point). but negation screws up this plan.

there are various restrictions on negation, solver heuristics, and partial conservative proofs of termination that can be applied. but this is where your beautiful simple declarative world starts getting sad and messy.

[edit: I'd like to leave this because I wish I understood the problem with negation earlier, but I just skimmed and missed stratification, Frank thoughtfully explains below]

<comment><USER7> I'm drinking at the moment, so maybe messy but not sad.

The engine supports negation in the standard way: stratification. You can call 'from_antijoin' with a static relation for its second argument but not a variable. It is not discussed in the post because it is a bit of a diversion from the intended message (and because antijoin is computationally not much different from a filter).

If you would like a more general compute model with non-monotonic iteration, I recommend differential dataflow!</comment></comment></comment></comment>


14,000 year old bread rewrites history of baking and farming - <AUTHOR> https://www.npr.org/sections/thesalt/2018/07/24/631583427/14-000-year-old-piece-of-bread-rewrites-the-history-of-baking-and-farming <comment><USER2> 14,000 years ago the sea level was more than 100 ft lower. All the settlements of the time that were near shore are now deep underwater. There is no limit to what may have been going on then that we may never find out about. Much of what is now sea between Britain and Norway was dry land, as was many thousands of square miles around what are now Indonesian islands, and between Australia and New Guinea. People lived there.

What we do know is that less than a thousand years later, a comet strike with most likely multiple air bursts, like at Tunguska, touched off wildfires as far afield as Santa Barbara, South Carolina, Chile, Syria, and South Africa, and plunged the planet into a 1300-year-long climate crisis that coincided with, and probably triggered, the beginnings of cultivation in what is now Syria and eastern Turkey.

The history we learned in school, based on writing that started <6000 years ago, followed tens of thousands of equally eventful life left unrecorded and only beginning to be discovered.

We know that the 50-ton carved stone columns at Göbekli Tepe were put up starting at the end of that 1300 years, about the same time the Mayans' ancestors were operating large-scale ochre mining in Central America.</comment>


Tinyhttp, an express like framework with modern async support and no legacy code - <AUTHOR> https://tinyhttp.v1rtl.site/ <comment><USER3> Looks good! Some of its features:

\- 2.5x faster than Express

\- Full Express middleware support

\- Async middleware support

\- Types out of the box

\- Modules can be used with built-in `http` module

\---

I've been a fan of Micro, which is in a similar space. Like Express, I think the existence of an ecosystem of middlewares would be key to adoption - <USER2> necessarily many, but enough to cover common needs (parse cookie, handle uploads, etc).

[https://github.com/vercel/micro](https://github.com/vercel/micro)</comment>


Ifttt - <AUTHOR> http://blog.ifttt.com/

<comment><USER2> This is just one little service, I keep using. Really adds value...</comment>


Why Apple is wrong: A privacy advocate's view - <AUTHOR> http://www.theregister.co.uk/2016/02/17/why_tim_cook_is_wrong_a_privacy_advocates_view/ <comment><AUTHOR> I thought that I'd show a different point of view that shocked me - it's not about the encryption, but the inability to replace an operating system for anyone. That's an important distinction.</comment>


Ask HN: Where to get (free) trading data? - <AUTHOR> Looking for trades data in a file (or files) as opposed to an API, which I can parse and train an ML model on. Any country/exchange. <comment><USER2> I went down this path about a month ago. Don't expect to find any good quality data on stocks for free. If you do need data on stocks I recommend IEX, but expect to pay a good amount of money for any sizable amount of data. I paid around $100 to scrape the historical daily data for the Russell 2000. Getting intraday data for any sizable time period would cost an astronomical amount of money due to the way IEX charges for their data.

For forex, the situation is a bit better - you can get information from Dukascopy/Tickstory for free. For cryptocurrency there is data available from Binance.

There is also QuantConnect, which is an online IDE/system for developing manually coded trade bots. They have historical data for a wide range of financial products and it's all available for free. The catch is that the data can't leave their system, which eliminates the possibility of training any sort of advanced machine learning model.

Edit: for these types of questions I would recommend searching /r/algotrading

</comment><comment><USER3> Probably the first place to look would be CRSP (crsp.org) and WRDS (wrds- www.wharton.upenn.edu). You would need a .edu email to set up an account and get the data. (If you don't have one, hopefully you can find a buddy who does.)

In terms of pulling price history on-demand, Yahoo Finance seems to be a popular choice, but I don't think it will allow you to download a large enough dataset for meaningful training--that said, I haven't tried it, so I invite anyone to share their experience.

Additionally, you may want to try searching for the most cited papers for "ML in trading" and see what kind of datasets they use. Be prepared for a lot of gruntwork formatting the data before you feed it into your model: those papers might also give you a lot of context on how to do this gruntwork right from the first time.

</comment><comment><USER4> [https://www.strategic-options.com/insight/2019/06/13/the- bes...](https://www.strategic-options.com/insight/2019/06/13/the-best-and- worst-stock-and-option-trading-apis/)

</comment><comment><USER5> There's some good historical data on SimFin (simfin.com), but it's missing the most recent data unless you pay. I suppose you could work on training your models with the free data dump, do some back-testing, and then pay for the latest stuff if you have a viable model. SimFin is nice because they offer fundamental data (quarterly reports) and not just price data.

</comment><comment> david-gpu Alpha advantage offers a free API to query some data. Fetching it and saving it to a CSV is not rocket science. If that is difficult, you may find that training n ML system is pretty hard, too.

</comment><comment><USER6> you get what you pay for</comment>


11 Things I Learned From Speaking and Networking at Gnomedex - <AUTHOR> http://weblog.markbao.com/2008/11-things-learned-from-gnomedex-speaking-and-networking/ <comment><USER2> The experience of teaching improved my public speaking significantly. I think most people hate public speaking because the initial experiences they have are for short periods of time when they're nervous and full of adrenaline.

That adrenaline surge burns off pretty fast though. Physiologically you just can't sustain it and (at worst) within about 15-20 minutes you relax. When you teach a class that may be several hours or days long, that means you're relaxed for the vast majority of the time. I think that experience conditioned me to be more relaxed for public speaking in general.

</comment><comment><USER3> I'm always nervous before I give a speech. But being confident while actually giving it make huge improvements, and focusing on one person at a time definitely helps.

There's an interesting public speaking class that I've heard about, where the only feedback listeners give is about what the speaker did well. The point is to make the speakers more comfortable with speaking, which naturally fixes a lot of the faults that find their way into your presenting skills.

Anyone up for a pitch/speech-practicing group in Boston?

<comment><USER4> I hadn't either, I had done about 2,000 people in an auditorium no problem. Then I went on national radio to an audience of over 10 million. That got my hands sweaty. Once I calmed down I realized, the difference between 2,000 and 10 million is not that much, and both are really like talking to 10.

</comment></comment><comment><USER5> I find this advice very valuable:

"You aren't talking to 1130 people- you're conversing with just one person."</comment>


User Experience Issues with iOS's App Store App - <AUTHOR> http://zerodistraction.com/blog/2011/10/18/user-experience-issues-with-ioss-app-store-app.html

<comment> Anti-Ratfish Surely someone can find a better issue than this? What about the lack of any option to dismiss the red circle notifying you that an update is available - sometimes you don't want the updated version.</comment>


How C array sizes become part of the binary interface of a library - <AUTHOR> https://developers.redhat.com/blog/2019/05/06/how-c-array-sizes-become-part-of-the-binary-interface-of-a-library/ <comment><USER2> It's interesting, I've been coding in C for 15 years and I wasn't aware of this caveat. I'm surprised I never encountered this issue in the wild but then again I can't really imagine a situation where I'd share a raw extern array across ABI boundaries without any abstractions on top of it.

Still, it's noteworthy that the dynamic linker will attempt to fully copy the array in such a situation, that seems rather heavy handed even if I understand the justification. Maybe now that LTO is more prevalent the linker could figure out that the symbol is not part of the executable and insert the indirection through the GOT instead?

<comment><USER3> >Maybe now that LTO is more prevalent the linker could figure out that the symbol is not part of the executable and insert the indirection through the GOT instead?

I'm pretty sure this is already possible. I think the copy relocations are a kind of optimization. If a shared lib contains mutable variables then at least some of the library has to be copied every time a process modifies that variable. Copy relocations help to avoid this.

</comment></comment><comment><USER4> There's obviously many ways to avoid this situation, but it seems remiss not to mention in the "How to avoid this situation" section that you can usually malloc() such an array.

Obviously that's not a drop-in replacement in all cases, but once the article stats talking about API changes the obvious thing is to have a struct with (among other things) a pointer to such an array, have an my_init() function that returns a pointer to the struct which'll include a pointer to a malloc'd array, and a corresponding custom my_free() function to free the struct and its array(s).

This is the common way I've seen e.g. Pascal strings implemented in C. E.g. a struct with size_t alloc_pool, size_t strlen & char *str;

<comment><USER5> You don't even need malloc: just expose the address of the first element of the array (i.e. "erase" the size) instead of presenting the whole backing array, size and all. The issue here, of course, is that you can no longer use sizeof.

<comment><USER6> How would you do that?

The problem is that:

        extern int my_array[];

appears to expose only the address of the first element and not the size, but in fact the size is exposed through the linker.

<comment><USER3> The idea is that the library would expose a pointer to the first element of the array and the size of the array.

<comment><USER6> That's proposed by the article, under the section "how to avoid this situation".

<comment><USER3> Yes, I was answering your question "How would you do that?".

</comment></comment></comment></comment></comment></comment><comment><USER7> Looks like PE is superior in this case, since initialization of dynamic modules is handled in dynamic modules themselves? Or do I miss anything?

[https://docs.microsoft.com/en- us/windows/desktop/Dlls/dynami...](https://docs.microsoft.com/en- us/windows/desktop/Dlls/dynamic-link-library-entry-point-function)

<comment><USER8> Dynamic linking on Unixes (POSIX-ish, BSDs, Linux, you know what I mean...) has always been a pretty horrible mess (speaking as someone who has mostly worked in the Windows side of things, starting with DOS and Win16), but DllMain() is not really the way in which it's better on Windows.

On Windows, symbols (really just addresses) that you want accessible from other modules need to be explicitly declared "dllexport" in one, and imported (using the "dllimport" attribute) in others. The loader is part of the OS and resolves the imports at load time (although you can do it yourself if you really need/want to, as evidenced by things like packers and plugin modules.) On the nixes, it seems dynamic linking was more of an afterthought (the dynamic loader being its own executable _whose path is hardcoded in the binary_ is one artifact of this) and they tried to reuse what they already had for static linking but at runtime. I suppose it's more "elegant" in some ways, but on the other hand having all the complexity of static linking reproduced at runtime just seems overly convoluted to me.

<comment><USER5> > DllMain() is not really the way in which it's better on Windows.

To expand on this, ELF shared libraries have this too: any function pointers in the .init_array section will get executed when the library is loaded. You can get one of these in your library by marking a C function with __attribute__((constructor)) and compiling with compiler that understands this attribute.

<comment><USER9> The .init and .fini sections are run at object load and unload times, respectively, yes, but DllMain() also ets called for each thread at thread startup and teardown time. On Unix you can catch thread teardown with pthread keys, but you can't catch thread startup.

Just an FYI.

</comment></comment></comment></comment><comment><USER10> Such uninitialized arrays in Structs are C99 standard. [https://en.wikipedia.org/wiki/Flexible_array_member](https://en.wikipedia.org/wiki/Flexible_array_member)

<comment><USER11> You know, a shared library system with special declaration specifiers to indicate shared symbols (think: Microsoft's__declspec(dllimport)) would be entirely acceptable. I could live with it. Sure, it's less convenient if you're compiling the same code both ways or converting.

That would address situations like this. Arrays that live in one object only wouldn't be exported and could be accessed using the faster instruction sequence within that object. Arrays exported for sharing would be referred through the global offset table using the slower machine sequence, without having to be copied.

</comment></comment><comment><USER12> Just one more reason why commons are evil and have no place in a well-formed program.

<comment><USER5> If you're talking about global variables, then they're a necessary evil in most programs.

<comment><USER13> For one thing you can't pass parameters into signal handlers, so the only way to set a flag for your main app is a global variable.

</comment></comment></comment><comment><USER14> This is _part_ of the reason why the Linux kernel doesn't have a stable API.

Quote from [https://github.com/torvalds/linux/blob/master/Documentation/...](https://github.com/torvalds/linux/blob/master/Documentation/process/stable- api-nonsense.rst):

> Depending on the version of the C compiler you use, different kernel data > structures will contain different alignment of structures, and possibly > include different functions in different ways (putting functions inline or > not.) The individual function organization isn't that important, but the > different data structure padding is very important.

<comment><USER5> I don't think this is quite related: this article is about array sizes being part of the ELF ABI, while what you've linked is a discussion of the Linux kernel not having a stable _API_.</comment></comment>


Bug Bombs Don't Get Rid of Bugs, Study Suggests - <AUTHOR> http://www.sciencemag.org/news/2019/02/bug-bombs-don-t-get-rid-bugs-study-suggests <comment><USER2> The only bugs I've had issues with are fruit flies and cockroaches.

Fruit flies are easily dealt with by putting cider vinegar in a container and rubber banding saran wrap over it (with a couple holes) - they get in but not out. That, combined with taking out the trash twice a week solved the issue.

For cockraoches, there are bait traps so that they take poisoned food back to their buddies.

Both resulted in no bugs for the rest of my lease.

The key for both was utilizing the solution when you see the first bug.

<comment><USER3> just a footnote: boric acid, which is a common cockroach poison taken back to the nests, is that it's toxic to human kidneys

<comment><USER4> Do bait traps leave it behind in such a way to be toxic to humans?

<comment><USER3> idk about bait traps. a long time ago I used the boric acid that is sold in a big squeeze bottle and i just put lines of the stuff near cupboard doors and on the floor. looking back now, i don't think that was a great idea. i wouldn't want to ingest any of it.

<comment><USER2> >idk about bait traps. a long time ago I used the boric acid that is sold in a big squeeze bottle and i just put lines of the stuff near cupboard doors and on the floor. looking back now, i don't think that was a great idea. i wouldn't want to ingest any of it.

then uh, don't lick them?

<comment><USER3> now you tell me

</comment></comment></comment></comment></comment></comment><comment><USER5> _Even before the treatments, the middles of countertops, floors, and other areas heavily trafficked by humans (but not bugs) had residue_

There's pesticide in the middle of countertops before the bug bomb was used?

<comment><USER6> I imagine the residents had previously tried such things outside of the study.

</comment></comment><comment><USER7> I don't understand why people would poison themselves like thi (bug bomb), especially when safe alternatives like Diatomaceous Earth are available

<comment><USER8> Likely because people don't know it exists.

I worked in pest control when I was younger (friend's family business) and I live in an area where there's 2 very common unwanted pests. Pest control is a somewhat common topic and nearly every person I know (except myself) has "bombed" their house multiple times.

Your post is the first time I've heard of DE.

<comment><USER9> I highly recommend the stuff. Works great, supposedly harmless for us mammals, and ridiculously cheap. I bought a bag for a few bucks years ago and I'm maybe a quarter of the way through it now. Any time I see unwanted bugs, I dust around likely entrances and they stop coming.

<comment><USER10> Breathing certain forms of diatomaceous earth can cause silicosis and other lung problems:

[http://npic.orst.edu/factsheets/degen.html](http://npic.orst.edu/factsheets/degen.html)

Apparently breathing the _amorphous_ form causes only mild and reversible lung inflammation. Breathing the _crystalline_ form can be more dangerous.

<comment><USER9> Good to know. It sounds like normal household use is fine, but frolicking in the stuff might be good to avoid.

</comment></comment></comment></comment></comment><comment><USER11> These is also [https://en.wikipedia.org/wiki/Ant_chalk](https://en.wikipedia.org/wiki/Ant_chalk)

I was introduced to this product in early 2000 (my keyboard developed an ant nest after a lan party), seemed shady AF and a typical Chinese scam, but worked great and got rid of ants in a ~week.

<comment><USER12> Not legal in the U.S., and very toxic.

Borax solutions like Terro work very well. Diatomaceous earth is a natural solution for exterior boundary use.

<comment><USER13> Diatomaceous earth doesn't work well in wet areas unfortunately. Bug bombs are useless.

</comment></comment></comment><comment><USER14> They may not work on bugs so well, but when it's time to clean out the pantry of food I don't want to eat I've been known to leave a counter door open "by mistake".

"Sorry honey, must not have been closed all the way. Guess all this Hamburger Helper has gotta go."

<comment><USER15> Can you explain this more? How does leaving a pantry door force you to get rid of food?

</comment></comment><comment><USER12> "Even before the treatments, the middles of countertops, floors, and other areas heavily trafficked by humans (but not bugs) had residue"

How can there be residue from the bombs _before they were used?_</comment>