User Tools

Site Tools


newsletters:2024-03

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
newsletters:2024-03 [2024/04/02 02:27] – [Demos] osnrnewsletters:2024-03 [2024/04/02 02:48] (current) – Add Forrest youtube links & embeds admin
Line 21: Line 21:
     * {{youtube>Z_bMrp_-G6I?}}     * {{youtube>Z_bMrp_-G6I?}}
  
-  * [[https://www.forresto.com|Forrest O.]] has been doing a lot of experiments with his hexagon tiles, making mini-games, rainbow outlining and animation, loop puzzles TODO+  * [[https://www.forresto.com|Forrest O.]] has been doing a lot of experiments with his [[https://www.youtube.com/watch?v=2mRqCtfaogY|hexagon tiles]], making [[https://www.youtube.com/watch?v=lHjmi4cxUC4|mini-games]][[https://www.youtube.com/watch?v=H3AHmIHRWPs|rainbow outlining]] and [[https://www.youtube.com/watch?v=ngB2AQdHdTM|animation]]and [[https://www.youtube.com/shorts/F4xEztsgJYQ|loop puzzles]] 
 +    * {{youtube>ngB2AQdHdTM?}} 
 +    * {{youtube>lHjmi4cxUC4?}}
  
   * [[https://cristobal.space|Cristóbal Sciutto]] mirrored his [[notes:tableshots|"Towards a folk computer"]] piece about tableshots [[https://cristobal.space/writing/folk-computer.html|up on his site]]   * [[https://cristobal.space|Cristóbal Sciutto]] mirrored his [[notes:tableshots|"Towards a folk computer"]] piece about tableshots [[https://cristobal.space/writing/folk-computer.html|up on his site]]
Line 49: Line 51:
 Nice side benefit of the new evaluator: it boots much faster, making it faster to iterate and test things, because it's only compiling virtual-program-level C code (Gpu, AprilTags); the kernel is statically compiled into a monolithic folk binary. (this feels like a reasonable tradeoff, since no one was messing with the kernel in practice anyway) Nice side benefit of the new evaluator: it boots much faster, making it faster to iterate and test things, because it's only compiling virtual-program-level C code (Gpu, AprilTags); the kernel is statically compiled into a monolithic folk binary. (this feels like a reasonable tradeoff, since no one was messing with the kernel in practice anyway)
  
 +Some remaining stuff to do:
 +  * Performance optimization so we can get it to beat old evaluator, which is the whole point
 +  * Implement Collect & text/labels (the major missing functionality in new evaluator)
 +  * Fix memory leaks (it might end up better than old evaluator here too, since that is leaky anyway)
 +  * Thread management so we can spin up new worker threads as needed to run Whens when current workers are asleep/blocked/unresponsive
 +
 +There are still some high-level challenges from parallelizing the workqueue, stuff that we 'got for free' from having a single thread and converging to a fixed point. like, what order do you do operations in, how do you avoid wasted work, what does 'order' mean if things can happen in parallel.. I think we can hack around a lot of this by messing with priorities and specifying manual 'wait a few milliseconds' type stuff for specific Whens, or maybe having some notion of local convergence or subconvergence.
  
 ==== Live USB & distribution ==== ==== Live USB & distribution ====
Line 56: Line 65:
 The main thing is making a live USB that just boots into Folk and walks through calibration & network setup and can install to disk. (the near-term application is to distribute a version of the CNC stuff as a demo that is immediately useful) The main thing is making a live USB that just boots into Folk and walks through calibration & network setup and can install to disk. (the near-term application is to distribute a version of the CNC stuff as a demo that is immediately useful)
  
-I've been using Debian live-build, which seems to be the de facto standard for making live USBs: documentation/resources are pretty good, you can preinstall any packages from Debian, etc. Good resources are https://terkeyberger.wordpress.com/2022/03/07/live-build-how-to-build-an-installable-debian-10-buster-live-cd/ and https://dquinton.github.io/debian-install/netinstall/live-build.html+I've been using Debian live-build, which seems to be the de facto standard for making live USBs: documentation/resources are pretty good, you can preinstall any packages from Debian, etc. Good resources are https://terkeyberger.wordpress.com/2022/03/07/live-build-how-to-build-an-installable-debian-10-buster-live-cd/ and https://dquinton.github.io/debian-install/netinstall/live-build.html (it's an interesting game to figure out the minimal set of Debian packages to preinstall so you get a 1. working Folk on boot and 2. working internet connection, and after that you don't need to rebuild until you publish, hopefully, since you can hot patch from online on boot)
  
 (I've been building the live .iso in an Intel Linux UTM/qemu VM on my Mac laptop, which is a little annoying. I think the live build process is already slow, it's not incremental at all, so it's installing all the stuff for this 1.4GB Debian setup from scratch on each build, and it's even slower because it's in emulation. I also burned some time trying to make the live USB itself work in a VM to test on my laptop -- the graphics doesn't work, since there's no Vulkan driver for the VM. could use SwiftShader or llvmpipe, but they don't have VK_KHR_display, so now you need a new codepath in Folk and maybe you need libdrm again to put your software-rendered buffer onto the VM's screen...) (I've been building the live .iso in an Intel Linux UTM/qemu VM on my Mac laptop, which is a little annoying. I think the live build process is already slow, it's not incremental at all, so it's installing all the stuff for this 1.4GB Debian setup from scratch on each build, and it's even slower because it's in emulation. I also burned some time trying to make the live USB itself work in a VM to test on my laptop -- the graphics doesn't work, since there's no Vulkan driver for the VM. could use SwiftShader or llvmpipe, but they don't have VK_KHR_display, so now you need a new codepath in Folk and maybe you need libdrm again to put your software-rendered buffer onto the VM's screen...)
Line 62: Line 71:
   * So we got a $40 used Dell Chromebook 11 laptop and got the Folk live USB running on it:   * So we got a $40 used Dell Chromebook 11 laptop and got the Folk live USB running on it:
     * {{newsletters:img_6654.mp4}}     * {{newsletters:img_6654.mp4}}
-    * {{newsletters:chromebook-folk-medium.jpeg}}+    * {{newsletters:chromebook-folk-medium.jpeg?400px}}
     * Did take a day or two to [[https://mrchromebox.tech|jailbreak the Chromebook]] -- you actually have to open it up and remove a firmware write-protection screw on the mainboard, then install this EFI firmware stuff which pretty much turns the Chromebook into a normal computer that can boot Windows/Linux. then you can boot it from USB stick     * Did take a day or two to [[https://mrchromebox.tech|jailbreak the Chromebook]] -- you actually have to open it up and remove a firmware write-protection screw on the mainboard, then install this EFI firmware stuff which pretty much turns the Chromebook into a normal computer that can boot Windows/Linux. then you can boot it from USB stick
     * Neat: built-in webcam & display work out of the box as a quick demo that the system is running and working     * Neat: built-in webcam & display work out of the box as a quick demo that the system is running and working
Line 90: Line 99:
   * Finalizing the template matching games booklet   * Finalizing the template matching games booklet
   * Collaboration for deeper phone/laptop integration and knowledge management explorations in Folk, should result in a more in-depth blog post later this year   * Collaboration for deeper phone/laptop integration and knowledge management explorations in Folk, should result in a more in-depth blog post later this year
-  * Finish up the live-USB project, putting it up online, bundling CNC demo+  * Finish up the live-USB project, bundle/half-port the CNC demo, put it up online
   * Possibly:   * Possibly:
     * Revisit RFID: it got pushed out a bit in March, but it's in a decent state right now     * Revisit RFID: it got pushed out a bit in March, but it's in a decent state right now
newsletters/2024-03.1712024859.txt.gz · Last modified: 2024/04/02 02:27 by osnr

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki