Hacker News new | past | comments | ask | show | jobs | submit | gorgoiler's comments login

The idea of “shipping” as being an emergent state of mind is a great one. A project grows the same way an embryo grows into a full animal: it does so in millions of tiny parts that overlap in discrete ways to produce a continuous spectrum of development. I think some good additional milestones to measure that kind of development might be as follows:

* Your first bug report that you file against yourself which you fix yourself. Your project is stable enough to be usable with a known bug, but you go back and fix that bug when you have time to dedicate to it. Contrast with nothing working until everything works.

* Your first time seeing someone find a flaw that lies so far out of your own mental model of the project that it causes a very jarring feeling, hopefully followed by excitement that the project is now taking on a life of its own outside you / your team as the sole developers and users. An example of this might be someone filing a bug that image rendering is missing from a git visualisation tool where you’d never even considered using it for projects with version controlled image assets.

I feel like there’s an analogy here to a baby’s first detectable heartbeat and a child’s first original that-never-occurred-to-me thought. There must be a lot more in between too, with the social acceptance of a project becoming shipped as the child entering the adult world as its own person.


Repository boundaries are affected far more by the social structure of your organisation than anything technical.

Do you want hard boundaries between teams — clear responsibilities with formal ceremony across boundaries, but at the expense of living with inflexibility?

Do you want fluidity in engineering, without fixed silos and a flat org structure that encourages anyone to take on anything that’s important to the business right now, but with the much bigger overhead of needing strong people leaders capable of herding the chaos?

I’m sure there are dozens of other examples of org structures and how they are reflected in code layout, repo layout, shared directories, dropboxes, chat channels, and email groups etc.


I would advise annotating your experience anecdotes, which are surely valuable, with some information about team size, company size, corporate structure (tech team in a non tech corp, vs pure tech), age etc.

The meat is in the detail, I find.


That's good advice, thanks. In general I'll try to include that at the top level, but the edit window has passed. In these cases the companies were all about 200 employees, something like five to ten teams with hands in the code. Average team size: five to ten. All SaaS companies.

Objectively, the use of force to eject protestors at rallies is of the fascist mindset. Trump endorses it.

The counter-argument is that a culture of violent police suppression is just modern America, and it’s not fair to tar one particular party with that particular brush.


> the use of force to eject protestors at rallies

This has happened at Harris rallies as well.


That some people are born better than others and they deserve more in life. It’s an incredibly appealing message.

If you think you’re exceptional, vote Gorgoiler ‘28!


> That some people are born better than others and they deserve more in life.

Isn't that simply factual human nature? If someone is tall, attractive, physically fit, hardworking, and intelligent, isn't it meritocratic for that person to accrue overall greater benefits/utility to their societal contributions compared to someone who is ugly, unfit, lazy, and stupid?

I wouldn't categorize that position as "far right" at all. I think the position you are trying to express is that the ugly/unfit/lazy/stupid should not be punished or abused by the government/laws/society just for existing. I would be surprised if you walked into an average MAGA rally and found a plurality of people who disagree with that.


In the page model, a heading says it needs only one line of vertical space, so if there’s a tiny bit of space at the bottom of the page it’ll get orphaned. (Vertical box space shown as ! and % for the heading and paragraph, respectively.)

  Page 1         Page 2
  ..        Paragraph..%
  ..        ..text.    %
  ..                 ..
  ..                 ..
 !Heading
When instead it should be moved to the top of the next page:

  Page 1         Page 2
  ..        Heading    !
  ..        Paragraph.. %
  ..        ..text.     %
  ..                 ..
                     ..
Rather than being honest about needing one line…

  Heading     !
  Paragraph..  %
  ..text.      %
…the heading could instead claim it needs three lines, which would ensure it would never be orphaned:

  Heading     !
              !
              !
  Paragraph..  %
  ..text.      %
But now you have a big gap below the heading.

If you could then shift the paragraph up from where it should be in the flow such that the vertical space of the heading and paragraph overlapped…

  Heading      !
  Paragraph..  !%
  ..text.      !%
…then you’d get a heading that would never be orphaned on one line, but which looked as it if only used one line.

I don't know if it would fix splitting across pages, but that sounds like negative margins. They've been in CSS forever. The basic idea:

  .heading { margin-bottom: 30px; }
  .paragraph { margin-top: -30px; }
Also:

> the heading could instead claim it needs three lines, which would ensure it would never be orphaned

