HN user

PNWChris

649 karma

All opinions are my own, I don't speak for my past or present employers.

Posts9
Comments78
View on HN

I don’t think this is a fair retort. Personal communication is not what is being looked at here.

No business I’ve ever worked at has encouraged or tolerated the use of personal messaging platforms for business.

Why do these execs get an exception? What are they doing that warrants hiding? I think any normal bystander would see this as suspicious.

Why are so many companies trying to hide their executive decision making? It keeps showing up in the news.

Why did Arthur Anderson and Enron shred all those documents? Who knows? I have no idea what was in those reams, and nobody ever will. I’d bet it would not look good for the folks at the top if we could.

With the amount of power these businesses yield, they absolutely should be held to basic record keeping standards. Companies are groups of people, their lifeblood is communication. The only way they can perpetrate large scale wrongdoing is via communication.

Our elected government representatives should be able to inspect and question how these powerful entities are run and respond to any wrongdoing they find.

We ask a lot from our elected representatives. Likewise, we must ask a lot from our unelected corporate overlords. Yes this is uncomfortable for them. Being powerful should be.

A disclaimer about me: I work for a megacorp as a leaf node IC. Opinions are my own and I don’t speak for anyone else and all that.

I have nothing insightful to add, I just want to say thanks for posting this!

I’m on a flight right now and just went to this URL. Sure enough, it works!

I know this information is available via the wifi portal’s UI, but a JSON blob just hits different.

```

{"timestamp":"2023-09-28T21:57:39Z","eta":"23:45","flightDuration":164,"flightNumber":"DAL992","latitude":47.4557876586914,"longitude":-111.73490905761719,"noseId":"3883","paState":false,"vehicleId":"N883DN","destination":"KMSP","origin":"KSEA","flightId":"N883DN_SF_20230928195737","airspeed":null,"airTemperature":null,"altitude":35273,"distanceToGo":13,"doorState":"Closed","groundspeed":499,"heading":95,"timeToGo":107,"wheelWeightState":"Off"}

```

Apologies for the JSON formatting, I’m on mobile.

The Levandowski lawsuit comes to mind https://en.wikipedia.org/wiki/Anthony_Levandowski#Civil_laws...

---

Edit:

Since I enjoyed OP's story, I thought I should clarify a bit.

I'm speaking broadly of how I remember (from the outside) Uber's fast-and-loose IP attitudes in the 2010s.

I don't think OP did anything of a similar sort. From comments here it sounds like they used some code they built in their free time that a previous employer didn't want.

At Uber it sounds like they asked and were permitted to post their no-longer-needed code to GitHub. It's got its own GH org and everything.

