31 comments

  • spudlyo31 days ago
    I&#x27;m surprised nobody has yet mentioned how pleasant it is to create coffee stains using Typst, and if only LaTeX wasn&#x27;t the de-facto standard in academia and stain-related journals, they would have already switched to it.<p>Of course, you can create coffee stains in HTML as well, but it&#x27;s not something you can do in Markdown.
    • bachmeier30 days ago
      I&#x27;ve been rewriting all my papers in Rust. It&#x27;s been a pleasant experience getting memory safe coffee stains on my papers.
      • vlod29 days ago
        Surely coffeescript would have been more appropriate?<p>[0]: <a href="https:&#x2F;&#x2F;coffeescript.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;coffeescript.org&#x2F;</a>
      • anu7df30 days ago
        Does coffee accelerate rusting?
      • tristanlukens30 days ago
        Blazingly fast papers!
      • throwaway17_1730 days ago
        I know it was probably said just as a joke, but are you really writing papers using Rust? I don’ t use Rust, BUT if you’ve got a better way to write symbol heavy type theory and&#x2F;or logic than having to make PNG’s and put them in as images in a word processor I would love to hear about it.
        • eru30 days ago
          You might like what people have cooked up with Racket.
    • fourthark31 days ago
      Thankfully there is a Typst port of this package!<p><a href="https:&#x2F;&#x2F;typst.app&#x2F;universe&#x2F;package&#x2F;fleck&#x2F;" rel="nofollow">https:&#x2F;&#x2F;typst.app&#x2F;universe&#x2F;package&#x2F;fleck&#x2F;</a>
      • philistine30 days ago
        That package still has the core limitation of Typst: images can only be placed top-middle-bottom and left-centre-right. Typst still has yet to support arbitrarily placed images.
        • doerig30 days ago
          You mean absolutely positioning it? You can do that with the place function and displacing it with dx&#x2F;dy from the origin (<a href="https:&#x2F;&#x2F;typst.app&#x2F;docs&#x2F;reference&#x2F;layout&#x2F;place" rel="nofollow">https:&#x2F;&#x2F;typst.app&#x2F;docs&#x2F;reference&#x2F;layout&#x2F;place</a>). Example: #place(top + left, dy: 2cm, dx: 4cm, image(&quot;image.png&quot;))
          • philistine30 days ago
            That seems usable for manual layout, but it looks painful to use to place images without knowing exactly where they might end up on a page. I reuse my LaTeX code to make volumes of books, and I never touch the code. It&#x27;s fire and forget for me, which this does not seem to solve.
            • tcfhgj30 days ago
              &gt; but it looks painful to use to place images without knowing exactly where they might end up on a page.<p>they end up exactly at the specified location?
              • antonvs30 days ago
                Presumably they&#x27;re referring to the ability to parameterize the target page size. In that case, absolute coordinates don&#x27;t work well (if at all).
                • philistine30 days ago
                  Parameterize! That&#x27;s a new word I didn&#x27;t know. It adequately describes how I typeset my books, and I must not be alone. The ability to tell LaTeX to drop a picture around <i>here</i>, to the best of its ability, with the possibility of moving it down a paragraph or two if it doesn&#x27;t fit is vital for me.
                  • kzrdude30 days ago
                    I think that&#x27;s a missing feature of Typst yes, to have figures be either &quot;here&quot; or &quot;top next page&quot; automatically, with that priority. It can&#x27;t do that. The confusing part was that this has nothing to do with the images of this coffee stain package, because they are foreground&#x2F;background and can be placed freely on the page (any corner or any custom offset from any corner; i.e from top left corner you can use page coordinates).<p>The coffee stains overlay&#x2F;underlay text, so no layout problems at all.
                • mr_mitm30 days ago
                  But the dx&#x2F;dy arguments also take percentages besides absolut lengths. I still don&#x27;t get what the the other poster means by that fundamental limitation. I think they&#x27;re confused about absolute positioning of background images vs floating figures. But typst has the analog setting of `[htbp]`, so the same &quot;fire and forget&quot; workflow is possible.
      • widforss30 days ago
        &gt; two splashes with light colours<p>Blood. That&#x27;s blood.
    • alexitosrv31 days ago
      Typst requires a signup? It&#x27;s web? It says developed in the open, but the main page also offers a login. What can you about latex vs typst?
      • buo30 days ago
        The compiler is open-source and can be run locally. You need an account if you want to use their web editor, which is nice (it shows error messages where they occur along with an explanation and link to docs, and also shows a real-time updated preview).<p>As for Latex vs Typst, as a language Typst is much better, compiles very quickly, and has sane error messages. However, Typst still has a few rough edges, and can&#x27;t do everything you can with Latex + packages (yet).<p>I&#x27;ve been using Typst for most of my documents for a few months and I&#x27;ve been generally happy with it.
        • cbolton30 days ago
          You can use the online editor without login: <a href="https:&#x2F;&#x2F;typst.app&#x2F;play&#x2F;" rel="nofollow">https:&#x2F;&#x2F;typst.app&#x2F;play&#x2F;</a>
      • ted_dunning30 days ago
        No. Typst is an open source application.<p>There is a very prominent web site that offers a hosted version without much clarity about the fact that you can run it yourself. The hosted version offers collaborative editing similar to what Overleaf provides which is incredibly useful.<p>See <a href="https:&#x2F;&#x2F;github.com&#x2F;typst&#x2F;typst" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;typst&#x2F;typst</a> for the CLI version<p>There is a page with pre-compiled binaries as well and on Macs, you can install using homebrew.
      • tombert30 days ago
        I have never really used the web thing personally. I always use the command line version, and it works perfectly fine and it&#x27;s FOSS.<p>I find the syntax to Typst to be generally better than LaTeX. I don&#x27;t like its equations as much, but Typst has one <i>huge</i> advantage that makes it easier to forgive its faults: it compiles several orders of magnitude faster than LaTeX. This might not sound like much but it honestly sort of changes how you even think about problems. I keep Neovim open on the left, run `typst watch` in the background, and Evince on the right, and my updates show up <i>immediately</i> upon saving.<p>Also, adding plugins and libraries is trivial. All you have to do is declare it at the top of the file and it will automatically fetch it, which is considerably easier than LaTeX.<p>I don&#x27;t like the default font it ships with, but it&#x27;s easy enough to add a Latin Modern font and get something that looks like LaTeX.<p>Before Typst, I had typically been using Pandoc with Markdown to write my documents, and that served me well for quite awhile, but it had the disadvantage of being extremely slow to compile. A slide deck that I gave last year [1] would take a bit more than a minute to compile. This became an issue because I had to make a few small last-minute changes and having to wait an entire minute to view them actually made it so I was really pushing against the wire.<p>If I had done my slides in Typst, they would have compiled in about 40 milliseconds, they wouldn&#x27;t have looked any worse, and I&#x27;d have a syntax not dissimilar to Markdown. I&#x27;m pretty much a convert at this point.<p>[1] <a href="https:&#x2F;&#x2F;git.sr.ht&#x2F;~tombert&#x2F;lambda_days_2025" rel="nofollow">https:&#x2F;&#x2F;git.sr.ht&#x2F;~tombert&#x2F;lambda_days_2025</a>
      • _flux30 days ago
        The financial aspect of the project is the service they sell, core is open: <a href="https:&#x2F;&#x2F;github.com&#x2F;typst&#x2F;typst" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;typst&#x2F;typst</a><p>What the core lacks is the web service that offers e.g. collaborative editing.
      • quantummagic30 days ago
        Typst is an application you can use on your local machine without any signup. The compiler is hosted on GitHub. The Typst web app (the online editor at typst.app) is closed source and offered as a paid with cloud storage, collaboration, autocomplete, etc...
      • kzrdude30 days ago
        You can start using typst by installing it using rust tooling (that&#x27;s one way to install it): `cargo install typst-cli`<p>Or install it using vscode&#x27;s extensions, or install it for neovim using mason. That&#x27;s a few commonly used distribution paths.
    • asimeqi30 days ago
      The best coffee stains by far are created directly in Postscript.
      • ahazred8ta30 days ago
        Hanno&#x27;s original coffee ring page from 2009. <a href="https:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20100719202509&#x2F;http:&#x2F;&#x2F;hanno-rein.de&#x2F;archives&#x2F;349" rel="nofollow">https:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20100719202509&#x2F;http:&#x2F;&#x2F;hanno-rein...</a>
      • ihaveajob30 days ago
        I&#x27;d say the best ones are created by coffee...
      • jbrnh30 days ago
        There was the GIMP Coffee stain filter (though it looks like it is not included in Gimp 3). <a href="https:&#x2F;&#x2F;docs.gimp.org&#x2F;2.10&#x2F;en&#x2F;script-fu-coffee-stain.html" rel="nofollow">https:&#x2F;&#x2F;docs.gimp.org&#x2F;2.10&#x2F;en&#x2F;script-fu-coffee-stain.html</a>
    • __mharrison__30 days ago
      I know it would be easier in typst than using this library... Ducks.
    • mrichman31 days ago
      I came here to say this! I switched to Typst a couple of months ago and won&#x27;t be going back.
  • Rygian31 days ago
    Feature request: even&#x2F;odd page stains that line up exactly as a single thru-stain.
    • aDyslecticCrow30 days ago
      slightly fading for each page.
      • blitzar30 days ago
        Page reordering for the inevitable large scale spill and hurried cleanup.
  • pdpi31 days ago
    Everybody knows that coffee stains are the only surefire way to tell whether a paper has been read or just printed out and ignored. A colleague in uni (way back in early 00s) would add these to her documents every once in a while to give them the &quot;has been read&quot; stamp of approval.
    • cossatot31 days ago
      And wine glass stains are the only way to know your paper has been graded.
      • pwagland30 days ago
        And tear stains, or the lack thereof, are the only sure sign of quality.
    • tengwar228 days ago
      Could Garibaldi read Narn?
  • Drunk_Engineer30 days ago
    Possibly related:<p><a href="https:&#x2F;&#x2F;badspot.us&#x2F;Brown-Ring-of-Quality.html" rel="nofollow">https:&#x2F;&#x2F;badspot.us&#x2F;Brown-Ring-of-Quality.html</a>
    • TwoFx30 days ago
      Maybe I&#x27;m just missing the joke, but it feels worth pointing out that almost all of the logos on that page are clearly inspired by the ensō circle from Zen art.
    • amelius30 days ago
      Putting a circle around your logo is about as silly as putting a horizontal line under your signature.
  • ravila431 days ago
    This looks nice, but it is just placing some pre-defined vector files. I wonder if it could be possible to procedurally generate realistic coffee stains.
  • lelandfe30 days ago
    Originally from 2009: <a href="https:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20201101013903&#x2F;http:&#x2F;&#x2F;legacy.hanno-rein.de&#x2F;hanno-rein.de&#x2F;archives&#x2F;349" rel="nofollow">https:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20201101013903&#x2F;http:&#x2F;&#x2F;legacy.han...</a><p>Previously: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;from?site=hanno-rein.de">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;from?site=hanno-rein.de</a> and <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=39316193">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=39316193</a><p>This also reminds me of <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=30024165">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=30024165</a>
  • Vicinity963530 days ago
    Love this. My resume has been in LaTeX for over 20 years now.<p>Underappreciated IMHO. You can version control it, no dealing with wild Word shenanigans. Totally deterministic. Just find a style, insert your bullets and you have a nice sharable PDF.<p>Nowadays you can even have your preferred LLM do the conversion for you. LaTeX is finicky and I&#x27;ve had it fix warnings in mine that I couldn&#x27;t be bothered to.<p>Good stuff, highly recommend a LaTeX resume, whether or not you drink coffee.
    • Nitrolo30 days ago
      Any particular template you&#x27;d recommend? My resume is LaTeX too but I&#x27;m not 100% happy with it (about 98% happy and much happier than with anything else however).
      • Vicinity963530 days ago
        I can&#x27;t find the one I used now. But I just searched &quot;latex resume template&quot; and picked one that I liked. Some good ones at <a href="https:&#x2F;&#x2F;www.overleaf.com&#x2F;gallery&#x2F;tagged&#x2F;cv" rel="nofollow">https:&#x2F;&#x2F;www.overleaf.com&#x2F;gallery&#x2F;tagged&#x2F;cv</a>
    • benttoothpaste30 days ago
      Totally agree! I&#x27;m adding the coffee stains to my resume as we speak.
  • ChrisArchitect31 days ago
    (2021) Some previous discussion: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=39316193">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=39316193</a>
  • kubb31 days ago
    Not drinking coffee is the only reason I’ve ever felt truly excluded at a software company. Everyone loves their coffee!
    • bombcar30 days ago
      I&#x27;m in the same boat; I can pretend with tea but it&#x27;s not really the same experience.<p>Diet soda sometimes works, but often isn&#x27;t provided as easily.
    • nitnelave30 days ago
      You need to go all-in on tea and make your own mark. Get a fancy Chinese teapot with holes in the spout to use loose leaf tea, and start getting snobby about traditional vs modern techniques of Pu&#x27;er tea, and you&#x27;ll get your own brand of respect!
  • zippyman5531 days ago
    This looks like the old Lucent Technologies corporate logo. This would have been handy back in the day.
    • SanjayMehta31 days ago
      Dogbert&#x27;s &quot;Brown ring of quality.&quot;<p>Good times.
  • pureagave31 days ago
    This is wonderful to see. I was a student and then entered into the tech industry in the mid 90&#x27;s and at that time the Internet had fun whimsical things like this almost weekly.
    • mcswell30 days ago
      Obviously this was whimsical when it came out. However...we were creating synthetic data for training and testing OCR in multiple scripts. We would take a web page in some language with a non-Roman script, and reproduce it as multiple PDFs using different fonts. We also added various kinds of blurring, using ImageMagick and---of course---this very coffee stains program!
  • bmenrigh30 days ago
    I&#x27;m happy this is public domain. In 2023 I used the stain images as the basis for a CTF challenge (for BSidesSF). The encoded flag given to participants was <a href="https:&#x2F;&#x2F;github.com&#x2F;BSidesSF&#x2F;ctf-2023-release&#x2F;blob&#x2F;main&#x2F;alien&#x2F;distfiles&#x2F;flag.png" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;BSidesSF&#x2F;ctf-2023-release&#x2F;blob&#x2F;main&#x2F;alien...</a><p>Unfortunately the challenge was a bit too hard and went unsolved during the competition.
    • hughw30 days ago
      It&#x27;s hard to imagine a reason for it being kept... proprietary?
      • bmenrigh30 days ago
        A lot of people want to slap licenses on things without really thinking about what the license will do (or prevent), in practice.<p>I like the author&#x27;s note about the license: &quot;As we do not believe in imaginary property, this package belongs to the public domain.&quot;<p>I think it&#x27;s much more common to see a Creative Commons license on this sort of thing.
        • viraptor30 days ago
          And even then, when people have good intentions they don&#x27;t anyways know about edge cases. Please give things a licence in addition to placing it in public domain, because in some countries (like Australia) you can&#x27;t release your rights that way.
  • deckar0130 days ago
    Coffee stains should look like water color paints. The fluid deposits pigment more at dry boundaries as evaporation and absorption approach equilibrium.
  • velcrovan31 days ago
    Reminds me of Windows 3.11 programs that would add random &quot;coffee stains&quot; to your &quot;desktop&quot; &quot;wallpaper&quot;
  • jprezant29 days ago
    This is a good read for similar &quot;fun&quot; packages: <a href="https:&#x2F;&#x2F;tex.stackexchange.com&#x2F;questions&#x2F;67656&#x2F;are-there-other-fun-packages-like-the-coffee-stains-package" rel="nofollow">https:&#x2F;&#x2F;tex.stackexchange.com&#x2F;questions&#x2F;67656&#x2F;are-there-othe...</a>.
  • kkkqkqkqkqlqlql30 days ago
    Finally, I can drink my yerba mate and not be dismissed as a researcher.
  • notorandit30 days ago
    Half done job or just a starting point! We need also:<p>* tea strains<p>* bread crumbles (squashed among paper leaves)<p>* tomato sauce drops<p>* hair<p>&gt; A lot of time can be saved by printing [extra stuff] directly on the page rather than adding them manually!
    • Schlagbohrer30 days ago
      And a squashed fly every thousand pages or so
      • dredmorbius28 days ago
        Paw prints!<p>&lt;<a href="https:&#x2F;&#x2F;news.artnet.com&#x2F;art-world&#x2F;cats-medieval-manuscripts-walters-art-museum-2732418" rel="nofollow">https:&#x2F;&#x2F;news.artnet.com&#x2F;art-world&#x2F;cats-medieval-manuscripts-...</a>&gt;
  • arunc30 days ago
    To save our children in the academia, we need a &quot;Rewrite In Typst&quot; movement, the equivalent of rewrite in rust!
    • sieste30 days ago
      If only they had stuck with latex maths syntax instead of inventing their own, I would have switched ages ago and encouraged others to do the same...
      • kzrdude30 days ago
        math without infernal backslashes is one of the reasons I <i>love</i> Typst
      • xigoi30 days ago
        What’s the point of switching if you’re going to leave in the worst part?
      • tcfhgj30 days ago
        maybe someone will write a package for latex math
        • TRiG_Ireland30 days ago
          It&#x27;s called mitex: <a href="https:&#x2F;&#x2F;typst.app&#x2F;universe&#x2F;package&#x2F;mitex" rel="nofollow">https:&#x2F;&#x2F;typst.app&#x2F;universe&#x2F;package&#x2F;mitex</a>
          • aragilar30 days ago
            Does it support amsmath?
            • TRiG_Ireland29 days ago
              I <i>think</i> so, but I&#x27;m no expert in typesetting mathematics.
              • aragilar29 days ago
                That&#x27;s not exactly encouraging... My biggest gripe with typst is the various design choices which make writing maths much harder than LaTeX (and given many of the issues with LaTeX usability come from having to use poorly maintained legacy packages, not having basic functionality in the core of the replacement seems naive at best).
    • auguzanellato30 days ago
      There’s a bit of resistance sadly. My supervisor is “forcing” me to use LaTeX for my MSc thesis sadly.
    • iberator30 days ago
      Nearly all academia uses MS-OFFICE instead of TeX insanity. Only hardcore phds use it really
  • Seattle350330 days ago
    I think it would be cool to see a version for epub 3.3, which is mostly html&#x2F;xhtml with some limitations
  • drob51830 days ago
    My life is complete. I can die happy.
    • random_duck30 days ago
      LaTex is complete it can die happy.
      • random_duck30 days ago
        (This is a joke, please transfer LaTex&#x27;s consciousness into a computer so it can live forever = w = )
  • tuhgdetzhh30 days ago
    &quot;This page was intentionally left blank&quot; is also an all time favorite of mine.
    • hanche30 days ago
      There’s an old story about that. Possibly apocryphal, but here goes:<p>IBM mainframes used to come with documentation in ring binders. Some pages might indeed be marked “This page intentionally blank”. And they would from time to time send out update packages to their customers, with instructions to replace pages so-and-so with the included replacements. On the replacement pages, text that had been altered would be marked with a change bar in the margin.<p>Lo and behold, one day an update package was received, replacing one completely blank page with one bearing the text “This page intentionally blank”. Complete with a change bar in the margin.
  • anishgupta30 days ago
    Here we go, trying to feel authenticity in our new world. Mistakes are beautiful
  • Zigurd31 days ago
    Brilliant! And people say Lucent overpaid for their logo.
  • aaronblohowiak31 days ago
    Interesting way to apply a water mark
  • conformist30 days ago
    Another essential package is realhats (replace boring \hat with real hats)!<p><a href="https:&#x2F;&#x2F;github.com&#x2F;mscroggs&#x2F;realhats" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;mscroggs&#x2F;realhats</a>
  • jpfromlondon30 days ago
    as amazing as these are, they do still look a little fecal.
  • TeamDman29 days ago
    See also: using Mathematica for drawing the circles like in the movie Arrival<p><a href="https:&#x2F;&#x2F;youtu.be&#x2F;r8nTifCIr0c" rel="nofollow">https:&#x2F;&#x2F;youtu.be&#x2F;r8nTifCIr0c</a>
  • dcuthbertson30 days ago
    Now I want a package to add blood stains on my murder mystery screenplay.
  • kasane_teto31 days ago
    How nice.