It wouldn't prevent being orphaned at this point in your idea. What if there was room for 3 lines at the end of the first page?


I'm not sure the proposed approach would work, in particular on ebook readers. But if if does, I believe margins may not be the right way to do it. Padding might be however, because it is actually inside the box (while margins of elements may be "blended" inside the margins of their parents).

    h2 { padding-bottom: 3em; }
    h2 + p { margin-top: -3em; }
The problem is CSS doesn't support the lh unit yet so what's 3em here should actually be 3 times the height of a line, taking into account the font-family, the font-size, etc. Except maybe if line-height is explicitly set.

>The problem is CSS doesn't support the lh unit yet so

the problem is that ebooks css does not support what you expect a slightly out of date browser to support, and almost each ebook renderer has its own problems.

Think html email sized problems.


Email rendering is a great analogy.

I wonder if there's some sort of acid tests for eBook readers.

There should be some sort of acid test as well for email readers, of course.

But, IMO, all of them should be limited to avoid JS use (think of how well some sites are capable of rendering without JS [0])

[0]: https://git-send-email.io/


That worked quite nicely:

https://jsfiddle.net/bqjsu98o/

However the next problem is how do you tell the print renderer that paragraphs must have a minimum of 4 lines of text?

(Edit, hah! https://developer.mozilla.org/en-US/docs/Web/CSS/orphans )


If the bottom of a page has room for a heading and 3 lines of text (or some number of lines that looks appealing) then that’s enough space for the heading to not be considered orphaned.

But without moving the paragraph up, there wouldn't be text there, just a big empty area.

As the author of the fine article states, that is preferable to the orphaned heading.

The article says it's better to have blank space instead of the header, not next to the header.

Don't they send the copy editor to kill all the widows and orphans anymore?

I agree and this is good advice that works well. My counterpoint is that if you are very good at:

finding things that could be better or tools that should exist but don’t, and that if materialized would solve multiple problems at once instead of just one; and

explaining why that’s important in a way that everyone can buy into and dealing with naysayers who’ll want to cut you down and doomers who will say it’ll never work; and

have the focus, discipline and grit to make it through a 10k LoC project and land it on the other side while ekeing out code review along the way and not tripping over loose cables and uneven steps of your initial design / architecture / model that was either flawed from the outset or not malleable enough to fix after a month of entrenchment into your code; and finally

once you’re ready, to then go over the entire codebase and lift the old code up into your new way of doing things so that there is no split brain between the old way and your new tool:

then you can make it as a 10x engineer. It is exhausting but so is running up and down a football field, cycling laps around France, or serving tennis balls at 90mph for three hours at a time. Taking the elite-coder staff-engineering path isn’t for the faint hearted.


first i think what you’ve presented is a fiction, in most environments such large projects are surely going to involve multiple people if not multiple team. and then why? unlikely you’re be financially compensated for all the impact you’re really delivering. anything less is just exploitation

My experience is that this is quite common. Especially at startups but also at fortune 500s there exist staff engineers who have no team and just exist working on whatever catches their fancy that day/month. The grandparent talked about a month long project which is where these engineers tend to live in my experience. Its not that they get no help more that they jump around and maybe grab someone from the team when theyre almost done to integrate the new feature with the existing codebase.

I would gently remind you and others to read the room carefully on this topic. While a lot of people on HN didn’t know Mike, Stephen, or their families personally, a lot of people who knew them personally are on HN.

I'm sure the thought has crossed their mind already.

”If we want to encode the vector [6,2,8,4] in a single expression we can create a function containing those numbers: f(x) = 6 + 2x² + 8x³ + 4x⁴

…or if you flip the vector and use x=10:

  6284


Yes, but the polynomial form generalizes to coefficients of an arbitrary field, not just naturals. If your vector were, say, [1.3, 2.197656, pi, -1/2, 3*2i] then there wouldn’t be a reasonable base you could pick for a place-value representation.


Indeed. However, note that this is limited to encoding values between 0 and 9.


The counterpoint is wiping the device and restoring from local backups when it is returned.


You need to trust the erasure system, which is software. This also requires you to have write access to the disk whatever the issues are, otherwise your trust is left in the encryption and nobody having the key.

That's good enough for most consumers, but a lot more sensitive for enterprises IMHO. It usually gets a pass by having the contractual relation with the repair shop cover the risks, but I know some roles that don't get macbooks for that reason alone.


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

Search: