2026/04/03

Newest at the top

2026-04-03 14:07:22 +0000GdeVolpiano(~GdeVolpia@user/GdeVolpiano) GdeVolpiano
2026-04-03 14:05:23 +0000GdeVolpiano(~GdeVolpia@user/GdeVolpiano) (Ping timeout: 252 seconds)
2026-04-03 13:59:35 +0000Nosrep(~jimothy@user/nosrep) Nosrep
2026-04-03 13:57:40 +0000acidjnk_new(~acidjnk@p200300d6e700e5029fa95e10e4e0754b.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2026-04-03 13:48:13 +0000 <gentauro> :)
2026-04-03 13:47:29 +0000byorgey(~byorgey@user/byorgey) (Quit: leaving)
2026-04-03 13:42:18 +0000somemathguy(~somemathg@user/somemathguy) (Ping timeout: 246 seconds)
2026-04-03 13:34:38 +0000 <tomsmeding> gentauro: ^
2026-04-03 13:34:07 +0000 <tomsmeding> added it to the sandbox
2026-04-03 13:33:51 +0000 <yahb2> "V4\205\ESC\247Kv\194\EOT\144\DLEf\165\211%\201\197&\156\ESC\190\CAN*\RS\CAN\215Fj\"\226n\CAN"
2026-04-03 13:33:51 +0000 <tomsmeding> % Data.ByteString.Lazy.take 32 <$> Data.ByteString.Lazy.readFile "/dev/urandom"
2026-04-03 13:33:45 +0000 <yahb2> <bye>
2026-04-03 13:33:45 +0000 <tomsmeding> % :q
2026-04-03 13:32:30 +0000 <tomsmeding> int-e: cool
2026-04-03 13:19:48 +0000synchromesh(~john@2406:5a00:2412:2c00:343e:4e23:bce:73a3) synchromesh
2026-04-03 13:18:50 +0000 <yahb2> 1080570571463088587
2026-04-03 13:18:50 +0000 <int-e> % alloca (\p -> getrandom p 8 0 >> peek p) :: IO Word
2026-04-03 13:18:40 +0000synchromesh(~john@2406:5a00:2412:2c00:343e:4e23:bce:73a3) (Read error: Connection reset by peer)
2026-04-03 13:18:40 +0000 <yahb2> <no output>
2026-04-03 13:18:40 +0000 <int-e> % foreign import ccall getrandom :: Ptr a -> CSize -> CInt -> IO CSize
2026-04-03 13:11:11 +0000tromp(~textual@2001:1c00:340e:2700:f5b2:b468:1c7d:8570)
2026-04-03 13:05:52 +0000czan(~czan@user/mange) (Quit: Zzz...)
2026-04-03 13:05:27 +0000 <int-e> oh, haha
2026-04-03 13:05:26 +0000divlamir(~divlamir@user/divlamir) divlamir
2026-04-03 13:05:19 +0000 <yahb2> *** Exception: /dev/urandom: openBinaryFile: does not exist (No such file or directory) ; ; HasCallStack backtrace: ; ioError, called at libraries/ghc-internal/src/GHC/Internal/Foreign/C/Error.h...
2026-04-03 13:05:19 +0000 <int-e> % Data.ByteString.Lazy.take 32 <$> Data.ByteString.Lazy.readFile "/dev/urandom"
2026-04-03 13:05:00 +0000divlamir(~divlamir@user/divlamir) (Read error: Connection reset by peer)
2026-04-03 13:02:57 +0000tromp(~textual@2001:1c00:340e:2700:f5b2:b468:1c7d:8570) (Quit: My iMac has gone to sleep. ZZZzzz…)
2026-04-03 12:50:32 +0000craunts795335385(~craunts@152.32.99.2) (Quit: The Lounge - https://thelounge.chat)
2026-04-03 12:36:00 +0000 <tomsmeding> ¯\_(ツ)_/¯
2026-04-03 12:35:48 +0000 <tomsmeding> ... interesting, that typo didn't change the results; I wonder if that means that x just doesn't have high bits?
2026-04-03 12:34:56 +0000 <yahb2> [14283230361796891556,4031505161050178,7205329903210052357,4002821135440958291]
2026-04-03 12:34:56 +0000 <tomsmeding> % take 4 . map fst . iterate (cwg64 . snd) $ cwg64 (newRNG 42)
2026-04-03 12:34:53 +0000 <yahb2> <no output>
2026-04-03 12:34:53 +0000 <tomsmeding> % cwg64 :: RNG -> (Word64, RNG) ; cwg64 (RNG x a w s) = let x' = (x `quot` 2) * ((a + x) .|. 1) `xor` (w + s) in ((a+x) `shiftR` 48 `xor` x', RNG x' (a+x) (w+s) s)
2026-04-03 12:33:24 +0000 <yahb2> [14283230361796893884,4031505161053706,7205329903210052340,4002821135440951121]
2026-04-03 12:33:24 +0000 <tomsmeding> % take 4 . map fst . iterate (cwg64 . snd) $ cwg64 (newRNG 42)
2026-04-03 12:32:48 +0000 <yahb2> <no output>
2026-04-03 12:32:48 +0000 <tomsmeding> % newRNG :: Word64 -> RNG ; newRNG seed = iterate (snd . cwg64) (RNG 0 0 0 (2*seed+1)) !! 48
2026-04-03 12:32:43 +0000 <yahb2> <no output>
2026-04-03 12:32:43 +0000 <tomsmeding> % cwg64 :: RNG -> (Word64, RNG) ; cwg64 (RNG x a w s) = let x' = (x `quot` 2) * ((a + x) .|. 1) `xor` (w + s) in (a `shiftR` 48 `xor` x', RNG x' (a+x) (w+s) s)
2026-04-03 12:32:37 +0000 <yahb2> <no output>
2026-04-03 12:32:37 +0000 <tomsmeding> % data RNG = RNG Word64 Word64 Word64 Word64 deriving (Show) -- https://arxiv.org/pdf/2312.17043 CWG64
2026-04-03 12:32:25 +0000 <yahb2> <no output>
2026-04-03 12:32:25 +0000 <tomsmeding> % :m Data.Bits Data.Word
2026-04-03 12:30:57 +0000somemathguy(~somemathg@user/somemathguy) somemathguy
2026-04-03 12:25:54 +0000tromp(~textual@2001:1c00:340e:2700:f5b2:b468:1c7d:8570)
2026-04-03 12:24:35 +0000xff0x(~xff0x@2405:6580:b080:900:ec01:f28c:6f01:3489)
2026-04-03 12:13:22 +0000 <gentauro> tomsmeding: how do you invoke our Lord and Saviour RNGesus here?
2026-04-03 12:12:45 +0000 <gentauro> tomsmeding: :(