1. 9

What are you doing this week? Feel free to share!

Keep in mind it’s OK to do nothing at all, too.

  1. 3

    A looking glass portrait “holographic” display appeared on my desk a few weeks ago, and I’ve only played with it superficially – that means disassembling, giggling at the tricks and “how are they going to make money from this” sourcing, looked at the firmware and then put it back on the shelf.

    I hope to hack together a rig for attaching two phones to my stereo microscope, stream the video to something that will pack it in the format that the display expects, and see if this is more pleasant for microsoldering than hunching over the microscope or a disappointingly flat regular screen.

    1. 3

      Moved my wiki from GitBook to Docusaurus yesterday. Want to improve it further by adding search and changelog this week.

      1. 3

        Working on a CLI introduction book. Have material from 5 years back, which I’m updating for typos/formatting/etc. And then I’ll have restructure the book for a better flow, add many more commands, examples, etc.

        1. 2

          Sounds interesting! I’m happy to review a chapter if it’s helpful.

          1. 1

            Oh, thanks a lot for the offer! I’ll contact you sometime around last week of April after I’ve done the basic improvements on existing material.

            1. 1

              Hey, if you are still up for reviewing, here’s my draft so far: https://learnbyexample.github.io/cli-computing/introduction.html

              There’s plenty of changes still pending (chapter restructuring, better examples, etc). Let me know if you’d rather check it out once the book is much closer to publication. Thanks again :)

          2. 3

            Working on a content-oriented tool for building root filesystems, container images, and virtual machine images. I thought I could knock something out in a couple weeks, and I’m now on week five, but it is maybe finally starting to come together.

            1. 2

              Work: Getting close to doing a full run of our genome processing pipeline

              Personal: Editing a short SF story, rating Ludum Dare games (shameless plug for me and wife’s entry)

              1. 2

                Work: Writing up design documentation for some security isolation stuff.

                Home: I’ve got some recreation Wasm programming I’m doing.

                1. 2

                  Focusing on work, spending time with my family (after 17:00) and if I have a few hours left, finishing a side-project inspired by some article by I’ve read here.

                  1. 1

                    Continuing my learning of Rust. I’m very much a newb to the language, so I have a lot to learn, but I think I’ve finally grasped ownership and references. Rust really brings that to center stage compared to other languages I’m familiar with.

                    1. 1

                      I’m wrapping up my time on a very frustrating team, in preparation for next week starting on what I believe to be a much more healthy team.

                      Also trying to finish some API endpoints for a music-library site I’m making, to replace the now defunct Google Music.

                      1. 1

                        I have been looking into using the rust image library so a web server can dynamically resize images on demand

                        1. 1

                          Work: Usual work stuff which is boring.

                          Personal: Decomming my on-prem Exchange server now that I’ve migrated fully to Exchange Online/365. Have built a new Windows Domain Controller on low powered hardware to replace the Virtual DC I have, as I slowly decom my massive VM host machine due to rising energy costs. :(

                          Also, ad-hoc PHP coding my own MetaWebLog engine so I can blog directly from MS Word (yes I know… I’m odd like this)

                          1. 1

                            Still working on mkws themes. Also, built a small https tls tunnel given how complicated tlstunnel is to set up for simple sites, probably going to upload it to https://adi.onl.

                            package main
                            
                            import (
                            	"crypto/tls"
                            	"flag"
                            	"log"
                            	"net/http"
                            	"net/http/httputil"
                            	"net/url"
                            	"os"
                            )
                            
                            func main() {
                            
                            	f := flag.String("f", "", "listen host")
                            	t := flag.String("t", "", "connect host")
                            	crt := flag.String("c", "", "path to cert file")
                            	key := flag.String("k", "", "path to key file")
                            
                            	flag.Parse()
                            
                            	if *f == "" {
                            		flag.Usage()
                            		os.Exit(1)
                            	}
                            	if *t == "" {
                            		flag.Usage()
                            		os.Exit(1)
                            	}
                            	if *crt == "" {
                            		flag.Usage()
                            		os.Exit(1)
                            	}
                            	if *key == "" {
                            		flag.Usage()
                            		os.Exit(1)
                            	}
                            
                            	proxy := httputil.NewSingleHostReverseProxy(&url.URL{
                            		Scheme: "http",
                            		Host:   *t,
                            	})
                            
                            	cert, err := tls.LoadX509KeyPair(*crt, *key)
                            	if err != nil {
                            		log.Println(err)
                            		os.Exit(1)
                            	}
                            
                            	config := &tls.Config{Certificates: []tls.Certificate{cert}, NextProtos: []string{"h2", "http/1.1"}}
                            	listener, err := tls.Listen("tcp", *f, config)
                            	if err != nil {
                            		log.Println(err)
                            		os.Exit(1)
                            	}
                            	defer listener.Close()
                            
                            	err = http.Serve(listener, proxy)
                            	if err != nil {
                            		log.Println(err)
                            		os.Exit(1)
                            	}
                            }
                            

                            Build with go build httpst.go.

                            Edit: I run it as doas httpst -f adi.onl:443 -t 127.0.0.1:9000 -c /etc/ssl/adi.onl.crt -k /etc/ssl/private/adi.onl.key

                            1. 1
                              • A blog post about finding time to work on my side projects like Derw
                              • Working on an interactive Oslo tour guide where players have to find various locations in Oslo and take a picture. I have a lot of guests visiting generally, and I thought it would be fun to make their tour around the city a bit more gamefied.
                              1. 1

                                I’m trying to improve the structure of diagnostics in Scala. In the Scala language server, Metals, we have to do gross things like regex diagnostic messages to know what type of error a diagnostic might be in order to offer code actions and calculate quick fixes to users. The hope is that exposing stuff like a unique code and related diagnostic information will make this type of stuff much easier in Scala tooling.