H-1B Visas, Facebook, and Cummins

I ran across an article about Facebook’s use of H-1B visas in my news crawl. This part really caught my eye:

Since 2017, as part of his promise to “hire American,” the Trump administration has been denying record numbers of H-1B visas—those offered to high skilled workers with bachelor’s and advanced degrees, including many engineers at Facebook, Amazon, and Google. In the three years that Trump has been in office, the denial rate for H-1B visas has risen from 10 to 24 percent. The United States issues roughly 85,000 new H-1B visas each year. In 2018, 651 of those visas were granted to Facebook employees, the seventeenth most of any employer in the country.

Source: ‘Do Not Discuss the Incident,’ Facebook Told Employee Fired After Speaking About Worker Suicide – VICE

That got me curious. Around these parts, it’s obvious that Cummins is a big fan of the system, but I had no idea how much. If you click through that link from the article, you can see Cummins sits at 29th out of 30 largest users of the H-1B visa program! That was surprising to me!

From state-level data, we can see that, in Indiana, Cummins is #1, obviously.

I think both sets of numbers rather dramatically understate Cummins’ use of the H-1B visa program. Cummins employs lots of people through Tata, Infosys, KPIT, and, of course, my own employer, LHP. It seems like the counts in their totals that represent people working for Cummins ought be applied to Cummins’ count, and I’m assuming that this is same for the rest of the counts. I’m sure Tata and Infosys have people embedded in many of the other companies as well. I guess it doesn’t matter much in the end, but it would still be nice to remove the “consultancy indirection,” and just get final numbers for all of these companies. It would show who’s taking most advantage of the indirection.

Do other countries, like India and China, run programs like this, to get professionals from the US into their countries? I honestly don’t know, and any searches I do online seem to get redirected back to the H-1B program, because that’s all anyone seems to talk about, so it’s hard to tell.

Almost all visa holders I meet are be from India. Second place seems to go to people from various countries in Africa. China has about the same amount of people as India, and about as many as all of Africa combined, but I haven’t met any Chinese visa holders at Cummins. Mexico and Canada are right here on our borders. I’ve never even heard of someone from those countries working here under an H-1B visa. Why does it seem that the program is almost exclusively Indian? Again, I don’t know.

This is all very complex and fascinating to me. Maybe I should read a book and educate myself about the underlying dynamics. It’s just that I have so many books I’m already not reading…

Top Marginal Tax Rates

Jeff Bezos, CEO of Amazon, could be taxed NINETY-NINE POINT NINE PERCENT of his net worth, and STILL be worth a BILLION dollars. Let that sink in. $10M is pretty wealthy. $100M is pretty crazy. “Just” $1B is ludicrous. He is worth $110 BILLION. It just seems to me that — at some point — the country that set the stage for him to be this wealthy — like, say, oh I don’t know… giving Amazon a TOTAL PASS on sales tax for 20 years — needs to get some of that back to help the rest of society.

I know that makes me seem like a communist to some people, but I promise this is only small-“S” socialist thinking. This is just too far out of whack. I think it’s time to go back to more steps of substantially-steeper marginal tax rates. At this point, the top 400 wealthiest people in the country are paying less than anyone else, on a marginal basis.

Marginal Tax Rates Since 1950

I know, I know. I hate our country. If I don’t like it, I can leave. Yada, yada, yada.

I Was the First “YouTube”

Back in the early 2000’s, I was getting pretty deep into Linux. I also had a job which allowed me to have the castoff computers no one needed any more, after upgrades. Linux has always run just fine on older hardware, so I wound up with, at one point, 9 servers in my house, doing all sorts of things, in addition to my hand-built personal computers.

At the time, I had been running a dual phone line connection back to my computer at work, and using their T1 line for internet access. I had cleared this with the person in charge of the network. He was satisfied that I wouldn’t be using it except out of business hours, by definition.

While I knew it at the time, it’s become even more clear in retrospect: Arvin was a pretty great place to work. And Meritor ruined it. But I digress.

I found out that DSL was available at my house, so I got a 512Kb symmetric connection, which was rare. At the time, the phenomenon of the “Super Bowl commercial” was getting into full swing, and I had started collecting them. I was storing them on my “big” server, which had 6 SCSI drives in a hardware-based RAID array, for a whopping 100 GB of space. My collection included things like the old Budweiser “wassup” adverts, and that sort of thing.

Since I had a broadband connection, I started running my own web and email servers, out of my house. On my web server, I hosted an FTP service for all of these videos. You could click on them and play them, but I left it easy to just grab them all, if you knew how. I watched the logs, and saw that many people did. As thanks, a couple of people sent me their collections on CD’s through the mail. It was going well. To me, this is what the internet was all about.

