B

Bisqwit

bisqwit.iki.fi · Personal blog · on HN since 2012

Bisqwit is a Finnish programmer who writes about dithering algorithms, OpenMP, emulation, and game source code, and also publishes essays against Islam.

What HN saysCommenters like his programming, speedrunning, and reverse engineering work and the Yliluoma dithering article, but one is uneasy about his anti-Islam writing.
46HN people shared it
30linked it in comments
16stories submitted
153story points
4 months agolast shared
2012people per year2026

Most-shared posts

  1. 1
  2. 2
  3. 3
    Rockman / Mega Man source code (2013)
    2 people · 51 points · first shared 2017 · 7 comments on HN
  4. 4
    Homepage
    2 people · first shared 2013
  5. 5
    FAQ
    2 people · first shared 2013
  6. 6
    Cv
    2 people · first shared 2019
  7. 7
    Islamicdeception
    2 people · first shared 2021
  8. 8
    How to Idle on IRC
    1 people · 4 points · first shared 2024 · discussion on HN
  9. 9
  10. 10
    Dynamic C++ expressions
    1 people · 2 points · first shared 2018 · discussion on HN
  11. 11
    Bisqwit's free software
    1 people · 2 points · first shared 2018 · discussion on HN
  12. 12
    How to undo pvremove when you should have run vgreduce
    1 people · 1 points · first shared 2013 · discussion on HN
  13. 13
    Nesemu1
    1 people · first shared 2013
  14. 14
    Jesus
    1 people · first shared 2024
  15. 15
    Animmerger
    1 people · first shared 2018

What HN people wrote when they linked it

throwawayk7h · 2024-06-29
I love his content, and his contributions to speedrunning, TAS, reverse engineering, etc. although his obsession with writing diatribes against Islam weirds me out. https://bisqwit.iki.fi/ https://bisqwit.iki.fi/story/apologetics/islamicdeception/
fayalalebrun · 2024-10-12
My favorite dithering algorithm for motion video is Yliluoma dithering: https://bisqwit.iki.fi/story/howto/dither/jy/ It is especially useful for grayscale content, as finding the optimal dithering matrix from the available palette is a straightforward exact operation, and the result can be placed in a LUT for real-time rendering. In my opinion it looks much better than bayer or random dithering, especially on gradients.
ricardobeat · 2023-01-12
Must be such a good feeling to have this legacy. Your father did great! This reminds of this great article about creating a modern ordered dithering algorithm, and its effect on animations: https://bisqwit.iki.fi/story/howto/dither/jy/
erwan577 · 2022-10-29
Bisqwit's nesemu1 source is 940 lines at https://bisqwit.iki.fi/jutut/kuvat/programming_examples/nesemu1/nesemu… It also uses SDL. NES emulation is a great low level programming project and the tradition will probably continue for some time.
arkitaip · 2021-07-18
≥ So it is no surprise that Muslims will attempt to take possession of, or destroy, everything that belongs to the Jews. The battle for the ownership of Jerusalem is not a religious one. It is not based on anything holy, anything to do with Allah. These are only excuses. It is simply a matter of claiming superiority over another nation: What Islam has been from day zero. “Allahu Akbar”, “Allah is Greater”. It is a war of superiority over another. Truth has nothing to do with it. Don't you love it when people self-expose themselves of being hateful creeps (there also this crap [0]). Nice one dude, now the entire world - including future employers - can see you for who you really are. [0] https://bisqwit.iki.fi/story/apologetics/islamicdeception/
dassurma · 2021-01-04
Author here! I can only refer to an article another comment also already mentioned. It is _excellent_ and covers animation & dithering: https://bisqwit.iki.fi/story/howto/dither/jy/
krelian · 2013-06-28
I don't know if a command line interface is what we need. I just want more like sites like these (just a couple of examples of the top of my head but generally you just "know" these when you see them): http://nuwen.net/ http://starling.rinet.ru/music/index.htm http://bisqwit.iki.fi/ http://www.worldhistorymaps.info/maps.html
BZH314 · 2018-06-30
@matts_ramblings approach is great to get a perfect authoritative reference we can use to test and/or train other tools. Other tools mapping the Super Mario Bros. levels: 1. animmerger [1] by bisqwit Written in C++. Takes png images as input. This tool seems to be the reference in creating level maps for Super Mario. Matt's tool seems to use animerger to generate the color palette according to the source code [2] 2. ALMA [3] by BZH314 (disclaimer: our baby project) Matt mentions using this approach as a possibility in the post. Written in Python using the OpenCV [4] computer vision library. ALMA takes videos as input, generates the map levels as images (png and animated gifs) and also generates the videos to show the algorithm in action [5] (shameless self plug: need more YouTube subscribers to get that sweet sweet vanity URL please :-) ALMA applies background subtraction to remove the moving enemies in order to keep only the background (a problem Matt's tool does not have) 3. Manually stitched If you're looking for good SMB1 level maps stitched manually, there are some good work out there: Rick N. Bruns' nesmaps.com [6] Mariowiki: example of World 1-1 [7] Are you aware of other tools out there? --- [1] https://bisqwit.iki.fi/source/animmerger.html [2] https://gist.github.com/matthewearl/733bba717780604813ed588d8ea7875f [3] https://bzh314.com/alma/ [4] https://opencv.org/ [5]…
makapuf · 2026-03-23
Interesting but you may also look and reference this article : https://bisqwit.iki.fi/story/howto/dither/jy/
omoikane · 2025-03-13
See also: "Joel Yliluoma's arbitrary-palette positional dithering algorithm" https://bisqwit.iki.fi/story/howto/dither/jy/ This page focuses on ordered dithering, which tend to work better for animations compared to error diffusion based dithering schemes (like the linked article).
murphyslab · 2024-06-29
You claim, as a "fact", that someone who wrote this [0], identifies as Jewish? [0]: https://bisqwit.iki.fi/jesus/
carrolldunham · 2021-12-05
Wow, sorry to be blunt but 1) it looks AWFUL. I didn't expect it to robustly-successfully redraw sources but this is just a dismal implementation of depth-reduction. 2) Its offensive, insulting, to say that this converts into 'pixel art'. 3) Not only that but it is trivial. I'm sure almost anyone reading will have done something at this level for interest in two or three lines and then abandoned it seeing how bad it looks. As a pallet cleanser (ha) here's an article about actually good low-color automated processing https://bisqwit.iki.fi/story/howto/dither/jy/
127 · 2021-04-13
Cool to see how to use Futhark for image processing and blue noise. Here's a couple more dithering algorithms: https://bisqwit.iki.fi/story/howto/dither/jy/
roninkoi · 2021-01-18
He used to! Now he is working as a developer again [1]. [1] https://bisqwit.iki.fi/cv.html
pan69 · 2021-01-17
He writes about religious stuff on his website. See "Writings" section. https://bisqwit.iki.fi/jutut/#h5
elitepleb · 2021-01-04
As for arbitrary-palette positional dithering, there's no better write up than https://bisqwit.iki.fi/story/howto/dither/jy/
imtringued · 2020-06-26
You have two grids. Clear grid 2. Go over grid 1, calculate the new state for the current cell, write it to the second grid. At the end of a step you swap the grids. Just slap on a good old "#pragma omp parallel for" with OpenMP (a nice guide is here [0]). [0] https://bisqwit.iki.fi/story/howto/openmp/ I also found this pdf if you are interested. http://www.shodor.org/media/content/petascale/materials/UPModules/Game…
camhenlin · 2017-10-16
For people interested in the SMB disassembly, you may also be interested in this one: http://bisqwit.iki.fi/jutut/megamansource/ NES MegaMan disassembly, with some comments
nayuki · 2017-10-06
Previous discussion: https://news.ycombinator.com/item?id=11886318 Another good page on image dithering: http://bisqwit.iki.fi/story/howto/dither/jy/
the8472 · 2015-03-16
> Dithering kills your compression savings in GIF Not as much as err-diff if you use custom-palette ordered dithering, since the ordering stays the same from frame to frame the transparent-pixel optimization applies, unlike error diffusion dithering. It's what photoshop uses to create optimized gif, although their particular approach is patented alternative algorithms exist, e.g. http://bisqwit.iki.fi/story/howto/dither/jy/
redline6561 · 2013-07-06
I've been stalled out on that for a month or two. The PPU has been quite tricky. I'll probably take inspiration from [nesemu1](http://bisqwit.iki.fi/jutut/kuvat/programming_examples/nesemu1/) for the next rewrite. Related (with screenshot!): http://blog.redlinernotes.com/posts/So-Close-and-Yet-So-Far.html If I can wind up with a NES emulator that is "fast enough" and 2500 lines of code instead of 75,000 (Fceux) or 150,000 (Nestopia) then I'll be happy.
molticrystal · 2022-10-29
> with no commentary or explanation. Enable subtitles/closed captioning to see additional commentary provided by him about what is happening. >the video is someone speed-typing the source code They are not actually typing it at all, from the faq https://bisqwit.iki.fi/jutut/kuvat/programming_examples/nesemu1/FAQ.tx… Q) Is the video sped up? Or, is that your real typing speed? A) No, it's not sped up. But the input is pre-choreographed. The computer implements the choreography, as well as designs a part of it. It is a TAS, except I'm not speedrunning; I'm just aiming for 15 minutes and to utilize it in the most entertaining manner. My typing speed is not the focus of that video; it is not even being presented except in a small part of the 2/2 video. The focus is in the source code. He actually wrote his own editor that he uses in the video and I believe that assists with the choreography.
userbinator · 2019-06-29
Yes, he is Finnish: https://bisqwit.iki.fi/cv.html
rasz_pl · 2016-06-12
Neat facts: -3DFX Voodoo (all models in 16bit color depth) let you enable hardware dithering block (2x2/4x4 ordered dither, zero performance penalty). They did it to save framebuffer space (24bit textures, 16bit framebuffer). It made 3dfx graphics look significantly better than nvidia/ati in 16bit depth. Earlier cards used 4x1 filter on the output, Banshee and later models gained 2x2 filter providing "22 bit like quality" as 3dfx called it. -Back in ~1994 some HP unix workstations used dithering to produce 'near 23bit color' out of 8bit framebuffer https://en.wikipedia.org/wiki/HP_Color_recovery -All crappy (TN) LCD panels (staple of garbage bin supermarket 1366x768 laptop, and older 'gaming' fullhd ones) use FRC which is a form of temporal dithering https://en.wikipedia.org/wiki/Frame_rate_control One legitimate use of dithering was in the days of CGA/EGA/other fixed palette hardware. You can relive it here 'Joel Yliluoma's arbitrary-palette positional dithering algorithm': http://bisqwit.iki.fi/story/howto/dither/jy/
codetrotter · 2018-09-29
There’s also a guy from Finland that wrote his own QuickBasic compiler and is doing some pretty cool videos on YouTube under the handle Bisqwit, with some of the videos talking about things he wrote or prototyped using QuickBasic. https://bisqwit.iki.fi/source/qbc.html https://youtu.be/TUa5HJUebEA https://youtu.be/8x9Ya4izFaE https://youtu.be/ZwcFV3KrnQA https://youtu.be/5Da6ZyQJjE0 https://www.youtube.com/playlist?list=PL41889A5E9CBD68CF

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close