frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

We Mourn Our Craft

https://nolanlawson.com/2026/02/07/we-mourn-our-craft/
60•ColinWright•57m ago•24 comments

Speed up responses with fast mode

https://code.claude.com/docs/en/fast-mode
18•surprisetalk•1h ago•14 comments

U.S. Jobs Disappear at Fastest January Pace Since Great Recession

https://www.forbes.com/sites/mikestunson/2026/02/05/us-jobs-disappear-at-fastest-january-pace-sin...
95•alephnerd•1h ago•39 comments

Hoot: Scheme on WebAssembly

https://www.spritely.institute/hoot/
120•AlexeyBrin•7h ago•22 comments

Stories from 25 Years of Software Development

https://susam.net/twenty-five-years-of-computing.html
55•vinhnx•4h ago•7 comments

OpenCiv3: Open-source, cross-platform reimagining of Civilization III

https://openciv3.org/
822•klaussilveira•21h ago•248 comments

Al Lowe on model trains, funny deaths and working with Disney

https://spillhistorie.no/2026/02/06/interview-with-sierra-veteran-al-lowe/
53•thelok•3h ago•6 comments

The AI boom is causing shortages everywhere else

https://www.washingtonpost.com/technology/2026/02/07/ai-spending-economy-shortages/
101•1vuio0pswjnm7•8h ago•117 comments

The Waymo World Model

https://waymo.com/blog/2026/02/the-waymo-world-model-a-new-frontier-for-autonomous-driving-simula...
1057•xnx•1d ago•608 comments

Reinforcement Learning from Human Feedback

https://rlhfbook.com/
75•onurkanbkrc•6h ago•5 comments

Start all of your commands with a comma (2009)

https://rhodesmill.org/brandon/2009/commands-with-comma/
476•theblazehen•2d ago•175 comments

Vocal Guide – belt sing without killing yourself

https://jesperordrup.github.io/vocal-guide/
202•jesperordrup•11h ago•69 comments

France's homegrown open source online office suite

https://github.com/suitenumerique
544•nar001•5h ago•252 comments

Coding agents have replaced every framework I used

https://blog.alaindichiappari.dev/p/software-engineering-is-back
213•alainrk•6h ago•330 comments

Selection Rather Than Prediction

https://voratiq.com/blog/selection-rather-than-prediction/
8•languid-photic•3d ago•1 comments

A Fresh Look at IBM 3270 Information Display System

https://www.rs-online.com/designspark/a-fresh-look-at-ibm-3270-information-display-system
34•rbanffy•4d ago•7 comments

72M Points of Interest

https://tech.marksblogg.com/overture-places-pois.html
27•marklit•5d ago•2 comments

Unseen Footage of Atari Battlezone Arcade Cabinet Production

https://arcadeblogger.com/2026/02/02/unseen-footage-of-atari-battlezone-cabinet-production/
113•videotopia•4d ago•30 comments

Where did all the starships go?

https://www.datawrapper.de/blog/science-fiction-decline
73•speckx•4d ago•74 comments

Software factories and the agentic moment

https://factory.strongdm.ai/
68•mellosouls•4h ago•73 comments

Show HN: Look Ma, No Linux: Shell, App Installer, Vi, Cc on ESP32-S3 / BreezyBox

https://github.com/valdanylchuk/breezydemo
273•isitcontent•21h ago•37 comments

Learning from context is harder than we thought

https://hy.tencent.com/research/100025?langVersion=en
199•limoce•4d ago•111 comments

Monty: A minimal, secure Python interpreter written in Rust for use by AI

https://github.com/pydantic/monty
285•dmpetrov•22h ago•153 comments

Show HN: Kappal – CLI to Run Docker Compose YML on Kubernetes for Local Dev

https://github.com/sandys/kappal
21•sandGorgon•2d ago•11 comments

Making geo joins faster with H3 indexes

https://floedb.ai/blog/how-we-made-geo-joins-400-faster-with-h3-indexes
155•matheusalmeida•2d ago•48 comments

Hackers (1995) Animated Experience

https://hackers-1995.vercel.app/
555•todsacerdoti•1d ago•268 comments

Sheldon Brown's Bicycle Technical Info

https://www.sheldonbrown.com/
424•ostacke•1d ago•110 comments

Ga68, a GNU Algol 68 Compiler

https://fosdem.org/2026/schedule/event/PEXRTN-ga68-intro/
42•matt_d•4d ago•18 comments

An Update on Heroku

https://www.heroku.com/blog/an-update-on-heroku/
472•lstoll•1d ago•312 comments

Show HN: If you lose your memory, how to regain access to your computer?

https://eljojo.github.io/rememory/
348•eljojo•1d ago•215 comments
Open in hackernews

HTML Slides with notes

https://nbd.neocities.org/slidepresentation/Slide%20presentation%20about%20slides
88•Curiositry•3mo ago

Comments

