Show HN: Live-updating version of the 'What a week, huh?' meme

3 days ago (tintin.dlazaro.ca)

As a fun evening project, I made a live-updating version of the 'What a week, huh?' meme (based on a panel from The Adventures of Tintin comics [1]).

There's a page for every timeframe:

- 'What a day': https://tintin.dlazaro.ca/day

- 'What a week': https://tintin.dlazaro.ca/week

- 'What a month': https://tintin.dlazaro.ca/month

- 'What a year': https://tintin.dlazaro.ca/year

Current time is determined by a Cloudflare Worker using the request IP (not logged or stored). No JavaScript is sent to the browser.

[1] https://knowyourmeme.com/memes/what-a-week-huh

This is absolutely fantastic, well done!

If you're not done playing with it, you can make it dynamic so it's always accurate, haha! Show the smallest "uncompleted" unit of time available with a fallback for December 31st evenings where tintin simply says nothing...

At night: select the week.

Also end of the week: select the month.

Also end of the month: select the year.

Also end of the year: fallback.

  • That's a good idea -- it'd preserve the intent of the meme, which is to always be conveying "it has not been as long as it feels like based on events".

    As-is, if I visit and see "what a day / it's Friday", that's kinda missing the point.

> Current time is determined by a Cloudflare Worker using the request IP

I was scratching my head for a while wondering why you need an IP address to determine the current time… I’m inferring this means geo-locating the IP to determine the client’s time zone and then using that to convert server time to the user’s local time, right?

Makes me think, it would be nice if there was a standard request header to specify preferred TZ for 'local time', just like Accept-Language (which sadly quite a few websites ignore and show me German-language content anyway just because my location is in a German-speaking country).

Still, great work OP :-) now can anyone tell me why Tintin is trending at the moment? Did I miss something? All my feeds seem to be suddenly full of Tintin content right now.

  • > “why Tintin is trending at the moment”

    The Tintin character entered public domain in many countries in January 2025.

    I think this “What a week” image is from a 1930 album (“The Crab with the Golden Claws”), so it’s part of the public domain now and can legally be used for things like this meme generator.

    The situation in EU is different though. Hergé died in 1983, and I think his entire oeuvre has 75 years of protection after his death. I’m not 100% sure.

    • > The Tintin character entered public domain in many countries in January 2025.

      Many countries or only US (which uses the publication date)? Considering that the original publication is in Belgium and that almost all countries use the author's death as the benchmark, I am not so sure (even with the rule of the shorter term).

      1 reply →

  • > Makes me think, it would be nice if there was a standard request header to specify preferred TZ for 'local time',

    That's a another data point for fingerprinting, sadly. Not that Chrome would care, but Firefox and Safari teams do, I guess.

    • I believe this is already a thing? In JS at least

      Firefox’s “resist fingerprinting” does a lot of things to stop fingerprinting. One of those things is that it fakes my time zone as being UTC. 99% of of the time I never notice this being an issue. But occasionally I’ll try to pull up the wordle late in the day and get tomorrows puzzle.

    • True. But pro-privacy is the argument that the server no longer needs to geo-lookup your IP address and find out where you are with much greater accuracy than is needed to determine what timezone you would like dates/times to be displayed in.

      1 reply →

    • It’s available on the client side where most of the fingerprinting happens using JS.

      And I feel like this is a lost cause at this point. Just assign every one of us a unique online ID and be done with it.

      1 reply →

  • I assumed something like this header already existed because it's such an obvious need, but...

    > All HTTP date/time stamps MUST be represented in Greenwich Mean Time (GMT), without exception.

    according to [rfc2616](https://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3....). Presumably that makes a lot of awkward conversions unnecessary, but a separate TZ header would be a great addition.

    • Yeah that HTTP date format thing is kind of orthogonal - the same document slightly later explicitly says it's talking about the format used within HTTP messages/headers and not relevant to user-facing display within the page content. Which in that case makes a lot of sense because it's effectively saying "use UTC everywhere".

  • It could be a get parameter, with a picker allowing you to select your timezone.

    • That would be an absolutely awful user experience, unless there was also a way to default to knowing what the user's actual local timezone is without them having to manually pick it from a list of the 38 or so currently in use. I mean, you could try to persuade browser builders and site developers that this new get parameter is a standard that is automatically added to all requests by all browsers, and honoured if the site developers feel like it, but that's kind of messy and effectively doing the same job that request headers were designed to do.

      2 replies →

Can't believe it took me this long to notice, the meme itself is an altered image of the original comic. Obviously, the speech bobbles are too clean compared to the rest of the comic, but I also notice now that they are a poor imitation of Hergé's distinct speech bobbles.[0]

[0] https://i.kym-cdn.com/photos/images/original/002/125/139/0ff...

  • I am debating making a better version where the bubbles are appropriately sized and look nicer and the background is smoother, but I thought it might take away the ‘memeyness’ of it.

    I just went with the original background made by the person who seemingly invented the meme format on Tumblr: https://www.tumblr.com/incorrecttintin/162088281738

  • Hergé took a lot of effort to get details right. Not just the drawings¹, but also the layout and lettering of the speech bubbles.

    I own all TinTin comics in Dutch (some old collectors items) and a very few in French. Dutch is often a lot longer than French, and sometimes shorter - it doesn't use the same amount of letters, let alone the same width of them. The French is ever slightly more pleasing, but noticable so.

    The English translation you linked to, is even ugly in some places, it lacks the balance and spacing that Hergé often meticulously and deliberately used to convey extra meaning or balance.

    ¹ From The Blue Lotus on, Hergé devoted far more attention to accuracy. Which is all the more impressive because he then distills all that accuracy to the most simple lines. I am a fan. And yes, there is certainly controversy, his early work is clearly very racist and colonial - which shows the ideas of the times they were drawn in clearly.

As a tip, you can use the `<meta http-equiv="Refresh">` tag [1] to make the browser automatically refresh after N seconds and keep the tab always up to date.

[1]: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/me...

IDK why, but this reminds me of earlier days of internet, when it was full of random, non-usable but funny content like this. Best things often don't make that much sense.

I like the way the humor of this joke travels along a spectrum from relatability to absurdity as time cycles. Using the weekly one as an example, I think it achieves peak relatability on a wednesday, because that's the best intersection of being deep enough into the week to feel like its been a long one but also not so far into the week that you're seeing the light at the end of the tunnel and feeling hopeful. Peak absurdity for most people would likely be the weekend. I'll not be hearing arguments for Thursday, as I could never get the hang of Thursday.

  • I actually said “have a good weekend” to the baker last week on Monday, so, for me, anything until Wednesday checks out

Thanks for this haha :) I would love to it translated in other languages (this meme is international), especially in French, Hergé[0]'s original language. It may be a good idea to open-source it !

[0] https://en.wikipedia.org/wiki/Herg%c3%a9

  • Tangentially related, in English (and most languages) there are usually no spaces (or non-breaking spaces, which is the correct space before a punctuation marks in French) before the exclamation point (and interrogation point, semicolon and colon).

I was wondering why the caption was empty, but it's because of my Dark Reader extension inverting the text color to white, without touching the box color. Just a heads up.

  • Ah, that’s too bad. I do plan to update it so that the speech bubbles are SVG objects instead of embedded in the image, which should make it dark mode-friendly.

Cute, but I find it funny to reach for Astro, a framework with over 400 dependencies, just for this. I'm sure it's super convenient, so maybe it's more of a principled take.

  • I chose it because it’s what I'm used to and because it makes it really easy to do SSR (I wanted no JS to be sent to the client).

> Current time is determined by a Cloudflare Worker using the request IP (not logged or stored). No JavaScript is sent to the browser.

That’s a strange design. If you sent just ~10 lines of JavaScript to the browser, you could achieve an actually live-updating version (i.e. not only on page refresh), and you could use the actual time zone of the user instead of assuming it based on GeoIP. Your page could exist with zero server-side code.

>[1] https://knowyourmeme.com/memes/what-a-week-huh

>"In the episode, the character Liz Lemon, portrayed by Tina Fey, complains to character Jack Donaghy, portrayed by Alec Baldwin, about having finished a hard week of work, with Donaghey reminding her that it is still Wednesday"

I don't know any context beyond what's in this clip of Liz Lemon saying it to Jack https://www.youtube.com/watch?v=1z3uGyBM_1c

but "what a week" by itself does not indicate that the week is over, you can say "what a week" in the middle of a week; it would imply more the multiplicity of things that have already gone wrong, and "it's Wednesday" as a response has the sense "and it's only Wednesday, more things can still happen"

  • In writing classes, adding all of that unnecessary dialog is considered insulting to the audience. If you are trying to write a joke for the lowest denominator audience member, then you will alienate a larger portion of the audience. If every single joke needed that much additional context, it's not a funny joke. If you're going to require the writers to add that much dialog, you might as well ask them to add a laugh track

    • I'm not adding context to the joke, I'm pointing out that people are misinterpreting the dialog as it was written. by saying "I don't know what the additional context is", I was saying "perhaps she had just said TGIF!" and that would explain why he said "it's Wednesday"

      "What a week, thank god it's over!"

      "it's wednesday"

      would work for your lowest common denominator.

      1 reply →

    • Truth be told, that's all the one of the differences between American and British comedy.

      Slapstick is cool, but irony needs to be understood.

      1 reply →

  • The proper context, too, is that Liz Lemon is in charge of showrunning a Saturday Night skit show and is facing many challenges. "Lemon, it's Wednesday" implies that there are many things that can go wrong in between Wednesday and Saturday.

The panel takes on an almost ominous tone when you're nearing the end of your day and Tintin is right there to tell you it's nearly midnight

I thought it would be a hotlinkable image that updates.

  • It's close, the website could send the bare SVG instead of an SVG embedded in a HTML page :-)

  • Yeah.. it would be straight forward to make this into an image and make it so much more usable

Awesome idea! Just a thought, but a century version would be spot-on!

  • Thanks for the suggestion, will do! (I’ll also be open-sourcing it, as I probably should’ve done before posting)

What a fun little project! I thought it was going to be the 30 Rock one!

This is actually an interesting "Hello, world" for Astro.

Nitpick: /anyotheruri should return 404, no?

This is a "fun" idea, but I'm a bit troubled by the fact that you've chosen to release this right now.

Are you implying something? Not that subtle, truth be told. I'm not American, but hopefully there are someone here who knows the proper X-handle or other official authority to report this to.

If only HTML had a locale-aware <time> element with custom date formatting :(

The xkcd Now comic[1] is also done server-side. There's an outer image showing day/night cycles which never changes and the part with the map and all the labels is rotated within this. The server simply has a precomputed set of images for 15 minute offsets, and chooses whichever to render based on the current UTC time.

[1] https://xkcd.com/now

Can't "What a ", ", huh?" and "Captain, it's " be hard-coded / image? Also, nearing the end of the day/week/month/year, the meme doesn't really makes sense anymore..

  • > Can't "What a ", ", huh?" and "Captain, it's " be hard-coded / image?

    That would be more work with the risk of things being misplaced because you'd need to figure out alignment. The font will also not be rendered the same way, adding some small imperfections. The SVG text is also more accessible.

    I believe sending the text as an SVG text is a vastly superior solution in every way :-)