Then along came “farting preacher.” It was an instant classic of the time, and I immediately added it to my collection. In a couple of months, if you searched on that phrase, my web site, running out of my house, was the #1 hit for it. That month, I did 8 GIGABYTES of uploads over my 512Kb connection. And, remember, these were tiny, little, lo-fi vid caps of the time. Most were just a couple megs. I thought about running banner ads on my site, to try to “monetize” the traffic, and then immediately rejected that idea as crass. It’s not that I didn’t think I couldn’t make any money; it’s that I thought the amount of money I would make wouldn’t be worth the hassle.

The very next month, someone created farting preacher .com, and loaded it up with ads. I have to admit that I felt a little whinge of missing the boat, for a moment.

The, the next month after that, YouTube was launched, and it put all of those spammy, one-off video sites out of existence, in favor of a new, spammy video site, where you can randomly get banned or de-monetized, or have your videos removed because of bogus copyright claims.

IMHO: The Mythical Fullstack Engineer – Stack Overflow Blog

It’s my experience that the above MVFE is pretty uncommon. The profile describes a person with skills requiring thousands of hours to master, but who doesn’t take part in the holistic decision making process. By nature, the value of a fullstack engineer stems from their ability to make competent unilateral decisions (decisions without asking anyone for permission). I’m sure there are people who mostly fit the MVFE, but I wager that they are few and far between. You could probably summarize my view about the MVFE as:

It’s very impractical to become a fullstack engineer without understanding the big picture.

In my mind, a fullstack engineer’s value is mostly derived from their ability to single-handedly design, architect, execute, and operate an entire end-to-end system. Assuming this is possible, it almost completely eliminates integration overhead.

Source: IMHO: The Mythical Fullstack Engineer – Stack Overflow Blog

There’s a lot of subjectivity in this article, but I think it covers the topic pretty well. I consider myself a full-stack engineer, and that self-identification hinges on both emphasized points above. First, I’ve spent the time to learn all the pieces. Other people don’t see all the late nights, banging away on my home lab, or my church’s setup, forcing things to work when they didn’t want to, integrating pieces all over the stack, setting up solutions to help people get things done, or just to scratch an inquisitive itch.

For instance, I’ve run my own web server on a public address. This will cause you realize how hairy the raw, unfiltered internet is, and will force you to learn about the basics of hardening a server and firewalling a network connection in a New York minute. I’ve run my own email server. That will teach you about spam, attachments, white and blacklists, abuse addresses, and lots of stuff about making your server look legit to other servers. I’ve run a Windows domain for my whole family’s computers, with roaming profiles and everything. (Side note: do NOT use roaming profiles.) I’ve run my own personal cloud. My own mobile sync server. Media servers. TV recorders. The list goes on.

In my professional career, I’ve gotten to work on some of the biggest, baddest tech ever made. I’ve setup a Sun E10000 from scratch. When I took the official Sun training on the kit, I fixed the lab’s setup when it broke. I’ve configured a 384-tape robotic backup system. I’ve commissioned $15M of EMC disk cabinetry. I’ve trained extensively on Oracle, and setup a North-American-spanning network of 20 instances. These technological implementations are fading, now, but the concepts haven’t. We just answer the same questions with different hardware and software these days.

When I encounter a new technology, at this point, it usually doesn’t take long to slot it into the larger context of computing services. For instance, I recently tried to use Elasticsearch for a project at work. While I eventually found an easier way to do what I needed to do, through several weeks of experimentation, I now know what that technology is about, what problems it solves, how it works, and what it takes to implement it. Now I have this tool in my toolbox, and it’s very possible that I will yet use it for a different project. I’m incredibly grateful that I have a job where I can occasionally do a little “R&D” like this, to learn something new, but it takes substantially less time to divert my attention like this, than other people might spend, because of the experience I already have.

Second, I understand the field I write software to support, because I studied it. I think the modern incarnation of the programmer, toiling away in the bowels of a big company — which is most developers, by simple numbers — is the total inverse of this ideal. I have a degree in mechanical engineering. I’m a good engineer, for the same reason I consider myself a “full-stack” guy. I see the big picture, and how everything underneath it contributes to making it look the way it does.

Even more than studying the math and physics, I was drawn to engineering, because that’s how my mind works. When I look at an engine, I notice the systems that are interoperating: the mechanical masses, the fluid flows, the thermals, the electrical connections, the air flow. I feel these things in my gut and see them in my mind’s eye. I understand how all of these subsystems work to produce power and torque, the difference between those two things, and when it’s appropriate to focus on one over the other. To me, it’s the same thing with an IT solution. I can picture the large subsystems working together to make up the final system in my head, and see the servers, the services, the networks, the databases, the networking, and the automation that will be needed to implement it.

