HNHacker News
TopNewBestAskShowJobs

karlding

976 karma · joined October 20, 2015

nvidia drive os (currently nvstreams, ex-auto rm); formerly hv fw (bms/hvp) at tesla for model 3. also worked on calling/core product at textnow, and reporting at sandvine. uwaterloo grad.

[ my public key: https://keybase.io/karlding; my proof: https://keybase.io/karlding/sigs/6RYb_SBJ3cAPDcj228kqB9ivjISZddnsSETccp_mJz4 ]

    justkding.me
    github.com/karlding
    linkedin.com/in/karlding
submissionscomments
karlding··on Competitive programming is useless
No they weren't using bubble sort. When parsing JSON, they were calling sscanf (which internally was calling strlen). In addition, those parsed objects were stored in an array which was iterated through on each insert to check for duplicates.

There was an article [0] and subsequent discussion on HN [1] about reverse engineering and patching the binaries.

[0] https://nee.lv/2021/02/28/How-I-cut-GTA-Online-loading-times...

[1] https://news.ycombinator.com/item?id=26296339

karlding··on Driving 1725km in an electric car in 2 days
You can get the 2022 Nissan Leaf for an 24 month lease at $89/month with $1,449 due at signing [0]. That's effectively like $149/month.

[0] https://carsdirect.com/deals-articles/2022-nissan-leaf-gets-...

karlding··on Bringing supply chain security features to the Go community
The git log command has a --perl-regexp flag [0], which allows you to filter commits that match a Perl-style regular expression. I guess in that situation you could specify a regular expression that excludes dependabot in --author.

If typing --perl-regexp gets old, you can always alias it or add a repo/global config option via grep.patternType [1]. Or you can create an alias for adding the less-powerful --invert-grep [2].

[0] https://git-scm.com/docs/git-log/2.32.0#Documentation/git-lo...

[1] https://git-scm.com/docs/git-config/2.32.0#Documentation/git...

[2] https://git-scm.com/docs/git-log/2.32.0#Documentation/git-lo...

karlding··on Fullstaq Ruby: Ruby, optimized for production
This [0] is the announcement from the PSF.

The team also includes core developers Eric Snow and Mark Shannon (of the faster-cpython [1] proposal).

[0] https://pyfound.blogspot.com/2021/05/the-2021-python-languag...

[1] https://github.com/markshannon/faster-cpython

karlding··on Fullstaq Ruby: Ruby, optimized for production
> I'm wondering why there isn't a corresponding project for Python.

But there are various projects for Python.

For example, there's Pyston [0] which was started by Dropbox. Or Cinder [1] which was started by Facebook. Or PyPy [2].

[0] https://github.com/pyston/pyston

[1] https://github.com/facebookincubator/cinder

[2] https://www.pypy.org/

karlding··on Launch HN: MergeQueue (YC S21) – Automate rebasing and merging for your codebase
Neat! Pretty much every large company seems to have some variation of this.

I skimmed through your documentation, but it wasn't clear if this would handle workflows like the Chromium/AOSP workflows, where you have multiple repositories that are managed together via Google's repo [0] tool to give the illusion that it is a monorepo?

Occasionally you may have changes that span repositories and either need to be merged in a specific order, or in a single shot all-or-nothing merge "batch" [1]. This dependency information would be tracked either when the changes are originally submitted together to CI or directly in the commit message.

Of course, this means that you potentially have a small window where repo syncs may pull a partial set of changes, but usually this is solved via something similar to what Chromium calls "Sync to Green" [2].

[0] https://gerrit.googlesource.com/git-repo/

[1] https://chromium.googlesource.com/chromiumos/docs/+/HEAD/con...

[2] https://chromium.googlesource.com/chromiumos/docs/+/HEAD/dev...

karlding··on Reddit AMA by FB whistleblower Sophie Zhang who found troll farms
The /r/IAmA subreddit has a Google calendar [0] linked in the sidebar which contains a schedule of all the upcoming AMAs.

[0] https://calendar.google.com/calendar/embed?src=amaverify@gma...

karlding··on Josh: Get the advantages of a monorepo with multirepo setups
No, repo is not tied to AOSP or the Android build system.

As an example, Chromium [0] is a non-AOSP project that also uses repo.

[0] https://chromium.googlesource.com/chromiumos/docs/+/HEAD/dev...

karlding··on Best of Bashrc
The zzz utility [0] is provided by various BSDs.

The alias the author presents tries to implement the same functionality on a systemd Linux installation.

[0] https://www.freebsd.org/cgi/man.cgi?query=zzz&manpath=FreeBS...

karlding··on NDA expired, let’s spill the beans on a weird startup
This does pose a sort of chicken-and-egg problem for residents, although I would hesitate to call it a bait-and-switch.

In a vacuum, everyone would choose the best care available to them. Of course this is expected. How can anybody be expected to do otherwise when it's their life (or family member's) at stake?

