HNHacker News
TopNewBestAskShowJobs

codemac

4,446 karma · joined December 3, 2008

http://codemac.net -- rarely updated

I am bad at collecting karma. I'm currently working on Human Data/Alignment Research @ OpenAI.

Previously Storage @ Facebook, Google, Pure Storage, Igneous Systems, IronPort, and NetApp.

What is the most important problem in your field, and why aren't you working on it?

email: j@codemac.net

[ my public key: https://keybase.io/codemac; my proof: https://keybase.io/codemac/sigs/4zxtt61QOyT7_BA8DDCHlGlNCkE2rw-VsKZclDl1U20 ]

submissionscomments
codemac··on What's the best AWS S3 protocol alternative?
Protocol alternative? What are you specifically looking for?

It's object storage, the protocol is not that nuanced. Any other storage product will have it's own quirks. google cloud storage has an XML API that is similar enough and has signed urls, and just about every enterprise storage company has an "object" product.

codemac··on Tape Storage Trundles On, Increases Yearly Volume to 128 Exabytes
Source: me. Feel free to contact me if you have a specific question.
codemac··on Tape Storage Trundles On, Increases Yearly Volume to 128 Exabytes
You are assuming the data is compacted such that the 90day data is grouped by expiration date. This is not how production deletion works at any reasonable scale where cost of media matters.

In reality, the data is all mixed up because data gets backed up usually around the time it's written, and gets deleted in a completely different pattern. The art of compaction is very important, and things like optical and tape make inaccurate compaction extremely expensive due to the reduced IO.

And even if we pretend you do have perfect compaction, you still don't have nearly the IO that HDD would provide. Considering hypothetically you have perfect compaction, that also means you have the perfectly smallest live data set, and thus the HDD premium is even smaller for wildly better throughput in disaster.

codemac··on Tape Storage Trundles On, Increases Yearly Volume to 128 Exabytes
Optical vs. Tape is only a discussion if you intend to archive (and not read!) your data for years. This is a very uncommon workload, and thus the size of the optical market is much smaller than necessary to get the COGS down.

The vast majority of even backup data is legally required to either be readable in a very short amount of time (say one week) or is required to be deleted within 90 days. Neither of these are ideal for optical (or tape btw, thus why it's YoY growth is only 5% in this LTO marketing piece)

codemac··on Tape Storage Trundles On, Increases Yearly Volume to 128 Exabytes
But the increased density comes with reduced IO, similar to HDD. Most of the "density innovation" of LTO-9 etc comes with either just a longer piece of tape, or increasing the number of read/write heads along the same distance of tape.

That's why, while YoY growth of tape is (checks blog...) 5%, that's lower that global HDD sales growth even this year. This is a marketing piece from the LTO consortium.

Lastly, HDDs do way way better in the DC, operationally. From a much wider environment/humidity envelope of operation, to IO scaling linerally across data corpus, to siteops management, to having more than literally 1 vendor, etc.. That's why there are only two hyperscalars left deploying new tape, and even there it's dwindling or being deprecated.

Now HDDs have their own problems, and their density scaling with hamr/mamr/smr hasn't gone great, but no one is really asking for less IO from devices given power cycling drives tends to reduce IO just as effectively as fewer tape drives, and for far less money.

codemac··on Tape Storage Trundles On, Increases Yearly Volume to 128 Exabytes
To the down voters - what storage tech that grew it's shipments... 5% YoY would you call successful?
codemac··on Tape Storage Trundles On, Increases Yearly Volume to 128 Exabytes
This is because tape as a percentage of the DC storage market is dwindling.

There are single hyperscalars that buy more than this much capacity in HDD in a single quarter.

codemac··on Tape Storage Trundles On, Increases Yearly Volume to 128 Exabytes
This is dumb, Tape as a percentage of data center storage is going down. Yes raw bytes go up, but growth rates mater.
codemac··on Lyft CEO tells employees they must return to the office
So agreed.

If you have <100 software engineers, I feel that being in the office lets you move super fast - conversations with sales folks, support staff, management, investors, etc in a very fast iteration loop. I've experienced this positive hyper communication mode.

But... when I think about my current job, where there isn't a single team located 100% in the same office... and certainly not along with most of the people they work with as well... it seems all for show.

These execs seem unable to either admit they haven't thought it through, or make the much more radical choice that imo would pay off - relocating everyone to be in the same location to increase communication bandwidth.

codemac··on Sensenmann: Code Deletion at Scale
> the same as industry best practices, just scaled up.

That's like saying S3 is the same as ext4, their the same, just scaled up! This is a poor argument, you'll note that S3 and ext4 are entirely different things, not "challenges", fundamentally different implementations.

Google is the only company I've ever worked for that automatically deleted dead code, let alone across a company of 100k+ SWE.

codemac··on Founders’ Email to Clubhouse Employees
Back in the day, NetApp did something similar. It's sad it's not more common, it really helps folks apply for jobs if they don't have a pile of laptops at home.

Though, as the price of computers have come down, it's less common for folks to not have a computer at home - it's still a wonderful gesture that's very low cost.

codemac··on Mastodon is doomed?
I think.. this argument is weak.

The more comparable example is whether or not BTC could replace USD for day-to-day transactions. The answer is basically no, it cannot. It can only process 7/second, due to how it works. Thus, BTC will never become the daily transaction infrastructure

Mastodon is similar. It will have severe scaling issues, as it makes simple operations far far more complex to get federated features that are more social than things like email. Just like crypto shenanigans, basically additional infrastructure will need to be built.

codemac··on Bard coding update with Colab exporting
> If you can't, you're having it do things you don't even understand and blindly implementing

Today's programming is not SICP in scheme, it is more plumbing between very large bodies of code. Using GPT is a great way to short cut needing to learn lots of details about code bases you only need for one specific feature. Recently though, by integrating two pieces of code I do know a lot about, I lost a lot of confidence in GPT coding.

For example, I asked it to implement a small script in emacs that would loop through org text files in emacs, and run some commands based on keybindings. That's it.

It messed up the usage of recursive-edit (which is a complicated feature itself), it produced many bugs in how Org utilizes indirect buffers, it sends windows around instead of buffers in the variables, and it wrote lots of contradictory code.

I understand how all these features work, and I went through and started fixing all the bugs. I would tell it about each bug, but it was producing so many subtle bugs with org-mode, inventing functions that didn't exist and it couldn't define... I gave up and just re-implemented it myself.

So no, I do not understand 100% of all code I refer to when I write code, that's why APIs actually exist.

codemac··on Bard coding update with Colab exporting
I've found that the bugs that GPT-4 and GPT-3.5 make are actually... somehow more nefarious because it understands enough to make very complex bugs.

The complexity of the bugs you get are usually 10x as complex as the code's main logic you wrote. So you need to write very simple code.

Unfortunately, these GPT models are very complex. The bugs they produce will take an order of magnitude better model to fix.

codemac··on Tag Systems
The worst part about going from G to FB was going from buganizer to fbtasks.

The internal tool at G has a strict hierarchy called "components", and fbtasks is tags alone.

This means if you want to file a bug against anything at G, you could navigate this large hierarchy and find a rough spot for the bug. Regardless of that team's documentation, tooling, bug tracking helper forms, etc you could always file a bug that would get pretty close. Then someone on that team would move it into the proper component if you got it wrong.

At FB... you go to file a bug, but you need to know which tags! If you miss the right tag, that team may never see it. All teams implement their tagging differently, and many implement almost nothing at all. This devolves to pretty much all bugs being tracked through internal group posts, because at least internal groups have names and membership lists that are easily searchable. Then teams implement bots & programs to take every post filed in a group, and auto generate a task with the right tags! And pray that they append the `donotreap` tag...

Bugs need to be filed against specific systems, and those systems need to be owned by teams. Those teams are in orgs, those orgs are in companies. I cringe whenever I see a bug tracker for a large company that is not in a hierarchy.

codemac··on Google will shut down Dropcam and Nest Secure in 2024
They haven't released a Dropcam in 8 years? "Nest Secure" was cancelled in 2020.. and now they're saying "hey, we'll actually turn things off in 2024"

I think the reason killedbygoogle.com actually exists is because they try to be professional about notifying folks of things they are EoL, and communicate updates along the way.

codemac··on Supercentenarian records show patterns indicative of errors and pension fraud (2020)
Small towns have a more closed circle form of gossip
codemac··on The Death of a Technical Skill (2020) [pdf]
COVID taught me to take these changes seriously, the hard way.

I told my wife that lockdowns/masks would be at least a two year phenomenon, given how long the Spanish flu took - and our mitigation would make things take longer, not shorter. This had many obvious implications in my life, where I lived for the next 5 years, what jobs/skills I should be wary of vs. focus on, what stocks I should bet on.. etc.

But I didn't behave accordingly with this obvious conclusion I had made. I struggled to actually take the leap and make changes in my life. I made very few stock bets, for example. Also we didn't take the opportunity to move/change plan/etc around real estate.

With AI, I feel like this is a similar moment. My employer has an internal copilot thingie, and it's amazing when trying to use some internal library/service I've never used before. It even integrates with Emacs.

What is obviously true about AI, and how does it affect your life? Curious what other software engineers are doing to prepare for these types of obvious changes.

codemac··on Kenji López-Alt spent 5 months studying Chicago thin-crust pizza
Thanks for correcting me! I will hold in my heart that this is chicago-washing, regardless of evidence to the contrary. And Jim Ellison is definitely more knowledgeable than me.
codemac··on Kenji López-Alt spent 5 months studying Chicago thin-crust pizza
Yes! Thank you. Banana peppers are about as giardiniera as it gets most places.

Though I will debate you on the sausage location.

codemac··on Kenji López-Alt spent 5 months studying Chicago thin-crust pizza
It upsets me this is called "Chicago" when clearly it came from further east - these "working class pizza taverns" being common across Indiana, Ohio, and PA as well. There are plenty of examples of these types of "no I started thin crust and square cut" pizza tavern places everywhere.

And even worse is that I am no historian and I'm probably wrong. But my direct experience contradicts a lot of the Chicago-washing of this article. For example Donato's in Columbus obviously made this style popular across the country far more than Chicago, and they weren't inspired by Vito & Nick's or something.

I bet someone right now is writing an article about how the pizza sandwich served at crappy pizza/bar places in the midwest was invented in Chicago too - even though it was probably independently invented in many locations.

codemac··on Meta plans to lay off 10k employees
This was posted the week after all management should have communicated AE to A players. I know for senior directors last day of performance review comms was Friday.

What is AE? Meta has a program for their top ~1% or so (who knows really) where they dump a pile of RSUs on your head, "additional equity", to retain you and bet on your future at the company. For most it's 2-4x your annual stock refresher, though I don't know exactly how it varies.

If you're E7+, this is another 1M+ stock grant on a 4 year vest on top of your 600k+ refresher grant. Stock is up from their internal refresher pricing. Their "A players" all just got ~5% bump on their 1.5M+ RSU grant.

G and other FAANG struggle to compete with Meta on comp for the actual A players. We'll see if they budgeted enough for AE to keep the people that matter.

codemac··on European Lisp Symposium 2023
R7RS is a great improvement over R5RS, and avoids a lot of pitfalls of R6RS.

I wish they standardized the filename lookup for libraries as well, then distribution of libraries between scheme implementations would become easier.

codemac··on Why CMake sucks (2021)
Yes, I'm trying to state openly that I am in a bubble :P

> Facebook [&c] are heavily into CMake

As an employee, I can tell you this is not accurate re: C++ dev at FB. I'm sure someone somewhere is using it heavily, but largely we use buck, our build system.

codemac··on Why CMake sucks (2021)
Sure, I also don't know anyone who uses jetbrains at work. I've only programmed in C and C++ for 20 years professionally, and I've never used CMake.

I'm just in a very specific bubble, so I was curious what the others were.

codemac··on Why CMake sucks (2021)
Given blaze and it's descendants have all the megacorp mind share, in which industry/environments is cmake king?
codemac··on Will Carbon Replace C++?

    <source>: In function 'int main()':
    <source>:6:54: error: conversion from 'absl::string_view' {aka 'std::basic_string_view<char>'} to non-scalar type 'const std::string' {aka 'const std::__cxx11::basic_string<char>'} requested
        6 |   const std::string foo2 = absl::StripAsciiWhitespace(absl::AsciiStrToUpper(foo)); // in Python: foo2 = foo.upper().strip()
          |                            ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ASM generation compiler returned: 1
This is gcc with c++20, curious what the garbage is you're describing.
codemac··on Keep your AI claims in check
Exactly my read - they're just saying that if you want to pretend you are selling magic that's not allowed.

Quantifying your risk does not mean you eliminated all your risk.

We allow the sale of alcohol, tobacco, and firearms too.

codemac··on The usability of advanced type systems: Rust as a case study
> The goal of software development is not to write code that compiles, it is to have an executing software system that does the right thing.

But there are many UB-laden, compilable C++ programs that produce the right result, they just are implemented with bad, non-standard, leaky code. Rust and other languages that detect this bad code and force you to remove it are harder to start with, because you need to learn everything to get to a running program.

Interactive development (especially REPLs!) have shown time and time again that it speeds up the learning process. Rust takes the inverse approach imo.

codemac··on Eggspensive
I think most people would be fine if we had a national DB for prices.

Most people would not be fine if we had 3+ competing private db's with price info used to profit off of others lack of price knowledge.

← PreviousPage 5 of 34Next →