In a lot of ways, the training in how to think about a problem in engineering school is perfectly suited to creating full-stack solutions. Start with restating the problem. Get to the heart of the business problem you’re trying to solve. Where’s the friction? State the givens. What do we know already? What pieces of data do we have? How do we get that into the system? Finally, specify what you’re solving for. What are we missing? How are we going to transform what we have into what we want? How will the people who will use the system need the program to work, and the data to be shown?

Most people working in software in my industry have been trained in how to write some code, and that’s about the end of it. They might understand how to write a loop in Java, but they don’t understand how to setup a Java application server, or a load balancer, or a firewall, to say nothing about the database. They also don’t understand how our products work, how they’re designed, or what the engineers working on them need to help them in that endeavor. I find myself in the rather rare position of understanding both halves of this equation. In my 25-year career, I’ve met only a handful of people who can straddle the fence between the physical, engineering problem domain, and the IT implementation like this. In the manufacturing world, we are indeed few and far between.

There’s one other thing I want to talk about, and that this article’s presumption that Javascript is the piece for the front-end, in the jigsaw puzzle that is a full-stack web application these days. I still like Rails’ templates, and, of course, Microsoft is pushing Razor. Javascript enhances both of these things. However, the article hints at how a lot of people are doing the entire front-end in Javascript now, and I find that disappointing. In an aborted effort, I tried writing an application in Java with an Angular2 front end. The amount of duplication astounded me. When you combine this duplication with the fact that Java and typed Javascript are two of the most verbose languages to work with, well, you get a mess.

Using an API back-end and a pure Javascript front-end is, perhaps, the single greatest argument against full-stack development you can make. Given the sheer amount of work involved in separating the front-end, completely, from the back-end, it almost requires two different people or teams. If you sat down, and wrote out the most terrible theoretical idea you could come up with for software development, it would probably look like “write a single application, broken right down the middle, in 2 different languages.” Unfortunately, that’s the nature of web development right now. I lament that this is where we’re at in our technological evolution, but until network bandwidth takes another leap forward, this is what we’re stuck with.

Warren on our Corporatocracy

I’ve been talking about corporate charters for a long time now, and people either don’t understand what I’m talking about, or think I’m crazy. We give people a charter to create a company, which grants them special, legal protections to build the business. But that charter implies a social contract that they will not abuse the public trust, in exchange for that special treatment.

This has been a sort of gentleman’s agreement, that corporations — as legal “people” in the campaign finance definition — would be good “citizens.” In modern America, many simply haven’t been, and it’s time to hold them accountable, and make them give back to society in a more equitable way. Global-spanning companies shouldn’t be allowed to continue to “socialize the costs, and privatize the profits.”

Just yesterday, Mark Benioff, CEO of Salesforce, wrote an op-ed in the Times saying much the same thing:

“To my fellow business leaders and billionaires, I say that we can no longer wash our hands of our responsibility for what people do with our products. Yes, profits are important, but so is society. And if our quest for greater profits leaves our world worse off than before, all we will have taught our children is the power of greed.

It’s time for a new capitalism — a more fair, equal and sustainable capitalism that actually works for everyone and where businesses, including tech companies, don’t just take from society but truly give back and have a positive impact.”

These people face perhaps the toughest uphill climb possible. The world of corporate governance is a private club, where executives of one huge, public company might sit on the boards of a dozen others, all interconnected. They’re used to getting their way, because, in aggregate, they use their money to influence local, state, and federal governments, to make things easier on themselves, and tougher on their competitors. They aren’t going to care for someone kicking over the castles in their sandbox.

.NET Core 3.0 concludes the .NET Framework API porting project · Issue #130 · dotnet/announcements

With .NET Core 3.0, we’re at the point where we’ve ported all technologies that are required for modern workloads, be that desktop apps, mobile apps, console apps, web sites, or cloud services. That’s not to say that we don’t have any gaps or opportunities for new technologies, but we generally believe we won’t be finding them in the .NET Framework code base anymore. Moving forward, we’re focusing our resources on incorporating new technologies.

Source: .NET Core 3.0 concludes the .NET Framework API porting project · Issue #130 · dotnet/announcements

As an almost-20-year hard-core Linux zealot, who watched, in horror, what Microsoft did to the burgeoning personal computing market in the 90’s and early 00’s, I will probably be suspicious of everything they do for the rest of my career. I will never “forgive” them (as if that’s a thing) for funding the SCO v. IBM fiasco, and I still want to know who was involved in that scheme. That being said, even I have a hard time being cynical about .NET Core. This seems to be a good vision and direction, and they are executing very quickly on it. They are delivering what Mono might have been, if more “weight” had been behind it.