Atul Gawande talks about this experience in Complications: A Surgeon's Notes on an Imperfect Science [0], where his son had been cared for by a full team of cardiologists, ranging from fellows in specialty training to attendings who had practiced for decades. However, due to certain complications, they needed to choose a pediatric cardiologist with which to schedule follow ups and decide on what procedures would be necessary in the future. One of the fellows, who had been the one putting most of the time in caring for his son, proactively approached them the day before discharge and suggested setting up an appointment.

It's common for fellows to receive patients this way, and at any teaching hospital, an attending is there to supervise and take over if needed. The entire system is set up such that residents and trainees are given opportunities to learn.

He says:

> A resident intubated him. A surgical trainee scrubbed in for his operation. The cardiology fellow put in one of his central lines. None of them asked me if they could. If offered the option to have someone more experienced, I certainly would have taken it. But that was simply how the system worked—no such choices were offered—and so I went along. [...]

> The advantage of this coldhearted machinery is not merely that it gets the learning done. If learning is necessary but causes harm, then above all it ought to apply to everyone alike. Given a choice, people wriggle out, and those choices are not offered equally. They belong to the connected and the knowledgeable, to insiders over outsiders, to the doctor's child but not the truck driver's. If choice cannot go to everyone, maybe it is better when it is not allowed at all.

[0] https://www.goodreads.com/book/show/4477.Complications

karlding··on Leaving Google
SAFe: Scaled Agile Framework

IP: Innovation and Planning

PI: Program Increment

karlding··on When it comes to Git history, less is more
That's what the blame.ignoreRevsFile [0] config option is for.

[0] https://git-scm.com/docs/git-config#Documentation/git-config...

karlding··on How image search works at Dropbox
The Dropbox blog has an RSS feed [0] though.

[0] https://tech.dropbox.com/feed/

karlding··on Cinder: Instagram's performance-oriented fork of CPython
Looking through the repo, one change of note that doesn't seem to be documented in the README [0] is that this has an optimization to reduce Copy on Writes in forked workers (under the Py_IMMORTAL_INSTANCES preprocessor guard) by not dirtying pages via refcount changes.

Here's the BPO issue [1] that tracks the upstreaming attempt.

[0] https://github.com/facebookincubator/cinder/blob/9de726349eb...

[1] https://bugs.python.org/issue40255

karlding··on Semgrep: Semantic grep for code
For C/C++ code, you can already do refactoring using clang-tidy scripts [0], or even can write custom linters using libtooling [1] and leverage the AST Matchers [2] which work at the AST level.

All that's needed is a compile_commands.json file which can be easily generated via most build systems, or you can use Bear [3]/some other tool (or write a script that logs all syscalls and generate it yourself).

[0] https://releases.llvm.org/12.0.0/tools/clang/tools/extra/doc...

