News for hackers. Stuff that matters.

behdad

Re:Show HN: Gdocs-me-up: a high-fidelity Google Docs exporter on Monday September 21, 2026 @01:14PM (#49790200)
I use it extensively to preserve images and formatting, in the pageless layout. I haven't tested it much with tables. Give it a try and file issues if it doesn't work well and I'll pass on to my agents. Thanks!
Re:Show HN: Gdocs-me-up: a high-fidelity Google Docs exporter on Monday September 21, 2026 @01:13PM (#49790188)
Good question, isn't it? GDocs has a "publish to web" feature, but it's vastly broken and loses formatting and image sizing and everything. It's just not priority for Google.
Re:Show HN: Gdocs-me-up: a high-fidelity Google Docs exporter on Monday September 21, 2026 @01:12PM (#49790175)
Possibly. I wasn't determined enough to look into that. Plus, it's easier for me to batch download my documents from the terminal.

Note that it will be a HTML plus directory of images, so you need to return an archive.

Show HN: Gdocs-me-up: a high-fidelity Google Docs exporter

https://github.com/behdad/gdocs-me-up

Over the years I had written dozens of Google Docs documents, that I wanted to post to my website. Not only Google Docs's publish feature is broken and incomplete, Google does not index Google Docs either. So I set out to fix it for myself using AI agents. Sharing here in case someone else finds it useful.

( Read More... | 9 comments | 3 points | on HN )
Re: on Thursday August 20, 2026 @01:09AM (#49370582)
Thanks. :)

Yeah this is not the main wedding invitation. There's a proper HTML with details. This is extra me going wild with the agents fun side. If we were to expect people to finish this to get to the RSVP, we'd have exactly two guests!

Re:HarfBuzz Slug Support with WebGL on Monday April 06, 2026 @07:54PM (#47668965)
msdf still suffers from detail loss at large sizes, which this method doesn't have.
Re:HarfBuzz at 20 on Friday February 06, 2026 @03:11AM (#46910330)
A wave of manic energy in December had me put together a long deck called "HarfBuzz at 20! " , celebrating 20 years of HarfBuzz.

I designed the deck to be presented at the #WebEnginesHackfest later this year. Then reality hit that I cannot present this deck in any sane amount of time.

I decided that instead of tossing the deck out, I just out to be read by the curious. I will present a highly condensed version at the hackfest in June.

Let me know what you think.

Re:HarfBust: A font software puzzle for the curious on Tuesday September 09, 2025 @09:53PM (#45192124)
I have a puzzle for the hacker in you: The font HarfBust.ttf is an offshoot of Anton Regular, with a twist:

  - On software using HarfBuzz (as far back as you go, back to the 2000s) and HarfBuzz only, it will ligate "HarfBuzz" to the HarfBuzz logo.

  - On software using HarfRust and HarfRust only, it will ligate "HarfRust" to the HarfBuzz logo.

  - On software using HarfBuzz, HarfRust, or DirectWrite, but not CoreText, it will ligate "HarfBust" to the HarfBuzz logo.
How does this work? The font does not use any non-standard OpenType features like `HARF`/`Harf`/`BUZZ`/`Buzz` (which HarfBuzz / HarfRust apply).

Enjoy, --behdad

Thank you for the question. Rasterization is not my specialty. There definitely is still immense amount of research going into rasterizing fonts and 2D graphics on the GPU efficiently. Here's the latest from Raph Levien's research for example:

  https://www.youtube.com/watch?v=_sv8K190Zps
We’re the maintainers of HarfBuzz, the open-source text shaping engine used by browsers, operating systems, and applications to render all text, including supporting scripts like Arabic, Devanagari, Khmer, CJK, and more.

HarfBuzz is known for being fast, portable, and complete. But it’s also sometimes seen as hard to understand or work with. We’re working on a Developer FAQ and Design Notes to clear up misconceptions and explain the "why" behind our more unusual design decisions (yes, the macros are intentional).

So we’re asking:

What was your biggest WTF moment reading or using HarfBuzz?

Other things we’d love to hear about:

* Which parts felt like magic or a black box? * What do you think we could explain better? * Have you run into performance or integration surprises? * Are there features you only discovered by reading the source? * What do you wish the documentation had told you?

Anything else you want to know about the project?

We'll answer questions on Reddit, here, and also open a GitHub Discussion afterward to collect and respond to feedback more formally and integrate into our documentation.

Thanks in advance for your curiosity, stories, or frustration—we’re listening!

Re:State of Text Rendering 2024 on Tuesday July 09, 2024 @12:07AM (#40912464)
Browser zoom works fine for me. Does it not for you?
Re:State of Text Rendering 2024 on Tuesday July 09, 2024 @12:06AM (#40912456)
Hi. As mentioned, I'll expand on my motivations in a future paper. -behdad
Re:On a Great Interview Question on Thursday April 13, 2023 @12:29AM (#35550958)
Like it or not for hiring purposes it does.
Re:On a Great Interview Question on Thursday April 13, 2023 @12:14AM (#35550870)
How does that work with new grads?
Re:On a Great Interview Question on Thursday April 13, 2023 @12:02AM (#35550787)
Assuming that the dictionary is arbitrary as well, just comparing the string to the strings in the dictionary (or hashing it) it takes O(n), regardless of the data-structure you use.
Re:On a Great Interview Question on Wednesday April 12, 2023 @11:55PM (#35550742)
That is a correct solution. The one I was talking about would stop after just trying "The" and "reis".
Re:On a Great Interview Question on Wednesday April 12, 2023 @11:38PM (#35550629)
My bad. The dictionary should be {"the", "there", "is"}.
Re:On a Great Interview Question on Wednesday April 12, 2023 @11:38PM (#35550627)
Imagine the string "there is", and the dictionary {"the", "there", "is"}.
Re:On a Great Interview Question on Wednesday April 12, 2023 @11:18PM (#35550494)
I beg to differ, this is exactly the opposite of a manhole problem, which I tried to explain, which I clearly failed.
Re:On a Great Interview Question on Wednesday April 12, 2023 @10:37PM (#35550181)
My mid-mark would be where someone could write the code for the brute-force answer for both parts but couldn't get the memoize / dynamic-programming solution. That would be where I'd say "I'm not sure, look at other interviews". Otherwise I'll make a hire / no-hire recommendation.
Re:On a Great Interview Question on Wednesday April 12, 2023 @10:30PM (#35550110)
You'd be surprised.. but we're trying to distinguish between someone who can code simple algorithms versus one who can't.
Re:On a Great Interview Question on Wednesday April 12, 2023 @10:20PM (#35550033)
Typically candidates are scored on a scale. And there are multiple interviews. The final hire / no-hire is decided based on the scores and written feedback from all interviews.
Re:On a Great Interview Question on Wednesday April 12, 2023 @10:13PM (#35549987)
It is true that many companies, Google included, have added area-specific questions including some for frontend webdev if I remember correctly.
Re:On a Great Interview Question on Wednesday April 12, 2023 @10:07PM (#35549947)
As someone who actually uses algorithms and data-structures in their job, I disagree.
Re:On a Great Interview Question on Wednesday April 12, 2023 @10:06PM (#35549932)
Thanks. That's definitely an interesting question. How does it do with new grads? How do you grade people on that on a numerical scale? Curious.
Re:On a Great Interview Question on Wednesday April 12, 2023 @09:50PM (#35549823)
This is very nice indeed. I should mock-interview someone using it.

Older »