XSF Discussion - 2019-10-27

  1. mukt2 has joined
  2. karoshi has left
  3. pdurbin has left
  4. andy has left
  5. lskdjf has left
  6. zach has left
  7. zach has joined
  8. mukt2 has left
  9. Daniel has joined
  10. arc has left
  11. arc has joined
  12. !XSF_Martin has left
  13. !XSF_Martin has joined
  14. zach has left
  15. zach has joined
  16. j.r has left
  17. j.r has joined
  18. andrey.g has joined
  19. aj has joined
  20. zach has left
  21. zach has joined
  22. winfried has left
  23. winfried has joined
  24. winfried has left
  25. winfried has joined
  26. j.r has left
  27. j.r has joined
  28. mukt2 has joined
  29. debacle has left
  30. Douglas Terabyte has joined
  31. j.r has left
  32. j.r has joined
  33. zach has left
  34. zach has joined
  35. aj has left
  36. pdurbin has joined
  37. moparisthebest has left
  38. moparisthebest has joined
  39. mukt2 has left
  40. alameyo has left
  41. alameyo has joined
  42. zach has left
  43. zach has joined
  44. adiaholic has left
  45. Zash has left
  46. !XSF_Martin has left
  47. !XSF_Martin has joined
  48. neshtaxmpp has left
  49. neshtaxmpp has joined
  50. zach has left
  51. zach has joined
  52. mukt2 has joined
  53. mukt2 has left
  54. pdurbin has left
  55. adiaholic has joined
  56. matlag has joined
  57. adiaholic has left
  58. adiaholic has joined
  59. aj has joined
  60. lorddavidiii has joined
  61. zach has left
  62. zach has joined
  63. adiaholic has left
  64. zach has left
  65. zach has joined
  66. david has left
  67. !XSF_Martin has left
  68. adiaholic has joined
  69. Douglas Terabyte has left
  70. Douglas Terabyte has joined
  71. david has joined
  72. adiaholic has left
  73. !XSF_Martin has joined
  74. adiaholic has joined
  75. aj has left
  76. mukt2 has joined
  77. zach has left
  78. zach has joined
  79. lorddavidiii has left
  80. lorddavidiii has joined
  81. Nekit has joined
  82. mukt2 has left
  83. adiaholic has left
  84. adiaholic has joined
  85. xalek has left
  86. Mikaela has joined
  87. david has left
  88. pdurbin has joined
  89. moparisthebest has left
  90. moparisthebest has joined
  91. Mikaela has left
  92. Mikaela has joined
  93. arc has left
  94. arc has joined
  95. zach has left
  96. zach has joined
  97. pdurbin has left
  98. adiaholic has left
  99. andy has joined
  100. waqas has joined
  101. !XSF_Martin has left
  102. !XSF_Martin has joined
  103. arc has left
  104. arc has joined
  105. karoshi has joined
  106. zach has left
  107. zach has joined
  108. adiaholic has joined
  109. zach has left
  110. zach has joined
  111. Tobias has joined
  112. mukt2 has joined
  113. !XSF_Martin has left
  114. mukt2 has left
  115. !XSF_Martin has joined
  116. jmpman has joined
  117. waqas has left
  118. adiaholic has left
  119. krauq has left
  120. adiaholic has joined
  121. Shell has left
  122. Shell has joined
  123. krauq has joined
  124. zach has left
  125. zach has joined
  126. wurstsalat has left
  127. lorddavidiii has left
  128. pdurbin has joined
  129. lorddavidiii has joined
  130. adiaholic has left
  131. adiaholic has joined
  132. zach has left
  133. Nekit has left
  134. zach has joined
  135. j.r has left
  136. j.r has joined
  137. pdurbin has left
  138. adiaholic has left
  139. adiaholic has joined
  140. adiaholic has left
  141. adiaholic has joined
  142. jmpman has left
  143. j.r has left
  144. j.r has joined
  145. zach has left
  146. zach has joined
  147. aj has joined
  148. debacle has joined
  149. wurstsalat has joined
  150. mukt2 has joined
  151. zach has left
  152. zach has joined
  153. j.r has left
  154. mukt2 has left
  155. Zash has joined
  156. jonas’ MattJ, blurhash calculated server-side or blurhash expected to be sent from the client?
  157. zach has left
  158. zach has joined
  159. j.r has joined
  160. lovetox has joined
  161. lskdjf has joined
  162. mathijs has left
  163. mathijs has joined
  164. pdurbin has joined
  165. Ge0rG I'd say it should be part of the SIMS
  166. winfried has left
  167. winfried has joined
  168. winfried has left
  169. andrey.g has left
  170. winfried has joined
  171. j.r has left
  172. matkor has left
  173. matkor has joined
  174. zach has left
  175. zach has joined
  176. pdurbin has left
  177. jubalh has joined
  178. j.r has joined
  179. emus has joined
  180. adiaholic has left
  181. moparisthebest has left
  182. moparisthebest has joined
  183. jubalh has left
  184. LNJ has joined
  185. andrey.g has joined
  186. lskdjf has left
  187. lskdjf has joined
  188. adiaholic has joined
  189. jabberjocke has left
  190. zach has left
  191. zach has joined
  192. jubalh has joined
  193. jubalh has left
  194. adiaholic has left
  195. adiaholic has joined
  196. adiaholic has left
  197. adiaholic has joined
  198. !XSF_Martin has left
  199. !XSF_Martin has joined
  200. mukt2 has joined
  201. Shell has left
  202. zach has left
  203. zach has joined
  204. mukt2 has left
  205. chronosx88 has joined
  206. Shell has joined
  207. zach has left
  208. zach has joined
  209. pdurbin has joined
  210. Shell has left
  211. pdurbin has left
  212. Shell has joined
  213. zach has left
  214. zach has joined
  215. LNJ has left
  216. wurstsalat has left
  217. wurstsalat has joined
  218. MattJ jonas’: I think either works - there are some advantages to client-side (sender)
  219. Ge0rG MattJ: what's the benefit of blurhash over a small BoB preview?
  220. MattJ Sender controlled preview doesn't necessarily cover the NSFW case without extra work
  221. Ge0rG the only difference between blurhash and preview is the resolution, right?
  222. MattJ Kinda, kinda not
  223. MattJ You can get away with lower resolution blurhash because of the blurring
  224. MattJ Preview at the same resolution would be blocky
  225. MattJ Very
  226. zach has left
  227. zach has joined
  228. Ge0rG MattJ: most modern rendering algorithms will blur instead of blocking
  229. MattJ All blurhash algorithms blur, regardless of image type/etc.
  230. Zash All? There's more than one?
  231. MattJ Implementations
  232. MattJ Sorry, I have a baby in one hand and the other is multitasking between making lunch and typing
  233. Ge0rG MattJ: if we add a BoB into SIMS, we surely can demand it to be blurred up to the original image resolution ;)
  234. Zash And like a tiny very compressed jpeg image there
  235. Zash 8x8 or smaller
  236. MattJ I really don't care if you want to spec the same effect a different way that works
  237. MattJ I am just trying to do stuff
  238. MattJ Currently that means I am not going to get everyone in a channel to upgrade their clients to one that sends a hash, but I have a bit of influence on the server sidr
  239. MattJ Currently that means I am not going to get everyone in a channel to upgrade their clients to one that sends a hash, but I have a bit of influence on the server side
  240. MattJ Blurhash is well defined with multiple libraries available
  241. Ge0rG JPEG is well defined with multiple libraries available ;)
  242. MattJ If you can do better, I beg you to
  243. Zash Reviwe progessive JPEG! :)
  244. jonas’ 12:29:19 Ge0rG> MattJ: most modern rendering algorithms will blur instead of blocking Quality of blurhash isn’t comparable to linearly interpolated pixels of a low-res previow
  245. Ge0rG Zash: awesome idea! make the preview image the first layer of the progressive jpeg, that way we can skip some bits on the actual transmission!
  246. Ge0rG jonas’: this is exactly what I want to learn - what's the difference?
  247. jonas’ https://blurha.sh/
  248. jonas’ look at it
  249. jonas’ technically, I think they use spherical functions or something like that and save the coefficients for those
  250. jonas’ but I haven’t gotten around to look into it in more detail yet
  251. Zash From when I read the spec it sounded like one block of JPEG
  252. Ge0rG converting an image into an 8x8 px JPEG is a standard feature of any platform that supports JPEG images. Converting into blurha.sh... not so much
  253. Shell has left
  254. j.r has left
  255. j.r has joined
  256. LNJ has joined
  257. zach has left
  258. zach has joined
  259. adiaholic has left
  260. adiaholic has joined
  261. debacle has left
  262. zach has left
  263. zach has joined
  264. zach has left
  265. zach has joined
  266. MattJ The 4x3 JPEG file I made is 667 bytes compared to 28 bytes for the same image's blurhash
  267. MattJ and some things display it blocky, some do blur (but so far I haven't managed to find an image viewer that does blur and also allows unlimited zoom)
  268. mukt2 has joined
  269. j.r has left
  270. Daniel That's one of these moments where actually studying that stuff at university would have been helpful. Because I don't really understand what blurhash is doing
  271. Daniel Need to ask my university buddies at some point
  272. mukt2 has left
  273. j.r has joined
  274. zach has left
  275. zach has joined
  276. edhelas I really like the idea behind blurhash, would be pleased to use it in Movim :)
  277. Chobbes has joined
  278. mukt2 has joined
  279. pdurbin has joined
  280. Ge0rG again, what's the actual benefit over a significantly downscaled picture?
  281. sonny has joined
  282. adiaholic has left
  283. adiaholic has joined
  284. Zash Presumably that the "hash" is smaller.
  285. zach has left
  286. zach has joined
  287. pdurbin has left
  288. Daniel No jpeg overhead?
  289. Daniel The decoding / upscalling is specified?
  290. Ge0rG the jpeg overhead needs to be offset by the additional library overhead, though ;)
  291. Ge0rG okay, https://github.com/woltapp/blurhash/blob/master/Kotlin/lib/src/main/java/com/wolt/blurhashkt/BlurHashDecoder.kt doesn't look like a huge overhead ;)
  292. mukt2 has left
  293. Ge0rG > We usually decode placeholders that are 32 or even 20 pixels wide, and then let the UI layer scale them up, which is indistinguishable from decoding them at full size.
  294. Ge0rG Heh.
  295. mukt2 has joined
  296. Zash Huh
  297. zach has left
  298. zach has joined
  299. aj has left
  300. adiaholic has left
  301. adiaholic has joined
  302. david has joined
  303. Chobbes has left
  304. Chobbes has joined
  305. zach has left
  306. zach has joined
  307. mukt2 has left
  308. j.r has left
  309. j.r has joined
  310. jmpman has joined
  311. waqas has joined
  312. waqas has left
  313. waqas has joined
  314. edhelas has left
  315. edhelas has joined
  316. adiaholic has left
  317. adiaholic has joined
  318. sonny has left
  319. LNJ has left
  320. sonny has joined
  321. LNJ has joined
  322. adiaholic has left
  323. adiaholic has joined
  324. zach has left
  325. zach has joined
  326. j.r has left
  327. j.r has joined
  328. edhelas has left
  329. j.r has left
  330. j.r has joined
  331. edhelas has joined
  332. edhelas could be really nice to also use it for the avatars :)
  333. zach has left
  334. zach has joined
  335. LNJ has left
  336. LNJ has joined
  337. Yagiza has joined
  338. Yagiza has left
  339. Yagiza has joined
  340. jmpman has left
  341. j.r has left
  342. zach has left
  343. zach has joined
  344. j.r has joined
  345. jmpman has joined
  346. adiaholic has left
  347. debacle has joined
  348. zach has left
  349. zach has joined
  350. adiaholic has joined
  351. goffi has joined
  352. adiaholic has left
  353. mukt2 has joined
  354. andy has left
  355. zach has left
  356. zach has joined
  357. andy has joined
  358. jmpman has left
  359. xalek has joined
  360. mukt2 has left
  361. zach has left
  362. zach has joined
  363. edhelas has left
  364. neshtaxmpp has left
  365. neshtaxmpp has joined
  366. edhelas has joined
  367. neshtaxmpp has left
  368. neshtaxmpp has joined
  369. mukt2 has joined
  370. emus has left
  371. emus has joined
  372. neshtaxmpp has left
  373. neshtaxmpp has joined
  374. neshtaxmpp has left
  375. zach has left
  376. zach has joined
  377. mukt2 has left
  378. mukt2 has joined
  379. lorddavidiii has left
  380. lorddavidiii has joined
  381. neshtaxmpp has joined
  382. neshtaxmpp has left
  383. neshtaxmpp has joined
  384. adiaholic has joined
  385. karoshi has left
  386. mathijs has left
  387. mathijs has joined
  388. moparisthebest has left
  389. moparisthebest has joined
  390. zach has left
  391. zach has joined
  392. Chobbes has left
  393. Douglas Terabyte has left
  394. mukt2 has left
  395. adiaholic has left
  396. adiaholic has joined
  397. mukt2 has joined
  398. chronosx88 has left
  399. adiaholic has left
  400. chronosx88 has joined
  401. neshtaxmpp has left
  402. neshtaxmpp has joined
  403. zach has left
  404. zach has joined
  405. neshtaxmpp has left
  406. neshtaxmpp has joined
  407. debacle has left
  408. Douglas Terabyte has joined
  409. andy has left
  410. andy has joined
  411. pdurbin has joined
  412. lskdjf has left
  413. lskdjf has joined
  414. larma has left
  415. larma has joined
  416. zach has left
  417. zach has joined
  418. pdurbin has left
  419. mukt2 has left
  420. mukt2 has joined
  421. karoshi has joined
  422. Yagiza has left
  423. sonny has left
  424. xalek has left
  425. lskdjf has left
  426. lskdjf has joined
  427. zach has left
  428. zach has joined
  429. jubalh has joined
  430. jubalh has left
  431. mukt2 has left
  432. mukt2 has joined
  433. mathijs has left
  434. mathijs has joined
  435. mathijs has left
  436. jubalh has joined
  437. mathijs has joined
  438. zach has left
  439. zach has joined
  440. !XSF_Martin has left
  441. !XSF_Martin has joined
  442. eevvoor has joined
  443. jubalh has left
  444. zach has left
  445. zach has joined
  446. jonas’ I’d question the "shell-safe" base83 encoding though. the character set contains $ and * and # and { and } and [ and ]
  447. jonas’ not that it matters much
  448. jonas’ Daniel, they essentially do what jpeg does
  449. jonas’ I’m not quite sure why the rendering is that much better though
  450. jonas’ maybe because they have more bits for the few pixels
  451. Zash Because it's done in JavaScript of course
  452. Shell has joined
  453. jonas’ ah, probably because what jpeg would normally expand to just 8x8 pixels, they expand to more pixels, and they don’t do that linearly, but they evaluate the cosine functions the DCT gave
  454. jonas’ that’s why it’s smoother than upscaling a 8x8 jpeg
  455. zach has left
  456. zach has joined
  457. chronosx88 has left
  458. mathijs has left
  459. mathijs has joined
  460. chronosx88 has joined
  461. zach has left
  462. zach has joined
  463. pdurbin has joined
  464. jabberjocke has joined
  465. Syndace has left
  466. pdurbin has left
  467. Syndace has joined
  468. Shell has left
  469. derdaniel has joined
  470. lovetox has left
  471. mukt2 has left
  472. Nekit has joined
  473. lovetox has joined
  474. mukt2 has joined
  475. lovetox what i dont get
  476. lovetox ok there are librarys who let me get the hash from a picture
  477. lovetox but i dont see one that let me get a picture from the hash
  478. jonas’ note, blurhash is a misnomer
  479. jonas’ it’s not a cryptographic one-way hash function
  480. alameyo has left
  481. jonas’ lovetox, https://github.com/halcy/blurhash-python here is an encoder and decoder thing
  482. lovetox where do you see the decode?
  483. jonas’ https://github.com/halcy/blurhash-python/blob/master/blurhash/blurhash.py#L77
  484. lovetox hm yeah but this is some fork
  485. lovetox not the original project
  486. lovetox but good :)
  487. jonas’ it’s linked in their readme
  488. jonas’ I guess their decoders are all JS because web
  489. lovetox yeah hm the original project has it in c and only wraps in python
  490. lovetox also it lets me just pass a filename
  491. lovetox with this fork, i have to install PIL and numpy to even pass something to the lib
  492. jonas’ which makes sense
  493. jonas’ (the original C thing also is only an encoder)
  494. lovetox why does it make sense, i will never install numpy and PIL only to get a blurhash
  495. lovetox insane to me :)
  496. david has left
  497. jonas’ you need PIL to load image data
  498. jonas’ you need numpy to efficiently calculate the DCT and do the inverse
  499. neshtaxmpp has left
  500. lovetox i dont think so, the c implementation doesnt need numpy so why should the python one
  501. jonas’ you can do it in pure python, but it’ll be slow
  502. lovetox they should just add a decode method to the c version
  503. lovetox and nobody needs the pure python one
  504. jonas’ I bet "PRs welcome"
  505. jonas’ except that the C version has restrictions on the input file formats. e.g. they don’t support all JPEG and PNG variants
  506. eevvoor has left
  507. zach has left
  508. zach has joined
  509. david has joined
  510. lovetox or i save me the whole trouble with 3 thirdparty librarys
  511. lovetox and just show the same blurred out placeholder for all pictures
  512. lovetox this seems like a gimmick, i get that its nice for webpages with many pictures
  513. lovetox but for a messaging client where most of the time only one picture is on the screen
  514. lovetox i would not add all that stuff
  515. arc has left
  516. arc has joined
  517. lorddavidiii has left
  518. Chobbes has joined
  519. Nekit has left
  520. moparisthebest has left
  521. moparisthebest has joined
  522. Chobbes has left
  523. david has left
  524. david has joined
  525. mukt2 has left
  526. adiaholic has joined
  527. mukt2 has joined
  528. zach has left
  529. zach has joined
  530. adiaholic has left
  531. chronosx88 has left
  532. jubalh has joined
  533. adiaholic has joined
  534. zach has left
  535. zach has joined
  536. adiaholic has left
  537. adiaholic has joined
  538. Chobbes has joined
  539. mukt2 has left
  540. xalek has joined
  541. Tobias has left
  542. xalek has left
  543. jubalh has left
  544. pdurbin has joined
  545. zach has left
  546. zach has joined
  547. mukt2 has joined
  548. debacle has joined
  549. pdurbin has left
  550. david has left
  551. adiaholic has left
  552. david has joined
  553. lovetox has left
  554. !XSF_Martin has left
  555. goffi has left
  556. karoshi has left
  557. !XSF_Martin has joined
  558. xalek has joined
  559. emus has left
  560. emus has joined
  561. LNJ has left
  562. zach has left
  563. zach has joined
  564. wurstsalat has left
  565. Mikaela has left
  566. Shell has joined
  567. david has left
  568. david has joined
  569. zach has left
  570. zach has joined
  571. zach has left
  572. zach has joined
  573. andy has left
  574. mukt2 has left
  575. david has left
  576. emus has left
  577. david has joined
  578. neshtaxmpp has joined
  579. mukt2 has joined
  580. zach has left
  581. zach has joined