<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: baggers</title><link>https://news.ycombinator.com/user?id=baggers</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 07 Jul 2026 08:22:35 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=baggers" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by baggers in "Show HN: Kandria, an action RPG made in Common Lisp, is now out"]]></title><description><![CDATA[
<p>You can find the source over here: <a href="https://github.com/Shirakumo/kandria">https://github.com/Shirakumo/kandria</a></p>
]]></description><pubDate>Wed, 11 Jan 2023 16:19:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=34340133</link><dc:creator>baggers</dc:creator><comments>https://news.ycombinator.com/item?id=34340133</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34340133</guid></item><item><title><![CDATA[New comment by baggers in "Show HN: Kandria, an action RPG made in Common Lisp, is now out"]]></title><description><![CDATA[
<p>No questions today, but just wanted to pass huge congratulations your way.
Getting to release is no small feat even when leaning on existing engines, and knowing how little was available in CL makes this day all the sweeter.<p>Also thanks for the SteamDeck support!</p>
]]></description><pubDate>Wed, 11 Jan 2023 14:44:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=34338974</link><dc:creator>baggers</dc:creator><comments>https://news.ycombinator.com/item?id=34338974</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34338974</guid></item><item><title><![CDATA[New comment by baggers in "TaleSpire is a beautiful way to play pen and paper RPGs online"]]></title><description><![CDATA[
<p>TaleSpire dev here. jfabre is not a Bouncyrock employee and does not work on TaleSpire. 
I'm sorry if you've run into people bashing our competitors. It sucks as there is plenty of room for different approaches in this space (see TTS and battlemapp for two ace alternative 3d vtts). 
You setup sounds awesome. We've not got any plans for supporting the tv tables so far, but arkenforge and foundry both seem awesome at it.</p>
]]></description><pubDate>Wed, 06 Oct 2021 10:32:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=28771373</link><dc:creator>baggers</dc:creator><comments>https://news.ycombinator.com/item?id=28771373</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=28771373</guid></item><item><title><![CDATA[New comment by baggers in "Lisp Game Jam 2018"]]></title><description><![CDATA[
<p>I couldn't get anywhere with those last time I tried (2013). LispStick doesn't seem to have been updated since 2014 and LispBox has had no commits since 2010. Have you used either of these recently?
For those wanting to go this route I'd recommend Portacle which can run on off a usb and includes git</p>
]]></description><pubDate>Thu, 12 Apr 2018 13:07:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=16820482</link><dc:creator>baggers</dc:creator><comments>https://news.ycombinator.com/item?id=16820482</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=16820482</guid></item><item><title><![CDATA[New comment by baggers in "Lisp Game Jam 2018"]]></title><description><![CDATA[
<p>I'm biased but I'd go Common Lisp<p>The basics:<p>- SBCL: generates fast[0] code. runs well on windows<p>- Quicklisp: The package manager which lets you install the packages mentioned below<p>I've got a video here that should help with getting set up on windows <a href="https://www.youtube.com/watch?v=VnWVu8VVDbI&t=1s" rel="nofollow">https://www.youtube.com/watch?v=VnWVu8VVDbI&t=1s</a><p>Then you could try the SDL2 approach:<p>- cl-sdl2: Bindings over sdl2 <a href="https://github.com/lispgames/cl-sdl2" rel="nofollow">https://github.com/lispgames/cl-sdl2</a><p>- cl-sdl2-mixer: audio playback <a href="https://github.com/lispgames/cl-sdl2-mixer" rel="nofollow">https://github.com/lispgames/cl-sdl2-mixer</a><p>- Some basic math library like: 3d-matrices, rtg-math, sb-cga<p>Or maybe an existing engine:<p>- <a href="https://github.com/borodust/trivial-gamekit" rel="nofollow">https://github.com/borodust/trivial-gamekit</a><p>Come down to #lispgames on freenode if you need a hand as there is usually someone there who has touched this stuff[1]<p>I'll also pimp my own stuff while I'm here just in case someone is looking for a lispy layer over gl<p>- <a href="https://github.com/cbaggers/cepl" rel="nofollow">https://github.com/cbaggers/cepl</a><p>Main downside of Common Lisp is that Emacs or Vim are pretty much a requirement to get a nice development environment, without which you are pretty much in 'writing Java in notepad' territory.<p>[0] for some definition of fast that I don't want to belabor this comment with.</p>
]]></description><pubDate>Thu, 12 Apr 2018 12:10:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=16819998</link><dc:creator>baggers</dc:creator><comments>https://news.ycombinator.com/item?id=16819998</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=16819998</guid></item><item><title><![CDATA[New comment by baggers in "How to write Common Lisp in 2017 – an initiation manual"]]></title><description><![CDATA[
<p>The video in question: <a href="https://www.youtube.com/watch?v=VnWVu8VVDbI&t=744s" rel="nofollow">https://www.youtube.com/watch?v=VnWVu8VVDbI&t=744s</a><p>As aidenn0 mentioned portacle will hopefully be a good option for some when finished as it gives you a complete environment in one shot.<p>For installing CL I may update my video to use Roswell at some point, I've been having good success with it when using TravisCI.</p>
]]></description><pubDate>Wed, 29 Mar 2017 11:26:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=13985049</link><dc:creator>baggers</dc:creator><comments>https://news.ycombinator.com/item?id=13985049</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=13985049</guid></item><item><title><![CDATA[New comment by baggers in "How to write Common Lisp in 2017 – an initiation manual"]]></title><description><![CDATA[
<p>There are some other practical answers here so I'll take a different angle.<p>Fun! CL is a language to play in, after a day of wrangling Java & ObjC issues I love settling down to just play in an environment that lets blast some code out and play with ideas. Of course this applies to other languages too and this is dependent on your interests, so the case I want to put out there is:<p>Even if a language isn't suitable for your current business needs, see if it gives you joy. Languages have trades offs to meet their goals, evaluate languages for pleasure too.<p>Also come visit #lispgames on freenode sometime..most of us are procrastinating making engines but it's always nice to have new folks around.</p>
]]></description><pubDate>Wed, 29 Mar 2017 11:22:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=13985033</link><dc:creator>baggers</dc:creator><comments>https://news.ycombinator.com/item?id=13985033</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=13985033</guid></item><item><title><![CDATA[New comment by baggers in "How to write Common Lisp in 2017 – an initiation manual"]]></title><description><![CDATA[
<p>It's very promising but still very young. I manage to break it very quickly each time I have tried using it.<p>Eventually though this will be a huge boon.</p>
]]></description><pubDate>Wed, 29 Mar 2017 11:10:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=13984980</link><dc:creator>baggers</dc:creator><comments>https://news.ycombinator.com/item?id=13984980</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=13984980</guid></item><item><title><![CDATA[New comment by baggers in "How to write Common Lisp in 2017 – an initiation manual"]]></title><description><![CDATA[
<p>It would be a very good idea. Be sure to make it talk to swank (the server side of the current editor tooling) so you can benefit from all the work that has been done there</p>
]]></description><pubDate>Wed, 29 Mar 2017 11:09:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=13984977</link><dc:creator>baggers</dc:creator><comments>https://news.ycombinator.com/item?id=13984977</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=13984977</guid></item><item><title><![CDATA[New comment by baggers in "Lisping on the GPU [video]"]]></title><description><![CDATA[
<p>Arcadia is very cool, having access to unity's content pipeline must be wonderful. What is your process for managing the gap between the running game state and the code. For example, you are tweaking the attack damage of some enemy-ship in the repl and you find a values that feels good, do you then jump to code and update the enemy-ship's data or do you have a system that handles 'committing' your changes from the live instance into the code?</p>
]]></description><pubDate>Fri, 17 Mar 2017 10:14:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=13892842</link><dc:creator>baggers</dc:creator><comments>https://news.ycombinator.com/item?id=13892842</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=13892842</guid></item><item><title><![CDATA[New comment by baggers in "Lisping on the GPU [video]"]]></title><description><![CDATA[
<p>It was on 13/03. It was on meetup.com & r/lisp but I wasn't sure of other places to shout about it without being spammy. I'd love to meet up with some other local lispers though.</p>
]]></description><pubDate>Fri, 17 Mar 2017 09:59:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=13892790</link><dc:creator>baggers</dc:creator><comments>https://news.ycombinator.com/item?id=13892790</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=13892790</guid></item><item><title><![CDATA[New comment by baggers in "Lisping on the GPU [video]"]]></title><description><![CDATA[
<p>I expect that's Alex Charltons work on glls, we've only chatted briefly but I naturally am excited by what he was oing. Or maybe davexunit it who doing some monadic gl work in guile. A few folks hang out on #lispgames on freenode. It's a small corner of a small scene, but it's fun.<p>If you are interested in this stuff also look at kovasb's gamma library for clojure or any number of cool project for haskell.</p>
]]></description><pubDate>Fri, 17 Mar 2017 08:52:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=13892513</link><dc:creator>baggers</dc:creator><comments>https://news.ycombinator.com/item?id=13892513</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=13892513</guid></item><item><title><![CDATA[New comment by baggers in "Lisping on the GPU [video]"]]></title><description><![CDATA[
<p>Yeah that was a shame, it was my first time playing with the cam/mic setup and I got something a bit wrong. It's worst at the start of the talk so if you can bear through it then ace. Otherwise I'm also looking talking to someone about subtitling it, so when those are available I'll add them to the video and make them available on my github.</p>
]]></description><pubDate>Fri, 17 Mar 2017 07:50:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=13892295</link><dc:creator>baggers</dc:creator><comments>https://news.ycombinator.com/item?id=13892295</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=13892295</guid></item><item><title><![CDATA[New comment by baggers in "ReMarkable Paper Tablet"]]></title><description><![CDATA[
<p>The goodereader 13" is android, ReMarkable isn't. And the gooderader project has not turned to vapour yet althought I can understand linuxkerneldev's reason for being annoyed.</p>
]]></description><pubDate>Tue, 06 Dec 2016 13:56:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=13114558</link><dc:creator>baggers</dc:creator><comments>https://news.ycombinator.com/item?id=13114558</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=13114558</guid></item><item><title><![CDATA[New comment by baggers in "Airlander 10: Maiden flight at last for longest aircraft"]]></title><description><![CDATA[
<p>For a little historical context, this craft is 92m (301ft) long, the Graff zeppelin was 236.53m (776ft) and maxed out at 128km/h with 60 people on board.<p>Obviously these very different beasts with different goals, but the sheer scale of the old zeppelins never fails to make me happy.</p>
]]></description><pubDate>Thu, 18 Aug 2016 07:30:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=12310924</link><dc:creator>baggers</dc:creator><comments>https://news.ycombinator.com/item?id=12310924</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=12310924</guid></item><item><title><![CDATA[New comment by baggers in "Purely Functional Retrogames (2008)"]]></title><description><![CDATA[
<p>A few notes:<p>- Elm dropped frp [0]<p>- Even in it's older frp incarnation, elm didnt allow changing of the flow graph (sorry I cant remember the correct elm term for this) while the program ran [1], making it hard to say this would be an ideal way to go for true 'interactive coding' for games.<p>To clarify my opinion I would like to add that I am assuming an ideal of 'interactive game coding' where one would start a GL context & repl session at the start of the day and make the game whilst never closing the session or killing the context.<p>The OP limited himself to retrogames which is a wise move for exploring this topic, _one_ of the things that makes writing modern games hard is the extent to which you are pushing what the hardware can do. It is normal to be required to really be strict about what happens when in each frame and it's not possible to do this if, part-way through rendering you have to process events coming from some input thread that has no idea about the context your program is in.<p>Lastly I would add that your program itself is state. Interactive programming requires you to create and remove functions from your running program and bugs particular to doing this can occur (some object has a reference to a version of a function you have removed etc etc). Unless we move to a point where our code (compiled & text) live in a some persistant data-structure that allows rollback in some meaningful way I find it hard to imagine _real_ functional interactive programming.<p>This is a cool topic and ripe for discussion and progress, but just dropping in interactive programming does not in itself make game coding easier. However it is a pile of fun.<p>[0] <a href="http://elm-lang.org/blog/farewell-to-frp" rel="nofollow">http://elm-lang.org/blog/farewell-to-frp</a>
[1] <a href="https://www.youtube.com/watch?v=Agu6jipKfYw" rel="nofollow">https://www.youtube.com/watch?v=Agu6jipKfYw</a></p>
]]></description><pubDate>Mon, 25 Jul 2016 15:38:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=12159378</link><dc:creator>baggers</dc:creator><comments>https://news.ycombinator.com/item?id=12159378</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=12159378</guid></item><item><title><![CDATA[New comment by baggers in "Show HN: Full Stack Lisp – A book in progress about writing Common Lisp apps"]]></title><description><![CDATA[
<p>Hehe, what are curiously peeved sounding post. I was seeking to keep it short but as I've been unclear let's drill into some stuff.<p>> Not really; it will clash<p>Nope, named-readtables fixed the clashing reader-macro issue a good while back.<p>> You mean ... programming the programming language?<p>Yes, I do. I said it the way I did out of choice, as the 'programmable programming language' phrase has been bandied around so often that, for some, it has lost impact. Maybe that phrase doesn't inspire the same ahah moment in some as it does for other. Saying the same thing in a different way can be enough for someone to pick up something new. (It feels weird writing this down as it's kind of self evident)<p>> Do you plan to type "lambda" with args enough times to eventually that hour of your life back<p>I that hour was spent learning about reader macros, learning something new is of value to me, so there is no 'lost hour' to reclaim. Don't you just code for fun some days, without worrying if it is somehow ultimately useful?<p>> Note how if we take λ(* _ _) and then just move the parenthesis over the Greek symbol, we get (λ * _ _). This saves almost the same amount of typing<p>Ah ok, maybe this is where we parted mental ways. I'm not interesting in saving typing, that wasn't the goal. The point was to remove a little visual obstruction from what I was doing. For example (and yes it is a trivial example) (lambda (x) (* x x)) is 20 characters long, of which 8 are of interest (* x x) I liked that the shorthand reduced a little visual noise.<p>Yes there are many ways to skin this particular cat, but I liked the shorthand. I also like not having the lambda in the first position as it maintained a property of lisp code I generally enjoy, that I can run my eyes over the lefthand side of the forms and quickly get a rough feel of what is going on. Again, this is just a personal feeling, but some days I write code just for me, for fun, so why not make things pleasant for myself.<p>It's rather odd to get into a discussion about this, when the whole point is that we don't have to pick one golden way and enshrine it in the language. It's just a library, use it or don't, it doesn't matter.<p>Peace</p>
]]></description><pubDate>Fri, 03 Jun 2016 07:24:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=11828865</link><dc:creator>baggers</dc:creator><comments>https://news.ycombinator.com/item?id=11828865</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=11828865</guid></item><item><title><![CDATA[New comment by baggers in "Show HN: Full Stack Lisp – A book in progress about writing Common Lisp apps"]]></title><description><![CDATA[
<p>I found them useful when I looked at clojure and saw their shorthand syntax for lambdas where #(* % %) is a lambda that takes one argument and squares it. You can get some tidy things that are similar with regular macros but to make it actually equivalent your need to hook into the reader..and that's what reader macros are for. So within the hour I had something that let me write λ(* _ _)<p>The best bit though, is that this isn't some nasty hack. This is supported by the spec, so I can package this up and let other people us it just like any other functionality we care to ship around.<p>That's my favorite thing really, being able to treat approaches to writing code in the same way we treat the functionality we make using code.</p>
]]></description><pubDate>Thu, 02 Jun 2016 21:07:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=11826069</link><dc:creator>baggers</dc:creator><comments>https://news.ycombinator.com/item?id=11826069</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=11826069</guid></item><item><title><![CDATA[New comment by baggers in "Weep for Graphics Programming"]]></title><description><![CDATA[
<p>CEPL/Varjo creator here. Thanks for the shout-out but my compiler is very basic, it has potential though and I'm looking forward to people making higher level approaches/languages that use CEPL & Varjo under the hood.<p>Regarding the authors issues, the APIs are very ugly, especially in GL where you have two apis smashed together (pre v3.1 and post). I'm not qualified to comment of DirectX but I feel in the GL case there is a fairly nice API buried in the madness, and that with a suitably flexible language you can making working with it rather pleasant without resorting to tools that totally separate you from the lower levels.<p>Vulkan is no panacea (nor dx12) because with control comes the associated complexity. Vulkan is going to be awesome for folks making engines, languages or those who just want absolute control. But Khronos are very open that these Vulkan & SPIRV are not replacements for GL/GLSL. The increased variety of APIs that will be possible for people to make WILL be exciting though and that is worthy of celebration, as will be mixing and matching the above.<p>Re the "impoverished GPU-specific programming languages" comment. Limiting the scope of a language can give you valuable places to optimize and one of the primary concerns for this hardware is speed. As an exercise/strawman add pointers to an imaginary gpu language and work out how to keep the performance you currently have. This is going to become more evident as languages come out that compile to SPIRV and we get to see behind the curtain at just how hard it is to make code run fast against the various hardware approaches to render that exist in GPUs (for a case in point see 'tiled rendering').<p>Im unsure around the 'interface too flexible' issue as GPU resources are still valuable enough that being able to unload code is still useful, and at that point you have to rely that the pipeline you load follows the interface you expect it to, as you would with any shared library. Even when you take away all the api ugliness you are still left with the fact you are talking to a separate computer with separate concerns, I'd rather embrace this in a way that feels natural to your host language than hide this separation which makes certain issues (e.g synchronization) harder to deal with.<p>Regardless, this is still a valuable post and an issue worth getting fired up about, it's always exciting to see people making different ways of leveraging these awesome pieces of hardware</p>
]]></description><pubDate>Tue, 03 May 2016 15:18:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=11621396</link><dc:creator>baggers</dc:creator><comments>https://news.ycombinator.com/item?id=11621396</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=11621396</guid></item><item><title><![CDATA[New comment by baggers in "Fermat's Little Theorem (2013) [video]"]]></title><description><![CDATA[
<p>Thanks, that's good to know.</p>
]]></description><pubDate>Mon, 03 Aug 2015 13:52:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=9995771</link><dc:creator>baggers</dc:creator><comments>https://news.ycombinator.com/item?id=9995771</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9995771</guid></item></channel></rss>