Hacker Newsnew | past | comments | ask | show | jobs | submit | tnm's commentslogin

So nice to see this get picked up, and honestly surprised to see the interest in what I think of as an extremely esoteric area. Few things:

- Just released an Edition 1.1 that fixed some small errors, amended a few chapters content, and removed some general bluster. I'm going to try and, well, version these.

- New things are coming to Git, and I suspect I'll be talking about Git Futures or A Post-Git World soon enough.

- There's now a free PDF, https://gitperf.com/pdf.html

- I'll have a couple more highly practical chapters coming soon, focused on pragmatic organizational adoption, e.g., on wrapping the git CLI to best practices


Thanks much. I hoped that chapter would stand well on its own. That and the packfile chapter were the first I wrote, partly as a reference for myself!


"Shame" is a strong word to describe a free ebook written for the general good. Happy to have a live conversation with you anytime to discuss Git and its internals to ensure your trust; I have some experience with it.


I'm sorry if I have offended you.

You probably have a great deal of understanding and knowledge about Git, and this book might be a good resource.

I'm not asking you to do anything differently, and yet I think it's important to realize that people have a deep aversion to text that appears to be LLM generated.

By "shame", I meant that just from a skim of the contents of this book, it can be hard to distinguish it from any other LLM generated text by any other author who has no idea what they're talking about.

That makes people (like me) inclined to discount what it has to say, potentially losing out on good technical content.


Yep, signals are signals, but I think it's quite complicated now. (In any case, this is still the embryonic era of LLMs).

An interesting point to consider: an author that goes out of their way to hide any LLM influence may actually be degrading the signal. Because in that case, you'll not see the LLM's etchings, and misattribute skill to the author under the belief an LLM was not involved. Complicated times.


> An interesting point to consider: an author that goes out of their way to hide any LLM influence may actually be degrading the signal. Because in that case, you'll not see the LLM's etchings, and misattribute skill to the author under the belief an LLM was not involved. Complicated times.

To someone who thinks that LLM use is an of-course-I-did-that, other people complaining about LLM-tells might seem like complaining about not post-processing the input enough. But they are more likely to be complaining about using it in the first place.


I don't particularly care about LLM use per se, but when I see LLM text it makes me think I'm about to read something devoid of content - just word vomit. The equivalent of yesteryear's listicle. This instinct usually serves me well. A good text is a good text. If an LLM wrote all of it that'd be fine with me, but that's usually not how things go.


I don't think it should be socially acceptable to perform a denial of service attack on people's attention.


“It’s a shame” is a very neutral way to criticize an editorial/authoring choice.[1] It conveys that they might have enjoyed it under different circumstances. Really no different than someone saying that it’s a shame that someone published some useful information in video form without any transcript. [But now with AI we can have the transcript anyway etc. etc.]

[1] A neutral way to express a subjective judgement: not blaming any person.


Thanks for the kind words, and checking out the book here.

I'd written this piecemeal over the last year or so (originally a series of blog posts), and was happy to release it all for free in a single edition, and under CC.

I'll release an Edition 1.1 soon with some errata, adjustments. There's already a free PDF for the on-the-go -> https://gitperf.com/pdf.html

Regarding the cherry-picking of fragments of an LLM: of course an LLM (in fact several!) were used to stitch together those disparate blog posts into a more coherent whole. And they certainly left an imprint in places. Otherwise, as a solo writer with a full-time job putting together a 200-page book, I'd have to pay an editor, or work with O'Reilly (did this in 2010 on a Redis book; never again!); and perhaps the book wouldn't be free!

LLMs will continue to leave imprints in our work. Some words will, over time, be edited and whittled away. Other words, when the LLM writes well enough to convey a useful point, will be kept.


> Regarding the cherry-picking of fragments of an LLM: of course an LLM (in fact several!) were used to stitch together those disparate blog posts into a more coherent whole. And they certainly left an imprint in places. Otherwise, as a solo writer with a full-time job putting together a 200-page book, I'd have to pay an editor, or work with O'Reilly (did this in 2010 on a Redis book; never again!); and perhaps the book wouldn't be free!

There’s no of course here. You made a choice.


I think it’s great and you should be doing it, I have no problem at all if there is LLM assistance in authoring, I think it’s a good thing because like you said it enables solo writers with good ideas to produce valuable work that they otherwise wouldn’t!

What I’m interested in is how to address the “grating” or whatever characteristics the readers detect to have them focus on the LLM aspect. I feel it’s probably soon or already removable with some methods.

Ignore the haters they are just wrong to blanket criticize, however their observations are helpful to try and improve the process. We want LLMs to assist in creating useful and effective content for humans.


