frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

ChatGPT Developer Mode: Full MCP client access

https://platform.openai.com/docs/guides/developer-mode
331•meetpateltech•6h ago•168 comments

Show HN: Term.everything – Run any GUI app in the terminal

https://github.com/mmulet/term.everything
554•mmulet•1d ago•88 comments

KDE launches its own distribution (again)

https://lwn.net/SubscriberLink/1037166/caa6979c16a99c9e/
22•Bogdanp•46m ago•7 comments

Christie's Deletes Digital Art Department

https://news.artnet.com/market/christies-scraps-digital-art-department-2685784
15•recursive4•52m ago•5 comments

Pontevedra, Spain declares its entire urban area a "reduced traffic zone"

https://www.greeneuropeanjournal.eu/made-for-people-not-cars-reclaiming-european-cities/
590•robtherobber•12h ago•758 comments

Defeating Nondeterminism in LLM Inference

https://thinkingmachines.ai/blog/defeating-nondeterminism-in-llm-inference/
160•jxmorris12•5h ago•55 comments

The HackberryPi CM5 handheld computer

https://github.com/ZitaoTech/HackberryPiCM5
120•kristianpaul•2d ago•37 comments

Launch HN: Recall.ai (YC W20) – API for meeting recordings and transcripts

50•davidgu•6h ago•28 comments

Mux (YC W16) Is Hiring Engineering ICs and Managers

https://mux.com/jobs
1•mmcclure•1h ago

OrioleDB Patent: now freely available to the Postgres community

https://supabase.com/blog/orioledb-patent-free
345•tosh•11h ago•115 comments

Dotter: Dotfile manager and templater written in Rust

https://github.com/SuperCuber/dotter
41•nateb2022•3h ago•19 comments

Longhorn – A Kubernetes-Native Filesystem

https://vegard.blog.engen.priv.no/?p=518
16•jandeboevrie•3d ago•9 comments

Show HN: Haystack – Review pull requests like you wrote them yourself

https://haystackeditor.com
43•akshaysg•4h ago•23 comments

Clojure's Solutions to the Expression Problem

https://www.infoq.com/presentations/Clojure-Expression-Problem/
33•adityaathalye•3d ago•1 comments

I didn't bring my son to a museum to look at screens

https://sethpurcell.com/writing/screens-in-museums/
679•arch_deluxe•6h ago•243 comments

Jiratui – A Textual UI for interacting with Atlassian Jira from your shell

https://jiratui.sh/
100•gjvc•7h ago•27 comments

Show HN: HumanAlarm – Real people knock on your door to wake you up

https://humanalarm.com
14•soelost•1h ago•17 comments

Harvey Mudd Miniature Machine

https://www.cs.hmc.edu/~cs5grad/cs5/hmmm/documentation/documentation.html
37•nill0•2d ago•13 comments

"No Tax on Tips" Includes Digital Creators, Too

https://www.hollywoodreporter.com/business/business-news/no-tax-on-tips-guidance-creators-trump-t...
52•aspenmayer•6h ago•69 comments

Picat: A Logic-based Multi-paradigm Language(2014) [pdf]

https://logicprogramming.org/wp-content/uploads/2014/07/alp14.pdf
3•b-man•2d ago•0 comments

Show HN: TailGuard – Bridge your WireGuard router into Tailscale via a container

https://github.com/juhovh/tailguard
84•juhovh•18h ago•22 comments

Kerberoasting

https://blog.cryptographyengineering.com/2025/09/10/kerberoasting/
132•feross•10h ago•47 comments

UGMM-NN: Univariate Gaussian Mixture Model Neural Network

https://arxiv.org/abs/2509.07569
23•zakeria•3h ago•6 comments

Zoox robotaxi launches in Las Vegas

https://zoox.com/journal/las-vegas
153•krschultz•7h ago•198 comments

Charlie Kirk killed at event in Utah

https://www.nbcnews.com/news/us-news/live-blog/live-updates-shooting-charlie-kirk-event-utah-rcna...
433•david927•3h ago•883 comments

The origin story of merge queues

https://mergify.com/blog/the-origin-story-of-merge-queues
64•jd__•6h ago•19 comments

Tarsnap is cozy

https://til.andrew-quinn.me/posts/tarsnap-is-cozy/
86•hiAndrewQuinn•10h ago•58 comments

Things you can do with a debugger but not with print debugging

https://mahesh-hegde.github.io/posts/what_debugger_can/
184•never_inline•3d ago•182 comments

Semantic Line Breaks (2017)

https://sembr.org
72•Bogdanp•3d ago•49 comments

TikTok has turned culture into a feedback loop of impulse and machine learning

https://www.thenexus.media/tiktok-won-now-everything-is-60-seconds/
249•natalie3p•6h ago•182 comments
Open in hackernews

Harvey Mudd Miniature Machine

https://www.cs.hmc.edu/~cs5grad/cs5/hmmm/documentation/documentation.html
37•nill0•2d ago

Comments

unzadunza•2h ago
I got all excited until I realized Harvey Mudd isn't Henry Mudd. This project would have had a lot more cred, in my book, if it were the latter.
neaden•2h ago
I feel like I'm missing something, Henry Mudd Harvey Mudd's son?
modeless•1h ago
I'm guessing he was probably trying to refer to Harry Mudd, the Star Trek character?
ChrisMarshallNY•1h ago
Harcourt Fenton Mudd.

https://www.youtube.com/watch?v=2FGgHEKko3E

gs17•1h ago
I'd be more excited if it was by Harry Mudd.
notherhack•1h ago
I was hoping for Harry Mudd's android-making machine from Star Trek OG. https://en.wikipedia.org/wiki/I%2C_Mudd
Meekro•30m ago
Harvey Mudd is a college in California, mostly specializing in STEM majors.
unzadunza•28m ago
Dammit, I messed it all up. I meant Harry Mudd from Star Trek, as most correctly guessed.
qoez•2h ago
This is only tangentially related but the best course that actually made real analysis click for me was from Harvey Mudd, seems like a solid university: https://www.youtube.com/playlist?list=PL04BA7A9EB907EDAF
queuebert•2h ago
Francis Su is one of the GOATs
pkasting•1h ago
Went there, can definitely recommend
leopd•41m ago
That was the class where I really learned how to prove things in math. Very challenging, and rewarding class.
Koshkin•1h ago
Nice.

Here's one from (the younger) me:

  =======================
  Description
  =======================
  
  24-bit words (no bytes, so no endianness)
  
  <op> 5 <dir/ind> 1 <r1/cond> 3 <r2> 3 <val> 12
  r2 = 0 means zero value
  
  dir/ind:
  
  0 dir
  1 ind
  
  cond:
  
  001 eq
  010 lt 
  1000 gt
  
  8 regs
  
  r0 = PC
  
  op:
  
  00x xx0 - type independent
  01x xx0 - bitwise
  10x xx0 - integer
  11x xx0 - floating-point
  
  ST 00 ; store (ignores ind/dir)
  LD 02 ; load/move
  BR 04 ; branch (rel/abs)
  
  SL 20 ; shift left
  SR 22 ; shift right
  SA 24 ; shift right arithmetical
  OR 26 ; or
  AN 30 ; and
  OX 32 ; or exclusive (xor)
  NO 34 ; not
  
  AD 40 ; add
  SB 42 ; subtract
  MU 44 ; multiply
  DV 46 ; divide
  CP 50 ; compare
  
  FA 60 ; add
  FS 62 ; subtract
  FM 64 ; multiply
  FD 66 ; divide
  FC 70 ; compare
  
  example:
  
  LD r1, [4096] ; |03121000|
  AD r1, 1      ; |40100001|
  LD r2, r1     ; |02210000|
  SB r2, 33     ; |42200033|
  BR le, exit   ; |04300001|
  ST r1, [4096] ; |01201000|
  exit: .
  
  floating-point format - normalized:
  
  <sign> 1 <exp> 7 <mantissa> 16 + 1 implicit
  
  literals:
  
  decimal: -8,388,608 ... 8,388,607 (can use commas)
  binary (in octal): |42200033|
  floating-point: 1.23e-45
  character sequence 'abc' (3 characters per word)
  
  r0 can be used as a temporary
  
  =======================
  Implementation
  =======================
  
  #include <stdio.h>
  #include <ctype.h>
  
  #define n 1024
  #define trace(op) fprintf(stderr, "%04o %s\n", r0, #op)
  
  enum {
         ST = 000, /* store (ignores ind/dir) */
         LD = 002, /* load/move */
         BR = 004, /* branch (ignores ind/dir) */
  
         SL = 020, /* shift left */
         SR = 022, /* shift right */
         SA = 024, /* shift right arithmetical */
         OR = 026, /* or */
         AN = 030, /* and */
         OX = 032, /* or exclusive (xor) */
         NO = 034, /* not */
  
         AD = 040, /* add */
         SB = 042, /* subtract */
         MU = 044, /* multiply */
         DV = 046, /* divide */
         CP = 050, /* compare */
  
         FA = 060, /* add */
         FS = 062, /* subtract */
         FM = 064, /* multiply */
         FD = 066, /* divide */
         FC = 070 /* compare */
  };
  
  int main() {
         static int b[n];
         /* load image */
         int c, *p, s, z;
         static int r[8];
         for (s = 21, p = b; p < b + n && (c = getchar()) > 0;)
                 if (isdigit(c) && c <= '7') {
                         *p |= (~0x30 & c) << s;
                         if (s)
                                 s -=3;
                         else
                                 s = 21, ++p;
                 }
         /* run image */
         c = 7;
         while (r[0] >= 0 && r[0] < n) {
                 int i, o, d, x, y, v, r0;
                 i = b[r0 = r[0]++]; /* inc PC */
                 o = (i >> 19 & 31) << 1;
                 d = !(i >> 18 & 1);
                 x = i >> 15 & 7;
                 y = i >> 12 & 7;
                 v = ((i << 20) >> 20) + (y ? r[y] : 0); /* assuming 32-bit ints */
                 switch(o) {
                         case ST: b[v] = r[x]; trace(ST); break;
                         case LD: r[x] = d ? v : b[v]; trace(LD); break;
                         case BR: if (x & c) r[0] += v; trace(BR); break;
                         case SL: r[x] <<= v; c = r[x] == 0 ? 1 : r[x] < 0 ? 2 : 4; trace(SL); break;
                         case SR: r[x] >> v; c = r[x] == 0 ? 1 : r[x] < 0 ? 2 : 4; trace(SR); break;
                         case SA: r[x] >> (unsigned) v; c = r[x] == 0 ? 1 : r[x] < 0 ? 2 : 4; trace(SA); break;
                         case OR: r[x] |= (d ? v : b[v]); c = r[x] == 0 ? 1 : r[x] < 0 ? 2 : 4; trace(OR); break;
                         case AN: r[x] &= (d ? v : b[v]); c = r[x] == 0 ? 1 : r[x] < 0 ? 2 : 4; trace(AN); break;
                         case OX: r[x] ^= (d ? v : b[v]); c = r[x] == 0 ? 1 : r[x] < 0 ? 2 : 4; trace(OX); break;
                         case NO: r[x] = ~r[x]; c = r[x] == 0 ? 1 : r[x] < 0 ? 2 : 4; trace(NO); break;
                         case AD: r[x] += (d ? v : b[v]); c = r[x] == 0 ? 1 : r[x] < 0 ? 2 : 4; trace(AD); break; 
                         case SB: r[x] -= (d ? v : b[v]); c = r[x] == 0 ? 1 : r[x] < 0 ? 2 : 4; trace(SB); break;
                         case MU: r[x] *= (d ? v : b[v]); c = r[x] == 0 ? 1 : r[x] < 0 ? 2 : 4; trace(MU); break;
                         case DV: r[x + 1] = r[x] % (d ? v : b[v]); r[x] /= (d ? v : b[v]); c = r[x] == 0 ? 1 : r[x] < 0 ? 2 : 4; trace(DV); break;
                         case CP: c = r[x] == (d ? v : b[v]) ? 1 : r[x] < (d ? v : b[v]) ? 2 : 4; trace(CP); break;
                         case FA: trace(FA); break; /* TODO */
                         case FS: trace(FS); break; /* TODO */
                         case FM: trace(FM); break; /* TODO */
                         case FD: trace(FD); break; /* TODO */
                         case FC: trace(FC); break; /* TODO */
                 }
         }
         /* print image */
         for (z = 0, p = b; p < b + n; ++p) 
                 if (*p) {
                         int m;
                         if (z) {
                                 puts("00000000");
                                 if (z > 3)
                                         puts("........");
                                 else if (z > 1)
                                         puts("00000000");
                                 if (z > 2)                      
                                         puts("00000000");
                                 z = 0;
                         }
                         for (s = 21, m = 7 << s; m; m >>= 3, s -= 3)
                                 putchar(0x30 | (*p & m) >> s);
                         putchar('\n');
                 }
                 else
                         ++z;
         return 0;
  }
  
  =======================
  Example: Bubble Sort
  =======================
  
  0000 LD r1, 10              ; n = 8        02100010
  
  repeat:
  0001 SB r1, 1               ; n = n - 1    42100001
  0002 LD r2, 0               ; i = 0        02200000
  0003 LD r3, 0               ; f = false    02300000
  
  compare:
  0004 LD r4, [r2 + data]     ;              03420021
  0005 CP r4, [r2 + data + 1] ;              51420022
  0006 BR le, next            ;              04300004
  
  0007 LD r5, [r2 + data + 1] ; swap         03520022
  0010 ST r5, [r2 + data]     ;              00520021
  0011 ST r4, [r2 + data + 1] ;              00420022
  0012 LD r3, 1               ; f = true     02300001
  
  next:
  0013 AD r2, 1               ; i = i + 1    40200001
  0014 CP r2, r1              ; i < n ?      50210000
  0015 BR lt, compare         ;              04207766
  
  0016 CP r3, 0               ; f = false ?  50300000
  0017 BR eq, 2000            ; exit         04102000
  0020 BR   , repeat          ;              04707760
  
  data:
  0021 9                      ;              00000011
  0022 8                      ;              00000010
  0023 5                      ;              00000005
  0024 6                      ;              00000006
  0025 3                      ;              00000003
  0026 7                      ;              00000007
  0027 2                      ;              00000002
  0030 1                      ;              00000001