This whole chain is legally risky (I wouldn't do it and would strongly advise others not to do it).

I feel OPs actions are not Ethically Wrong, though. I wouldn't enjoy living in a world where OP gets sued for this, since it sounds like nobody at work wanted the work and it's not giving competitors an advantage. I won't claim the world isn't like that, though.

I really wish I could share OP's attitude and sense of ownership. I built something really cool (entirely in my free time) for a previous employer's hackathon. That code lives on some server they own now, possibly deleted. I deleted my copy after submitting it to the hackathon because I didn't want to risk anything. Company lawyers make just building things for fun feel so risky! It takes the soul out of our work.

I'm of two minds on this, I both agree and disagree.

Once a code base is a certain size, explicit but bigger can be a boon. Magic dynamic dispatch systems and other tools that simplify plumbing make onboarding and routine, drive-by maintenance way harder IME.

I find that once you understand systems that have a dash of "magic", though, it is easier to add features and stuff. Single points of maintenance and all that.

It's a continuum, with each side having different benefits.

There was a suicide attempt that sparked a lot of discussion about Amazon and the way they do PIPs back in 2016:

https://www.geekwire.com/2016/report-amazon-employee-jumps-o...

http://www.businessinsider.com/amazon-employees-share-though...

It prompted a lot of discussions in my workplace cafeteria and I recall it was discussed at length on Blind. The consensus I saw at the time was that Amazon has a really rough culture and something needed to change.

I have not worked at Amazon, so I cannot speak directly to any of this, though.

I think that’d be gibidollars (Gi$ or something like that?).

All these unusual units are kinda fun, could spice up a presentation or conversation to throw in without context.

It gives me that hacker having fun, tarsnap picodollar/byte-month pricing vibe.

Another possible issue: arcing/stuff burning on to one of the lightning pins. IDK why it happens, it’s probably lint or something, but it’s easy enough to mitigate: If a cable stops working all the sudden, the first thing I do is wet my fingers and rub both sides of the lightning cable’s connector. Most of the time that does the trick, no new cable or tools needed!

An example of the issue I found searching the issue real quick: https://www.thetechmentor.com/posts/fix-lightning-cable-burn...

The worst part is that the old “stop stop play” trick doesn’t work on any devices I have that can play disks (Xbox and computers). Every time I play a disk and hit the unskippable nonsense, I’m reminded why nobody uses those things anymore.

If you have a stand alone player, however, perhaps that trick still works. Just press stop, then press stop again, then press play. It skips the warnings, pre roll stuff, menus, and just plays the movie.

Fair enough. I think technical users probably don't need this site, but I think there is value to be had (even for those technical users!).

For a bit of context:

I found myself using this site via my xbox's web browser to make sure my wifi latency is acceptable where I put the xbox.

Also, my spouse and I just moved to a new place, so I used this site on my phone to get a quick idea of the latency on wifi in my spouse's office.

There's tons of web-based tools to test your bandwidth, but I feel there just isn't a similar ecosystem of quick, web-based "ping" (well, latency, since I can't send ICMP packets from a web browser) tools.

-

RE: HTTP only, good point. I've set up certbot and the page supports https now. I am not certain how HTTPS will impact the latency measurements, it appears the results are typically a bit higher and occasionally much higher when using HTTPS.

-

I don't get the disappointment with the use of JS. It's just a bit of inline JS, easy to manually audit if concerned. JS is quite safe IMO and is a very powerful tool, it makes a rich universe of interactive applications possible in the humble web browser. I basically got into CS because of the fun I had creating things for and sharing things on the web.

Fair point! Just got all the certbot stuff set up. Wasn't too bad, though at first glance it appears there may be a bit more variance in the RTTs.

Edit:

I think I found a way to get the best of both worlds!

I've removed certbot's 301 redirect from HTTP to HTTPS and made it so the protocol used during latency measurements matches the page's state. Now if one wants HTTPS they can use it, but if they want a slightly more stable measurement they can use the http page.

These are great points, I appreciate it!

Labelling this a "ping" was a poor choice on my part. I meant ping in the RTT/latency sense, rather than an ICMP sense. Calling it "HTTP latency" is a huge improvement that clearly (and concisely) gets the idea across, I made a quick edit to do just that.

RE: recording a range of samples and reporting percentiles: My hope is to keep the code super simple and the delay to visible info in the UI very low. Elsewhere in the thread folks mentioned the excellent http://gcping.com/. That site has a ton of destinations to test latency to and reports the median of a number of samples - that is a really cool feature set! I don't think I'll be able to do anything close to that in tens of lines of inline JS, unfortunately.

Still, the measurements start super noisy and I'd like to ensure my site gives useful data even at the start. I did a bit of a hack to hopefully force the RTT to converge to something useful. I now fire off 3 time-delayed measurements after the page loads. By the time the third finishes, the numbers appear to be pretty stable.

To add insult to injury, sometimes the share sheet is really, really slow! Like several seconds with no UI feedback to indicate anything is going on! That’s quite frustrating when I want to quickly invoke my password manager or search on page.

I agree, the share sheet is just too confusing. Favorites management, my password manager, air drop, texting, find on page, and the kitchen sink are all in there and are quite undiscoverable if you don’t know to look for them.

To add some confusion on top of that, some features and extensions go in the similarly un-discoverable “aA” button in the URL bar, so it’s not even like everything goes in the share sheet. That button is really tough to remember even exists since it goes away when you scroll.

Ah, great points! The person may have said it was an exam to keep the explanation simple for others.

Perhaps they didn’t match (entirely didn’t match or couldn’t match where they needed to be for family/some obligation), burnt out, etc.

There’s tons of reasons one may not make it all the way through, though it is quite rare if you grind hard enough and are adequately flexible RE residency location and stuff. The system wants you to finish once you’re in med school, since med schools and residencies are measured by completion rates and similar success metics.

Medicine is a really tough thing to get in to, and I don’t think people fully grasp that as they apply for med school. It looks prestigious from the outside, but is financially draining for a long time and is extremely inflexible (find out where you match and move with only ~3 months notice?! Who thinks that’s acceptable in the modern world of two working spouses?).

Likely they mean one of the step exams. Med school and residency are a brutal game - the exams don’t stop till you pass the boards at or around the time you become an attending!

That’s a consequence of suburbanization and divestiture from the major auto cities (Detroit, Pontiac, etc) in Michigan.

In recent years there has been meaningful investment and growth in Detroit [0], but a lot of auto money is in surrounding areas like Grosse Pointe [2] and Oakland county [1].

[0] https://fred.stlouisfed.org/series/DETR826PCPI

[1] https://en.m.wikipedia.org/wiki/List_of_Michigan_locations_b...

[2] https://en.m.wikipedia.org/wiki/Grosse_Pointe,_Michigan

Edit: mentioned Grosse Pointe

I’ve had this kind of trouble in the past, a site I was paying for even blocked me from accessing it at home! My ISP is running a big CG NAT and appears to have my whole building on one (or very few) IPs, so it looks like a VPN/proxy or something.

I saw someone mention https://mullvad.net/en/check/ here on HN. It was helpful, I found the IP my ISP had me using was on some block lists.

There wasn’t much I could do but it’s good info to have. Browsing blocked sites from cellular or by tethering works. Ironically, a VPN or a service like iCloud private relay (the kind of services that you’d think would cause these issues) can help, too.

I guess contacting lists or site operators can help, though idk how effective it is.

Yup! If you want something that just works (no need to prefix with http[s] in your browser’s omnibar, works with Apple devices, etc), `.home.arpa`[0] is the canonical option.

A somewhat on topic tangent:

I did a fair amount of tinkering with this after finding my manually defined `.local` dns entries wouldn’t work with Apple devices. Apple devices see such addresses as reserved for mDNS and will only look them up via mDNS.

To get everything working on my network, I ended up going down the rabbit hole of local DNS naming schemes. In the end I found I prefer the look and feel of `.lan`, so I live on the edge and make my custom DNS entries using that.

Some browsers think I’m searching for stuff when I type “hostname.lan”, but prefixing with http:// fixes that. Wherever I can I try to set up mDNS, though, since it just works and doesn’t require any central administration. Sadly, not all devices are customizable enough for me to use mDNS everywhere.

[0] https://serverfault.com/a/1041148

I’m glad I’m not alone doing this! I’ve gone so far as setting up a content blocker on my phone and putting Reddit on a blocklist.

I just can’t handle all the front page content that elicits outrage and/or incredulity, and the comment threads can be just as outrageous as the content itself.

Still, I dig so many of the communities on there, so I browse by setting aside time and hopping on my desktop.

I don’t use my desktop much (maybe a couple times a week), so I find it creates a nice mental partition from my day-to-day life and let’s me engage with Reddit on my own terms. Frankly, Reddit is a blast in small doses, so I’m happy with the balance I’ve struck.

Agreed. While doing my undergrad in CS a decade ago (wow - I can't believe it's been that long) a lot of coursework was relatively light-weight to execute, and when it wasn't it could be done by SSH-ing or VNC-ing into a university-managed RHEL environment.

We could even RDP into well-equipped Windows machines that had licenses for all the software you could ever want if you happened to need Windows.

This was at a large Midwestern research university. From talking with friends and colleagues over the years, it sounds like it was a pretty standard set-up.

I did try to do local development on an ARM Chromebook I got as a curiosity back then, but it was just too constrained. Cruton wasn't perfect and only the XFCE desktop environment had acceptable performance. Plus, not a lot of software was ARM compatible out of the box back then and compiling from source was a pain on the low-power processor I had.

These days, especially with the crazy fast ARM cores we're seeing and Android Apps working on ChromeOS, things look way more usable for a CS student's general computing needs. It's always cool to see stories like OP's to confirm what I hoped was the state of computing outside the Mac/Windows norm.

Disclosure since this is about ChromeOS: I work at Google, but this is all my personal experience and opinion.

I used to maintain a sprawling spreadsheet to manage my retirement investments. I would use it to compute the trades I'd need to do to rebalance (so I can stay on-target with my desired asset allocation).

I ended up making https://github.com/cjjeakle/rebalance-calc to do the same thing, but with a slicker user experience. I use it quarterly, so it definitely fits the bill for my use case, and I occasionally show the tool to friends to help explain what rebalancing is and how to do it.

Is the goal of such a policy to expose our leaders to the horrors of war, and hopefully yield a more compassionate government? A noble idea, but to implement it, you would basically need to actively pursue a state of war.

If the government of enlightened former-warriors created a world without war, would that be a failure for future generations because their leaders wouldn't get the exposure required? At the end of the day, we ought to find more sustainable ways to prepare our civil servants and filter for capable leaders.

I recently got a new job in a Midwestern city and made extensive use of levels.fyi (and Blind) during the process. It helps a ton with setting expectations and understanding what wages and equity to aim for (or a bit above even).

There’s a feature on the site where you can click a given level for a given company, and filter the individual offer data to a given metro/city. It’s super useful, even if a bit more labor intensive than being able to use the top-of-the-fold summary stats.

Edit: the link to click is “filter locations”, it’s on the top right after clicking/opening a given level’s info card.

I generally agree with you here, the sun is shining and we software engineers can make some hay! But...I have words of caution. I grew up in Southeastern Michigan. My dad is a Stanford grad mechanical engineer who worked for a Big 3 auto manufacturer, my wife's parents work in auto, and many of my friends families directly or indirectly worked in automotive.

Everything about that seemed secure and stable until our entire world got rekt in 2008. It took forever for the average automotive worker and their family to recover from that recession, and I've come out of it incredibly cynical about employment and the US economic system. When it matters most, DC will bail themselves and their cronies out first, and will drag their feet and cry deficits when it gets time to help you.

I care about doing great work, but my highest priority is to "secure the bag" as the kids say and ensure a stable life for myself and my family. I keep a big cash savings, save and invest aggressively for retirement, and make no assumptions about my employability in a hypothetical time of crisis. I have a feeling a lot of mid-late-20s and early 30s SWEs share my experience, it's no accident I chose such a lucrative field (though I do love my work!).

Watch out for yourself, don't discount the possibility that software eng is just living in a repeat of the irrationally exuberant 1990s automotive industry.

Side note/PS: It's not all about money: you've got to be politically active, invest in community, and advocate for the kind of world you believe we should live in! Just don't forget to secure yourself financially and make no assumptions if you can afford not to, then you can confidentially support yourself and others in times of crisis.