this sort of grammatical error in the defense of ai copyediting does not exactly instill confidence in your supervision of said ai copyediting: "of course an LLM ... were used". perhaps you could still pay an editor to look things over.


"some book some java dudes wrote 20 years ago" — If you're referring to "Design Patterns", the Gang of Four were writing about C++, it was 1994, and Java wasn't out yet.


It makes it easier to calculate tips at restaurants in Palo Alto.


Capacity planning. It's a thing. Try it out.


Capacity planning is hard when data volume doubles / triples over night.


No one denies that capacity planning is hard. There are books written on the subject. The points you make are exactly the reason why you need to do capacity planning and plan for mitigating failures. If you aren't planning on 2x (in fact more) growth then I'm confused as to what kind of growth you really expect in your service.

If you aren't giving yourself room for expected and unexpected loads, you're doing it wrong. Add capacity and load testing to your process.


If you work on systems where you have the occasional 2x spike in traffic or planning for 2x capacity requirements in the future is easy then you don't have the same problems as suhail has.

I work in advertising for example. We could have 10 partners at 1x. Add 10 more and be at 1.1x or 2x, then add a large partner and be at 7x. There isn't a pattern to when we get partners from any of these groups but when we get them they need to go live as quickly as possible and sourcing and prepping hardware in situations like that isn't feasible. Nor is it feasible to have hardware on standby for the occasional 7x partner since you don't know when they are coming along and they could end up being a 10x partner.


If you aren't giving yourself room for expected and -->unexpected<-- loads, you're doing it wrong.

You're using that word, I'm not sure it means what you think it means.

Over here in the real world, many applications (and notably web-applications) have one thing in common: They change all the time.

Your capacity plan from October might have been amazingly accurate for the software that was deployed and the load signature that was observed then.

Sadly now, in November, we have these two new features that hit the database quite hard. Plus, to add insult to injury, there's another old feature (that we had basically written off already) that is suddenly gaining immense popularity - and nobody can really tell how far that will go.

Sound familiar?


Capacity planning isn't just hard, it is costly. You have to profile every new version of your app, and every new version of the software you depend on. You have to update your planning models with that data, and then you have to provision extra hardware to handle whatever traffic spikes you think you'll be faced with within your planning window. Most of the time, those resources will be idle, but you will still be paying for them. Plus in the face of an extraordinary event, you'll be giving users a degraded experience.

Using "the cloud" doesn't solve all those problems but your costs can track your needs more closely, and with less up-front investment. Rather than carefully planning revisions to your infrastructure you can build a new one test it, cut over to it, and then ditch the old one.

You should still profile your app under load so you can be confident that you can indeed scale up easily, but even that is easier. You can bring up a full-scale version to test for a day and then take it down again.

I'm not against capacity planning, but it has it's time and place.


The fundamentals of capacity planning do not change based on the magnitude of your data growth. Why would they?

We're mostly talking about looking at your data growth curve and extrapolating points in the future. Why would that become impossible just because the curve is steep?


Because we're not made of gold and we're a startup.


If you weren't paying such an enormous premium for your hardware, you'd have a lot more cash. On a per-dollar basis, you're paying anywhere from 2-10x the price for computing power on the cloud, depending on which resource you look at (CPU, Memory, Disk IOPS, etc).

Seriously. Do the benchmarks.


suhail like myself works in an industry where one partner turning on can 2-4x capacity requirements and 10 other partners won't change your traffic profile much at all. It's easy to say plan in advance for growth but when there is a lot of varience in your growth then this becomes a problem. You will often find yourself overspending for unused capacity or struggling to meet new capacity. If your growth is a smooth line then yes you can say it is easy to figure out. But not everyones growth follows such a simple line.


The problem is not that is hard; the math can be done, the necessary capacity can be calculated, servers can be ordered.

The problem is that buying 3x the number of servers (or number of data centers) that you need "baseline", to handle the spikes, is a staggering expense.


If they weren't paying 2-10x for their power (the cloud tax), it wouldn't be so bad.


Let's go through some of your "points".

The comparison with Torvalds is bizarre. Linus has done an enormous amount of self-promotion (warranted as it is), and even admits to having an ego the size of Joe's biceps. So I don't know what point you're trying to make there.

Next and most importantly. While you (a bastard love-child of Kernighan perhaps) may find this feature banal, a decent number of C programmers aren't familiar with this method; and if they are, they haven't done shit with it. So hating on someone for actually writing free code that makes a bunch of dev's lives easier is, well, just kinda jealous.

Lastly. If a comment like your comment, does, in fact, generate a large number of 'U Mad' replies -- well, that is strong evidence that you are, in fact, mad.

(btw, Joe is not 20 years old. "20" actually refers to the number of women Joe sleeps with in a typical night.)


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: