Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    J

    Jari Komppa

    sol.gfxile.net · Personal blog · on HN since 2008

    Jari Komppa, a game programmer, writes on graphics, GUIs, interpolation, and retro porting, and made the GalaXQL SQL tutorial.

    Visit blogHN submissions
    ProgrammingGamesDatabases
    What HN says

    HN commenters cite his interpolation page, with its smoothstep demo, and recount posts like porting Death Rally from DOS to Windows.

    Stats for nerds
    44HN people shared it
    22linked in comments
    237story points
    Aug 2022last shared
    2010people per year2022

    Top posts on HN

    1. 1
      Interpolation Tricks
      2 people · 75 points · first shared 2011 · 16 comments on HN
    2. 2
      Porting Death Rally from DOS to Windows (2010)
      3 people · 62 points · first shared 2013 · 12 comments on HN
    3. 3
      GalaXQL – Interactive SQL tutorial
      5 people · 29 points · first shared 2010 · 2 comments on HN
    4. 4
      Sol on Immediate Mode GUIs (IMGUI)
      5 people · 27 points · first shared 2010 · 15 comments on HN
    5. 5
      Interpolation Tricks
      2 people · 20 points · first shared 2014 · Discussion on HN
    6. 6
      So you want to make your own MMORPG?
      2 people · 6 points · first shared 2009 · 1 comments on HN
    7. 7
      Don't ask to ask, just ask
      5 people · 4 points · first shared 2018 · Discussion on HN
    8. 8
      SoLoud – Easy to use, free, portable c/c++ audio engine for games
      2 people · 2 points · first shared 2017 · Discussion on HN
    9. 9
      Ludum Dare Survival Guide
      1 person · 2 points · first shared 2012 · Discussion on HN
    10. 10
      Porting Death Rally from DOS to Windows
      1 person · 2 points · first shared 2014 · Discussion on HN

    What HN people wrote when they linked it

    • LercApr 2013

      >continue to do great work and we will reach out to you.

      That's a bit of a sticky problem. It's a hard job finding worthy projects that than benefit the most from funding. There are a lot of projects out there. Some have a lot of potential but identifying them isn't easy.

      I can understand why there isn't a sign saying "I'm giving away money, apply here." That is a recipe to be inundated with requests where the the most worthy lose out to those more skilled at applying for grants.

      I wonder if there is scope for a crowd sourced intermediary here. We all think about the worthy causes we could support if we were mega rich. Maybe what we need is a "If I had a Billion Dollars" website where people suggest and critique causes to enable those who do have the money can look to see where they can do the most good.

      Specifically for Open Source, I have found quiet little projects that could benefit from grants, projects that would never actually seek out funding in their own right. Another aspect are projects that are not yet open source that could possibly be liberated with a fair payment. I see things like http://en.wikipedia.org/wiki/Pixel_Studio_Pro which I doubt will ever be finished as a proprietary project, but might have a chance as open source. Similarly http://sol.gfxile.net/atanua/ is an excellent program that is largely lying idle. Both of these could be possibly bought into the open source world if their respective developers were offered some compensation…

    • ryandrakeOct 2019

      > OpenGL is an outdated design for modern GPUs. Its featureset and architecture is too high level, leading to more buggy drivers and complicated legacy support.

      This is only a problem for game developers who live right on the GPU hardware and need to squeeze absolutely all the performance out of it. Which is probably a small number of admittedly very important developers: Game engines and AAA studios. For the rest of developers who have more modest requirements, I don't really understand what "modern" graphics APIs provide, besides tons of extra boilerplate code and headaches.

      When I was a graphics programming newbie, it was great to have the whole fixed function pipeline all set up and ready for me to experiment and learn. If I had to learn from nothing on Vulkan, I'd probably have given up before the first 1000 lines. Drawing a triangle in OpenGL vs. Vulkan: http://sol.gfxile.net/temp/hellotriangle.png

      It's so strange--in most of the software world, newer APIs and tools tend to be higher and higher level abstractions. "Modern" Electron apps run Javascript, HTML and CSS on an embedded browser which itself running on a high-level native toolkit which is probably written in C or C++, which compiles to assembly, etc. You can have a web server in one line of python. In contrast, the more modern graphics APIs get, the lower-level and more verbose they get.

    • scarboySep 2010

      This looks like a neat piece of software to put on the web. It is, however, lacking usability. As a student learning digital design, you want circuit diagrams to be clear and results to be easily and quickly visible.

      Wires between nodes are laid out automatically and can not be routed on a grid. In a big design (not that this is meant for that) things will get messy quickly.

      You have to click simulate to see the results of your circuit. This is annoying. These circuits are simple and the output can easily be detected whenever a change is made.

      Another useful feature is the have keys (0-9) mapped to switches. Testing, for instance, a four bit multiplier would be much easier if you don't have to operate the mouse so much.

      I hate to recommend another piece of software, but I think the authors can learn a lot from it's features. Atanua (http://sol.gfxile.net/atanua/) is a cross-platform logic simulator that has all of the above features. It was a great tool when I needed to quickly prototype something for a class, and I still recommend it to students in a class I TA. It hasn't been updated in a while, the OSX version has to be run through Rosetta, but I can't see any glaring omissions the author made that would make it unusable.

      Finally, it's 2010, this would make an awesome HTML5 app instead of being written in Flash.

    • doomlaserNov 2014

      I think it's crazy how one guy's static interpolation curves (http://www.robertpenner.com/easing/) keep showing up verbatim in an ever increasing array of tweening frameworks over a decade since he first posted them.

      These interpolation curves can be nice in a pinch, but like I said before, the curves the curves are static, and so you can run into problems if you want to interrupt an action with another, or layer multiple tweens together.

      One particularly effective way to get natural eased motion is to use a function that outputs something like the movement of a simple damped harmonic spring. With a system like this, you specify a target position relative to the current position, the sponginess of the spring, and the speed of which it oscillates. This can give you very natural results and feels a lot closer to a real physical system than a lot of these interpolation curves (EaseInOutExp, etc).

      Here's some code for a damped spring system that can work really well as an alternative to predefined tween curves in user interfaces and games: http://www.ryanjuckett.com/programming/damped-springs/

      And for more non-Penner interpolation alternatives, check out: http://sol.gfxile.net/interpolation/

    • knight17May 2020

      Here are some other SQL Learning resources I have collected in my note taking TiddlyWiki (mostly from HN itself).

      Interactive SQL Tutorials :

      ▪ Chartio Interactive PostgreSQL SQL Tutorial - https://chartio.com/learn/sql/

      ▪ Select STAR SQL - https://selectstarsql.com/

      ▪ SQL Bolt - Learn SQL with simple, interactive exercises - https://sqlbolt.com/

      ▪ SQL Window functions - https://www.windowfunctions.com/

      ▪ PostgreSQL Exercises - https://pgexercises.com/

      ▪ SQL Zoo - http://sqlzoo.net/

      ▪ SQL Teaching - https://www.sqlteaching.com/

      ▪ ByteScout SQL Trainer - Use live data to train - https://app.bytescout.com/sql-trainer/index.html

      ▪ Schemaverse - A space-based strategy game implemented entirely within a PostgreSQL database - https://schemaverse.com/

      ▪ Oracle Live SQL - Lerarn and share SQL - https://livesql.oracle.com/

      ▪ GalaXQL 3.0 - an intractive tutorial with exploring the galaxy - http://sol.gfxile.net/g3/

      ▪ SQL Exercises - http://sql-ex.ru/index.php

    • malkiaNov 2020

      I first got introduced to the concept by his talk, and this implementation here - http://sol.gfxile.net/imgui/ch01.html (latest archive I could find - https://web.archive.org/web/20200428143845/http://sol.gfxile.net/imgui/ch01.html)

      I've did some translations of the above C/C++ code to lua longtime here (actually luajit, as it requires the FFI) - https://github.com/malkia/ufo/blob/master/samples/SDL/imgui/ch01.lua (simplest example) through https://github.com/malkia/ufo/blob/master/samples/SDL/imgui/ch07.lua though my hack for C/C++'s __LINE__ macro was

      local function GEN_ID()
      return CURRENT_LINE()
      end

      e.g. you basically tie the state to the... ahem.. source code line (you need really something unique). Obviously Dear ImGUI has better approaches there (use the widget's contents, like text/label contents, or add your own with ##).

    Related

    Fabien Sanglardfabiensanglard.net525 people

    The Polygons of Another World

    Fabien Sanglard
    Personal · last shared 2026
    Grid Sage Gamesgridsagegames.com51 people

    REXPaint: Powerful, User-Friendly ASCII Art Editor

    Grid Sage Games
    Company · last shared 2026
    Bisqwitbisqwit.iki.fi46 people

    Joel Yliluoma's arbitrary-palette positional dithering algorithm

    Bisqwit
    Personal · last shared 2026
    David Givencowlark.com94 people

    Live coding a vi for CP/M from scratch

    David Given
    Personal · last shared 2026
    Bitsquid Blogbitsquid.blogspot.com25 people

    Allocation Adventures: The Buddy Allocator

    Bitsquid Blog
    Company · last shared 2025
    Imran Nazarimrannazar.com41 people

    De-Googling TOTP Authenticator Codes

    Imran Nazar
    Personal · last shared 2026
    patorjkpatorjk.com72 people

    Code theft: Asciimo: Where have I seen this before?

    patorjk
    Personal · last shared 2026
    Rich Geldreichrichg42.blogspot.com54 people

    Things learned while running your own self-funded startup

    Rich Geldreich
    Personal · last shared 2026