asplake•3mo ago
Could add clicker support (which I have done previously). Note however that clickers vary between Up/Down and PgUp/PgDown. Enabling the former was potentially annoying if you like to use the arrow keys to scroll, so I made that configurable. Alternatively you configure mappings per device outside the browser.
jakegmaths•3mo ago
I find it infuriating when clickers say they send page up/down but actually send regular up/down key events.
small_scombrus•3mo ago
This is really cute!

I have a special spot in my heart for tools that do a good job of explaining themselves using their own outputs.

I wonder how hard it would be to add the cute old PowerPoint style transitions using CSS

nhinck2•3mo ago
Not too hard depending on the level of jankiness you're willing to endure.

Screen capture API > full screen canvas element > css animated clip mask and opacity

paulsmith•3mo ago
You can wrap the navigation event in document.startViewTransition() and get something basic out of the box:

https://codepen.io/pauladamsmith/pen/VYeJMMb

zazaulola•3mo ago
Which transitions in Powerpoint are special?

I haven't seen better slide transitions than here https://impress.js.org/

econ•3mo ago
I would use this

https://youtu.be/A1XRbPQE9-M?si=VWatyCxmR-ADZKWJ

hecanjog•3mo ago
I love it, but it was very disorienting to use `j` to move forward and `k` to move backward.
moravak1984•3mo ago
lol yeah... "tell me you are lefty without telling me you are lefty"
jgtrosh•3mo ago
A vimmer*
wosined•3mo ago
or just an evil emacs user
branor•3mo ago
not all emacs users are evil!
Diti•3mo ago
Those are Vim bindings. The J key rests right under your index finger (and it’s easy to find it thanks to the nudge on your key), which enables you to spend little to no energy to “scroll down”; the K key is for scrolling up.
tbossanova•3mo ago
jk
chrisweekly•3mo ago
Fastmail uses these too, as does vim.
hecanjog•3mo ago
Ha, yeah I think it's my vim muscle memory that made it feel so weird. `j` going left instead of down and `k` going right instead of up. `h` and 'l` probably would have made me feel right at home though. (And in fairness, changing the keys is trivial in this case!) :-p
econ•3mo ago
The other day I was reminded how SketchUp was a 3D drawing application without a learning curve. Today we get a slide show that needs a manual.

I suppose the right key is to use the space bar. But then the html moves to the next page without any js. (Shift space to page back)

Presto even loaded the "next>" link if one pressed space at the end of the page.

chrismorgan•3mo ago

  (i = slide.nextElementSibling)?.className == "slidenote" ? i : slide
  ]),
An alternative approach:

  slide.querySelector(":scope+.slidenote") ?? slide
(|| would work just as well as ??, but ?? feels more appropriate.)
econ•3mo ago
You could also make the notes mandatory.
chrismorgan•3mo ago
Or put the notes inside the slide, and then CSS is enough, the JavaScript doesn’t even need to know about notes:

  Notes:
  <label><input type=radio name=notes id=notes-hide checked> Hide</label>
  <label><input type=radio name=notes id=notes-inline> Inline</label>
  <label><input type=radio name=notes id=notes-only> Only</label>

  <section>
      Slide

      <aside>
          Notes
      </aside>
  </section>

  <style>
      section {
          position: relative;
      }

      aside {
          background: #feb;
          padding: 1em;

          body:has(#notes-only:checked) & {
              position: absolute;
              inset: 0;
          }

          body:has(#notes-inline:checked) & {
              margin-top: auto; /* concept: if the slide uses flex, notes can try sticking to the bottom */
          }

          body:has(#notes-hide:checked) & {
              display: none;
          }
      }
  </style>
econ•3mo ago
I think one would want either slides or notes?

This seems perfectly heretical.

    <script>
    document.write(`
    <style>
    .${location.search.replace(/\W/g, '')}{
      display:none
    }
    </style>
    `)
    </script>
lukaslukas•3mo ago
Haha, I see people talking about slides everywhere, from specific moment in my life... that's when I started coding slidepicker.com!

Anyway, nice work! I created something similar for our product (a list of divs that switch visibility based on keyboard input).

fjfaase•3mo ago
I use HTML for my presentations and publish them online mentioning the URL at the top, such that people can open them on their device, which is often a smart phone. I take that into account for the interactive parts of the presentation.
econ•3mo ago
The backend could be just...

    if( is_numeric($_GET['current']) ){
      file_put_contents( 'current.txt',$_GET['current']);
    }
Then could post it it when the clock advances by a second, shortly before the slide advances on the main screen. Aggressively poll it on the clients to figure out how many ms after the whole second to poll.

All the screens would advance simultaneously which would impress the developers.

If someone in the audience has a question they can press a button to have their face and audio streamed to the big screen. Modified by LLM of course, or it would be pointless to have.

wosined•3mo ago
Maybe it would be easy to add the shortcuts g - jump to first slide G - jump to last slide
virajk_31•3mo ago
Nice, I hv been working on engine that renders pptx (without compromising original styles) in web browsers...
TheSilva•3mo ago
Have you check https://pitch.com/ ?
virajk_31•2mo ago
nope, however my use case requires high level of customization so I had to build it from scratch...
Jotalea•3mo ago
one thing that I immediately noticed is that this site has no mobile support at all.

that's why I will link this presentation I made, in just a few hours, for a school project. it has mobile support, automatic fullscreen, and is still lightweight. unfortunately, I lost the code for the engine alone, so I only have the "exported product".

https://jotalea.com.ar/tests/tpanticx

fodkodrasz•3mo ago
I used https://revealjs.com/ in the past for this successfully. I have very good experience with that from circa 10 years ago.
chrismorgan•3mo ago
... in 22 lines of JavaScript?
fodkodrasz•3mo ago
Not, but in an actually useful way.

ps: one thing I like on HN is the many related projects linked for each interesting topic, which allow discovery of new tools.

cachius•3mo ago
I find the notes mode confusing. You can't tell if you're viewing a note or a slide.

Why would you use it? In PowerPoint the point of notes is to have an aside view for the presenter for extra info. Here all is revealed to the viewer.

jy14898•3mo ago
Open the page in two windows, with one that has note mode enabled
cachius•2mo ago
Thanks, I totally missed that the site is intended to be opened in multiple windows/tabs! That lede is buried in the code.

Wasn't familiar with BroadcastChannel, which allows communication between different ... windows and tabs ... of the same origin

https://developer.mozilla.org/en-US/docs/Web/API/BroadcastCh...

sunnyam•3mo ago
You could share a screen with the slides and have the notes visible to yourself. Also the notes mode has a dashed border around it.

This is just a simple demo but it's really cool how simple and easy it is in practice.

articsputnik•3mo ago
I found Presenterm [1] to be optimal for me. Simple and works in the terminal, yet powerful to export to PDF and HTML. It supports Mermaid and images. I'm also collecting a list [2] with other Markdown-first presentation tools, and according to the git stars, reveal.js seems to be the most popular. Tough for me, it was too heavy.

[1] https://github.com/mfontanini/presenterm

[2] https://www.ssp.sh/brain/markdown-presentations-or-slides/

nairadithya•3mo ago
There's also marp

https://marp.app/

Curiositry•3mo ago
I tried to use pandoc+revealJS, then tried presenterm (which was really nice but didn't give me enough control over font sizes), and then settled on Marp, which worked great.
zenomt•3mo ago
i made a toolset i call "mdslides" for making pure HTML+CSS (no JavaScript) presentations in Markdown. it's just a CSS stylesheet and an 8 line Awk preprocessor for a slide delimiter, adding just enough HTML wrapping to work with the stylesheet. the stylesheet adds page breaks at each slide so you can get a PDF by asking your browser to print/save-as-PDF. it should work with any CommonMark Markdown formatter (i use "md2html" from the MD4C project).

presentation: https://zenomt.github.io/mdslides/mdslides.html

repo: https://github.com/zenomt/mdslides

mbo•3mo ago
self plug: one of my articles also has its own slide infrastructure (exposed to the reader as well!): https://maxbo.me/a-html-file-is-all-you-need.html#:~:text=Sl...
jeromechoo•3mo ago
I’m sure this is great on desktop but lack of mobile support today is kindof a bummer. It doesn’t even degrade gracefully.
econ•3mo ago
Having the notes on a phone seems useful.
xiphias2•3mo ago
The original code is really nice:

  // golfed minslides, 173 bytes
  let a=document.getElementsByClassName("slide"),b=0,c=a.length-1;
  document.addEventListener("keypress",({key:d})=>{b+=("j"==d)-("k"==d),b=0>b?0:b>l?l:b,a[b].scrollIntoView()})
econ•3mo ago
This is my favorite size project. It allows us to be pedantic about every detail.

When the key press event is triggered current is to be increased or decreased if two conditions are met. One shouldn't check just one, take action then change it back if the other condition isn't met.

   if(e.key == 'j'){ cur++; }
   if(e.key == 'k'){ cur--; }
   if(cur < 0){ cur = 0; }
   if(cur >= sl.length){ cur = sl.length - 1; }
something like...

   if(cur<sl.length && e.key=='j'){ cur++ }
   else if(cur>0 && e.key=='k'){ cur-- }
The else is there because we don't need to check the other condition if the first is true.

Not that the original code doesn't work. I just want to execute instructions needed and avoid unnecessary ones if it is simple enough. The case where we try to increase beyond the array size would still trigger the second check. Even more correct would be:

   if(e.key == 'j'){ 
    if(cur < sl.length){
      cur++; 
    }
   }else if(e.key == 'k'){
    if(cur > 0){
      cur--;
    }
   }
   
To make it uglier the if can go...

   cur<sl.length && e.key=='j' && cur++;
   cur>0 && e.key=='k' && cur-- 
As it won't check the next condition if the first fails.

This hideous bit...

   b+=("j"==d)-("k"==d)
Could be slightly less ugly and one character shorter

   b+=d=="j";b-=d=="k"
Then we can shovel the other conditions inthere too!

   b+=d=="j"&&b<l;b-=d=="k"&&b>0
You see, with just a little effort we may improve nothing.