[1] https://releases.llvm.org/12.0.0/tools/clang/docs/LibTooling...

[2] https://releases.llvm.org/12.0.0/tools/clang/docs/LibASTMatc...

[3] https://github.com/rizsotto/Bear

karlding··on “They introduce kernel bugs on purpose”
The University of Minnesota's Department of Computer Science and Engineering released a statement [0] and "suspended this line of research".

[0] https://cse.umn.edu/cs/statement-cse-linux-kernel-research-a...

karlding··on Missing hiker found after man using computer at home pinpoints his location
The Garmin inReach uses the Iridium satelite network. They offer two types of plans, Freedom and Annual [0], which you pay subscriptions for.

The "annual plans" allow you to save a little if you use your device every month of the year on a single plan. The "freedom plans" allow you to suspend your service, and let you hop between plans. You just pay for a month at a time at the plan level you select for that month.

[0] https://discover.garmin.com/en-US/inreach/personal/

karlding··on Python Switch Statement
Yep, this pattern is known as Table-Driven Methods.
karlding··on SF poop-testing startup, once compared to Theranos, charged in $60M fraud scheme
According to Bad Blood by John Carreyrou [0], the initial investors were mostly people that Holmes had cultivated relationships with, and thus it implies that perhaps they were not investing based on technical merit. However, their reputations ended up providing a signal of credibility and legitimacy of Theranos' claims that other investors and media later looked towards, much like a web of trust.

She took a seminar and an Introduction to Chemical Engineering course with Channing Robertson (at the time, the face of Stanford's Chemical Engineering program) and worked in his research lab, and eventually was able to convince him to join the board as an advisor. Then she was able to leverage her family connections to raise money and further lend a sense of legitimacy.

According to Carreyrou:

> She convinced Tim Draper, the father of her childhood friend and former neighbor Jesse Draper, to invest $1 million. The Draper name carried a lot of weight and helped give Elizabeth some credibility: Tim's grandfather had founded Silicon Valley's first venture capital firm in the late 1950s, and Tim's own firm, DFJ, was known for lucrative early investments in companies like the web-based email service Hotmail. Another family connection she tapped for a large investment, the retired corporate turnaround specialist Victor Palmieri, was a longtime friend of her father's. The two had met in the late 1970s during the Carter administration when Chris Holmes worked at the State Department and Palmieri served as its ambassador at large for refugee affairs.

> [...]

> In addition to Draper and Palmieri, she secured investments from an aging venture capitalist named John Bryan and from Stephen L. Feinberg, a real estate and private equity investor who was on the board of Houston's MD Anderson Cancer Center. She also persuaded a fellow Stanford student named Michael Chang, whose family controlled a multibillion-dollar distributor of high-tech devices in Taiwan, to invest. Several members of the extended Holmes family, including Noel Holmes's sister, Elizabeth Dietz, chipped in too.

That's not to say that due diligence was completely ignored. Certain VC firms, like MedVenture Associates, passed on Thernaos when they asked for specifics about her TheraPatch system and how it differed from the one they had commercialized with Abraxis. Apparently Holmes was unable to answer the technical questions asked during their meeting.

Carreyrou later summarizes:

> Channing Robertson, the Stanford engineering professor whose reputation helped give her credibility when she was just a teenager. Then there was Donald L. Lucas, the aging venture capitalist whose backing and connections enabled her to keep raising money. Dr. J and Wade Miquelon at Walgreens and Safeway CEO Steve Burd were next, followed by James Mattis, George Shultz, and Henry Kissinger. David Boies and Rupert Murdoch complete the list

> [...]

> Besides Theranos's supposed scientific accomplishments, what helped win James and Grossman over was its board of directors. In addition to Shultz and Mattis, it now included former secretary of state Henry Kissinger, former secretary of defense William Perry, former Senate Arms Services Committee chairman Sam Nunn, and former navy admiral Gary Roughead. These were men with sterling, larger-than-life reputations who gave Theranos a stamp of legitimacy. The common denominator between all of them was that, like Shultz, they were fellows at the Hoover Institution. After befriending Shultz, Elizabeth had methodically cultivated each one of them and offered them board seats in exchange for grants of stock.

I recommend giving the book a read if you enjoy books about white collar crime.

[0] https://www.goodreads.com/book/show/37976541-bad-blood

karlding··on Advanced memory management and more performance improvements in M89
According to the README document [0], it's basically a collection of Skia pictures (Chromium's binary format for Skia draw commands) and a protobuf containing the links.