Abrams Dieselization Project: Doing the Math | Defense Media Network

“And that’s with better performance,” he added. “The modern diesel has greater torque in it than the turbine does. And you’ve got a couple of other things going for you as well. First, we’ve changed the nuclear, biological and chemical protection system, so it doesn’t operate off of the engine. On the turbine it operated off of ‘bleed air,’ so you had performance degradation on the turbine when the NBC system was on – and it’s on quite a bit. So that helps. Then, at idle, this [diesel] vehicle uses less fuel than if you put an under armor auxiliary power unit in there. And it’s quiet – it’s very quiet. The heat that comes out the back of the engine is 300 percent less than what was coming out of the back of the turbine. So there’s a significant reduction in heat signature and you can actually stand behind the tank now – when it’s running – and have a conversation.”

Source: Abrams Dieselization Project: Doing the Math | Defense Media Network (emphasis mine)

I looked up whether Cummins provided the engine for the Abrams tank, and discovered that it uses a gas turbine, not a diesel. I was gob-smacked. My engineering spider senses were tingling. On a checklist comparing a gas turbine against a diesel, in a tank, I can imagine that there are a lot of bullet points that I don’t even have a clue about, so I was willing to give the decision by the Pentagon the benefit of the doubt. However, the very next article on the search results was this one, showing a lot of compelling reasons to switch out the turbine for a diesel, and this made me feel justified in my feelings. Again, though, I am open to the possibility that other, valid constraints may still dictate this solution. Maybe it’s a mass/acceleration, or a moment-of-inertia/maneuverability thing? I don’t know, but the idea of the engineering tradeoff conversation on this topic fascinates me.

China’s New Cybersecurity Program: NO Place to Hide | China Law Blog

This system will apply to foreign owned companies in China on the same basis as to all Chinese persons, entities or individuals. No information contained on any server located within China will be exempted from this full coverage program. No communication from or to China will be exempted. There will be no secrets. No VPNs. No private or encrypted messages. No anonymous online accounts. No trade secrets. No confidential data. Any and all data will be available and open to the Chinese government. Since the Chinese government is the shareholder in all SOEs and is now exercising de facto control over China’s major private companies as well, all of this information will then be available to those SOEs and Chinese companies. … All this information will be available to the Chinese military and military research institutes. The Chinese are being very clear that this is their plan.

Source: China’s New Cybersecurity Program: NO Place to Hide | China Law Blog

It will be very interesting to watch how Cummins’ new “cybersecurity” initiative deals with the fact that one cannot keep proprietary secrets from the Chinese government, if one wants to sell products in their country.

It will also be very interesting to watch how other Fortune 500 companies deal with this, just in terms of email, chat, and file-and-print services. American companies have been collectively brainwashed into overly-restrictive IT practices for decades now, based on second-hand interpretations of SOX and related laws, by huge consulting firms, and “peer pressure” from other companies also implementing unfounded restrictions. Now, none of those policies will be allowed in China. How does a global company go about setting up a system, say, for instance, where I’m not even allowed to see my chat history, for fear of legal repercussions, yet the Chinese government has full access to all logs, including the CEO’s, if he chats in China, or someone chats at him from China?

Why customers love Tesla despite its many mistakes | Ars Technica

In a reasonable world, people could acknowledge both Tesla’s huge contribution to advancing electric vehicle technology and the significant ways it has fallen short of its own hype. Unfortunately, the modern Internet is not a reasonable place. The centrifugal force of social media has turned online discussion of Tesla—like most other topics—into an angry, polarized flamewar.

Source: Why customers love Tesla despite its many mistakes | Ars Technica

All I know is that I see a Tesla on the road every time I leave the house, and this is Columbus, Indiana, the home of Cummins. Heck, there’s even a Tesla in the parking lot at the facility I work at. Bold move considering that there’s an entire front row, at a different facility, that is reserved for people who drive diesel Ram trucks.

Tesla is clearly succeeding, given their steep uphill climb against the Big 3. Every car manufacturer has a full-electric in their lineup, and I think the entire automotive industry is about one more battery-tech innovation away from eliminating combustion engines entirely. Buses, cargo trucks, and long haulers are just dominoes in the chain.

For years, lots of people on the left have been freaking out that we have to rid ourselves of gasoline and Diesel engines by way of governmental regulation. They’ve managed to pressure regulators to make emissions requirements so stringent that it’s hampered the entire transportation market for decades. But the answer to getting rid of engines is right here in front of us, and it won’t take heavy-handed regulation. People will want to move to electric, once all the bugs are worked out of the supply chain, and the charging infrastructure is fully in place. I’ve never read an article about someone who drove one, and said that they preferred a gas engine. Everyone who drives one says it’s simply a better way to “car.”