[0] https://chromium.googlesource.com/chromium/src/+/master/comp...

karlding··on I guess I have to watch ads everywhere on my $1,500 LG TV now
HDMI Enhanced Audio Return Channel (eARC) uses the two Ethernet pins.
karlding··on We created a fake language to root out resume liars
There's also a Pokemon or Big Data quiz [0].

[0] http://pixelastic.github.io/pokemonorbigdata/

karlding··on Hackers break into thousands of security cameras, exposing Tesla, jail, hospital
If their blog posts are to be believed [0], lava lamps are not the only source of entropy available.

> Hopefully, the primary sources of randomness used by our production servers will remain secure, and LavaRand will serve little purpose beyond adding some flair to our office. But if it turns out that we’re wrong, and that our randomness sources in production are actually flawed, then LavaRand will be our hedge, making it just a little bit harder to hack Cloudflare.

[0] https://blog.cloudflare.com/randomness-101-lavarand-in-produ...

karlding··on An update on Android's audio latency
Andrew Huang recently made a YouTube video [0] that provides some insight from the perspective of a music producer and someone who recently created a music production app. It's not overly technical, but it highlights some of the challenges one might face.

As the article says, there is room for improvement, so I guess it's good to see that the long term goal is 10ms round trip.

[0] https://youtube.com/watch?v=-sPbcTcUmcI

karlding··on Kubernetes Failure Stories
There's also contained.af [0], Jessie Frazelle's educational container-based CTF.

[0] https://contained.af/

karlding··on Beam has raised $9.5M to reinvent the browser
Google also tried doing this via Google Clips [0], which is now discontinued.

[0] https://www.theverge.com/2019/10/16/20917386/google-clips-de...

karlding··on Wayland Keylogger
Isn't this ability basically already provided via ptrace? The tracer can mutate syscall arguments, mutate syscall return values, or even block syscalls. The primitives ptrace provides should be sufficient to implement something like this.

That's basically how strace is implemented anyways.

karlding··on OpenOCD 0.11.0 RC1
Perhaps of note is that this 0.11.0 release includes the Real Time Transfer (RTT) patch by Marc Schink [0] that people have been using for years. This patch implements limited support for Segger's RTT protocol [1] for Cortex-M targets, allowing bi-directional communication with the target application.

[0] http://openocd.zylin.com/#/c/4055/

[1] https://www.segger.com/products/debug-probes/j-link/technolo...

karlding··on My Experience at Apple
Information Systems & Technology. They're mostly contractors that are hired to build and work on Apple's internal tools and infrastructure.

Buzzfeed News has an excerpt [0] from Alex Kantrowitz's book Always Day One [1], which contains interviews with former employees that describes the dynamic.

[0] https://www.buzzfeednews.com/article/alexkantrowitz/always-d...

[1] https://www.goodreads.com/book/show/52027218-always-day-one

karlding··on Uber’s Real-Time Push Platform
Uber confirmed the sale of their self-driving unit (Uber ATG) to Aurora [0] a few weeks ago, and not everyone was absorbed into the company as part of the sale. So they're definitely cutting down on these "side-projects" to focus on the core parts of their business now that they have an obligation to shareholders.

[0] https://techcrunch.com/2020/12/07/uber-sells-self-driving-un...

← PreviousPage 2 of 6Next →